commit b63c7c0f0da2b2094032d17ee13d41ece6195e14 Author: xeon Date: Mon Nov 25 02:17:19 2024 +0300 Hi! diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..31421c4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +target/ + +/autopatch.toml +/dispatch.toml +/gateserver.toml +/gameserver.toml +/sdk_server.toml + +*.proto diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..9bc47c2 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,5090 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addr" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a93b8a41dbe230ad5087cc721f8d41611de654542180586b315d9f4cf6b72bef" +dependencies = [ + "psl-types", +] + +[[package]] +name = "addr2line" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9" + +[[package]] +name = "ammonia" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ab99eae5ee58501ab236beb6f20f6ca39be615267b014899c89b2f0bc18a459" +dependencies = [ + "html5ever", + "maplit", + "once_cell", + "tendril", + "url", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anstream" +version = "0.6.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" + +[[package]] +name = "anstyle-parse" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "any_ascii" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea50b14b7a4b9343f8c627a7a53c52076482bd4bdad0a24fd3ec533ed616cc2c" + +[[package]] +name = "anyhow" +version = "1.0.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" + +[[package]] +name = "approx" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f2a05fd1bd10b2527e20a2cd32d8873d115b8b39fe219ee25f42a8aca6ba278" +dependencies = [ + "num-traits", +] + +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "arbitrary" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" + +[[package]] +name = "argon2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072" +dependencies = [ + "base64ct", + "blake2", + "cpufeatures", + "password-hash", +] + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "ascii-canvas" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" +dependencies = [ + "term", +] + +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-executor" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "slab", +] + +[[package]] +name = "async-graphql" +version = "7.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ba6d24703c5adc5ba9116901b92ee4e4c0643c01a56c4fd303f3818638d7449" +dependencies = [ + "async-graphql-derive", + "async-graphql-parser", + "async-graphql-value", + "async-stream", + "async-trait", + "base64 0.22.1", + "bytes", + "fnv", + "futures-timer", + "futures-util", + "http", + "indexmap 2.5.0", + "mime", + "multer", + "num-traits", + "once_cell", + "pin-project-lite", + "regex", + "serde", + "serde_json", + "serde_urlencoded", + "static_assertions_next", + "thiserror 1.0.64", +] + +[[package]] +name = "async-graphql-derive" +version = "7.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a94c2d176893486bd37cd1b6defadd999f7357bf5804e92f510c08bcf16c538f" +dependencies = [ + "Inflector", + "async-graphql-parser", + "darling", + "proc-macro-crate", + "proc-macro2", + "quote", + "strum", + "syn 2.0.87", + "thiserror 1.0.64", +] + +[[package]] +name = "async-graphql-parser" +version = "7.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79272bdbf26af97866e149f05b2b546edb5c00e51b5f916289931ed233e208ad" +dependencies = [ + "async-graphql-value", + "pest", + "serde", + "serde_json", +] + +[[package]] +name = "async-graphql-value" +version = "7.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef5ec94176a12a8cbe985cd73f2e54dc9c702c88c766bdef12f1f3a67cedbee1" +dependencies = [ + "bytes", + "indexmap 2.5.0", + "serde", + "serde_json", +] + +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "async-trait" +version = "0.1.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "async_io_stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +dependencies = [ + "futures", + "pharos", + "rustc_version", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "axum" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f43644eed690f5374f1af436ecd6aea01cd201f6fbdf0178adaf6907afb2cec" +dependencies = [ + "async-trait", + "axum-core", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "tokio", + "tower 0.5.1", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6b8ba012a258d63c9adfa28b9ddcf66149da6f986c5b5452e629d5ee64bf00" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 1.0.1", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-server" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56bac90848f6a9393ac03c63c640925c4b7c8ca21654de40d53f55964667c7d8" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "pin-project-lite", + "tokio", + "tower 0.4.13", + "tower-service", +] + +[[package]] +name = "backtrace" +version = "0.3.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets", +] + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bcrypt" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e65938ed058ef47d92cf8b346cc76ef48984572ade631927e9937b5ffc7662c7" +dependencies = [ + "base64 0.22.1", + "blowfish", + "getrandom", + "subtle", + "zeroize", +] + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "blake3" +version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-padding" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" +dependencies = [ + "generic-array", +] + +[[package]] +name = "blockfile" +version = "0.1.0" +dependencies = [ + "aes", + "byteorder", + "ecb", + "hex", + "lz4_flex", +] + +[[package]] +name = "blowfish" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" +dependencies = [ + "byteorder", + "cipher", +] + +[[package]] +name = "borsh" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2506947f73ad44e344215ccd6403ac2ae18cd8e046e581a441bf8d199f257f03" +dependencies = [ + "borsh-derive", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2593a3b8b938bd68373196c9832f516be11fa487ef4ae745eb282e6a56a7244" +dependencies = [ + "once_cell", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "bytecheck" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bytemuck" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" +dependencies = [ + "serde", +] + +[[package]] +name = "castaway" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" +dependencies = [ + "rustversion", +] + +[[package]] +name = "cc" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47" +dependencies = [ + "shlex", +] + +[[package]] +name = "cedar-policy" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d91e3b10a0f7f2911774d5e49713c4d25753466f9e11d1cd2ec627f8a2dc857" +dependencies = [ + "cedar-policy-core", + "cedar-policy-validator", + "itertools 0.10.5", + "lalrpop-util", + "ref-cast", + "serde", + "serde_json", + "smol_str", + "thiserror 1.0.64", +] + +[[package]] +name = "cedar-policy-core" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd2315591c6b7e18f8038f0a0529f254235fd902b6c217aabc04f2459b0d9995" +dependencies = [ + "either", + "ipnet", + "itertools 0.10.5", + "lalrpop", + "lalrpop-util", + "lazy_static", + "miette", + "regex", + "rustc_lexer", + "serde", + "serde_json", + "serde_with", + "smol_str", + "stacker", + "thiserror 1.0.64", +] + +[[package]] +name = "cedar-policy-validator" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e756e1b2a5da742ed97e65199ad6d0893e9aa4bd6b34be1de9e70bd1e6adc7df" +dependencies = [ + "cedar-policy-core", + "itertools 0.10.5", + "serde", + "serde_json", + "serde_with", + "smol_str", + "stacker", + "thiserror 1.0.64", + "unicode-security", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-targets", +] + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "colorchoice" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" + +[[package]] +name = "common" +version = "0.0.1" +dependencies = [ + "hex", + "serde", + "toml", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "const_format" +version = "0.2.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c655d81ff1114fb0dcdea9225ea9f0cc712a6f8d189378e82bdf62a473a64b" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eff1a44b93f47b1bac19a27932f5c591e43d1ba357ee4f61526c8a25603f0eb1" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "constant_time_eq" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "cpufeatures" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.87", +] + +[[package]] +name = "darling_macro" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "dashmap" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "data-encoding" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "deunicode" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339544cc9e2c4dc3fc7149fd630c5f22263a4fdf18a98afd0075784968b5cf00" + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[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", + "winapi", +] + +[[package]] +name = "dmp" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfaa1135a34d26e5cc5b4927a8935af887d4f30a5653a797c33b9a4222beb6d9" +dependencies = [ + "urlencoding", +] + +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + +[[package]] +name = "earcutr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79127ed59a85d7687c409e9978547cffb7dc79675355ed22da6b66fd5f6ead01" +dependencies = [ + "itertools 0.11.0", + "num-traits", +] + +[[package]] +name = "ecb" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a8bfa975b1aec2145850fcaa1c6fe269a16578c44705a532ae3edc92b8881c7" +dependencies = [ + "cipher", +] + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "ena" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" +dependencies = [ + "log", +] + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "endian-type" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" + +[[package]] +name = "env_filter" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "humantime", + "log", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "fastrand" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flatbuffers" +version = "24.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8add37afff2d4ffa83bc748a70b4b1370984f6980768554182424ef71447c35f" +dependencies = [ + "bitflags 1.3.2", + "rustc_version", +] + +[[package]] +name = "flatc-rust" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57e61227926ef5b237af48bee74394cc4a5a221ebd10c5147a98e612f207851d" +dependencies = [ + "log", +] + +[[package]] +name = "flate2" +version = "1.0.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "float_next_after" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bf7cc16383c4b8d58b9905a8509f02926ce3058053c056376248d958c9df1e8" + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fst" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ab85b9b05e3978cc9a9cf8fea7f01b494e1a09ed3037e16ba39edc7a29eb61a" + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[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.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-lite" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-timer" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fuzzy-matcher" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" +dependencies = [ + "thread_local", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "geo" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f811f663912a69249fa620dcd2a005db7254529da2d8a0b23942e81f47084501" +dependencies = [ + "earcutr", + "float_next_after", + "geo-types", + "geographiclib-rs", + "log", + "num-traits", + "robust", + "rstar", + "serde", + "spade", +] + +[[package]] +name = "geo-types" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ff16065e5720f376fbced200a5ae0f47ace85fd70b7e54269790281353b6d61" +dependencies = [ + "approx 0.5.1", + "arbitrary", + "num-traits", + "rstar", + "serde", +] + +[[package]] +name = "geographiclib-rs" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e5ed84f8089c70234b0a8e0aedb6dc733671612ddc0d37c6066052f9781960" +dependencies = [ + "libm", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" + +[[package]] +name = "h2" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap 2.5.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +dependencies = [ + "cfg-if", + "crunchy", +] + +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash 0.8.11", + "allocator-api2", +] + +[[package]] +name = "heapless" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "hash32", + "stable_deref_trait", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "html5ever" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c13771afe0e6e846f1e67d038d4cb29998a6779f93c809212e4e9c32efd244d4" +dependencies = [ + "log", + "mac", + "markup5ever", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "http-range-header" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08a397c49fec283e3d6211adbe480be95aae5f304cfb923e9970e08956d5168a" + +[[package]] +name = "httparse" +version = "1.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +dependencies = [ + "futures-util", + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots", +] + +[[package]] +name = "hyper-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", + "serde", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "block-padding", + "generic-array", +] + +[[package]] +name = "ipnet" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "js-sys" +version = "0.3.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonwebtoken" +version = "9.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" +dependencies = [ + "base64 0.21.7", + "js-sys", + "pem", + "ring", + "serde", + "serde_json", + "simple_asn1", +] + +[[package]] +name = "kcp" +version = "0.0.1" +dependencies = [ + "bytes", + "env_logger", + "log", + "rand", + "thiserror 2.0.0", + "time", +] + +[[package]] +name = "lalrpop" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca" +dependencies = [ + "ascii-canvas", + "bit-set", + "ena", + "itertools 0.11.0", + "lalrpop-util", + "petgraph", + "pico-args", + "regex", + "regex-syntax 0.8.4", + "string_cache", + "term", + "tiny-keccak", + "unicode-xid", + "walkdir", +] + +[[package]] +name = "lalrpop-util" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" +dependencies = [ + "regex-automata 0.4.7", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "lexicmp" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7378d131ddf24063b32cbd7e91668d183140c4b3906270635a4d633d1068ea5d" +dependencies = [ + "any_ascii", +] + +[[package]] +name = "libc" +version = "0.2.159" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libmimalloc-sys" +version = "0.1.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23aa6811d3bd4deb8a84dde645f943476d13b248d818edcf8ce0b2f37f036b44" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", +] + +[[package]] +name = "linfa-linalg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e7562b41c8876d3367897067013bb2884cc78e6893f092ecd26b305176ac82" +dependencies = [ + "ndarray", + "num-traits", + "rand", + "thiserror 1.0.64", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "lz4_flex" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" +dependencies = [ + "twox-hash", +] + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + +[[package]] +name = "markup5ever" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16ce3abbeba692c8b8441d036ef91aea6df8da2c6b6e21c7e14d3c18e526be45" +dependencies = [ + "log", + "phf", + "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 0.1.10", +] + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "matrixmultiply" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a" +dependencies = [ + "autocfg", + "rawpointer", +] + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "miette" +version = "5.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" +dependencies = [ + "miette-derive", + "once_cell", + "thiserror 1.0.64", + "unicode-width", +] + +[[package]] +name = "miette-derive" +version = "5.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "mimalloc" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68914350ae34959d83f732418d51e2427a794055d0b9529f48259ac07af65633" +dependencies = [ + "libmimalloc-sys", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + +[[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +dependencies = [ + "hermit-abi", + "libc", + "wasi", + "windows-sys 0.52.0", +] + +[[package]] +name = "multer" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b" +dependencies = [ + "bytes", + "encoding_rs", + "futures-util", + "http", + "httparse", + "memchr", + "mime", + "spin", + "version_check", +] + +[[package]] +name = "multimap" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" + +[[package]] +name = "nanoid" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8" +dependencies = [ + "rand", +] + +[[package]] +name = "ndarray" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32" +dependencies = [ + "approx 0.4.0", + "matrixmultiply", + "num-complex", + "num-integer", + "num-traits", + "rawpointer", +] + +[[package]] +name = "ndarray-stats" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af5a8477ac96877b5bd1fd67e0c28736c12943aba24eda92b127e036b0c8f400" +dependencies = [ + "indexmap 1.9.3", + "itertools 0.10.5", + "ndarray", + "noisy_float", + "num-integer", + "num-traits", + "rand", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nibble_vec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" +dependencies = [ + "smallvec", +] + +[[package]] +name = "noisy_float" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978fe6e6ebc0bf53de533cd456ca2d9de13de13856eda1518a285d7705a213af" +dependencies = [ + "num-traits", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "object" +version = "0.36.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +dependencies = [ + "memchr", +] + +[[package]] +name = "object_store" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6da452820c715ce78221e8202ccc599b4a52f3e1eb3eedb487b680c81a8e3f3" +dependencies = [ + "async-trait", + "bytes", + "chrono", + "futures", + "humantime", + "itertools 0.13.0", + "parking_lot", + "percent-encoding", + "snafu", + "tokio", + "tracing", + "url", + "walkdir", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets", +] + +[[package]] +name = "password-hash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +dependencies = [ + "base64ct", + "rand_core", + "subtle", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "path-clean" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17359afc20d7ab31fdb42bb844c8b3bb1dabd7dcf7e68428492da7f16966fcef" + +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest", + "hmac", + "password-hash", + "sha2", +] + +[[package]] +name = "pem" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" +dependencies = [ + "base64 0.22.1", + "serde", +] + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pest" +version = "2.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" +dependencies = [ + "memchr", + "thiserror 1.0.64", + "ucd-trie", +] + +[[package]] +name = "petgraph" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +dependencies = [ + "fixedbitset", + "indexmap 2.5.0", +] + +[[package]] +name = "pharos" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros", + "phf_shared 0.11.2", +] + +[[package]] +name = "phf_codegen" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +dependencies = [ + "phf_generator 0.11.2", + "phf_shared 0.11.2", +] + +[[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", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared 0.11.2", + "rand", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator 0.11.2", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.87", + "unicase", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", + "unicase", +] + +[[package]] +name = "pico-args" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" + +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettyplease" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" +dependencies = [ + "proc-macro2", + "syn 2.0.87", +] + +[[package]] +name = "proc-macro-crate" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prost" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-build" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c1318b19085f08681016926435853bbf7858f9c082d0999b80550ff5d9abe15" +dependencies = [ + "bytes", + "heck 0.5.0", + "itertools 0.13.0", + "log", + "multimap", + "once_cell", + "petgraph", + "prettyplease", + "prost", + "prost-types", + "regex", + "syn 2.0.87", + "tempfile", +] + +[[package]] +name = "prost-derive" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" +dependencies = [ + "anyhow", + "itertools 0.13.0", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "prost-types" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4759aa0d3a6232fb8dbdb97b61de2c20047c68aca932c7ed76da9d788508d670" +dependencies = [ + "prost", +] + +[[package]] +name = "protocol" +version = "0.0.1" +dependencies = [ + "protocol-macros", + "qwer", + "thiserror 2.0.0", +] + +[[package]] +name = "protocol-macros" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "psl-types" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" + +[[package]] +name = "psm" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810" +dependencies = [ + "cc", +] + +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "quick_cache" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb55a1aa7668676bb93926cd4e9cdfe60f03bb866553bcca9112554911b6d3dc" +dependencies = [ + "ahash 0.8.11", + "equivalent", + "hashbrown 0.14.5", + "parking_lot", +] + +[[package]] +name = "quinn" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2", + "thiserror 1.0.64", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" +dependencies = [ + "bytes", + "rand", + "ring", + "rustc-hash", + "rustls", + "slab", + "thiserror 1.0.64", + "tinyvec", + "tracing", +] + +[[package]] +name = "quinn-udp" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "qwer" +version = "0.0.1" +dependencies = [ + "byteorder", + "paste", + "qwer-derive", +] + +[[package]] +name = "qwer-client-example" +version = "0.1.0" +dependencies = [ + "anyhow", + "common", + "protocol", + "qwer", + "qwer-rpc", + "tokio", + "tracing", +] + +[[package]] +name = "qwer-derive" +version = "0.0.1" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "qwer-rpc" +version = "0.0.1" +dependencies = [ + "byteorder", + "common", + "dashmap 6.1.0", + "futures", + "qwer", + "thiserror 2.0.0", + "tokio", + "tracing", +] + +[[package]] +name = "qwer-server-example" +version = "0.1.0" +dependencies = [ + "anyhow", + "common", + "protocol", + "qwer", + "qwer-rpc", + "tokio", + "tracing", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "radix_trie" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" +dependencies = [ + "endian-type", + "nibble_vec", + "serde", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_mt" +version = "4.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49e018c6ded60e5252609887c12eb3ca2592e9248c5894a7db3975c8a7a1e2df" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "rbase64" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b133fdd52a7cbb7619c86d93c8a34ea6e056462f901e08f6cbb6c9baf138b13" +dependencies = [ + "mimalloc", + "rayon", +] + +[[package]] +name = "reblessive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffead9d0a0b45f3e0bc063a244b1779fd53a09d2c2f7282c186a016b1f10a778" + +[[package]] +name = "redox_syscall" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "355ae415ccd3a04315d3f8246e86d67689ea74d88d915576e1589a351062a13b" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom", + "libredox", + "thiserror 1.0.64", +] + +[[package]] +name = "ref-cast" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "regex" +version = "1.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "rend" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" +dependencies = [ + "bytecheck", +] + +[[package]] +name = "reqwest" +version = "0.12.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "mime_guess", + "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pemfile", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "tokio", + "tokio-rustls", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots", + "windows-registry", +] + +[[package]] +name = "revision" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22f53179a035f881adad8c4d58a2c599c6b4a8325b989c68d178d7a34d1b1e4c" +dependencies = [ + "chrono", + "geo", + "regex", + "revision-derive", + "roaring", + "rust_decimal", + "uuid", +] + +[[package]] +name = "revision-derive" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0ec466e5d8dca9965eb6871879677bef5590cf7525ad96cae14376efb75073" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rkyv" +version = "0.7.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" +dependencies = [ + "bitvec", + "bytecheck", + "bytes", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rmp" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" +dependencies = [ + "byteorder", + "num-traits", + "paste", +] + +[[package]] +name = "rmpv" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58450723cd9ee93273ce44a20b6ec4efe17f8ed2e3631474387bfdecf18bb2a9" +dependencies = [ + "num-traits", + "rmp", +] + +[[package]] +name = "roaring" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4b84ba6e838ceb47b41de5194a60244fac43d9fe03b71dbe8c5a201081d6d1" +dependencies = [ + "bytemuck", + "byteorder", + "serde", +] + +[[package]] +name = "robust" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbf4a6aa5f6d6888f39e980649f3ad6b666acdce1d78e95b8a2cb076e687ae30" + +[[package]] +name = "rsa" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core", + "sha2", + "signature", + "spki", + "subtle", + "zeroize", +] + +[[package]] +name = "rstar" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "421400d13ccfd26dfa5858199c30a5d76f9c54e0dba7575273025b43c5175dbb" +dependencies = [ + "heapless", + "num-traits", + "smallvec", +] + +[[package]] +name = "rust-stemmers" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e46a2036019fdb888131db7a4c847a1063a7493f971ed94ea82c67eada63ca54" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "rust_decimal" +version = "1.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" +dependencies = [ + "arrayvec", + "borsh", + "bytes", + "num-traits", + "rand", + "rkyv", + "serde", + "serde_json", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + +[[package]] +name = "rustc_lexer" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c86aae0c77166108c01305ee1a36a1e77289d7dc6ca0a3cd91ff4992de2d16a5" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.38.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.23.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" +dependencies = [ + "log", + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pemfile" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" +dependencies = [ + "web-time", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "salsa20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher", +] + +[[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 = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "scrypt" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f" +dependencies = [ + "password-hash", + "pbkdf2", + "salsa20", + "sha2", +] + +[[package]] +name = "sdk-server" +version = "0.0.1" +dependencies = [ + "anyhow", + "axum", + "axum-server", + "byteorder", + "common", + "password-hash", + "pbkdf2", + "rand", + "rbase64", + "regex", + "rsa", + "serde", + "serde_json", + "surrealdb", + "thiserror 2.0.0", + "tokio", + "tracing", +] + +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] + +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + +[[package]] +name = "serde" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-content" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e255eaf9f3814135df4f959c9f404ebb2e67238bae0ed412da10518d0629e7c9" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "serde_json" +version = "1.0.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +dependencies = [ + "indexmap 2.5.0", + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +dependencies = [ + "itoa", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.5.0", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core", +] + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint", + "num-traits", + "thiserror 1.0.64", + "time", +] + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "smol_str" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" +dependencies = [ + "serde", +] + +[[package]] +name = "snafu" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6" +dependencies = [ + "doc-comment", + "snafu-derive", +] + +[[package]] +name = "snafu-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "snap" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" + +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "spade" +version = "2.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f5ef1f863aca7d1d7dda7ccfc36a0a4279bd6d3c375176e5e0712e25cb4889" +dependencies = [ + "hashbrown 0.14.5", + "num-traits", + "robust", + "smallvec", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "stacker" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b" +dependencies = [ + "cc", + "cfg-if", + "libc", + "psm", + "windows-sys 0.59.0", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "static_assertions_next" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7beae5182595e9a8b683fa98c4317f956c9a2dec3b9716990d20023cc60c766" + +[[package]] +name = "storekey" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43c42833834a5d23b344f71d87114e0cc9994766a5c42938f4b50e7b2aef85b2" +dependencies = [ + "byteorder", + "memchr", + "serde", + "thiserror 1.0.64", +] + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro2", + "quote", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.87", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "surrealdb" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300749e641e2a5546a142333d91b3537969e9c4cbd1fa2d1d10d92f01624d470" +dependencies = [ + "arrayvec", + "async-channel", + "bincode", + "chrono", + "dmp", + "futures", + "geo", + "indexmap 2.5.0", + "path-clean", + "pharos", + "reblessive", + "reqwest", + "revision", + "ring", + "rust_decimal", + "rustls", + "rustls-pki-types", + "semver", + "serde", + "serde-content", + "serde_json", + "surrealdb-core", + "thiserror 1.0.64", + "tokio", + "tokio-tungstenite", + "tokio-util", + "tracing", + "trice", + "url", + "uuid", + "wasm-bindgen-futures", + "wasmtimer", + "ws_stream_wasm", +] + +[[package]] +name = "surrealdb-core" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5795fca60f099754934069dfb3d20824cfec94b4c13c7130d1cd52e0fcadfc42" +dependencies = [ + "addr", + "ahash 0.8.11", + "ammonia", + "any_ascii", + "argon2", + "async-channel", + "async-executor", + "async-graphql", + "base64 0.21.7", + "bcrypt", + "bincode", + "blake3", + "bytes", + "castaway", + "cedar-policy", + "chrono", + "ciborium", + "dashmap 5.5.3", + "deunicode", + "dmp", + "fst", + "futures", + "fuzzy-matcher", + "geo", + "geo-types", + "hex", + "ipnet", + "jsonwebtoken", + "lexicmp", + "linfa-linalg", + "md-5", + "nanoid", + "ndarray", + "ndarray-stats", + "num-traits", + "num_cpus", + "object_store", + "pbkdf2", + "pharos", + "phf", + "pin-project-lite", + "quick_cache", + "radix_trie", + "rand", + "reblessive", + "regex", + "revision", + "ring", + "rmpv", + "roaring", + "rust-stemmers", + "rust_decimal", + "scrypt", + "semver", + "serde", + "serde-content", + "serde_json", + "sha1", + "sha2", + "snap", + "storekey", + "subtle", + "surrealdb-derive", + "thiserror 1.0.64", + "tokio", + "tracing", + "trice", + "ulid", + "unicase", + "url", + "uuid", + "wasm-bindgen-futures", + "wasmtimer", + "ws_stream_wasm", +] + +[[package]] +name = "surrealdb-derive" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aacdb4c58b9ebef0291310afcd63af0012d85610d361f3785952c61b6f1dddf4" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +dependencies = [ + "cfg-if", + "fastrand", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "tendril" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" +dependencies = [ + "futf", + "mac", + "utf-8", +] + +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + +[[package]] +name = "thiserror" +version = "1.0.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +dependencies = [ + "thiserror-impl 1.0.64", +] + +[[package]] +name = "thiserror" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15291287e9bff1bc6f9ff3409ed9af665bec7a5fc8ac079ea96be07bca0e2668" +dependencies = [ + "thiserror-impl 2.0.0", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22efd00f33f93fa62848a7cab956c3d38c8d43095efda1decfc2b3a5dc0b8972" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinyvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-macros" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls", + "rustls-pki-types", + "tokio", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd" +dependencies = [ + "futures-util", + "log", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tungstenite", + "webpki-roots", +] + +[[package]] +name = "tokio-util" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +dependencies = [ + "indexmap 2.5.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 0.1.2", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8437150ab6bbc8c5f0f519e3d5ed4aa883a83dd4cdd3d1b21f9482936046cb97" +dependencies = [ + "bitflags 2.6.0", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "http-range-header", + "httpdate", + "mime", + "mime_guess", + "percent-encoding", + "pin-project-lite", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "trice" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3aaab10ae9fac0b10f392752bf56f0fd20845f39037fec931e8537b105b515a" +dependencies = [ + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "tungstenite" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http", + "httparse", + "log", + "rand", + "rustls", + "rustls-pki-types", + "sha1", + "thiserror 1.0.64", + "url", + "utf-8", +] + +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if", + "static_assertions", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "ucd-trie" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + +[[package]] +name = "ulid" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f903f293d11f31c0c29e4148f6dc0d033a7f80cebc0282bea147611667d289" +dependencies = [ + "getrandom", + "rand", + "serde", + "web-time", +] + +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" + +[[package]] +name = "unicode-normalization" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-script" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f" + +[[package]] +name = "unicode-security" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e4ddba1535dd35ed8b61c52166b7155d7f4e4b8847cec6f48e71dc66d8b5e50" +dependencies = [ + "unicode-normalization", + "unicode-script", +] + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "ureq" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" +dependencies = [ + "base64 0.22.1", + "flate2", + "log", + "once_cell", + "rustls", + "rustls-pki-types", + "url", + "webpki-roots", +] + +[[package]] +name = "url" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "uuid" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" +dependencies = [ + "getrandom", + "serde", + "wasm-bindgen", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +dependencies = [ + "cfg-if", + "once_cell", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.87", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" + +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wasmtimer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7ed9d8b15c7fb594d72bfb4b5a276f3d2029333cd93a932f376f5937f6f80ee" +dependencies = [ + "futures", + "js-sys", + "parking_lot", + "pin-utils", + "wasm-bindgen", +] + +[[package]] +name = "web-sys" +version = "0.3.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.26.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +dependencies = [ + "memchr", +] + +[[package]] +name = "ws_stream_wasm" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +dependencies = [ + "async_io_stream", + "futures", + "js-sys", + "log", + "pharos", + "rustc_version", + "send_wrapper", + "thiserror 1.0.64", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "xxhash-rust" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" + +[[package]] +name = "yanagi-autopatch-server" +version = "0.0.1" +dependencies = [ + "anyhow", + "axum", + "axum-server", + "common", + "serde", + "tokio", + "tower-http", + "tracing", +] + +[[package]] +name = "yanagi-data" +version = "0.0.1" +dependencies = [ + "blockfile", + "byteorder", + "const_format", + "flatbuffers", + "flatc-rust", + "hex", + "paste", + "ureq", + "xxhash-rust", +] + +[[package]] +name = "yanagi-dispatch-server" +version = "0.0.1" +dependencies = [ + "anyhow", + "axum", + "axum-server", + "common", + "rbase64", + "serde", + "serde_json", + "thiserror 2.0.0", + "tokio", + "tracing", + "yanagi-encryption", + "yanagi-http-client", +] + +[[package]] +name = "yanagi-encryption" +version = "0.0.1" +dependencies = [ + "byteorder", + "common", + "rand", + "rand_mt", + "rsa", + "thiserror 2.0.0", +] + +[[package]] +name = "yanagi-eventgraph" +version = "0.0.1" +dependencies = [ + "prost", + "prost-build", + "serde", +] + +[[package]] +name = "yanagi-game-server" +version = "0.0.1" +dependencies = [ + "anyhow", + "common", + "dashmap 6.1.0", + "paste", + "protocol", + "qwer", + "qwer-rpc", + "rbase64", + "serde", + "serde_json", + "surrealdb", + "thiserror 2.0.0", + "tokio", + "tracing", + "yanagi-data", + "yanagi-eventgraph", + "yanagi-http-client", +] + +[[package]] +name = "yanagi-gate-server" +version = "0.0.1" +dependencies = [ + "anyhow", + "byteorder", + "common", + "hex", + "kcp", + "paste", + "protocol", + "qwer", + "qwer-rpc", + "rand", + "rbase64", + "serde", + "serde_json", + "surrealdb", + "thiserror 2.0.0", + "tokio", + "tracing", + "yanagi-encryption", + "yanagi-http-client", + "yanagi-proto", +] + +[[package]] +name = "yanagi-http-client" +version = "0.0.1" +dependencies = [ + "serde", + "serde_json", + "thiserror 2.0.0", + "ureq", +] + +[[package]] +name = "yanagi-proto" +version = "0.0.1" +dependencies = [ + "prettyplease", + "prost", + "prost-build", + "prost-types", + "protocol", + "quote", + "qwer", + "syn 2.0.87", + "yanagi-proto-derive", +] + +[[package]] +name = "yanagi-proto-derive" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..e31e8a3 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,77 @@ +[workspace] +members = ["crates/*", "crates/gate-server/kcp", "crates/yanagi-proto/yanagi-proto-derive", "crates/qwer/qwer-derive", "crates/protocol/protocol-macros", "crates/qwer-rpc/qwer-server-example", "crates/qwer-rpc/qwer-client-example", "crates/yanagi-data/blockfile"] +resolver = "2" + +[workspace.package] +version = "0.0.1" + +[workspace.dependencies] +# Framework +tokio = { version = "1.40.0", features = ["full"] } +futures = "0.3.31" +axum = { version = "0.7.6" } +axum-server = "0.7.1" + +# Http +ureq = "2.10.1" +tower-http = { version = "0.6.1", features = ["fs"] } + +# Serialization +serde = { version = "1.0.210", features = ["derive"] } +serde_json = "1.0.128" +toml = "0.8.19" +regex = "1.10.6" +rbase64 = "2.0.3" +hex = "0.4.3" + +# Flatbuffers +flatbuffers = "24.3.25" +flatc-rust = "0.2.0" + +# Protobuf +prost = "0.13.3" +prost-types = "0.13.3" +prost-build = "0.13.3" + +# Cryptography +rsa = { version = "0.9.6", features = ["sha2"] } +xxhash-rust = { version = "0.8.12", features = ["const_xxh64"] } + +# Database +surrealdb = "2.0.4" + +# Error processing +anyhow = "1.0.93" +thiserror = "2.0.0" + +# Util +byteorder = "1.5.0" +dashmap = "6.1.0" +rand = "0.8.5" +rand_mt = "4.2.2" +password-hash = { version = "0.5.0", features = ["alloc", "rand_core"] } +pbkdf2 = { version = "0.12.2", features = ["simple"] } +paste = "1.0.15" +const_format = "0.2.33" + +# Tracing +tracing = "0.1.40" +tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } + +# Internal +common = { path = "crates/common" } +qwer = { path = "crates/qwer" } +qwer-rpc = { path = "crates/qwer-rpc" } +qwer-derive = { path = "crates/qwer/qwer-derive" } +protocol = { path = "crates/protocol" } +yanagi-data = { path = "crates/yanagi-data" } +yanagi-eventgraph = { path = "crates/yanagi-eventgraph" } +yanagi-proto = { path = "crates/yanagi-proto" } +yanagi-encryption = { path = "crates/yanagi-encryption" } +yanagi-http-client = { path = "crates/yanagi-http-client" } + +[profile.release] +strip = true # Automatically strip symbols from the binary. +lto = true # Link-time optimization. +opt-level = 3 # Optimize for speed. +codegen-units = 1 # Maximum size reduction optimizations. diff --git a/README.md b/README.md new file mode 100644 index 0000000..9d3102f --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +# YanagiZS +![screenshot](screenshot.png) + +## About +**YanagiZS** is an open source server emulator for the game **Zenless Zone Zero**. + +## Features +- NPC spawn and interaction logic +- training battles +- player data persistence +- version-agnostic protocol library, allowing to modify protocol capabilities in most painless way + +## Getting started +### Requirements +- [Rust](https://www.rust-lang.org/tools/install) +- [SurrealDB](https://surrealdb.com/docs/surrealdb/installation) +##### NOTE: to start SurrealDB, use this command: `surreal start -u root -p root surrealkv://yanagi` + +### Setup +#### a) building from sources (preferred) +```sh +git clone https://git.xeondev.com/HollowSpecialOperationsS6/YanagiZS.git +cd YanagiZS +cargo run --bin yanagi-autopatch-server +cargo run --bin yanagi-sdk-server +cargo run --bin yanagi-dispatch-server +cargo run --bin yanagi-gate-server +cargo run --bin yanagi-game-server +``` +#### b) using pre-built binaries +Navigate to the [Releases](https://git.xeondev.com/HollowSpecialOperationsS6/YanagiZS/releases) page and download the latest release for your platform.
+Launch all services: `yanagi-autopatch-server`, `yanagi-sdk-server`, `yanagi-dispatch-server`, `yanagi-gate-server`, `yanagi-game-server` + +### Configuration +You should configure each service using their own config files. They're being created in current working directory upon first startup. + +### Connecting +You have to get a compatible game client. Currently supported one is `CNBetaWin1.4.2`, you can [get it here](https://git.xeondev.com/xeon/3/raw/branch/3/ZZZ_1.4_beta_reversedrooms.torrent). Next, you have to apply [this patch](https://git.xeondev.com/HollowSpecialOperationsS6/Yanagi-Patch/releases), it allows you to connect to local server and replaces RSA encryption keys with custom ones. +##### NOTE: you have to create in-game account, by default, you can do so at https://127.0.0.1:10001/account/register +##### NOTE2: to register an account, you should have `yanagi-sdk-server` up and running! + +## Community +[Our Discord Server](https://discord.gg/reversedrooms) is open for everyone who's interested in our projects! + +## Support +Your support for this project is greatly appreciated! If you'd like to contribute, feel free to send a tip [via Boosty](https://boosty.to/xeondev/donate)! + +## Friendly reminder +The server is in a very early state. Right now, it's NOT recommended to run this on a production environment. Please don't open issues about missing features, I'm well aware of this. + +## Sanity +If you want to lose your sanity, consider checking [this](crates/qwer-rpc/src/) diff --git a/autopatch/design_data/NAP_Publish_AppStore_1.4/1698061277.blk b/autopatch/design_data/NAP_Publish_AppStore_1.4/1698061277.blk new file mode 100644 index 0000000..fdd8b09 Binary files /dev/null and b/autopatch/design_data/NAP_Publish_AppStore_1.4/1698061277.blk differ diff --git a/autopatch/design_data/NAP_Publish_AppStore_1.4/config.json b/autopatch/design_data/NAP_Publish_AppStore_1.4/config.json new file mode 100644 index 0000000..e019d08 --- /dev/null +++ b/autopatch/design_data/NAP_Publish_AppStore_1.4/config.json @@ -0,0 +1,22 @@ +{ + "VersionInfoGroups": { + "OSPRODWin1.3.0": { + "Seed": "", + "Platform": "StandaloneWindows64", + "Environment": "oversea", + "ServerListUrl": "http://127.0.0.1:10000/design_data/NAP_Publish_AppStore_1.4/serverlist.json", + "EncryptionConfigUrl": "http://127.0.0.1:10000/design_data/NAP_Publish_AppStore_1.4/encryption.json", + "DesignDataUrl": "https://autopatchos.zenlesszonezero.com/design_data/1.3_live/output_4626751_a32b289717/client", + "CdnCheckUrl": "https://autopatchcn.juequling.com/nap_test.txt" + }, + "CNBetaWin1.4.2": { + "Seed": "", + "Platform": "StandaloneWindows64", + "Environment": "oversea", + "ServerListUrl": "http://127.0.0.1:10000/design_data/NAP_Publish_AppStore_1.4/serverlist.json", + "EncryptionConfigUrl": "http://127.0.0.1:10000/design_data/NAP_Publish_AppStore_1.4/encryption.json", + "DesignDataUrl": "http://127.0.0.1:10000/design_data/beta_live/output_5016531_79764a0a26/client", + "CdnCheckUrl": "https://autopatchcn.juequling.com/nap_test.txt" + } + } +} diff --git a/autopatch/design_data/NAP_Publish_AppStore_1.4/encryption.json b/autopatch/design_data/NAP_Publish_AppStore_1.4/encryption.json new file mode 100644 index 0000000..55f14b5 --- /dev/null +++ b/autopatch/design_data/NAP_Publish_AppStore_1.4/encryption.json @@ -0,0 +1 @@ +{"3": {"serverPrivateKey": "30820152020100300d06092a864886f70d01010105000482013c30820138020100024077ccf288987058ad46a1ca2ed62ca700a6c7f5fdbbb80b6a15679cf916ebe86f49173c80b2a1f61bb88aa8f57ad2522d2e027f8ef715cb33de13d790d61e858f0203010001024007031bff1acd18a3abcab486e14a63cc09f71252f3b5e615238399108b62eb8be374051c522fbc93beec25806cdf300f9708b0c8713ef85732134952733cd181022100bad8cb93f1d04df5b0903823ecf3edd2799f51c2f759e373f18887711516d831022100a423b581c15958e6881e732ed3912ec7adb1f0974683795b643c9ac0af3189bf022023171c0488e16a02be4a178107bb37ead3548c726529c881b9d6be390a90e3c1022034546623ae1eec26e332c20a25cd5d9aaf97d15a895295383be6ce77abe321450220582b45c388a0254daeac667c4629c4d5d224c126353ffc2c3757fc5c6f97b1d1", "clientPublicKey": "30819f300d06092a864886f70d010101050003818d0030818902818100ae44280ad192e584abcf19bcf56ab719247fbb0e40243c06aaefad917562670385f07eb180beca3e2d8e5404c70a868d14b4c00f99e52d28e0d291c402a1da7ef5edce3e0687cb6f17603affcc81e5c793dceb33a3d511e5dee1b08e79b316f7ed052940b1d8a312acefd168849ef86795762e0498fb45ef6c6c4c1f18711d370203010001"}} diff --git a/autopatch/design_data/NAP_Publish_AppStore_1.4/serverlist.json b/autopatch/design_data/NAP_Publish_AppStore_1.4/serverlist.json new file mode 100644 index 0000000..ee060a4 --- /dev/null +++ b/autopatch/design_data/NAP_Publish_AppStore_1.4/serverlist.json @@ -0,0 +1 @@ +[{"sid":1,"serverName":"YanagiZS","ip": "127.0.0.1","port": 20501,"noticeRegion":"nap_dev_01","protocol":"kcp","rsaVer": 3,"clientSecretKey":"45633262100000000c577fdb4e6d2b22c852bf79b1e4303400080000a82f1ac8f61a5e41647fa266804999eb8cb6f45733e369a630988e09d0a5a7ca05c21af4a2d1e39b4a0eb912e37ecd5ae2e63581330df64b5b33aed7d21fb2ad3957fa4f6dc47220f50752b33829c909d98a2a073106579e643c65af6dcb66b8b083e145a8214c461c794cacaf74d7191ac952022f5d6d9ab685851f74356513efbef34599880aecac6498030398b08c7de138518462500e60cea2f21010d3debabc2bf70cfa75d5755eacafb6cea308b44dd617cee76d23103d25c88004086593f309342c728506deae679e7ac10797a2bb3794f054e6c50af3a794659de0a0883cbc61e1fd2176edae680de7a8e4cb35286fa610a661713066f3c159bb2da43632c7136441819d88bac5e5d5371b8b5aa032dd206e1de7b3d2ff019759e03743600247a28fbc8f87b073ce7d1a5c1c8ec984d72b9f494ca4764b7e918d0d15e9d0ad0123147d61d355ec0003e70a788c405ef0a137c3c951807cc71b2d6c277434e0f535810a35d73bf1d189544213c6d7d8f49899c43b2c31c241a99bf813dbb3f3e39943b4aa6febde6702730583cf2b0c471a49806c1f97c56f5320def6d1e52484469ae326eb6bcf5ebb9c788775ee547242989ec534e542b9e5781d4bcb6938b49d3f8b219dc33d5abd18344ff614f999c327d96cf4cdac50bf2eb38fe00ecab55cf8aa32dd9250e8d772ab10333f65c3140aa9ee2dd8942478f1ac9033ef39bf90162ae34a0e2800a1335a2e9ff918c21fbf5ca8cb9c059d69b01835e3b16b6264c3e607b8791e3c2b28db2d7cd381a6a05123dcd56bd17998cbdf87078b4892e9a0f8b60d5c1f0e94ab059220f7b16cea61c2e256fd8bb8e0323eec9485e18d78d1b7dbe3164962690afb48d19cccb85dcf86a2c1adb47b6245951239f7ae0c3ce61b48ca9e578ec754a6f6c767a7a37406c29c193a007ecf7049c438acbce8adc42812b14bbe28f03f2c8a3671511e323ce22b49de966318d8c8ab93cdb168bf4eb6d41973db5e3f1e96a06861447a8230d9a5f71d91426b1c5fffb2ac1238b5ef2844f9ff542eefa6305e512a939a1157f714d040a86e9c202dfea2fad56cf1f8c76d3794648bf4df64fc47aef8fbfb0ada6eb08d98191b34ff342c17cae23e9fac70691a899b5cfa6dba83f8c571c763b0dd751ddfce273ac29700ed4608bb6b103120f3654244aa09376b446f1caeadaa91957c1ecb1fc1eaad6255d9d2707f73f80aa356631b4bd04341d4acd74310097d56476c849ad5809687a8eee7ed0706f41f79636632466a4e0c32f2c55745aa0206594c7764959b08ed2ddf75c22f660f127a83202f9def78b0fc7df001d7310086d985542672f6a6c9b27369abc62c511371ad1c97f04c70097bda032229c863dbb68e999f68f02cc04fc2b5c5aa9e0ed14d54518a827b2d74a3deba998b881adae734c4850f8af0f092b31e7e6bbe22cef9d1fe07bc75c54a69915471def592b58cdbfea8e6a5221f325725532b016429e26b2bf9459e5eb4e7a1e604de1d0b9856eba8dacd4e7a08a6f78fa0418638a117244255e19a246aa4353029ed60609fc2b300f5f3d6fe101e039d05f01418e0e54acedef3aa658b5588f25787e412a187457a5e36f679f5cb9e89419df64bd0740b0f9649f9138cc682d966deb829f37e4db8019dbb089a05c4f18334aea0ce90ebab680a019399e7fcafd23589f5904ea3480821d0eb8dd807ec6ae26d12dacdb97cc62ca44d58cc4a7b92d387cee3902a621849ef7917fa0f508e4bc1351bbb782df846ece3f63babee7750fc1f99d83d5ab43b768335aa8bba39539af9016e49390b8ed0df269fabbaf6d314f33ba414233847a6f16b00a87eba259ec37455d5cae8779f10df4930f7abd92a78d0a13b444afa5411b8d7b1195355168514fe5e515304f825d9a6921b3b048fc37c1591795fbf3653877b3fd4dd87fa1e621c7262a7d6ef95f50c85056b8e95a62d269a725e6ba4b1c4bb6a32f9d32c049a401dba4fae4e4caacc1a6bc4c54c783b6c05d0fc2cc051259b57763438463deeb5fc0da4fa5dbfa78d52c37384fead8ece84115776f94f8023a56196917e4267de4d8322e6e0e254de05aef6c044f708449368d254e15c3b877d46b6f9002dd715496fc1d7bdc79a091b838ccad6cafae2aca06d6b0c06e344841903b0ac4199ff61b5a75e406e3fcfe2626398d647a6b78238b85e00ca40424510fabef1fb60f663e7f82fbc6defe653ff2ec4dd8feea30e990b190c4bcacab988b30c9cb42c22b7044f0e5131ef880b905e87e72a0a9e09311444a7accaf84fd9ac685447d59619ae9f46cb59bd15203d0c7cce519f6dec009470653c6a0e17da2accd4cc1f4efe90ce67f9b94a15fa63a5b64678c97c127ccc245a9f50da47713fab54dd63c7e64e135922fb6dd205ee702d9c540730688a8228ee00fc7eb9eacc366278af2c506e6777122dd93bcf9d90cf7855b4e7134b7f37a7eb4387fd2003430380c1758be7999136187fd7de80f9f726b3bb68be7987a8eaa04ddc73d9ff234b8db175ece2bb0cacd4acee8cebd88a36877e314ea86c18037564c5c0f25af0cce04f6cd3a8e389c7020cb97e0e5684b5cdfd6ce8e2b1166daeddca60a2db213631951a87e378fbe45dbce52771e16e15e1676b2f57605ab3160e73e6f9c83a357f85f99291fca5646aafe76ecd296e2d8979663427e2898d8f8f331b8999a2703064061ad07cab0cc9567fc0d64a45fdc8b71b7282a7114e8d5a76f59326d264b152caaa44fbb12a3171c56f5e5e6667ddb2b115185e26735fcea74300afe3a80c54222d11210273a410a2e137a9e1c21646544dc473b45a2ddeddbbdd649fa3b9c05e8549fb2d600cf17bdf3e4d6084a836a2d9317de5a60b"}] diff --git a/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/Blocks/612355727.blk b/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/Blocks/612355727.blk new file mode 100644 index 0000000..0cdcbbc Binary files /dev/null and b/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/Blocks/612355727.blk differ diff --git a/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/ServerOnlyData/MainCity_1.json b/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/ServerOnlyData/MainCity_1.json new file mode 100644 index 0000000..f13907d --- /dev/null +++ b/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/ServerOnlyData/MainCity_1.json @@ -0,0 +1,8376 @@ +{ + "ID": 1, + "DefaultSectionID": 2, + "Sections": { + "1": { + "ID": 1, + "UnityScenePath": "MainCity_Street", + "BornTransform": "Street_PlayerPos_Default", + "SectionProgress": { + "ID": 100, + "OnAdd": [ + "Sec1_DefaultTrigger", + "Sec1_DefaultTrigger2" + ], + "OnEnter": [ + "Sec1_EnterTrigger1" + ], + "Events": { + "Sec1_DefaultTrigger": { + "ID": 100, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 101, + "TagID": 1 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 102, + "TagID": 2 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 103, + "TagID": 7 + } + ] + }, + "Sec1_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 1003 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 1006 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 1008 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 1009 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 205, + "TagID": 1011 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 206, + "TagID": 1018 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 207, + "TagID": 2016 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 208, + "TagID": 2017 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 209, + "TagID": 2018 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 210, + "TagID": 2019 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 211, + "TagID": 2099 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 212, + "TagID": 4017 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 213, + "TagID": 4018 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 214, + "TagID": 4023 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 215, + "TagID": 4024 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 216, + "TagID": 4025 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 217, + "TagID": 4026 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 218, + "TagID": 4027 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 219, + "TagID": 4028 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 220, + "TagID": 4031 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 221, + "TagID": 4032 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 222, + "TagID": 4043 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 223, + "TagID": 4044 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 224, + "TagID": 4045 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 225, + "TagID": 4047 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 226, + "TagID": 4073 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 227, + "TagID": 4081 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 228, + "TagID": 4092 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 229, + "TagID": 4096 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 230, + "TagID": 4119 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 231, + "TagID": 4123 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 232, + "TagID": 4128 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 233, + "TagID": 5004 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 234, + "TagID": 5007 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 235, + "TagID": 5009 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 236, + "TagID": 5012 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 237, + "TagID": 5013 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 238, + "TagID": 5014 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 239, + "TagID": 5015 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 240, + "TagID": 7001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 241, + "TagID": 7002 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 242, + "TagID": 7003 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 243, + "TagID": 7005 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 244, + "TagID": 7006 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 245, + "TagID": 7007 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 246, + "TagID": 7008 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 247, + "TagID": 7009 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 248, + "TagID": 7010 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 249, + "TagID": 7011 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 250, + "TagID": 7012 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 251, + "TagID": 7013 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 252, + "TagID": 7014 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 253, + "TagID": 7023 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 254, + "TagID": 7024 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 255, + "TagID": 7102 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 256, + "TagID": 7103 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 257, + "TagID": 7106 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 258, + "TagID": 7107 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 259, + "TagID": 7108 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 260, + "TagID": 7109 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 261, + "TagID": 7110 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 262, + "TagID": 7111 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 263, + "TagID": 7112 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 264, + "TagID": 7113 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 265, + "TagID": 7114 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 266, + "TagID": 10022 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 267, + "TagID": 20281 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 268, + "TagID": 100301 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 269, + "TagID": 100303 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 270, + "TagID": 100503 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 271, + "TagID": 100603 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 272, + "TagID": 104201 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 273, + "TagID": 210201 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 274, + "TagID": 210202 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 275, + "TagID": 409056 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 276, + "TagID": 409057 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 277, + "TagID": 409059 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 278, + "TagID": 410206 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 279, + "TagID": 410403 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 280, + "TagID": 411403 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 281, + "TagID": 500022 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 282, + "TagID": 2030013 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 283, + "TagID": 7009190 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 284, + "TagID": 7010601 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 285, + "TagID": 20200101 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 286, + "TagID": 40101301 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 287, + "TagID": 40101302 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 288, + "TagID": 251011001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 289, + "TagID": 251011002 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 290, + "TagID": 251011004 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 291, + "TagID": 251011007 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 292, + "TagID": 251011008 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 293, + "TagID": 251011009 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 294, + "TagID": 251011011 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 295, + "TagID": 251011013 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 296, + "TagID": 251011018 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 297, + "TagID": 251011020 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 298, + "TagID": 304024101 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 299, + "TagID": 1206503001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 300, + "TagID": 1206503002 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 301, + "TagID": 1206503003 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 302, + "TagID": 1206503004 + } + ] + }, + "Sec1_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 10000001, + "TagIDs": [ + 1 + ], + "Participators": { + "1": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger10000001" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 10000002, + "TagIDs": [ + 2 + ], + "Participators": { + "2": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger10000002" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 10000016, + "TagIDs": [ + 7 + ], + "Participators": { + "7": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger10000016" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 10000007, + "TagIDs": [ + 1003 + ], + "Participators": { + "1003": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger10000007" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 10000023, + "TagIDs": [ + 1008 + ], + "Participators": { + "1008": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.8, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger10000023" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 306, + "InteractID": 10000024, + "TagIDs": [ + 1009 + ], + "Participators": { + "1009": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.8, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger10000024" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 307, + "InteractID": 10000028, + "TagIDs": [ + 1011 + ], + "Participators": { + "1011": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger10000028" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 308, + "InteractID": 15001601, + "TagIDs": [ + 1018 + ], + "Participators": { + "1018": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger15001601" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 309, + "InteractID": 10000015, + "TagIDs": [ + 2016 + ], + "Participators": { + "2016": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.8, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger10000015" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 310, + "InteractID": 10000013, + "TagIDs": [ + 2019 + ], + "Participators": { + "2019": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.4, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 311, + "InteractID": 15000301, + "TagIDs": [ + 2099 + ], + "Participators": { + "2099": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.4, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger15000301" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 312, + "InteractID": 40000009, + "TagIDs": [ + 4017 + ], + "Participators": { + "4017": "A", + "4018": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 313, + "InteractID": 40000012, + "TagIDs": [ + 4023 + ], + "Participators": { + "4023": "A", + "4024": "B", + "4025": "C", + "4026": "D" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 314, + "InteractID": 40000013, + "TagIDs": [ + 4027 + ], + "Participators": { + "4027": "A", + "4028": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 315, + "InteractID": 40000015, + "TagIDs": [ + 4031 + ], + "Participators": { + "4031": "A", + "4032": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 316, + "InteractID": 40000021, + "TagIDs": [ + 4043 + ], + "Participators": { + "4043": "A", + "4044": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 317, + "InteractID": 40000022, + "TagIDs": [ + 4045 + ], + "Participators": { + "4045": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 318, + "InteractID": 40000049, + "TagIDs": [ + 4047 + ], + "Participators": { + "4047": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 319, + "InteractID": 40000040, + "TagIDs": [ + 4073 + ], + "Participators": { + "4073": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 320, + "InteractID": 40000024, + "TagIDs": [ + 4081 + ], + "Participators": { + "4081": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 321, + "InteractID": 40000064, + "TagIDs": [ + 4096 + ], + "Participators": { + "4096": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 322, + "InteractID": 40000086, + "TagIDs": [ + 4119 + ], + "Participators": { + "4119": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 323, + "InteractID": 70000002, + "TagIDs": [ + 5004 + ], + "Participators": { + "5004": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 324, + "InteractID": 70000005, + "TagIDs": [ + 5007 + ], + "Participators": { + "5007": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 325, + "InteractID": 70000007, + "TagIDs": [ + 5009 + ], + "Participators": { + "5009": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 326, + "InteractID": 70000010, + "TagIDs": [ + 5012 + ], + "Participators": { + "5012": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 327, + "InteractID": 70000011, + "TagIDs": [ + 5013 + ], + "Participators": { + "5013": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 328, + "InteractID": 70000012, + "TagIDs": [ + 5014 + ], + "Participators": { + "5014": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 329, + "InteractID": 70000013, + "TagIDs": [ + 5015 + ], + "Participators": { + "5015": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 330, + "InteractID": 15000201, + "TagIDs": [ + 10022 + ], + "Participators": { + "10022": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger15000201" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 331, + "InteractID": 19900052, + "TagIDs": [ + 20281 + ], + "Participators": { + "20281": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 9.0, + "Y": 2.0, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 332, + "InteractID": 15000401, + "TagIDs": [ + 100301 + ], + "Participators": { + "100301": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.5, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger15000401" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 333, + "InteractID": 15001801, + "TagIDs": [ + 104201 + ], + "Participators": { + "104201": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec1_InteractTrigger15001801" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 334, + "InteractID": 12011024, + "TagIDs": [ + 210201 + ], + "Participators": { + "210201": "B", + "210202": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 335, + "InteractID": 13009021, + "TagIDs": [ + 409059 + ], + "Participators": { + "409059": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 336, + "InteractID": 13000207, + "TagIDs": [ + 410206 + ], + "Participators": { + "410206": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 337, + "InteractID": 13001403, + "TagIDs": [ + 411403 + ], + "Participators": { + "411403": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 338, + "InteractID": 15511301, + "TagIDs": [ + 500022 + ], + "Participators": { + "500022": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 339, + "InteractID": 12031165, + "TagIDs": [ + 2030013 + ], + "Participators": { + "2030013": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 340, + "InteractID": 7010601, + "TagIDs": [ + 7010601 + ], + "Participators": { + "7010601": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 341, + "InteractID": 12040101, + "TagIDs": [ + 20200101 + ], + "Participators": { + "20200101": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.0, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 342, + "InteractID": 150650011, + "TagIDs": [ + 40101301 + ], + "Participators": { + "40101301": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 343, + "InteractID": 150650012, + "TagIDs": [ + 40101302 + ], + "Participators": { + "40101302": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 344, + "InteractID": 12041031, + "TagIDs": [ + 304024101 + ], + "Participators": { + "304024101": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 345, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2001": 20001, + "2002": 20021, + "2003": 20031, + "2004": 20041, + "2005": 20051, + "2007": 20071, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3101": 310101, + "3503": 350301, + "3504": 350401 + } + } + ] + }, + "Sec1_InteractTrigger10000001": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 2, + "Transform": "Workshop_PlayerPos_FromStreet", + "CameraX": 1, + "CameraY": 6000 + } + ] + }, + "Sec1_InteractTrigger10000002": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 3, + "Transform": "Garage_PlayerPos_FromStreet", + "CameraX": 0, + "CameraY": 6000 + } + ] + }, + "Sec1_InteractTrigger10000007": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIVideoshopPage", + "Args": 0, + "StoreTemplateID": 1101 + } + ] + }, + "Sec1_InteractTrigger10000015": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIGroceryPage", + "Args": 1, + "StoreTemplateID": 1001 + } + ] + }, + "Sec1_InteractTrigger10000016": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 3, + "Transform": "Garage_PlayerPos_FromStreet2", + "CameraX": 0, + "CameraY": 6000 + } + ] + }, + "Sec1_InteractTrigger10000023": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIArcadePageController", + "Args": 0, + "StoreTemplateID": 1091 + } + ] + }, + "Sec1_InteractTrigger10000024": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UICafePageController", + "Args": 0, + "StoreTemplateID": 1021 + } + ] + }, + "Sec1_InteractTrigger10000028": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIBangbooModGaragePageController", + "Args": 0, + "StoreTemplateID": 1031 + } + ] + }, + "Sec1_InteractTrigger15000201": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 1, + "Transform": "Street_PlayerPos_Trash01", + "CameraX": 1, + "CameraY": 6000 + } + ] + }, + "Sec1_InteractTrigger15000301": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UINewsStandPageController", + "Args": 0, + "StoreTemplateID": 1061 + } + ] + }, + "Sec1_InteractTrigger15000401": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UITrendyStorePageController", + "Args": 0, + "StoreTemplateID": 1071 + } + ] + }, + "Sec1_InteractTrigger15001601": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 153, + "Transform": "Subway_PlayerPos_Default2", + "CameraX": 0, + "CameraY": 0 + } + ] + }, + "Sec1_InteractTrigger15001801": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 1231 + } + ] + } + } + } + }, + "2": { + "ID": 2, + "UnityScenePath": "MainCity_Workshop", + "BornTransform": "Workshop_PlayerPos_Default", + "SectionProgress": { + "ID": 200, + "OnAdd": [ + "Sec2_DefaultTrigger", + "Sec2_DefaultTrigger2" + ], + "OnEnter": [ + "Sec2_EnterTrigger1" + ], + "Events": { + "Sec2_DefaultTrigger": { + "ID": 100, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 101, + "TagID": 3 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 102, + "TagID": 4 + } + ] + }, + "Sec2_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 1001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 1002 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 1004 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 1005 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 205, + "TagID": 1007 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 206, + "TagID": 1012 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 207, + "TagID": 1017 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 208, + "TagID": 2028 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 209, + "TagID": 4135 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 210, + "TagID": 4136 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 211, + "TagID": 4138 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 212, + "TagID": 100901 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 213, + "TagID": 100910 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 214, + "TagID": 100913 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 215, + "TagID": 100914 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 216, + "TagID": 100915 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 217, + "TagID": 100916 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 218, + "TagID": 101016 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 219, + "TagID": 101017 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 220, + "TagID": 101018 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 221, + "TagID": 101020 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 222, + "TagID": 520001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 223, + "TagID": 520002 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 224, + "TagID": 604959 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 225, + "TagID": 20401401 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 226, + "TagID": 20401411 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 227, + "TagID": 40060209 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 228, + "TagID": 40060215 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 229, + "TagID": 50060007 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 230, + "TagID": 50060008 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 231, + "TagID": 50060009 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 232, + "TagID": 50060010 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 233, + "TagID": 50060011 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 234, + "TagID": 50060012 + } + ] + }, + "Sec2_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 10000003, + "TagIDs": [ + 3 + ], + "Participators": { + "3": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec2_InteractTrigger10000003" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 10000004, + "TagIDs": [ + 4 + ], + "Participators": { + "4": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec2_InteractTrigger10000004" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 10000010, + "TagIDs": [ + 1001 + ], + "Participators": { + "1001": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec2_InteractTrigger10000010" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 10000009, + "TagIDs": [ + 1002 + ], + "Participators": { + "1002": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec2_InteractTrigger10000009" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 10000014, + "TagIDs": [ + 1005 + ], + "Participators": { + "1005": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 30.0, + "Y": 1.0, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec2_InteractTrigger10000014" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 306, + "InteractID": 10000020, + "TagIDs": [ + 1007 + ], + "Participators": { + "1007": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.0, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 307, + "InteractID": 10000029, + "TagIDs": [ + 1012 + ], + "Participators": { + "1012": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.0, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec2_InteractTrigger10000029" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 308, + "InteractID": 10000035, + "TagIDs": [ + 1017 + ], + "Participators": { + "1017": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.0, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 309, + "InteractID": 100700, + "TagIDs": [ + 2028 + ], + "Participators": { + "2028": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 9.0, + "Y": 2.0, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec2_InteractTrigger100700" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 310, + "InteractID": 10200001, + "TagIDs": [ + 4135 + ], + "Participators": { + "4135": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 311, + "InteractID": 10200006, + "TagIDs": [ + 4136 + ], + "Participators": { + "4136": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 312, + "InteractID": 10200002, + "TagIDs": [ + 4138 + ], + "Participators": { + "4138": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 3.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 313, + "InteractID": 15001401, + "TagIDs": [ + 100901 + ], + "Participators": { + "100901": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec2_InteractTrigger15001401" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 314, + "InteractID": 15001404, + "TagIDs": [ + 100910 + ], + "Participators": { + "100910": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.0, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec2_InteractTrigger15001404" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 315, + "InteractID": 15001405, + "TagIDs": [ + 100913 + ], + "Participators": { + "100913": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.0, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec2_InteractTrigger15001405" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 316, + "InteractID": 13040002, + "TagIDs": [ + 100914 + ], + "Participators": { + "100914": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.0, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 317, + "InteractID": 13040003, + "TagIDs": [ + 100915 + ], + "Participators": { + "100915": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.0, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 318, + "InteractID": 13040001, + "TagIDs": [ + 100916 + ], + "Participators": { + "100916": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.0, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 319, + "InteractID": 10000038, + "TagIDs": [ + 101020 + ], + "Participators": { + "101020": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 3.0, + "Z": 3.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec2_InteractTrigger10000038" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 320, + "InteractID": 15511101, + "TagIDs": [ + 520001 + ], + "Participators": { + "520001": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 321, + "InteractID": 15511201, + "TagIDs": [ + 520002 + ], + "Participators": { + "520002": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 322, + "InteractID": 12001007, + "TagIDs": [ + 604959 + ], + "Participators": { + "604959": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 323, + "InteractID": 12041401, + "TagIDs": [ + 20401401 + ], + "Participators": { + "20401401": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 324, + "InteractID": 12041402, + "TagIDs": [ + 20401411 + ], + "Participators": { + "20401411": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 325, + "InteractID": 13040010, + "TagIDs": [ + 50060007 + ], + "Participators": { + "50060007": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.5, + "Z": 1.5 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 326, + "InteractID": 13040011, + "TagIDs": [ + 50060008 + ], + "Participators": { + "50060008": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.5, + "Z": 1.5 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 327, + "InteractID": 13040012, + "TagIDs": [ + 50060009 + ], + "Participators": { + "50060009": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.0, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 328, + "InteractID": 13040013, + "TagIDs": [ + 50060010 + ], + "Participators": { + "50060010": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.0, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 329, + "InteractID": 13040014, + "TagIDs": [ + 50060011 + ], + "Participators": { + "50060011": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.5, + "Z": 1.5 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 330, + "InteractID": 13040015, + "TagIDs": [ + 50060012 + ], + "Participators": { + "50060012": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.5, + "Z": 1.5 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 331, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3101": 310101, + "3503": 350301, + "3504": 350401 + } + } + ] + }, + "Sec2_InteractTrigger10000003": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 1, + "Transform": "Street_PlayerPos_FromWorkshop", + "CameraX": 0, + "CameraY": 6000 + } + ] + }, + "Sec2_InteractTrigger10000004": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 3, + "Transform": "Garage_PlayerPos_FromWorkshop", + "CameraX": 0, + "CameraY": 6000 + } + ] + }, + "Sec2_InteractTrigger10000009": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIYorozuyaPage", + "Args": 0, + "StoreTemplateID": 1161 + } + ] + }, + "Sec2_InteractTrigger10000010": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIMainStoryPage", + "Args": 0, + "StoreTemplateID": 1191 + } + ] + }, + "Sec2_InteractTrigger10000014": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIWorkbenchPage", + "Args": 1, + "StoreTemplateID": 1171 + } + ] + }, + "Sec2_InteractTrigger10000029": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UITrainingCoursePagePageController", + "Args": 0, + "StoreTemplateID": 1201 + } + ] + }, + "Sec2_InteractTrigger10000038": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 1, + "StoreTemplateID": 4713 + } + ] + }, + "Sec2_InteractTrigger100700": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIVHSStorePage", + "Args": 0, + "StoreTemplateID": 1121 + } + ] + }, + "Sec2_InteractTrigger15001401": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIDailyQuestScheduleDialog", + "Args": 0, + "StoreTemplateID": 1221 + } + ] + }, + "Sec2_InteractTrigger15001404": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIPhotoWallPageController", + "Args": 0, + "StoreTemplateID": 1112 + } + ] + }, + "Sec2_InteractTrigger15001405": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIMusicPlayerPageController", + "Args": 0, + "StoreTemplateID": 1141 + } + ] + } + } + } + }, + "3": { + "ID": 3, + "UnityScenePath": "MainCity_Garage", + "BornTransform": "Garage_PlayerPos_Default", + "SectionProgress": { + "ID": 300, + "OnAdd": [ + "Sec3_DefaultTrigger", + "Sec3_DefaultTrigger2" + ], + "OnEnter": [ + "Sec3_EnterTrigger1" + ], + "Events": { + "Sec3_DefaultTrigger": { + "ID": 100, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 101, + "TagID": 5 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 102, + "TagID": 6 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 103, + "TagID": 8 + } + ] + }, + "Sec3_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 5016 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 5017 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 5018 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 5019 + } + ] + }, + "Sec3_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 10000005, + "TagIDs": [ + 5 + ], + "Participators": { + "5": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec3_InteractTrigger10000005" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 10000006, + "TagIDs": [ + 6 + ], + "Participators": { + "6": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec3_InteractTrigger10000006" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 10000017, + "TagIDs": [ + 8 + ], + "Participators": { + "8": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec3_InteractTrigger10000017" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 10000021, + "TagIDs": [ + 5016 + ], + "Participators": { + "5016": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 3.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 70000015, + "TagIDs": [ + 5017 + ], + "Participators": { + "5017": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 306, + "InteractID": 70000016, + "TagIDs": [ + 5018 + ], + "Participators": { + "5018": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 307, + "InteractID": 70000017, + "TagIDs": [ + 5019 + ], + "Participators": { + "5019": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 308, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3101": 310101, + "3503": 350301, + "3504": 350401 + } + } + ] + }, + "Sec3_InteractTrigger10000005": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 1, + "Transform": "Street_PlayerPos_FromGarage", + "CameraX": 0, + "CameraY": 6000 + } + ] + }, + "Sec3_InteractTrigger10000006": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 2, + "Transform": "Workshop_PlayerPos_FromGarage", + "CameraX": 600000, + "CameraY": 6000 + } + ] + }, + "Sec3_InteractTrigger10000017": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 1, + "Transform": "Street_PlayerPos_FromGarage2", + "CameraX": 0, + "CameraY": 6000 + } + ] + } + } + } + }, + "4": { + "ID": 4, + "UnityScenePath": "MainCity_ConstructionSite", + "BornTransform": "ConstructionSite_PlayerPos_Default", + "SectionProgress": { + "ID": 400, + "OnAdd": [ + "Sec4_DefaultTrigger", + "Sec4_DefaultTrigger2" + ], + "OnEnter": [ + "Sec4_EnterTrigger1" + ], + "Events": { + "Sec4_DefaultTrigger": { + "ID": 100, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 101, + "TagID": 9 + } + ] + }, + "Sec4_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 4204 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 4207 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 4211 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 4213 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 205, + "TagID": 104202 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 206, + "TagID": 420304 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 207, + "TagID": 420704 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 208, + "TagID": 420903 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 209, + "TagID": 421603 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 210, + "TagID": 421804 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 211, + "TagID": 504001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 212, + "TagID": 504002 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 213, + "TagID": 504003 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 214, + "TagID": 504004 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 215, + "TagID": 504005 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 216, + "TagID": 504006 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 217, + "TagID": 504007 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 218, + "TagID": 504008 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 219, + "TagID": 504009 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 220, + "TagID": 504010 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 221, + "TagID": 251041001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 222, + "TagID": 251041002 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 223, + "TagID": 251041006 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 224, + "TagID": 251041007 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 225, + "TagID": 251041008 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 226, + "TagID": 251041010 + } + ] + }, + "Sec4_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 10000021, + "TagIDs": [ + 9 + ], + "Participators": { + "9": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 2022303, + "TagIDs": [ + 4204 + ], + "Participators": { + "4204": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 2022306, + "TagIDs": [ + 4207 + ], + "Participators": { + "4207": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 2022309, + "TagIDs": [ + 4211 + ], + "Participators": { + "4211": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 2022312, + "TagIDs": [ + 4213 + ], + "Participators": { + "4213": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 306, + "InteractID": 15001802, + "TagIDs": [ + 104202 + ], + "Participators": { + "104202": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec4_InteractTrigger15001802" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 307, + "InteractID": 13025002, + "TagIDs": [ + 420304 + ], + "Participators": { + "420304": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 308, + "InteractID": 13025008, + "TagIDs": [ + 420903 + ], + "Participators": { + "420704": "B", + "420903": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 309, + "InteractID": 13025012, + "TagIDs": [ + 421603 + ], + "Participators": { + "421603": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 310, + "InteractID": 13025014, + "TagIDs": [ + 421804 + ], + "Participators": { + "421804": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 311, + "InteractID": 15541001, + "TagIDs": [ + 504001 + ], + "Participators": { + "504001": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 312, + "InteractID": 15541002, + "TagIDs": [ + 504002 + ], + "Participators": { + "504002": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 313, + "InteractID": 15541003, + "TagIDs": [ + 504003 + ], + "Participators": { + "504003": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 314, + "InteractID": 15541004, + "TagIDs": [ + 504004 + ], + "Participators": { + "504004": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 315, + "InteractID": 15541005, + "TagIDs": [ + 504005 + ], + "Participators": { + "504005": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 316, + "InteractID": 15541006, + "TagIDs": [ + 504006 + ], + "Participators": { + "504006": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 317, + "InteractID": 15541007, + "TagIDs": [ + 504007 + ], + "Participators": { + "504007": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 318, + "InteractID": 15541008, + "TagIDs": [ + 504008 + ], + "Participators": { + "504008": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 319, + "InteractID": 15541009, + "TagIDs": [ + 504009 + ], + "Participators": { + "504009": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 320, + "InteractID": 15541010, + "TagIDs": [ + 504010 + ], + "Participators": { + "504010": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 321, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3101": 310101, + "3503": 350301, + "3504": 350401 + } + } + ] + }, + "Sec4_InteractTrigger15001802": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 1232 + } + ] + } + } + } + }, + "5": { + "ID": 5, + "UnityScenePath": "MainCity_SkyScraper", + "BornTransform": "SkyScraper_PlayerPos_Default", + "SectionProgress": { + "ID": 500, + "OnAdd": [ + "Sec5_DefaultTrigger", + "Sec5_DefaultTrigger2" + ], + "OnEnter": [ + "Sec5_EnterTrigger1" + ], + "Events": { + "Sec5_DefaultTrigger": { + "ID": 100, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 101, + "TagID": 10 + } + ] + }, + "Sec5_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 104205 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 431011 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 431012 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 431013 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 205, + "TagID": 431014 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 206, + "TagID": 431015 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 207, + "TagID": 431016 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 208, + "TagID": 431017 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 209, + "TagID": 431018 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 210, + "TagID": 431019 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 211, + "TagID": 431026 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 212, + "TagID": 2030129 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 213, + "TagID": 90210801 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 214, + "TagID": 90210802 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 215, + "TagID": 251051001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 216, + "TagID": 251051003 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 217, + "TagID": 251051004 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 218, + "TagID": 251051006 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 219, + "TagID": 251051007 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 220, + "TagID": 251051010 + } + ] + }, + "Sec5_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 10000021, + "TagIDs": [ + 10 + ], + "Participators": { + "10": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 15001803, + "TagIDs": [ + 104205 + ], + "Participators": { + "104205": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec5_InteractTrigger15001803" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 13031010, + "TagIDs": [ + 431011 + ], + "Participators": { + "431011": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 13031011, + "TagIDs": [ + 431012 + ], + "Participators": { + "431012": "A", + "431013": "B", + "431014": "C" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 13031012, + "TagIDs": [ + 431015 + ], + "Participators": { + "431015": "A", + "431016": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 306, + "InteractID": 13031013, + "TagIDs": [ + 431017 + ], + "Participators": { + "431017": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 307, + "InteractID": 13031014, + "TagIDs": [ + 431018 + ], + "Participators": { + "431018": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 308, + "InteractID": 13031015, + "TagIDs": [ + 431019 + ], + "Participators": { + "431019": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 309, + "InteractID": 12030508, + "TagIDs": [ + 431026 + ], + "Participators": { + "431026": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 310, + "InteractID": 12030511, + "TagIDs": [ + 2030129 + ], + "Participators": { + "2030129": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 311, + "InteractID": 140210802, + "TagIDs": [ + 90210802 + ], + "Participators": { + "90210802": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 312, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3101": 310101, + "3503": 350301, + "3504": 350401 + } + } + ] + }, + "Sec5_InteractTrigger15001803": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 1233 + } + ] + } + } + } + }, + "101": { + "ID": 101, + "UnityScenePath": "MainCity_FortuneSquare", + "BornTransform": "FortuneSquare_PlayerPos_Default", + "SectionProgress": { + "ID": 10100, + "OnAdd": [ + "Sec101_DefaultTrigger", + "Sec101_DefaultTrigger2" + ], + "OnEnter": [ + "Sec101_EnterTrigger1" + ], + "Events": { + "Sec101_DefaultTrigger": { + "ID": 100, + "Actions": [] + }, + "Sec101_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 104101 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 104102 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 104108 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 104121 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 205, + "TagID": 104206 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 206, + "TagID": 202646 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 207, + "TagID": 2025081 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 208, + "TagID": 2025173 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 209, + "TagID": 41100401 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 210, + "TagID": 41100501 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 211, + "TagID": 41100601 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 212, + "TagID": 41100901 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 213, + "TagID": 41101014 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 214, + "TagID": 41101114 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 215, + "TagID": 41101201 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 216, + "TagID": 41101502 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 217, + "TagID": 41101609 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 218, + "TagID": 41101701 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 219, + "TagID": 41101702 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 220, + "TagID": 41101901 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 221, + "TagID": 41102001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 222, + "TagID": 41102402 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 223, + "TagID": 41102611 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 224, + "TagID": 41103210 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 225, + "TagID": 41110017 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 226, + "TagID": 41110018 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 227, + "TagID": 41110019 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 228, + "TagID": 41110063 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 229, + "TagID": 41110064 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 230, + "TagID": 41120101 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 231, + "TagID": 41120201 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 232, + "TagID": 41120202 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 233, + "TagID": 41120203 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 234, + "TagID": 41120301 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 235, + "TagID": 41120302 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 236, + "TagID": 41120401 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 237, + "TagID": 41120501 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 238, + "TagID": 41150001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 239, + "TagID": 41150004 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 240, + "TagID": 41150005 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 241, + "TagID": 41150006 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 242, + "TagID": 41150007 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 243, + "TagID": 41150008 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 244, + "TagID": 41150011 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 245, + "TagID": 41150018 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 246, + "TagID": 41150019 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 247, + "TagID": 41150020 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 248, + "TagID": 41150021 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 249, + "TagID": 41150029 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 250, + "TagID": 41150040 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 251, + "TagID": 41150041 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 252, + "TagID": 41150043 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 253, + "TagID": 41150044 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 254, + "TagID": 41150045 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 255, + "TagID": 41150046 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 256, + "TagID": 41150049 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 257, + "TagID": 41150052 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 258, + "TagID": 41150057 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 259, + "TagID": 41150058 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 260, + "TagID": 41150060 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 261, + "TagID": 41150061 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 262, + "TagID": 41150062 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 263, + "TagID": 41150063 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 264, + "TagID": 41150066 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 265, + "TagID": 41150067 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 266, + "TagID": 41150070 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 267, + "TagID": 41150095 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 268, + "TagID": 41150103 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 269, + "TagID": 41150105 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 270, + "TagID": 41150106 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 271, + "TagID": 41150107 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 272, + "TagID": 41150110 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 273, + "TagID": 41150112 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 274, + "TagID": 41150113 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 275, + "TagID": 41150114 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 276, + "TagID": 41150115 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 277, + "TagID": 41150117 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 278, + "TagID": 41150118 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 279, + "TagID": 41150120 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 280, + "TagID": 41150123 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 281, + "TagID": 41150124 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 282, + "TagID": 41150125 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 283, + "TagID": 41150129 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 284, + "TagID": 41150132 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 285, + "TagID": 41150133 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 286, + "TagID": 41150134 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 287, + "TagID": 41150153 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 288, + "TagID": 41150154 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 289, + "TagID": 41150155 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 290, + "TagID": 41150156 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 291, + "TagID": 41150157 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 292, + "TagID": 41150158 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 293, + "TagID": 41150159 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 294, + "TagID": 41150194 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 295, + "TagID": 41150200 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 296, + "TagID": 41150201 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 297, + "TagID": 41150207 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 298, + "TagID": 41150210 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 299, + "TagID": 41150343 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 300, + "TagID": 41150347 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 301, + "TagID": 41150348 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 302, + "TagID": 41150354 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 303, + "TagID": 41150355 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 304, + "TagID": 41150358 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 305, + "TagID": 41150359 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 306, + "TagID": 41150360 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 307, + "TagID": 41151005 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 308, + "TagID": 41151006 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 309, + "TagID": 41151010 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 310, + "TagID": 41151011 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 311, + "TagID": 41151016 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 312, + "TagID": 41151017 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 313, + "TagID": 41151022 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 314, + "TagID": 41151025 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 315, + "TagID": 41151029 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 316, + "TagID": 41151030 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 317, + "TagID": 41151033 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 318, + "TagID": 41151036 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 319, + "TagID": 41151038 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 320, + "TagID": 41151043 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 321, + "TagID": 41151044 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 322, + "TagID": 41151101 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 323, + "TagID": 41151102 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 324, + "TagID": 90150201 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 325, + "TagID": 90150202 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 326, + "TagID": 90150203 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 327, + "TagID": 90150204 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 328, + "TagID": 90150205 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 329, + "TagID": 90150206 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 330, + "TagID": 90150207 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 331, + "TagID": 90150208 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 332, + "TagID": 90150209 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 333, + "TagID": 90150210 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 334, + "TagID": 90150211 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 335, + "TagID": 90150212 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 336, + "TagID": 90190301 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 337, + "TagID": 90190302 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 338, + "TagID": 90190303 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 339, + "TagID": 90190304 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 340, + "TagID": 90190305 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 341, + "TagID": 241062001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 342, + "TagID": 261210301 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 343, + "TagID": 261210302 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 344, + "TagID": 261210303 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 345, + "TagID": 261210304 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 346, + "TagID": 303026101 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 347, + "TagID": 303026102 + } + ] + }, + "Sec101_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 15001701, + "TagIDs": [ + 104101 + ], + "Participators": { + "104101": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec101_InteractTrigger15001701" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 15001702, + "TagIDs": [ + 104102 + ], + "Participators": { + "104102": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec101_InteractTrigger15001702" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 15001701, + "TagIDs": [ + 104108 + ], + "Participators": { + "104108": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 15001716, + "TagIDs": [ + 104121 + ], + "Participators": { + "104121": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec101_InteractTrigger15001716" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 15001804, + "TagIDs": [ + 104206 + ], + "Participators": { + "104206": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.0, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec101_InteractTrigger15001804" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 306, + "InteractID": 10000021, + "TagIDs": [ + 202646 + ], + "Participators": { + "202646": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 307, + "InteractID": 12021981, + "TagIDs": [ + 2025081 + ], + "Participators": { + "2025081": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 308, + "InteractID": 15001713, + "TagIDs": [ + 41100401 + ], + "Participators": { + "41100401": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 309, + "InteractID": 15001714, + "TagIDs": [ + 41100501 + ], + "Participators": { + "41100501": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 310, + "InteractID": 15001715, + "TagIDs": [ + 41100601 + ], + "Participators": { + "41100601": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 311, + "InteractID": 13070002, + "TagIDs": [ + 41100901 + ], + "Participators": { + "41100901": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 312, + "InteractID": 13075008, + "TagIDs": [ + 41101014 + ], + "Participators": { + "41101014": "A", + "41101609": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 313, + "InteractID": 13075015, + "TagIDs": [ + 41101114 + ], + "Participators": { + "41101114": "A", + "41103210": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 314, + "InteractID": 13070004, + "TagIDs": [ + 41101201 + ], + "Participators": { + "41101201": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 315, + "InteractID": 13070011, + "TagIDs": [ + 41101702 + ], + "Participators": { + "41101701": "B", + "41101702": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 316, + "InteractID": 13070014, + "TagIDs": [ + 41101901 + ], + "Participators": { + "41101502": "B", + "41101901": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 317, + "InteractID": 13070015, + "TagIDs": [ + 41102001 + ], + "Participators": { + "41102001": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 318, + "InteractID": 221111008, + "TagIDs": [ + 41110017 + ], + "Participators": { + "41110017": "A", + "41110018": "B", + "41110019": "C" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 319, + "InteractID": 221111039, + "TagIDs": [ + 41110063 + ], + "Participators": { + "41110063": "A", + "41110064": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 320, + "InteractID": 15000808, + "TagIDs": [ + 41120101 + ], + "Participators": { + "41120101": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.4, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec101_InteractTrigger15000808" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 321, + "InteractID": 15001901, + "TagIDs": [ + 41120201 + ], + "Participators": { + "41120201": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.8, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec101_InteractTrigger15001901" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 322, + "InteractID": 15000602, + "TagIDs": [ + 41120301 + ], + "Participators": { + "41120301": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec101_InteractTrigger15000602" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 323, + "InteractID": 15000302, + "TagIDs": [ + 41120401 + ], + "Participators": { + "41120401": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.4, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec101_InteractTrigger15000302" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 324, + "InteractID": 15001712, + "TagIDs": [ + 41120501 + ], + "Participators": { + "41120501": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 325, + "InteractID": 13070247, + "TagIDs": [ + 41151038 + ], + "Participators": { + "41151038": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 2.0, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 326, + "InteractID": 150650005, + "TagIDs": [ + 41151101 + ], + "Participators": { + "41151101": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.5, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 327, + "InteractID": 150650006, + "TagIDs": [ + 41151102 + ], + "Participators": { + "41151102": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.5, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 328, + "InteractID": 140150201, + "TagIDs": [ + 90150201 + ], + "Participators": { + "90150201": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 329, + "InteractID": 140150202, + "TagIDs": [ + 90150202 + ], + "Participators": { + "90150202": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 330, + "InteractID": 140150203, + "TagIDs": [ + 90150204 + ], + "Participators": { + "90150201": "A", + "90150202": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 331, + "InteractID": 140150204, + "TagIDs": [ + 90150211 + ], + "Participators": { + "90150211": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 332, + "InteractID": 140190301, + "TagIDs": [ + 90190301 + ], + "Participators": { + "90190301": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 333, + "InteractID": 140190302, + "TagIDs": [ + 90190302 + ], + "Participators": { + "90190303": "A", + "90190304": "B", + "90190305": "C" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 334, + "InteractID": 140190301, + "TagIDs": [ + 90190305 + ], + "Participators": { + "90190305": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 335, + "InteractID": 241062001, + "TagIDs": [ + 241062001 + ], + "Participators": { + "241062001": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec101_InteractTrigger241062001" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 336, + "InteractID": 261210301, + "TagIDs": [ + 261210301 + ], + "Participators": { + "261210301": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.2, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 337, + "InteractID": 261210302, + "TagIDs": [ + 261210302 + ], + "Participators": { + "261210302": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.2, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 338, + "InteractID": 261210303, + "TagIDs": [ + 261210303 + ], + "Participators": { + "261210303": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.2, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 339, + "InteractID": 261210304, + "TagIDs": [ + 261210304 + ], + "Participators": { + "261210304": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.2, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 340, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3011": 301101, + "3012": 301202, + "3101": 310101, + "3503": 350301, + "3504": 350401 + } + } + ] + }, + "Sec101_InteractTrigger15000302": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 1062 + } + ] + }, + "Sec101_InteractTrigger15000602": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 1, + "StoreTemplateID": 1022 + } + ] + }, + "Sec101_InteractTrigger15000808": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 1012 + } + ] + }, + "Sec101_InteractTrigger15001701": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 154, + "Transform": "SubwayFortuneSquare_PlayerPos_Default2", + "CameraX": 0, + "CameraY": 0 + } + ] + }, + "Sec101_InteractTrigger15001702": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 103, + "Transform": "FortuneHIA_PlayerPos_Default", + "CameraX": 0, + "CameraY": 0 + } + ] + }, + "Sec101_InteractTrigger15001716": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 102, + "Transform": "FortuneNEPS_PlayerPos_Default", + "CameraX": 0, + "CameraY": 0 + } + ] + }, + "Sec101_InteractTrigger15001804": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 1234 + } + ] + }, + "Sec101_InteractTrigger15001901": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 1002 + } + ] + }, + "Sec101_InteractTrigger241062001": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 101, + "Transform": "FortuneSquare_PlayerPos_Wastebin_01", + "CameraX": 200000, + "CameraY": 6000 + } + ] + } + } + } + }, + "102": { + "ID": 102, + "UnityScenePath": "MainCity_FortuneNEPS", + "BornTransform": "FortuneNEPS_PlayerPos_Default", + "SectionProgress": { + "ID": 10200, + "OnAdd": [ + "Sec102_DefaultTrigger", + "Sec102_DefaultTrigger2" + ], + "OnEnter": [ + "Sec102_EnterTrigger1" + ], + "Events": { + "Sec102_DefaultTrigger": { + "ID": 100, + "Actions": [] + }, + "Sec102_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 104122 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 41110043 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 41110086 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 41110087 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 205, + "TagID": 41110091 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 206, + "TagID": 41110092 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 207, + "TagID": 41110135 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 208, + "TagID": 41110138 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 209, + "TagID": 41110139 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 210, + "TagID": 41110140 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 211, + "TagID": 41110141 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 212, + "TagID": 41110146 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 213, + "TagID": 41110147 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 214, + "TagID": 41110171 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 215, + "TagID": 41110176 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 216, + "TagID": 41110177 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 217, + "TagID": 41110184 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 218, + "TagID": 41110193 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 219, + "TagID": 41110228 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 220, + "TagID": 41110229 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 221, + "TagID": 41110240 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 222, + "TagID": 41110241 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 223, + "TagID": 41110300 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 224, + "TagID": 41110301 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 225, + "TagID": 41110302 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 226, + "TagID": 41110303 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 227, + "TagID": 41110304 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 228, + "TagID": 41110305 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 229, + "TagID": 41110306 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 230, + "TagID": 41110307 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 231, + "TagID": 41110310 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 232, + "TagID": 41250001 + } + ] + }, + "Sec102_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 15001717, + "TagIDs": [ + 104122 + ], + "Participators": { + "104122": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec102_InteractTrigger15001717" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 221111025, + "TagIDs": [ + 41110043 + ], + "Participators": { + "41110043": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 221111053, + "TagIDs": [ + 41110086 + ], + "Participators": { + "41110086": "A", + "41110087": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 221111057, + "TagIDs": [ + 41110091 + ], + "Participators": { + "41110091": "A", + "41110092": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 221111084, + "TagIDs": [ + 41110135 + ], + "Participators": { + "41110135": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 306, + "InteractID": 221111086, + "TagIDs": [ + 41110138 + ], + "Participators": { + "41110138": "A", + "41110139": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 307, + "InteractID": 221111087, + "TagIDs": [ + 41110140 + ], + "Participators": { + "41110140": "A", + "41110141": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 308, + "InteractID": 221111090, + "TagIDs": [ + 41110146 + ], + "Participators": { + "41110146": "A", + "41110147": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 309, + "InteractID": 221111107, + "TagIDs": [ + 41110171 + ], + "Participators": { + "41110171": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 310, + "InteractID": 221111111, + "TagIDs": [ + 41110176 + ], + "Participators": { + "41110176": "A", + "41110177": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 311, + "InteractID": 221111116, + "TagIDs": [ + 41110184 + ], + "Participators": { + "41110184": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 312, + "InteractID": 261110001, + "TagIDs": [ + 41110305 + ], + "Participators": { + "41110305": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 313, + "InteractID": 261110002, + "TagIDs": [ + 41110306 + ], + "Participators": { + "41110306": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 314, + "InteractID": 261110003, + "TagIDs": [ + 41110307 + ], + "Participators": { + "41110307": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 315, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3101": 310101, + "3301": 330102, + "3503": 350301, + "3504": 350401 + } + } + ] + }, + "Sec102_InteractTrigger15001717": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 101, + "Transform": "FortuneSquare_PlayerPos_FromNEPS", + "CameraX": 0, + "CameraY": 0 + } + ] + } + } + } + }, + "103": { + "ID": 103, + "UnityScenePath": "MainCity_FortuneHIA", + "BornTransform": "FortuneHIA_PlayerPos_Default", + "SectionProgress": { + "ID": 10300, + "OnAdd": [ + "Sec103_DefaultTrigger", + "Sec103_DefaultTrigger2" + ], + "OnEnter": [ + "Sec103_EnterTrigger1" + ], + "Events": { + "Sec103_DefaultTrigger": { + "ID": 100, + "Actions": [] + }, + "Sec103_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 103101 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 103201 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 103202 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 103203 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 205, + "TagID": 103204 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 206, + "TagID": 103302 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 207, + "TagID": 7022601 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 208, + "TagID": 7022602 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 209, + "TagID": 41300101 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 210, + "TagID": 41300201 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 211, + "TagID": 41300403 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 212, + "TagID": 41300802 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 213, + "TagID": 41300901 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 214, + "TagID": 41301201 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 215, + "TagID": 41350012 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 216, + "TagID": 41350013 + } + ] + }, + "Sec103_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 7022701, + "TagIDs": [ + 103101 + ], + "Participators": { + "103101": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec103_InteractTrigger7022701" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 15001301, + "TagIDs": [ + 103201 + ], + "Participators": { + "103201": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec103_InteractTrigger15001301" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 15001305, + "TagIDs": [ + 103204 + ], + "Participators": { + "103204": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec103_InteractTrigger15001305" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 15001303, + "TagIDs": [ + 103302 + ], + "Participators": { + "103302": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec103_InteractTrigger15001303" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 7022601, + "TagIDs": [ + 7022601 + ], + "Participators": { + "7022601": "Booparazzi", + "7022602": "TalentAgent" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 306, + "InteractID": 13060001, + "TagIDs": [ + 41300101 + ], + "Participators": { + "41300101": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 307, + "InteractID": 13060002, + "TagIDs": [ + 41300201 + ], + "Participators": { + "41300201": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 308, + "InteractID": 13060015, + "TagIDs": [ + 41300403 + ], + "Participators": { + "41300403": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 309, + "InteractID": 13060011, + "TagIDs": [ + 41300901 + ], + "Participators": { + "41300802": "B", + "41300901": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 310, + "InteractID": 13060019, + "TagIDs": [ + 41301201 + ], + "Participators": { + "41301201": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 311, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3101": 310101, + "3501": 0, + "3502": 350201, + "3503": 350301, + "3504": 350401 + } + } + ] + }, + "Sec103_InteractTrigger15001301": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 2013 + } + ] + }, + "Sec103_InteractTrigger15001303": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 101, + "Transform": "Street_NPCPos_ToSubway_HIAOUTdefault", + "CameraX": 0, + "CameraY": 6000 + } + ] + }, + "Sec103_InteractTrigger15001305": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 4711 + } + ] + }, + "Sec103_InteractTrigger7022701": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 1, + "StoreTemplateID": 2011 + } + ] + } + } + } + }, + "104": { + "ID": 104, + "UnityScenePath": "Maincity_OuterRing", + "BornTransform": "OuterRing_PlayerPos_Default", + "SectionProgress": { + "ID": 10400, + "OnAdd": [ + "Sec104_DefaultTrigger", + "Sec104_DefaultTrigger2" + ], + "OnEnter": [ + "Sec104_EnterTrigger1" + ], + "Events": { + "Sec104_DefaultTrigger": { + "ID": 100, + "Actions": [] + }, + "Sec104_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 7001001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 7001002 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 20400201 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 20400601 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 205, + "TagID": 41450001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 206, + "TagID": 41450002 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 207, + "TagID": 41450003 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 208, + "TagID": 41450004 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 209, + "TagID": 41450006 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 210, + "TagID": 41450203 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 211, + "TagID": 41450309 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 212, + "TagID": 41450408 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 213, + "TagID": 41450505 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 214, + "TagID": 41450610 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 215, + "TagID": 41450709 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 216, + "TagID": 41450907 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 217, + "TagID": 41451001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 218, + "TagID": 41451102 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 219, + "TagID": 41451203 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 220, + "TagID": 41455122 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 221, + "TagID": 41455123 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 222, + "TagID": 41455124 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 223, + "TagID": 41455127 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 224, + "TagID": 41455128 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 225, + "TagID": 41455129 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 226, + "TagID": 41455130 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 227, + "TagID": 41455131 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 228, + "TagID": 41455132 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 229, + "TagID": 41455133 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 230, + "TagID": 41455134 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 231, + "TagID": 41455135 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 232, + "TagID": 41455136 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 233, + "TagID": 41455137 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 234, + "TagID": 70044106 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 235, + "TagID": 221200001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 236, + "TagID": 304003101 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 237, + "TagID": 304003105 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 238, + "TagID": 304025101 + } + ] + }, + "Sec104_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 7001001, + "TagIDs": [ + 7001001 + ], + "Participators": { + "7001001": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 3.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec104_InteractTrigger7001001" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 7001022, + "TagIDs": [ + 7001002 + ], + "Participators": { + "7001002": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 1.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 12040201, + "TagIDs": [ + 20400201 + ], + "Participators": { + "20400201": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 12040601, + "TagIDs": [ + 20400601 + ], + "Participators": { + "20400601": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 10000009, + "TagIDs": [ + 41450003 + ], + "Participators": { + "41450003": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.8, + "Z": 2.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec104_InteractTrigger10000009" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 306, + "InteractID": 10000021, + "TagIDs": [ + 41450004 + ], + "Participators": { + "41450004": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 0.0, + "Y": 1.8, + "Z": 2.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 307, + "InteractID": 241202001, + "TagIDs": [ + 41450006 + ], + "Participators": { + "41450006": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec104_InteractTrigger241202001" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 308, + "InteractID": 13081015, + "TagIDs": [ + 41450203 + ], + "Participators": { + "41450203": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 309, + "InteractID": 13081054, + "TagIDs": [ + 41450309 + ], + "Participators": { + "41450309": "A", + "41450610": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 310, + "InteractID": 13081038, + "TagIDs": [ + 41450408 + ], + "Participators": { + "41450408": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 311, + "InteractID": 13081026, + "TagIDs": [ + 41450505 + ], + "Participators": { + "41450505": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 312, + "InteractID": 13081046, + "TagIDs": [ + 41450709 + ], + "Participators": { + "41450709": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 313, + "InteractID": 13081084, + "TagIDs": [ + 41450907 + ], + "Participators": { + "41450907": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 314, + "InteractID": 13085001, + "TagIDs": [ + 41451001 + ], + "Participators": { + "41451001": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 315, + "InteractID": 13081076, + "TagIDs": [ + 41451102 + ], + "Participators": { + "41451102": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 316, + "InteractID": 13081042, + "TagIDs": [ + 41451203 + ], + "Participators": { + "41451203": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 317, + "InteractID": 13081080, + "TagIDs": [ + 41455122 + ], + "Participators": { + "41455122": "A", + "41455123": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 318, + "InteractID": 13081081, + "TagIDs": [ + 41455124 + ], + "Participators": { + "41455124": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 319, + "InteractID": 13081085, + "TagIDs": [ + 41455127 + ], + "Participators": { + "41455127": "A", + "41455128": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 320, + "InteractID": 13081086, + "TagIDs": [ + 41455129 + ], + "Participators": { + "41455129": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 321, + "InteractID": 13081087, + "TagIDs": [ + 41455130 + ], + "Participators": { + "41455130": "A", + "41455131": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 322, + "InteractID": 12041060, + "TagIDs": [ + 70044106 + ], + "Participators": { + "70044106": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 323, + "InteractID": 221200001, + "TagIDs": [ + 221200001 + ], + "Participators": { + "221200001": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 324, + "InteractID": 12041035, + "TagIDs": [ + 304003101 + ], + "Participators": { + "304003101": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 325, + "InteractID": 12041037, + "TagIDs": [ + 304003105 + ], + "Participators": { + "304003105": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 326, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3101": 310101, + "3409": 340901, + "3503": 350301, + "3504": 350401 + } + } + ] + }, + "Sec104_InteractTrigger10000009": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIYorozuyaPage", + "Args": 0, + "StoreTemplateID": 1161 + } + ] + }, + "Sec104_InteractTrigger241202001": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 104, + "Transform": "OuterRing_PlayerPos_Trash01", + "CameraX": 2972057, + "CameraY": 7000 + } + ] + }, + "Sec104_InteractTrigger7001001": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIOverlordFeastPrepPage", + "Args": 0, + "StoreTemplateID": 4705 + } + ] + } + } + } + }, + "105": { + "ID": 105, + "UnityScenePath": "Maincity_Hand", + "BornTransform": "Hand_PlayerPos_Default", + "SectionProgress": { + "ID": 10500, + "OnAdd": [ + "Sec105_DefaultTrigger", + "Sec105_DefaultTrigger2" + ], + "OnEnter": [ + "Sec105_EnterTrigger1" + ], + "Events": { + "Sec105_DefaultTrigger": { + "ID": 100, + "Actions": [] + }, + "Sec105_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 41310011 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 41310014 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 41310015 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 41310047 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 205, + "TagID": 41310048 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 206, + "TagID": 41310070 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 207, + "TagID": 41310072 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 208, + "TagID": 41310073 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 209, + "TagID": 41310074 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 210, + "TagID": 41310075 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 211, + "TagID": 41310076 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 212, + "TagID": 41310082 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 213, + "TagID": 41310083 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 214, + "TagID": 41310100 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 215, + "TagID": 41310104 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 216, + "TagID": 41310105 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 217, + "TagID": 41310109 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 218, + "TagID": 41310112 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 219, + "TagID": 41310116 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 220, + "TagID": 41310117 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 221, + "TagID": 41310118 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 222, + "TagID": 41310120 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 223, + "TagID": 41310123 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 224, + "TagID": 41310124 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 225, + "TagID": 41310125 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 226, + "TagID": 41310127 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 227, + "TagID": 41310128 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 228, + "TagID": 41310131 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 229, + "TagID": 41310132 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 230, + "TagID": 41310133 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 231, + "TagID": 41310134 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 232, + "TagID": 41310135 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 233, + "TagID": 41310136 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 234, + "TagID": 41310137 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 235, + "TagID": 41310138 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 236, + "TagID": 41310139 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 237, + "TagID": 41310140 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 238, + "TagID": 41310141 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 239, + "TagID": 41310143 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 240, + "TagID": 41310144 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 241, + "TagID": 41315001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 242, + "TagID": 41315002 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 243, + "TagID": 41315003 + } + ] + }, + "Sec105_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 221311009, + "TagIDs": [ + 41310011 + ], + "Participators": { + "41310011": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 221311011, + "TagIDs": [ + 41310014 + ], + "Participators": { + "41310014": "A", + "41310015": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 221312001, + "TagIDs": [ + 41310143 + ], + "Participators": { + "41310143": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 221312002, + "TagIDs": [ + 41310144 + ], + "Participators": { + "41310144": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 10000021, + "TagIDs": [ + 41315003 + ], + "Participators": { + "41315003": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 306, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3101": 310101, + "3503": 350301, + "3504": 350401, + "3505": 350502 + } + } + ] + } + } + } + }, + "151": { + "ID": 151, + "UnityScenePath": "Maincity_Zero", + "BornTransform": "Zero_PlayerPos_Default", + "SectionProgress": { + "ID": 15100, + "OnAdd": [ + "Sec151_DefaultTrigger", + "Sec151_DefaultTrigger2" + ], + "OnEnter": [ + "Sec151_EnterTrigger1" + ], + "Events": { + "Sec151_DefaultTrigger": { + "ID": 100, + "Actions": [] + }, + "Sec151_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 102101 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 102102 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 102201 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 102202 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 205, + "TagID": 102204 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 206, + "TagID": 102205 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 207, + "TagID": 102206 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 208, + "TagID": 102302 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 209, + "TagID": 102501 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 210, + "TagID": 102502 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 211, + "TagID": 102503 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 212, + "TagID": 102504 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 213, + "TagID": 102601 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 214, + "TagID": 102602 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 215, + "TagID": 7020004 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 216, + "TagID": 20991213 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 217, + "TagID": 20991214 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 218, + "TagID": 41500001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 219, + "TagID": 41500301 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 220, + "TagID": 41500401 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 221, + "TagID": 41501102 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 222, + "TagID": 41501202 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 223, + "TagID": 41501401 + } + ] + }, + "Sec151_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 15001101, + "TagIDs": [ + 102101 + ], + "Participators": { + "102101": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec151_InteractTrigger15001101" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 15001109, + "TagIDs": [ + 102102 + ], + "Participators": { + "102102": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec151_InteractTrigger15001109" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 15001103, + "TagIDs": [ + 102201 + ], + "Participators": { + "102201": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec151_InteractTrigger15001103" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 7020092, + "TagIDs": [ + 102202 + ], + "Participators": { + "102202": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 15001108, + "TagIDs": [ + 102302 + ], + "Participators": { + "102302": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec151_InteractTrigger15001108" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 306, + "InteractID": 15001105, + "TagIDs": [ + 102502 + ], + "Participators": { + "102502": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 307, + "InteractID": 15001107, + "TagIDs": [ + 102601 + ], + "Participators": { + "102601": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec151_InteractTrigger15001107" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 308, + "InteractID": 12990216, + "TagIDs": [ + 20991214 + ], + "Participators": { + "20991213": "A", + "20991214": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 309, + "InteractID": 15001106, + "TagIDs": [ + 41500001 + ], + "Participators": { + "41500001": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 310, + "InteractID": 13050003, + "TagIDs": [ + 41500301 + ], + "Participators": { + "41500301": "A", + "41500401": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 311, + "InteractID": 13050009, + "TagIDs": [ + 41501102 + ], + "Participators": { + "41501102": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 312, + "InteractID": 13050010, + "TagIDs": [ + 41501202 + ], + "Participators": { + "41501202": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 313, + "InteractID": 13050014, + "TagIDs": [ + 41501401 + ], + "Participators": { + "41501401": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 314, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3101": 310101, + "3503": 350301, + "3504": 350401 + } + } + ] + }, + "Sec151_InteractTrigger15001101": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 2015 + } + ] + }, + "Sec151_InteractTrigger15001103": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "UIBattlePortal_HadalZonePageController", + "Args": 0, + "StoreTemplateID": 2002 + } + ] + }, + "Sec151_InteractTrigger15001107": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 2006 + } + ] + }, + "Sec151_InteractTrigger15001108": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 2014 + } + ] + }, + "Sec151_InteractTrigger15001109": { + "Actions": [ + { + "$type": "Share.CActionOpenUI", + "UI": "", + "Args": 0, + "StoreTemplateID": 2012 + } + ] + } + } + } + }, + "153": { + "ID": 153, + "UnityScenePath": "Maincity_Subway_Street", + "BornTransform": "Subway_PlayerPos_Default", + "SectionProgress": { + "ID": 15300, + "OnAdd": [ + "Sec153_DefaultTrigger", + "Sec153_DefaultTrigger2" + ], + "OnEnter": [ + "Sec153_EnterTrigger1" + ], + "Events": { + "Sec153_DefaultTrigger": { + "ID": 100, + "Actions": [] + }, + "Sec153_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 104110 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 104112 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 40153001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 40153004 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 205, + "TagID": 40153005 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 206, + "TagID": 40153007 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 207, + "TagID": 40153011 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 208, + "TagID": 40153012 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 209, + "TagID": 40153014 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 210, + "TagID": 40153015 + } + ] + }, + "Sec153_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 15001710, + "TagIDs": [ + 104110 + ], + "Participators": { + "104110": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 3.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec153_InteractTrigger15001710" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 15001709, + "TagIDs": [ + 104112 + ], + "Participators": { + "104112": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 3.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 140153001, + "TagIDs": [ + 40153001 + ], + "Participators": { + "40153001": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 140153003, + "TagIDs": [ + 40153004 + ], + "Participators": { + "40153004": "A", + "40153005": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 140153005, + "TagIDs": [ + 40153007 + ], + "Participators": { + "40153007": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 306, + "InteractID": 140153009, + "TagIDs": [ + 40153011 + ], + "Participators": { + "40153011": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 307, + "InteractID": 140153011, + "TagIDs": [ + 40153014 + ], + "Participators": { + "40153014": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 308, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3101": 310101, + "3503": 350301, + "3504": 350401 + } + } + ] + }, + "Sec153_InteractTrigger15001710": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 1, + "Transform": "Street_PlayerPos_FromSubway", + "CameraX": 0, + "CameraY": 0 + } + ] + } + } + } + }, + "154": { + "ID": 154, + "UnityScenePath": "Maincity_Subway_FortuneSquare", + "BornTransform": "SubwayFortuneSquare_PlayerPos_Default", + "SectionProgress": { + "ID": 15400, + "OnAdd": [ + "Sec154_DefaultTrigger", + "Sec154_DefaultTrigger2" + ], + "OnEnter": [ + "Sec154_EnterTrigger1" + ], + "Events": { + "Sec154_DefaultTrigger": { + "ID": 100, + "Actions": [] + }, + "Sec154_DefaultTrigger2": { + "ID": 200, + "Actions": [ + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 201, + "TagID": 104111 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 202, + "TagID": 104113 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 203, + "TagID": 241070001 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 204, + "TagID": 241070004 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 205, + "TagID": 241070005 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 206, + "TagID": 241070006 + }, + { + "$type": "Share.CActionCreateNPCCfg", + "ID": 207, + "TagID": 241070011 + } + ] + }, + "Sec154_EnterTrigger1": { + "ID": 300, + "Actions": [ + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 301, + "InteractID": 15001711, + "TagIDs": [ + 104111 + ], + "Participators": { + "104111": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + }, + "SectionListenEvents": { + "OnInteract": "Sec154_InteractTrigger15001711" + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 302, + "InteractID": 15001709, + "TagIDs": [ + 104113 + ], + "Participators": { + "104113": "" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 303, + "InteractID": 241070001, + "TagIDs": [ + 241070001 + ], + "Participators": { + "241070001": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 304, + "InteractID": 241070004, + "TagIDs": [ + 241070004 + ], + "Participators": { + "241070004": "A", + "241070005": "B" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 305, + "InteractID": 241070005, + "TagIDs": [ + 241070006 + ], + "Participators": { + "241070006": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionChangeInteractCfg", + "ID": 306, + "InteractID": 241070009, + "TagIDs": [ + 241070011 + ], + "Participators": { + "241070011": "A" + }, + "InteractShape": "Sphere", + "InteractScale": { + "X": 2.0, + "Y": 0.0, + "Z": 0.0 + } + }, + { + "$type": "Share.CActionSetMainCityObjectState", + "ID": 307, + "ObjectState": { + "999": 10007, + "1000": 10001, + "1001": 10003, + "1003": 10013, + "1004": 10014, + "1005": 10027, + "1006": 10015, + "1007": 10016, + "1008": 10017, + "1009": 10018, + "1010": 10019, + "1011": 10020, + "1012": 10021, + "1013": 10022, + "1014": 10023, + "1015": 10024, + "1016": 10025, + "1017": 10026, + "1018": 10028, + "1019": 10029, + "1020": 10030, + "1021": 10031, + "1022": 10032, + "1023": 10033, + "1024": 10034, + "1025": 10035, + "1026": 10036, + "1027": 10037, + "1028": 10038, + "1029": 10039, + "1101": 11001, + "1201": 12001, + "1301": 13001, + "1302": 13002, + "1303": 13003, + "1304": 13004, + "1305": 13005, + "1401": 14023, + "2201": 22012, + "2202": 22021, + "2203": 22032, + "2211": 22114, + "2212": 22121, + "2213": 22131, + "3002": 300201, + "3003": 300301, + "3101": 310101, + "3503": 350301, + "3504": 350401 + } + } + ] + }, + "Sec154_InteractTrigger15001711": { + "Actions": [ + { + "$type": "Share.CActionSwitchSection", + "SectionID": 101, + "Transform": "FortuneSquare_PlayerPos_FromSubway", + "CameraX": 0, + "CameraY": 0 + } + ] + } + } + } + } + } +} diff --git a/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/data_version b/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/data_version new file mode 100644 index 0000000..15e1125 --- /dev/null +++ b/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/data_version @@ -0,0 +1 @@ +{"remoteParentDir":"","files":[{"remoteName":"Blocks/3328852140.blk","md5":"9122950185770172588","fileSize":578833,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/3790922690.blk","md5":"17935600715388216258","fileSize":4194814,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2284334622.blk","md5":"1921214220396408350","fileSize":9994135,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2668462595.blk","md5":"15799288027094548995","fileSize":7501775,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3780966874.blk","md5":"3623952593348000218","fileSize":8255948,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3464772020.blk","md5":"6404785737841260980","fileSize":8212979,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1466521055.blk","md5":"14504298224428864991","fileSize":7868859,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3563588734.blk","md5":"7183384049378397310","fileSize":10485827,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/902016349.blk","md5":"12423097650797325661","fileSize":7955779,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1503146322.blk","md5":"17774132456989405522","fileSize":9217404,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3616722805.blk","md5":"15234963238410178421","fileSize":7413055,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3284963563.blk","md5":"10056350654794600683","fileSize":7901056,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/98028081.blk","md5":"3393097878461729329","fileSize":8422035,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2381137273.blk","md5":"9315744742684575097","fileSize":7646161,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3405069113.blk","md5":"1010670692224809785","fileSize":7775021,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/612355727.blk","md5":"3760073409598312079","fileSize":8102962,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2388337555.blk","md5":"18037935375034033043","fileSize":183748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1584573291.blk","md5":"3023418238579465498","fileSize":55527,"isPatch":false}]} \ No newline at end of file diff --git a/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/silence_revision b/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/silence_revision new file mode 100644 index 0000000..e52488e --- /dev/null +++ b/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/silence_revision @@ -0,0 +1 @@ +5010994 \ No newline at end of file diff --git a/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/silence_version b/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/silence_version new file mode 100644 index 0000000..f88e724 --- /dev/null +++ b/autopatch/design_data/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/silence_version @@ -0,0 +1 @@ +{"remoteParentDir":"","files":[{"remoteName":"Blocks/1688854445.blk","md5":"14618248753171219425","fileSize":26,"isPatch":false}]} \ No newline at end of file diff --git a/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/Blocks/3787623309.blk b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/Blocks/3787623309.blk new file mode 100644 index 0000000..3024386 Binary files /dev/null and b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/Blocks/3787623309.blk differ diff --git a/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/Blocks/3837348866.blk b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/Blocks/3837348866.blk new file mode 100644 index 0000000..e2ff2ea Binary files /dev/null and b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/Blocks/3837348866.blk differ diff --git a/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/Blocks/3997743347.blk b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/Blocks/3997743347.blk new file mode 100644 index 0000000..bac89d7 Binary files /dev/null and b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/Blocks/3997743347.blk differ diff --git a/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/audio_revision b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/audio_revision new file mode 100644 index 0000000..e52488e --- /dev/null +++ b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/audio_revision @@ -0,0 +1 @@ +5010994 \ No newline at end of file diff --git a/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/audio_version b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/audio_version new file mode 100644 index 0000000..e88b14f --- /dev/null +++ b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/audio_version @@ -0,0 +1 @@ +{"remoteParentDir":"","files":[{"remoteName":"Audio/Windows/Min/Minimum.pck","md5":"8268437928424163575","fileSize":8611062,"isPatch":false,"tags":[1,4]},{"remoteName":"Audio/Windows/Full/Patch.pck","md5":"945489687226155688","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_0.pck","md5":"17469339973767571869","fileSize":37367352,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_1.pck","md5":"2590873713618296230","fileSize":35866248,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_10.pck","md5":"1572153836516746163","fileSize":34601241,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_11.pck","md5":"11162069096919726564","fileSize":38490954,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_12.pck","md5":"3253631357126718536","fileSize":38867958,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_13.pck","md5":"13655208416870929392","fileSize":40098125,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_14.pck","md5":"17958210725408783824","fileSize":41745616,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_15.pck","md5":"4204666341154471266","fileSize":42189889,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_2.pck","md5":"1948917622432709333","fileSize":37300877,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_3.pck","md5":"18277344526186323304","fileSize":36966048,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_4.pck","md5":"13283804995184343713","fileSize":41217735,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_5.pck","md5":"4315181291529720186","fileSize":37671686,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_6.pck","md5":"6834377813890656246","fileSize":32933492,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_7.pck","md5":"13218878099327467734","fileSize":39739369,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_8.pck","md5":"130209263738234311","fileSize":39318677,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/SoundBank_SFX_9.pck","md5":"1203109458439617278","fileSize":37873037,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_0.pck","md5":"3514151685937619679","fileSize":96402533,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_1.pck","md5":"17113667511037028038","fileSize":54267190,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_10.pck","md5":"6203176008236914597","fileSize":60802208,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_11.pck","md5":"11037721809938318232","fileSize":56331433,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_12.pck","md5":"12506357779583222266","fileSize":65012253,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_13.pck","md5":"12523115093410480125","fileSize":66272783,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_14.pck","md5":"13151240153053172113","fileSize":46435755,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_15.pck","md5":"4040913681862292799","fileSize":43253722,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_2.pck","md5":"12827084290400723155","fileSize":50628277,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_3.pck","md5":"10941461695364631258","fileSize":80912400,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_4.pck","md5":"13992642845329282786","fileSize":64241925,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_5.pck","md5":"11895430481555371816","fileSize":39053628,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_6.pck","md5":"1046412810523489092","fileSize":39655081,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_7.pck","md5":"10320555136470339177","fileSize":85188381,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_8.pck","md5":"15798081705211172601","fileSize":54549508,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Streamed_SFX_9.pck","md5":"11860024577730414641","fileSize":62702006,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_0.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_1.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_10.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_11.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_12.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_13.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_14.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_15.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_2.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_3.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_4.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_5.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_6.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_7.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_8.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/External_Cn_9.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/Patch.pck","md5":"1206198895659817034","fileSize":96,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/SoundBank_Cn_0.pck","md5":"2139196515303743138","fileSize":3570926,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Cn/Streamed_Cn_0.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_0.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_1.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_10.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_11.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_12.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_13.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_14.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_15.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_2.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_3.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_4.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_5.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_6.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_7.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_8.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/External_En_9.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/Patch.pck","md5":"12149503683550140869","fileSize":92,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/SoundBank_En_0.pck","md5":"6506683416203319831","fileSize":3571294,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/En/Streamed_En_0.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_0.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_1.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_10.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_11.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_12.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_13.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_14.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_15.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_2.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_3.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_4.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_5.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_6.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_7.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_8.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/External_Jp_9.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/Patch.pck","md5":"16315586483950708112","fileSize":96,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/SoundBank_Jp_0.pck","md5":"10483286091309173524","fileSize":3572014,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Jp/Streamed_Jp_0.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_0.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_1.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_10.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_11.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_12.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_13.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_14.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_15.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_2.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_3.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_4.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_5.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_6.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_7.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_8.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/External_Kr_9.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/Patch.pck","md5":"16410809906550921676","fileSize":92,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/SoundBank_Kr_0.pck","md5":"9787243920892529927","fileSize":3571534,"isPatch":false,"tags":[3,4]},{"remoteName":"Audio/Windows/Full/Kr/Streamed_Kr_0.pck","md5":"5553884389216151422","fileSize":60,"isPatch":false,"tags":[3,4]},{"remoteName":"Blocks/1642052237.blk","md5":"4631144154510996519","fileSize":21,"isPatch":false}]} \ No newline at end of file diff --git a/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/base_revision b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/base_revision new file mode 100644 index 0000000..ec747fa --- /dev/null +++ b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/base_revision @@ -0,0 +1 @@ +null \ No newline at end of file diff --git a/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/data_version b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/data_version new file mode 100644 index 0000000..15e1125 --- /dev/null +++ b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/data_version @@ -0,0 +1 @@ +{"remoteParentDir":"","files":[{"remoteName":"Blocks/3328852140.blk","md5":"9122950185770172588","fileSize":578833,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/3790922690.blk","md5":"17935600715388216258","fileSize":4194814,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2284334622.blk","md5":"1921214220396408350","fileSize":9994135,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2668462595.blk","md5":"15799288027094548995","fileSize":7501775,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3780966874.blk","md5":"3623952593348000218","fileSize":8255948,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3464772020.blk","md5":"6404785737841260980","fileSize":8212979,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1466521055.blk","md5":"14504298224428864991","fileSize":7868859,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3563588734.blk","md5":"7183384049378397310","fileSize":10485827,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/902016349.blk","md5":"12423097650797325661","fileSize":7955779,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1503146322.blk","md5":"17774132456989405522","fileSize":9217404,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3616722805.blk","md5":"15234963238410178421","fileSize":7413055,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3284963563.blk","md5":"10056350654794600683","fileSize":7901056,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/98028081.blk","md5":"3393097878461729329","fileSize":8422035,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2381137273.blk","md5":"9315744742684575097","fileSize":7646161,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3405069113.blk","md5":"1010670692224809785","fileSize":7775021,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/612355727.blk","md5":"3760073409598312079","fileSize":8102962,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2388337555.blk","md5":"18037935375034033043","fileSize":183748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1584573291.blk","md5":"3023418238579465498","fileSize":55527,"isPatch":false}]} \ No newline at end of file diff --git a/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/res_version b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/res_version new file mode 100644 index 0000000..0921746 --- /dev/null +++ b/autopatch/game_res/beta_live/output_5016531_79764a0a26/client/StandaloneWindows64/oversea/res_version @@ -0,0 +1 @@ +{"remoteParentDir":"","files":[{"remoteName":"Blocks/2207814718.blk","md5":"17817412177415935038","fileSize":9336667,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/994761569.blk","md5":"4696054325465242465","fileSize":10152603,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/85207457.blk","md5":"2208954250817710497","fileSize":16555227,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/255003040.blk","md5":"13702639661136152992","fileSize":4374121,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/3811236520.blk","md5":"134200779575319208","fileSize":9502907,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/1208930130.blk","md5":"12291952778930999122","fileSize":4200910,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/2965898468.blk","md5":"16922549217997096164","fileSize":4649147,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/4070694299.blk","md5":"7792917867139292571","fileSize":4246591,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/3640619446.blk","md5":"14435767925996482998","fileSize":4483222,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/480261792.blk","md5":"13356188748654589600","fileSize":6462872,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/2100838528.blk","md5":"13187608019732021376","fileSize":4208395,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/2635338062.blk","md5":"99043172546777422","fileSize":5208237,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/3001637526.blk","md5":"6937131050928265878","fileSize":7175912,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/3942943899.blk","md5":"3082475702747171995","fileSize":6815761,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/461183980.blk","md5":"12760161203368303596","fileSize":8275696,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/4188507848.blk","md5":"6381005376525405896","fileSize":8486187,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/701048166.blk","md5":"12988324838627681638","fileSize":4562545,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/97278721.blk","md5":"15470063796144069377","fileSize":4321171,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/3270969708.blk","md5":"2913597141319879020","fileSize":6950620,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/846563036.blk","md5":"13299163544813930204","fileSize":6115090,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/3142759682.blk","md5":"5918479973711262978","fileSize":8142181,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/231903685.blk","md5":"1675329127354372549","fileSize":4303534,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/315726988.blk","md5":"4469876446421163148","fileSize":4536165,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/263310389.blk","md5":"12493085976197975093","fileSize":4273961,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/274911945.blk","md5":"9476405942269694665","fileSize":4197100,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/746659291.blk","md5":"16778764877622746587","fileSize":4321758,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/2095488567.blk","md5":"10526199829311692343","fileSize":4205442,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/3063275906.blk","md5":"15857724746928349570","fileSize":7251758,"isPatch":false,"tags":[1]},{"remoteName":"Blocks/1444164680.blk","md5":"3999024555893208136","fileSize":7907080,"isPatch":false,"tags":[1]},{"remoteName":"Video/HD/Launch/LogoPerform_CHT.usm","md5":"9268676323458790545","fileSize":5273344,"isPatch":false,"tags":[1,5],"packages":[30400]},{"remoteName":"Video/HD/Launch/LogoPerform_EN.usm","md5":"12534482936541585302","fileSize":5353952,"isPatch":false,"tags":[1,5],"packages":[30400]},{"remoteName":"Video/HD/Launch/LogoPerform_KoreaAgeLimit.usm","md5":"6525786809839080104","fileSize":97056,"isPatch":false,"tags":[1,5],"packages":[30400]},{"remoteName":"Video/HD/LoginBangumi/Ad_01_mux.usm","md5":"5879161555452573099","fileSize":7007616,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_02_mux.usm","md5":"9721118087395022033","fileSize":10776224,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_03_mux.usm","md5":"15392698898479652669","fileSize":13155680,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_04_mux.usm","md5":"3829631082657002233","fileSize":14416864,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_05_mux.usm","md5":"3735815608136234829","fileSize":13147328,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_06_mux.usm","md5":"12504669926253166780","fileSize":15969312,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_07_mux.usm","md5":"2017499604526429528","fileSize":25847872,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_08_mux.usm","md5":"6299427656424337722","fileSize":16073728,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_09_mux.usm","md5":"7648712033471078225","fileSize":14796640,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_101_mux.usm","md5":"12281976215890465088","fileSize":22677600,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_10_mux.usm","md5":"7704740140420634705","fileSize":17215968,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_11_mux.usm","md5":"15099263829162599783","fileSize":12459200,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_12_mux.usm","md5":"8782903696214721821","fileSize":24230144,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_13_mux.usm","md5":"9646975371677658679","fileSize":8700544,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_14_mux.usm","md5":"17847113066808925158","fileSize":20026816,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_15_mux.usm","md5":"8794561538848461370","fileSize":72956800,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_17_mux.usm","md5":"7906653483239801919","fileSize":14773408,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_21_mux.usm","md5":"17087105141713875030","fileSize":33283872,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_25_mux.usm","md5":"18047286427751103060","fileSize":25190944,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_28_mux.usm","md5":"15192365516937463795","fileSize":23010624,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_29_mux.usm","md5":"12443887912434934774","fileSize":18581952,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_30_mux.usm","md5":"10981433953162339674","fileSize":18425952,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_32_mux.usm","md5":"4725369661156879280","fileSize":14154528,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/Ad_37_mux.usm","md5":"5891395999590335401","fileSize":21481152,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/LoginBangumi/TV_TurnOff.usm","md5":"2838665442174787626","fileSize":117952,"isPatch":false,"tags":[1,5],"packages":[30500]},{"remoteName":"Video/HD/Transfer/General/TransferBattleFakeLoading.usm","md5":"13497248541526503093","fileSize":11040,"isPatch":false,"tags":[1,5],"packages":[20103]},{"remoteName":"Blocks/3638851096.blk","md5":"5816208840020227608","fileSize":16747486,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3119058553.blk","md5":"13410429764425551481","fileSize":5573179,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/824769066.blk","md5":"14380971446223043114","fileSize":4707202,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2014877910.blk","md5":"347550563788429526","fileSize":32483934,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/357311133.blk","md5":"6118027192334819997","fileSize":5130132,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2915840609.blk","md5":"4114049197505524321","fileSize":5768117,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1070731045.blk","md5":"6669318036837764901","fileSize":6070517,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/310461305.blk","md5":"8328852098846376825","fileSize":9067411,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/199944923.blk","md5":"2180184322305878747","fileSize":4288451,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1576638320.blk","md5":"16387906473511458672","fileSize":12224117,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2110670512.blk","md5":"7674675637403928240","fileSize":4248209,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2425740504.blk","md5":"12163591630897929432","fileSize":9381016,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3963472191.blk","md5":"3973490715844790591","fileSize":10354555,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/90687225.blk","md5":"10063756966219990777","fileSize":6485220,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1593640615.blk","md5":"16637054695985972903","fileSize":7645891,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/54525346.blk","md5":"10045388039598898594","fileSize":6775580,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/547358087.blk","md5":"14310752222464443783","fileSize":7119532,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/751848178.blk","md5":"14594009722476579570","fileSize":4639528,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/52500677.blk","md5":"16759914548934285509","fileSize":4223271,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2635564941.blk","md5":"8459968626560567181","fileSize":4597555,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2617460774.blk","md5":"5215667459197192230","fileSize":4363223,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2251379984.blk","md5":"7359357113110451472","fileSize":6298826,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1124763840.blk","md5":"8076557246723164352","fileSize":4401202,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2436512049.blk","md5":"8330736483513809201","fileSize":4818143,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/286554011.blk","md5":"16375049088188839835","fileSize":28350487,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3549605989.blk","md5":"5038415925054976101","fileSize":5796738,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2140631669.blk","md5":"14251920268843250293","fileSize":6055218,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/607150170.blk","md5":"8355590241950654554","fileSize":5822712,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/202454271.blk","md5":"16827974022490830079","fileSize":6032226,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/125118786.blk","md5":"5958902390407375170","fileSize":5926329,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4140176414.blk","md5":"10571775022119392286","fileSize":6289297,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3000623288.blk","md5":"9142600412440420536","fileSize":4228283,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/813134046.blk","md5":"14886574231792349406","fileSize":4307534,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4161013434.blk","md5":"7389999138286601914","fileSize":6331585,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3660145444.blk","md5":"10506899149791257380","fileSize":7214714,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4090478240.blk","md5":"10238681255789969056","fileSize":5192278,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1402477600.blk","md5":"2347532827934333984","fileSize":4919309,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/125472626.blk","md5":"10137097827801272178","fileSize":4964942,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3403308501.blk","md5":"5158133478245162453","fileSize":4318203,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/894181572.blk","md5":"1069925832351031492","fileSize":4355076,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/798652570.blk","md5":"3231238828272023706","fileSize":4203466,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3916334668.blk","md5":"13317811260795815500","fileSize":5992238,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2127733390.blk","md5":"17213382150218490510","fileSize":7622244,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3915118322.blk","md5":"17182938676487517938","fileSize":6394619,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4152366772.blk","md5":"2115502380773545652","fileSize":7777400,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1202850929.blk","md5":"17287864419873852529","fileSize":6105511,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1744836961.blk","md5":"9982499261830404449","fileSize":4249423,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4240319773.blk","md5":"10750115318618531101","fileSize":4257744,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1985074541.blk","md5":"14586424128565269869","fileSize":4225426,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/503140884.blk","md5":"1922921674273804820","fileSize":4268023,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/228013375.blk","md5":"15295595279749166399","fileSize":5231932,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2365694712.blk","md5":"6330279465884689144","fileSize":4452375,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4025346104.blk","md5":"8790257278074611768","fileSize":4634271,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/42123363.blk","md5":"6874629691739914339","fileSize":5982539,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/78909844.blk","md5":"15817498234868470164","fileSize":4682399,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1262703844.blk","md5":"6105934339156169956","fileSize":4818622,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/584251027.blk","md5":"17267976860953933459","fileSize":5026490,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1600413642.blk","md5":"16511936272821149642","fileSize":4246837,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3785329650.blk","md5":"9416225117431630834","fileSize":4369466,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3056808312.blk","md5":"14322253176729973112","fileSize":4733100,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2613829639.blk","md5":"13222035241139167239","fileSize":5342683,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3727369967.blk","md5":"1671242095805540079","fileSize":4288960,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1831800171.blk","md5":"6119749853652127083","fileSize":5848574,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3045538527.blk","md5":"11920386256523442911","fileSize":22476175,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/815344128.blk","md5":"16533456566449940992","fileSize":105768079,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3571436236.blk","md5":"12932928353314261708","fileSize":8568293,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2680475200.blk","md5":"14914936660084182592","fileSize":4754728,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2597372523.blk","md5":"8323074227658867307","fileSize":7826719,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1209080951.blk","md5":"8270607193545448567","fileSize":4923912,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2780233496.blk","md5":"13971954750438440728","fileSize":29400770,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1241181284.blk","md5":"5198744264472456292","fileSize":4318411,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3247953523.blk","md5":"377558930288006771","fileSize":4206100,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2750456234.blk","md5":"539353354307936682","fileSize":4994667,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2958547612.blk","md5":"8887848705023531676","fileSize":4567508,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3863665633.blk","md5":"629156216727854049","fileSize":4655484,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/110955562.blk","md5":"2179973714200562730","fileSize":6856587,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/225961679.blk","md5":"6039275191555057359","fileSize":4995655,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3857801227.blk","md5":"4091910815290056715","fileSize":8423230,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1827394394.blk","md5":"13421388642772570970","fileSize":4668566,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/426477597.blk","md5":"13701054169835341853","fileSize":4282036,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3119242909.blk","md5":"13234247873776574109","fileSize":6270046,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4127202648.blk","md5":"11072093352940805464","fileSize":4817572,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1704138950.blk","md5":"322289790635677894","fileSize":4374889,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3669414761.blk","md5":"11655551113317765993","fileSize":4207001,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/183894113.blk","md5":"2290899847512195169","fileSize":6522248,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/979712840.blk","md5":"8476124092849011528","fileSize":4981113,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3554582470.blk","md5":"574543216169099206","fileSize":6276794,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2075288789.blk","md5":"10106657103011800277","fileSize":4760605,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1442842444.blk","md5":"7038148469717993292","fileSize":4922899,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1777461471.blk","md5":"198947546967697631","fileSize":4422031,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2832995352.blk","md5":"5908030240660919320","fileSize":4884447,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/678735264.blk","md5":"1001064720263064992","fileSize":5251089,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3046052914.blk","md5":"18061824258670007346","fileSize":7491750,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/752640324.blk","md5":"14173399048284561732","fileSize":7515673,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/486928063.blk","md5":"3127059083321274047","fileSize":6621820,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3122864901.blk","md5":"13676209208358544133","fileSize":4496625,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3459554150.blk","md5":"14957147642398022502","fileSize":4311523,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3952934594.blk","md5":"4416191360313130690","fileSize":5094227,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1374326417.blk","md5":"13668852322768948881","fileSize":6069560,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1298569297.blk","md5":"5823594394722670673","fileSize":4574151,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3739830555.blk","md5":"11067126240055478555","fileSize":7917244,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/539192129.blk","md5":"17348420644880214849","fileSize":5193537,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1423451469.blk","md5":"1139506845696140621","fileSize":5899983,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2965931247.blk","md5":"3823320842654745839","fileSize":5392917,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/158661478.blk","md5":"9891760246390848358","fileSize":6522586,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/67171735.blk","md5":"2057855059353466263","fileSize":4646345,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1798993119.blk","md5":"16610252807479129311","fileSize":5252983,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1120329727.blk","md5":"15271150165038653439","fileSize":4628180,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3796621768.blk","md5":"10537148793572022728","fileSize":5563452,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3374447260.blk","md5":"14512461013546302108","fileSize":4236887,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/966898415.blk","md5":"10929009477841695471","fileSize":6680049,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1269915506.blk","md5":"18345783889365131122","fileSize":4529193,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3799821588.blk","md5":"17733713415416622356","fileSize":5089268,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3139882145.blk","md5":"398818545848732833","fileSize":4239964,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2169194350.blk","md5":"6057913255618889582","fileSize":4857818,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/626579469.blk","md5":"9856815503880280077","fileSize":5402572,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2092404841.blk","md5":"2217893544351731817","fileSize":4450126,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1457017583.blk","md5":"8189799600322269935","fileSize":6440671,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4095067008.blk","md5":"322176062292607872","fileSize":7782933,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1895871340.blk","md5":"13356262520428475244","fileSize":5863638,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2449418817.blk","md5":"9361018396746918465","fileSize":4860442,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2312971966.blk","md5":"7170946123486275262","fileSize":5562911,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/882629371.blk","md5":"7017838238829894395","fileSize":4636030,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3458535950.blk","md5":"14801282901268042254","fileSize":5363330,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2555392458.blk","md5":"13610026794006622666","fileSize":5631948,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/400217794.blk","md5":"3701566067799938754","fileSize":4956873,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/873630766.blk","md5":"10949903346887199790","fileSize":4656966,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3393380829.blk","md5":"9639486789920154077","fileSize":5229971,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2052870668.blk","md5":"6625102668062544396","fileSize":4835374,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1790829510.blk","md5":"15640173931875132358","fileSize":6385278,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/790607254.blk","md5":"11964208810611946902","fileSize":5243026,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4152926822.blk","md5":"11397328286872281702","fileSize":8537332,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2038537286.blk","md5":"14254733790147615814","fileSize":4248221,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3887707166.blk","md5":"9846877150386959390","fileSize":5309211,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1071142337.blk","md5":"6980641232369767873","fileSize":4228895,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1308556788.blk","md5":"15110078463446285812","fileSize":4229924,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3095656171.blk","md5":"9124270385469322987","fileSize":6406437,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2613358190.blk","md5":"10794825351017311854","fileSize":4315132,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/44008432.blk","md5":"18313858734803092464","fileSize":5726762,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1620303644.blk","md5":"7109563687149756188","fileSize":4627228,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/263770812.blk","md5":"6938772571806028476","fileSize":6562597,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3324023303.blk","md5":"7242336997876994567","fileSize":4282891,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3506160656.blk","md5":"12876505097298494480","fileSize":5079266,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3315415445.blk","md5":"2855605174378772885","fileSize":4983211,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2016819135.blk","md5":"6109526895369795519","fileSize":4655486,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1207594175.blk","md5":"11598180161781656767","fileSize":5288563,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1720749840.blk","md5":"7432797827820982032","fileSize":7473202,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1967258137.blk","md5":"18142297513628138009","fileSize":4510224,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2873032182.blk","md5":"5237892506460290550","fileSize":4285409,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3719765003.blk","md5":"4343910535116823563","fileSize":4604559,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/97992399.blk","md5":"8740285076255227599","fileSize":5236383,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1853134137.blk","md5":"5385326749753316665","fileSize":4627915,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4016847273.blk","md5":"6596614542794176937","fileSize":4545176,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1443220079.blk","md5":"3644709871599077999","fileSize":4522380,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4071940087.blk","md5":"15026315235159236599","fileSize":5313380,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3784085821.blk","md5":"12944415703121563965","fileSize":5541192,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2614512731.blk","md5":"306973585981197403","fileSize":4388617,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1123703967.blk","md5":"3608079710119681183","fileSize":4791346,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1583998178.blk","md5":"225909302759122146","fileSize":4950541,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3024698139.blk","md5":"8405825775295085339","fileSize":4221994,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2633124610.blk","md5":"8204607794036493058","fileSize":5883704,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1126263528.blk","md5":"2633907052088486632","fileSize":4567102,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3884693442.blk","md5":"14869687711946225602","fileSize":5830038,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3015604234.blk","md5":"4828909691859793930","fileSize":4396335,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3850902115.blk","md5":"5528964704535845475","fileSize":5354528,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1413216727.blk","md5":"2315033355877087703","fileSize":4739590,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/386773553.blk","md5":"6190582319708746289","fileSize":5742704,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1085743608.blk","md5":"7650640359440458232","fileSize":4664454,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3040472364.blk","md5":"6479053246747503916","fileSize":5216515,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1007723603.blk","md5":"14332349826749998163","fileSize":5997139,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4244746290.blk","md5":"11568120414563577906","fileSize":5324953,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1126698907.blk","md5":"2554457823629545371","fileSize":4775737,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2730462370.blk","md5":"8733796195052260514","fileSize":6109198,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2726324539.blk","md5":"8485590026422348091","fileSize":4940089,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/126270508.blk","md5":"10034529400273681452","fileSize":4555204,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2894680190.blk","md5":"6411099760103084158","fileSize":6163729,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/107520951.blk","md5":"4718366177169548215","fileSize":5872385,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2777814966.blk","md5":"16462250138108303286","fileSize":6017409,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1901475420.blk","md5":"1125030873651361372","fileSize":5800027,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1659924919.blk","md5":"3265752000912978359","fileSize":4423408,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/752752519.blk","md5":"3864966256387823495","fileSize":4857801,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/735792115.blk","md5":"9340489555165006835","fileSize":5772259,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2046417332.blk","md5":"17058741805400054196","fileSize":5346742,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3387369902.blk","md5":"10862239527836527022","fileSize":4640517,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2941938814.blk","md5":"158745249787309182","fileSize":5990603,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1254878658.blk","md5":"2569832724345646530","fileSize":5456995,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3834641557.blk","md5":"9301366692574657685","fileSize":6167989,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2296291280.blk","md5":"15035334626050482128","fileSize":5243530,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3059471333.blk","md5":"11952207454485074917","fileSize":4515304,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4191854768.blk","md5":"4276497811242655920","fileSize":4280359,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/904965539.blk","md5":"15344084859902537123","fileSize":5014402,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1181586276.blk","md5":"2077997898740372324","fileSize":6146365,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/522555510.blk","md5":"16067321403290259574","fileSize":4850002,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4123523147.blk","md5":"2499478169313605707","fileSize":4588829,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/986047940.blk","md5":"10011947781646050756","fileSize":5950575,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/764533474.blk","md5":"1414450194397911778","fileSize":5927675,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4161837416.blk","md5":"6140206957011704168","fileSize":5899391,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1205329723.blk","md5":"14894726380760063803","fileSize":4909096,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1295659856.blk","md5":"14892549334942495568","fileSize":6101132,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/563647669.blk","md5":"11769138207618798773","fileSize":6074651,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1874698216.blk","md5":"16983643533258629096","fileSize":9082579,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1842613692.blk","md5":"6992205930801925564","fileSize":6793111,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2297840448.blk","md5":"11030038212465017664","fileSize":5657693,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2943632112.blk","md5":"16987382672725918448","fileSize":8695833,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3181872505.blk","md5":"5725950930766497145","fileSize":5025554,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1041458580.blk","md5":"11672222447156028820","fileSize":13299354,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3378970449.blk","md5":"6412992595624394577","fileSize":8818585,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3472056184.blk","md5":"3614228306044608376","fileSize":17687090,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1779311614.blk","md5":"1535547180575499262","fileSize":42340141,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4246735238.blk","md5":"5590349657426364806","fileSize":4233699,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2453375570.blk","md5":"5859929711827454546","fileSize":4202960,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2321914236.blk","md5":"1706341189913254268","fileSize":84284935,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2619532255.blk","md5":"8441863483966022623","fileSize":4234743,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/887599572.blk","md5":"10520424780717863380","fileSize":10839767,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1655982460.blk","md5":"10619312323257715068","fileSize":18024093,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3612746435.blk","md5":"1296497841108558531","fileSize":16297288,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3404599832.blk","md5":"14523125748084904472","fileSize":4586748,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/407665963.blk","md5":"10145480839741078827","fileSize":5040029,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1251051571.blk","md5":"9139508949065762867","fileSize":4265457,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2763937483.blk","md5":"14019229266470655691","fileSize":34607654,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1824060170.blk","md5":"4804664789260890890","fileSize":4374288,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3445925559.blk","md5":"5476882328676771511","fileSize":5100423,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3006464107.blk","md5":"2626764300017139819","fileSize":4430510,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3417818616.blk","md5":"7792184801468335608","fileSize":4554100,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1710384756.blk","md5":"9951362140469356148","fileSize":4198219,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1571096514.blk","md5":"9560038663445088194","fileSize":4219983,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/57823603.blk","md5":"6980517892780609907","fileSize":5457267,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1478227989.blk","md5":"2354214869409724437","fileSize":6993194,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/78249263.blk","md5":"12972522476501859631","fileSize":9120673,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1999989977.blk","md5":"7708325859948850393","fileSize":5222744,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1669205030.blk","md5":"13242993430763539494","fileSize":6187796,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/158391577.blk","md5":"10246887620100545817","fileSize":4348275,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/632736714.blk","md5":"14079556628382141386","fileSize":5220613,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1064379170.blk","md5":"1008829007907595042","fileSize":4215730,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1501918442.blk","md5":"10146632072459285738","fileSize":4199109,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/615476011.blk","md5":"2528024476959861547","fileSize":4435121,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/845147660.blk","md5":"5069646910187367948","fileSize":4315779,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3880674120.blk","md5":"5972170359889093448","fileSize":4337679,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/540459907.blk","md5":"7613665741358154627","fileSize":5880785,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4234079749.blk","md5":"11961175158395170309","fileSize":4308570,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3113645999.blk","md5":"12158993443893704623","fileSize":4260311,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1274016573.blk","md5":"14028046618091057981","fileSize":4215934,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/36357328.blk","md5":"9780200815807087824","fileSize":4197988,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4146905840.blk","md5":"12137631428647895792","fileSize":5353545,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2854957941.blk","md5":"1739057292074759029","fileSize":4313939,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/719083735.blk","md5":"13882536428377495767","fileSize":4383512,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2133759459.blk","md5":"9127395557330818531","fileSize":4207259,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1206587316.blk","md5":"14880846721497894836","fileSize":7551920,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/733801897.blk","md5":"712020581007814057","fileSize":4208212,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1174334342.blk","md5":"18162107534091938694","fileSize":5141798,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3154074552.blk","md5":"5141930954389937080","fileSize":4195730,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3388853129.blk","md5":"567137872046312329","fileSize":4639417,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1738927842.blk","md5":"10339534606036233954","fileSize":4233464,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4018728426.blk","md5":"7747190411143736810","fileSize":4200875,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1345261731.blk","md5":"3330065180191035555","fileSize":7932883,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2917233180.blk","md5":"3754307925114450460","fileSize":4213669,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/813384956.blk","md5":"17983554374457836796","fileSize":4397754,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2644137231.blk","md5":"13066359890918397199","fileSize":4914909,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3396041942.blk","md5":"1900486352855334102","fileSize":72326874,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1504996627.blk","md5":"10300039757290564883","fileSize":5747127,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3902206428.blk","md5":"10964834253964505564","fileSize":15140120,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/542493168.blk","md5":"14660666171592133104","fileSize":27301705,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/813243191.blk","md5":"5799939363638418231","fileSize":14152662,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3595915557.blk","md5":"651380726596718885","fileSize":77784509,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2033503893.blk","md5":"11991643688552156821","fileSize":37366439,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3484094188.blk","md5":"8164973467312787180","fileSize":31723331,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/8503216.blk","md5":"11997640500254457776","fileSize":7395328,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/23084161.blk","md5":"6649071482647362689","fileSize":4803562,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1132597051.blk","md5":"11217545338003001147","fileSize":6361331,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3077899126.blk","md5":"13202864371609699190","fileSize":5951635,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/710413069.blk","md5":"1717518076185414413","fileSize":4627087,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1257239973.blk","md5":"10295854934183114149","fileSize":4309481,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/374782466.blk","md5":"607195839296092674","fileSize":5735766,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1920490568.blk","md5":"12435102832732429384","fileSize":6569445,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/144759145.blk","md5":"7482081897361758569","fileSize":4554936,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1520819265.blk","md5":"2151159140798815297","fileSize":4230643,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2792483781.blk","md5":"16883887034621619141","fileSize":4250705,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2724700803.blk","md5":"12987591234467373699","fileSize":4305489,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3611215379.blk","md5":"8461927626544432659","fileSize":5135642,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/930533271.blk","md5":"10596053687349989271","fileSize":5251012,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2587486067.blk","md5":"4140132353177151347","fileSize":4654673,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1626635473.blk","md5":"7527558107790343377","fileSize":5086958,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/69374419.blk","md5":"720198412823335379","fileSize":4292179,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4247160682.blk","md5":"7732771437360351082","fileSize":6213751,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1302894030.blk","md5":"14888570485836649934","fileSize":5334817,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/338475314.blk","md5":"10544756233757047090","fileSize":4543998,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/70287802.blk","md5":"12561903893391376826","fileSize":5187642,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1849405356.blk","md5":"15498794045319917484","fileSize":7106059,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4087194315.blk","md5":"14937985968557105867","fileSize":4397682,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3046335838.blk","md5":"16402410135315806","fileSize":8814291,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/899494911.blk","md5":"17806178457216693247","fileSize":5053983,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2750735854.blk","md5":"951815706741368302","fileSize":6698571,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3171901041.blk","md5":"14624601007419514481","fileSize":4220383,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/587887340.blk","md5":"15332132377917551340","fileSize":5090044,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2572770468.blk","md5":"9833803388882082980","fileSize":4827324,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/413413619.blk","md5":"8121564848256725235","fileSize":4258569,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3681723890.blk","md5":"8974317104768656882","fileSize":4564999,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2046279655.blk","md5":"7681726809703432167","fileSize":5366082,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3160549791.blk","md5":"7196579528538466719","fileSize":6298547,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/577186773.blk","md5":"14783335763360033749","fileSize":6113269,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2767363952.blk","md5":"3433183339185610608","fileSize":4468410,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1776327310.blk","md5":"10518560198864444046","fileSize":5864136,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2015623100.blk","md5":"16339409365396355004","fileSize":9511762,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2578762806.blk","md5":"9878274274839809078","fileSize":6565799,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/460533148.blk","md5":"7230490964110028188","fileSize":4623634,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1133467544.blk","md5":"16456681745724430232","fileSize":4519937,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/128090034.blk","md5":"9520767353653198770","fileSize":5155413,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2902098800.blk","md5":"401798454050456432","fileSize":5659135,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/648769423.blk","md5":"14547182664607821711","fileSize":7897730,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1615125727.blk","md5":"128978436449688799","fileSize":5410548,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/70043676.blk","md5":"2161371613800220700","fileSize":4506973,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/690823641.blk","md5":"12504796711764173273","fileSize":5027180,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1373827902.blk","md5":"7739616839262729022","fileSize":8482692,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3397184223.blk","md5":"7386514493116574431","fileSize":4538789,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1703104436.blk","md5":"12300613490783244212","fileSize":4759108,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1978407266.blk","md5":"14284330061831870818","fileSize":4285841,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2356634257.blk","md5":"8122602913730618001","fileSize":5192616,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2440594703.blk","md5":"6726513138435917071","fileSize":6734069,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2451283218.blk","md5":"1923992566187662610","fileSize":7636068,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2207952083.blk","md5":"7563185802689817811","fileSize":4632386,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3911414610.blk","md5":"4542798182884799314","fileSize":4780127,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2823894934.blk","md5":"15932926067809007510","fileSize":8257700,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2822868341.blk","md5":"13588399585239338357","fileSize":4749929,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2237927749.blk","md5":"9810275265641976133","fileSize":4563528,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3548600989.blk","md5":"4030217964870654621","fileSize":4830536,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3716398560.blk","md5":"9939299885738343904","fileSize":4827043,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2238953465.blk","md5":"16504250188965328889","fileSize":5260281,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/500916241.blk","md5":"15792131265087102993","fileSize":7122247,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4278803332.blk","md5":"10680630521698540420","fileSize":5263417,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2301666058.blk","md5":"14268125309461111562","fileSize":4844830,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/483396017.blk","md5":"8607190955034937777","fileSize":7700134,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2656187902.blk","md5":"451115815212824062","fileSize":8604563,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2978081996.blk","md5":"15705445113700412620","fileSize":6333677,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/665092843.blk","md5":"7767154111566611179","fileSize":4924060,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3469126796.blk","md5":"10327585901374778508","fileSize":4276656,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/681825562.blk","md5":"14392969153753634074","fileSize":8700834,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2529890033.blk","md5":"17989292877683560177","fileSize":5209870,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3362030877.blk","md5":"11619652427730683165","fileSize":4446414,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1827458465.blk","md5":"10001185526451588513","fileSize":4733454,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3946902060.blk","md5":"9408433432737935916","fileSize":4772213,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2364772316.blk","md5":"5742631440465760220","fileSize":23535063,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4017990109.blk","md5":"16066475916703672797","fileSize":4679008,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1773575015.blk","md5":"4609287890851502951","fileSize":6209578,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/589917739.blk","md5":"7673836678446411307","fileSize":6771495,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4006373980.blk","md5":"8375242645601806940","fileSize":4218832,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4190050366.blk","md5":"7355169487575783486","fileSize":6199564,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2598056499.blk","md5":"1567388587163071027","fileSize":6875615,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2966749763.blk","md5":"3115894387034620483","fileSize":4694826,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3012110365.blk","md5":"4606029601050273821","fileSize":5632754,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2911812353.blk","md5":"10891627536141171457","fileSize":7814369,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3243323085.blk","md5":"15448170985182801613","fileSize":4612764,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2433435185.blk","md5":"1917073713158374961","fileSize":7172112,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3534390634.blk","md5":"15933509260653790570","fileSize":6781119,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/459015711.blk","md5":"7200800392062174751","fileSize":4909926,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2920188520.blk","md5":"7527471702931835496","fileSize":7092077,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2646543600.blk","md5":"14598507053346393328","fileSize":4785152,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3691515041.blk","md5":"13190058407539248289","fileSize":4804231,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3045604448.blk","md5":"9734648653372996704","fileSize":5605882,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3878642614.blk","md5":"10656054885934392246","fileSize":5123854,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1609264318.blk","md5":"3095869890933517502","fileSize":7537878,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3941754939.blk","md5":"6285851337908447291","fileSize":4966752,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3995526102.blk","md5":"285811360076850134","fileSize":4419603,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2500355111.blk","md5":"15206879730340488231","fileSize":7244487,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/84049519.blk","md5":"577096008115322479","fileSize":4751110,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2658744639.blk","md5":"18437613633026996543","fileSize":4201288,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1004050154.blk","md5":"14883191661769823978","fileSize":6458760,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1821295373.blk","md5":"3175125223306347277","fileSize":4707902,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2488051369.blk","md5":"1901313055842412201","fileSize":5084879,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/743596553.blk","md5":"2309006072982168073","fileSize":4779033,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3001871919.blk","md5":"10578075437356609071","fileSize":8122869,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2512448774.blk","md5":"10000437953718971654","fileSize":4436295,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2747895204.blk","md5":"14766292965933026724","fileSize":5937053,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4058682812.blk","md5":"2258634837288719804","fileSize":6918192,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3112996239.blk","md5":"16681098637938036111","fileSize":5172025,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3309922946.blk","md5":"1578132281062156930","fileSize":4704630,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/692168347.blk","md5":"8951010826819577499","fileSize":4593062,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1398340356.blk","md5":"4364535030175300356","fileSize":4719340,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/717349014.blk","md5":"2811575671028048022","fileSize":4407232,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/502095431.blk","md5":"14643883810180914759","fileSize":4941641,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1444645790.blk","md5":"11728422541303974814","fileSize":4207856,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3837325776.blk","md5":"627960588000621008","fileSize":4350809,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2778959051.blk","md5":"2971630790471027915","fileSize":7868169,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1930159149.blk","md5":"13893999396653884461","fileSize":4461261,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/994556885.blk","md5":"13799976840712403925","fileSize":4215406,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1013843081.blk","md5":"15707823879373063305","fileSize":4269141,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3682941074.blk","md5":"7441306198651254930","fileSize":5658411,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/559192331.blk","md5":"1952885771368438027","fileSize":8159859,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3929452587.blk","md5":"8462877222656978987","fileSize":4689370,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1567984873.blk","md5":"9719543569742925033","fileSize":4530207,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3670204267.blk","md5":"15532674432798744427","fileSize":6323421,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/605096491.blk","md5":"8197755704263641643","fileSize":8727718,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3175403522.blk","md5":"7574823296718655490","fileSize":4396625,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3581224312.blk","md5":"3007537671350592888","fileSize":7295567,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/603741978.blk","md5":"4732959402795753242","fileSize":5087982,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2399442752.blk","md5":"14499708112208172864","fileSize":5493770,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1078811267.blk","md5":"7363082021109586563","fileSize":7664685,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2934110787.blk","md5":"618344546163685955","fileSize":8421648,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3246367331.blk","md5":"10842158528362160739","fileSize":4572633,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1404537430.blk","md5":"12173028987286030934","fileSize":5201374,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3061361461.blk","md5":"960006175325727541","fileSize":4735177,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2782724123.blk","md5":"12353779070953914395","fileSize":4432090,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2466123796.blk","md5":"17608885614168379412","fileSize":8962137,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2274285613.blk","md5":"2868861284954069037","fileSize":4213268,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4264325017.blk","md5":"15337897327216848793","fileSize":4291198,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4263311976.blk","md5":"4609972730171554408","fileSize":4417233,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3304286894.blk","md5":"4465132808355146414","fileSize":4983456,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3231312373.blk","md5":"7464250939992041973","fileSize":4532438,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2373718353.blk","md5":"9171662252187324753","fileSize":4234662,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1602387640.blk","md5":"2962767570228379320","fileSize":5569037,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/254507400.blk","md5":"7848991779518642568","fileSize":4247843,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/845036169.blk","md5":"8725274900742158985","fileSize":6280767,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2304622610.blk","md5":"1615639941690015762","fileSize":4402043,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1736987661.blk","md5":"11607983339264824333","fileSize":4286622,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2758175648.blk","md5":"15119705337737145248","fileSize":4601831,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/838595426.blk","md5":"5408916276791472994","fileSize":5136024,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3944697685.blk","md5":"9024479393881214805","fileSize":4421148,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1396448907.blk","md5":"3126284727397129867","fileSize":6481368,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2892988808.blk","md5":"11286362303667077512","fileSize":4502922,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4200034064.blk","md5":"11915410490820882192","fileSize":4931055,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1193252823.blk","md5":"10762569247556081623","fileSize":6744511,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3754594169.blk","md5":"3028855110337466233","fileSize":4756478,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/85169958.blk","md5":"3892603811924252454","fileSize":5542770,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3930028412.blk","md5":"124460472471615868","fileSize":4271809,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1798746870.blk","md5":"2064267112250520310","fileSize":5336777,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2306488766.blk","md5":"8462968879931079102","fileSize":4221649,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3934274206.blk","md5":"8175718659893772958","fileSize":4628981,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3159333074.blk","md5":"6805407350465206482","fileSize":5393133,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1787703659.blk","md5":"16257877408282980715","fileSize":4217388,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2852480337.blk","md5":"9886573242851091793","fileSize":4473920,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1728039898.blk","md5":"15261545746894146522","fileSize":4270065,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2545629735.blk","md5":"14042655598432696871","fileSize":4303628,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2602690286.blk","md5":"532597293294151406","fileSize":4318093,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4244740563.blk","md5":"3327967950559877587","fileSize":4737711,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2119430249.blk","md5":"2977704388964118633","fileSize":6680762,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2611758084.blk","md5":"7932936466704647172","fileSize":4821803,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2521098840.blk","md5":"11073351562004064856","fileSize":4217627,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3468281058.blk","md5":"1745459018752181474","fileSize":4511777,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2472393377.blk","md5":"15780794614981442209","fileSize":4314529,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4084499698.blk","md5":"16371139696789849330","fileSize":5197701,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/672817013.blk","md5":"4901765486047027061","fileSize":4219681,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2554566800.blk","md5":"463316124982024336","fileSize":4204531,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1908610326.blk","md5":"1854123768545482006","fileSize":4208171,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3252086360.blk","md5":"13463931755553023576","fileSize":4267580,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1362139250.blk","md5":"11793929644413065330","fileSize":4198818,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2366041918.blk","md5":"3786953623087804222","fileSize":6009093,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2108425200.blk","md5":"1071681654850585584","fileSize":4195320,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3506209717.blk","md5":"6681259710508467125","fileSize":4196271,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/801456075.blk","md5":"14264904782568570827","fileSize":4679019,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/394743149.blk","md5":"6130406370451082605","fileSize":4213774,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1295353063.blk","md5":"11707287599796552935","fileSize":4268596,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1269996215.blk","md5":"4287038121921649335","fileSize":7016870,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/166063909.blk","md5":"17022995374830645029","fileSize":4613089,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2724378639.blk","md5":"11981486048638318607","fileSize":4211867,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2205070168.blk","md5":"3570774368297333592","fileSize":4969456,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/877817462.blk","md5":"3614697906584579702","fileSize":4284735,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1082002604.blk","md5":"12254894353570204844","fileSize":4251714,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1582479062.blk","md5":"17610629039294428886","fileSize":4214169,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1773667823.blk","md5":"14102348040983021039","fileSize":4388096,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1008559026.blk","md5":"360467797183914930","fileSize":4348647,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/288370347.blk","md5":"6165455141726072491","fileSize":4448617,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1498187850.blk","md5":"6519020059083180106","fileSize":4761670,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1995614583.blk","md5":"8753556939414350199","fileSize":4278638,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2186179202.blk","md5":"10521640365135393410","fileSize":4284578,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3818496236.blk","md5":"7894102387233235180","fileSize":4596117,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/404866190.blk","md5":"6255399320458216590","fileSize":5116035,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3491221032.blk","md5":"18442063056769371688","fileSize":4299731,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2901156426.blk","md5":"7323224030640349770","fileSize":4661709,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1017467478.blk","md5":"905241779729945174","fileSize":4521252,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2771444146.blk","md5":"16452670677404672434","fileSize":4305348,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3984177004.blk","md5":"9043670742318298988","fileSize":4493817,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3094916721.blk","md5":"11917005533195316849","fileSize":4240875,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2930535890.blk","md5":"15780837638126988754","fileSize":4946467,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2740834728.blk","md5":"1409413526880899496","fileSize":5151777,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2536696623.blk","md5":"8728567183844764463","fileSize":4579908,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3201678899.blk","md5":"290301322389208627","fileSize":5143850,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3047529908.blk","md5":"11435354418672147892","fileSize":4918186,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3896434089.blk","md5":"5975242996688281001","fileSize":5282953,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2059397922.blk","md5":"12274473564261837602","fileSize":4377500,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2582630340.blk","md5":"17783417816585588676","fileSize":4310888,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1275706705.blk","md5":"18266702546335284561","fileSize":8712451,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2299267645.blk","md5":"6210282056707738173","fileSize":8428128,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2877235793.blk","md5":"138195304385028689","fileSize":4293550,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/663522119.blk","md5":"11567041588212042567","fileSize":4380408,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/831760464.blk","md5":"12372690595986253904","fileSize":4413031,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/148232631.blk","md5":"5376946515234642359","fileSize":4395032,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2809356004.blk","md5":"12853291455496806116","fileSize":4410984,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/942001584.blk","md5":"17128478312107462064","fileSize":7634729,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3296810369.blk","md5":"16858919415276721537","fileSize":5322659,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3737881001.blk","md5":"6729714943363090857","fileSize":5466433,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2546307849.blk","md5":"9224845767234392841","fileSize":5280787,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3917366533.blk","md5":"4879169717886928133","fileSize":5608896,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2660374565.blk","md5":"4463282737663580197","fileSize":9953693,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2834151260.blk","md5":"13797975765749184348","fileSize":5931875,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1754853206.blk","md5":"3781875016922623830","fileSize":4305822,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3044896776.blk","md5":"880978171472474120","fileSize":5462376,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2085053470.blk","md5":"3865973298702017566","fileSize":6524617,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/431356581.blk","md5":"8747049997972142757","fileSize":11508584,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1222255036.blk","md5":"3698286066522530236","fileSize":7237442,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1657747397.blk","md5":"5268143497509025733","fileSize":9176450,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1723065490.blk","md5":"10498083903572796562","fileSize":5296409,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1754195825.blk","md5":"7922595288404911985","fileSize":4209551,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2241248126.blk","md5":"7846592256291552126","fileSize":8310695,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1933981958.blk","md5":"17609052589079804166","fileSize":8007838,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/789667912.blk","md5":"18341593529812344904","fileSize":8266706,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1590627088.blk","md5":"11435057488946203408","fileSize":5221415,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/805719468.blk","md5":"15811034301224865196","fileSize":5926067,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3676932313.blk","md5":"8540003513506826457","fileSize":7909100,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1493515799.blk","md5":"6571900929082474007","fileSize":8105898,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1283707747.blk","md5":"9028447700483560291","fileSize":5113475,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1660923503.blk","md5":"17081633306392374895","fileSize":4917438,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2803311263.blk","md5":"4894539502054744735","fileSize":5256747,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1050091691.blk","md5":"535088175204737195","fileSize":10292519,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/997991066.blk","md5":"10299951976241963674","fileSize":5084951,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/746909565.blk","md5":"17509948893302157181","fileSize":4325637,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3809918022.blk","md5":"7208228395322620998","fileSize":4882041,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/28961167.blk","md5":"12765072171621542287","fileSize":4587085,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1520474979.blk","md5":"6076385441158830947","fileSize":5910701,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/46601638.blk","md5":"7404538509002216870","fileSize":5402915,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/199743626.blk","md5":"1121957586626140298","fileSize":6146988,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/895570155.blk","md5":"16442887667741446379","fileSize":6909788,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1546483579.blk","md5":"10588478357793240955","fileSize":6795039,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3079587092.blk","md5":"3587018764414010644","fileSize":4602194,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3883425673.blk","md5":"4562493588616273801","fileSize":4634444,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1787627509.blk","md5":"17202165890029520885","fileSize":8065646,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/216700516.blk","md5":"4505705995513271908","fileSize":5979527,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1966401515.blk","md5":"17769313632995567595","fileSize":4504320,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1225482941.blk","md5":"5152856129491657405","fileSize":4495297,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2026225419.blk","md5":"8059648073049423627","fileSize":4595316,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3233386455.blk","md5":"10722609221766582231","fileSize":4578802,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4223895714.blk","md5":"7982357518825523362","fileSize":4257626,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1108910711.blk","md5":"1834833321567756919","fileSize":4306953,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2587906513.blk","md5":"14527872119921988049","fileSize":4260172,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/254694757.blk","md5":"9011141622656554341","fileSize":4391823,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2022229129.blk","md5":"365719374969488521","fileSize":8105053,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2758338850.blk","md5":"11947883736376863010","fileSize":4955184,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1705712928.blk","md5":"14139128392786320672","fileSize":4757678,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/346028764.blk","md5":"13359794098687441628","fileSize":7348397,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3222789002.blk","md5":"6251433565223377802","fileSize":4251171,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1824580441.blk","md5":"5887887147976942425","fileSize":4622274,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1331084541.blk","md5":"14324292618749918461","fileSize":4514283,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1400731233.blk","md5":"10821546707880080993","fileSize":4376544,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2576701209.blk","md5":"4504837168938964761","fileSize":4410379,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2652527.blk","md5":"2982495616139557231","fileSize":4339460,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1935671324.blk","md5":"7980838416669474844","fileSize":4228070,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3236814468.blk","md5":"4876357235182001796","fileSize":4278151,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/693184261.blk","md5":"6343735850153617157","fileSize":4234424,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/809826781.blk","md5":"16195986898504972765","fileSize":4457059,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2732536871.blk","md5":"17749518919768421415","fileSize":4587722,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1827326516.blk","md5":"14659332241934174772","fileSize":4311387,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/20399075.blk","md5":"4144484548345283555","fileSize":4349503,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/734413841.blk","md5":"8246784663042278417","fileSize":4222390,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1408944410.blk","md5":"8159639446568487194","fileSize":4205154,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3740185332.blk","md5":"9586311311276290804","fileSize":4300599,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2319510751.blk","md5":"7045829495617547487","fileSize":4241715,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3488087202.blk","md5":"14029253458870664354","fileSize":4213878,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/248521127.blk","md5":"1798128998347186599","fileSize":4206311,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4209451074.blk","md5":"7194246404567932994","fileSize":4315066,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3568424404.blk","md5":"15814362422605632980","fileSize":4376363,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/400215457.blk","md5":"17060419332080324001","fileSize":4395596,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1710151671.blk","md5":"14789224697231759351","fileSize":4280147,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2956608053.blk","md5":"17894615894642541109","fileSize":4194947,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/403289674.blk","md5":"15378074049465398858","fileSize":6600653,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2162635563.blk","md5":"17066632008331375403","fileSize":4806408,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/534849966.blk","md5":"14503567877193410990","fileSize":7628793,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1035968199.blk","md5":"1014828291212680903","fileSize":6544165,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1173770264.blk","md5":"16646235720737247256","fileSize":10729167,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3298726316.blk","md5":"911355723791634860","fileSize":4714432,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4155480690.blk","md5":"6900899197599324786","fileSize":4209490,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2804157920.blk","md5":"5218831591855623648","fileSize":5852844,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2950076676.blk","md5":"16496490218859698436","fileSize":21371896,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4036525608.blk","md5":"7967065772912049704","fileSize":18887800,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1846000928.blk","md5":"13455230622851644704","fileSize":4910962,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4235572093.blk","md5":"11426545012439364477","fileSize":4465092,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1397755385.blk","md5":"14505772257136086521","fileSize":4194975,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/300088625.blk","md5":"12344391485437967665","fileSize":4842019,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3412898200.blk","md5":"11321989070792208792","fileSize":4272785,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1151059114.blk","md5":"13848233461319189674","fileSize":4497136,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2407459544.blk","md5":"966582650070297304","fileSize":5766259,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1901761193.blk","md5":"5463870775248982697","fileSize":4534276,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/739025847.blk","md5":"15919648998962275255","fileSize":5402196,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1850002452.blk","md5":"9423940122300435476","fileSize":4397344,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2061780536.blk","md5":"18237314521161287224","fileSize":5012704,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1671421260.blk","md5":"11427008935062658380","fileSize":4211280,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3164313286.blk","md5":"6664187481452943046","fileSize":4477285,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1873173773.blk","md5":"8261862804003642637","fileSize":4303989,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/85742087.blk","md5":"11434088731797901831","fileSize":7421755,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2188016294.blk","md5":"17149074189071317670","fileSize":8192848,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2002126563.blk","md5":"8940288261886445283","fileSize":4404635,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2454727351.blk","md5":"13780061306454289079","fileSize":4899839,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2008885092.blk","md5":"7827112895744649060","fileSize":4990762,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2454821518.blk","md5":"11326255999583623822","fileSize":4739150,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/258927199.blk","md5":"16788712622687971935","fileSize":4793049,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3832903464.blk","md5":"406528824586893096","fileSize":4246003,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1162304448.blk","md5":"6471634977355684800","fileSize":4886096,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/708407295.blk","md5":"3693201065248387071","fileSize":8556665,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1059236166.blk","md5":"874474094352050502","fileSize":4886161,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1826062994.blk","md5":"8722637465385927314","fileSize":4249723,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1577236101.blk","md5":"14898375543666309","fileSize":4239267,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/325607415.blk","md5":"10022547489689198583","fileSize":5294698,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1986406352.blk","md5":"7512395426191255504","fileSize":7786288,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3415361453.blk","md5":"700488772593272749","fileSize":4985403,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/782135580.blk","md5":"13666061130305270044","fileSize":5354858,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1473903717.blk","md5":"14927716763563588709","fileSize":4877758,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1018341956.blk","md5":"9818202975186889284","fileSize":4574193,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1510168036.blk","md5":"15631432049649472996","fileSize":4811224,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3145950636.blk","md5":"15105992113139180972","fileSize":4445737,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1006314789.blk","md5":"16166184743404774693","fileSize":4635975,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2491460241.blk","md5":"636940912299125393","fileSize":4382862,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/352393867.blk","md5":"6333282633853770379","fileSize":4962753,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2486487246.blk","md5":"2207723912592410830","fileSize":8554141,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1921504693.blk","md5":"9711258419268670901","fileSize":8601923,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/484743386.blk","md5":"9875244044469442778","fileSize":4856571,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2978035331.blk","md5":"7060015459722147459","fileSize":4341109,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1003224698.blk","md5":"9531852231327612538","fileSize":4550505,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/295565352.blk","md5":"13718946724286691368","fileSize":4664300,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/963648822.blk","md5":"10932881309251411254","fileSize":4799335,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2021789365.blk","md5":"11625942964341182133","fileSize":5908205,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1735651667.blk","md5":"3125209379594563923","fileSize":4989239,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/312086132.blk","md5":"280904253178515060","fileSize":4397781,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1771893457.blk","md5":"17176334479226893009","fileSize":8282732,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1772338224.blk","md5":"2039011965789256752","fileSize":7830347,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1879840066.blk","md5":"1780088994874004802","fileSize":4933727,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/390393425.blk","md5":"1053400545743924817","fileSize":4416169,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/716563578.blk","md5":"11941432757881005178","fileSize":4981672,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1567530513.blk","md5":"15963773342011268625","fileSize":4581121,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/959799668.blk","md5":"17368135189434556788","fileSize":5177184,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1917586936.blk","md5":"11699054796652416504","fileSize":8099206,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2594799869.blk","md5":"10317852319196741885","fileSize":4452933,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3573335890.blk","md5":"1585304945429366610","fileSize":4280798,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3204643133.blk","md5":"9632492976655759677","fileSize":4823458,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/230100301.blk","md5":"9200383980547280205","fileSize":4703508,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1290731157.blk","md5":"16765467844101996181","fileSize":4225507,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2031305177.blk","md5":"8008211497472967129","fileSize":4372704,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/947228957.blk","md5":"10002693355444998429","fileSize":4196725,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/618626388.blk","md5":"5807661736116845908","fileSize":4454365,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2393797508.blk","md5":"7509991786806145924","fileSize":6297026,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3624848690.blk","md5":"1259279870736649522","fileSize":4683666,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3298641438.blk","md5":"17993349200185476638","fileSize":5177222,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3459764390.blk","md5":"13244376265994522790","fileSize":7421329,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1611179446.blk","md5":"8794150891147535798","fileSize":8099087,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/358145352.blk","md5":"13988256489661848904","fileSize":7220885,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3757221082.blk","md5":"3774054935745963226","fileSize":4877533,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4213254188.blk","md5":"14342094423555385388","fileSize":6152446,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3795758146.blk","md5":"11710042626248846402","fileSize":7222153,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2880222714.blk","md5":"2426736140928988666","fileSize":5267031,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1217776894.blk","md5":"13684773916702526718","fileSize":4572160,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4133444879.blk","md5":"9056767364768423183","fileSize":4868789,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1880111206.blk","md5":"5716429394991396966","fileSize":6359879,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3395045790.blk","md5":"2756051457489521054","fileSize":7944216,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1575563021.blk","md5":"13338623574754799373","fileSize":5329721,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4144258376.blk","md5":"16615317409490033992","fileSize":6640040,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2832677801.blk","md5":"16251325445307841449","fileSize":5754126,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2146645686.blk","md5":"7019582095600334518","fileSize":10457658,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3224840535.blk","md5":"12029177507727485271","fileSize":4701443,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1080444852.blk","md5":"4691709235986581428","fileSize":20361652,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1075600711.blk","md5":"4366824170111917383","fileSize":8998098,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3705284240.blk","md5":"6748727672628192912","fileSize":4291194,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/408884970.blk","md5":"643370733956699882","fileSize":4355584,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1846016120.blk","md5":"9428971569109530744","fileSize":4208582,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3384992525.blk","md5":"4630884955122230029","fileSize":4354858,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2013915117.blk","md5":"17964771693398976493","fileSize":4730011,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3690212549.blk","md5":"14901095540572040389","fileSize":5392615,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2206564671.blk","md5":"6210922058281746751","fileSize":7605666,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2044280584.blk","md5":"16687667853773061896","fileSize":4989803,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/6298557.blk","md5":"15316713423268486077","fileSize":5331706,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3471435655.blk","md5":"16731828498484291463","fileSize":4452454,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/991080069.blk","md5":"18368380914621394565","fileSize":4688334,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/462086315.blk","md5":"7457190212851654827","fileSize":5074398,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2715496264.blk","md5":"1215179772697194312","fileSize":5367553,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/469718779.blk","md5":"8851283292301776635","fileSize":4268149,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1577839160.blk","md5":"5884426125644130872","fileSize":5081247,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2488417553.blk","md5":"3409619937140030737","fileSize":5582518,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2645749254.blk","md5":"16276538947552865798","fileSize":5087842,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1108693406.blk","md5":"6761990524746682782","fileSize":6626233,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1783865834.blk","md5":"14736337384850563562","fileSize":5612818,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2841033994.blk","md5":"17499043453740694794","fileSize":5446522,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/526968557.blk","md5":"12287135615944287981","fileSize":5057399,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3201337541.blk","md5":"7062723604329302213","fileSize":5735624,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2797689768.blk","md5":"11263906651180194728","fileSize":5945078,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1429538483.blk","md5":"6045031071705532083","fileSize":6175583,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2597092394.blk","md5":"2620032277673704490","fileSize":5455105,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/928865196.blk","md5":"7215382742804814764","fileSize":6281017,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1283391084.blk","md5":"16811646902964518508","fileSize":6612436,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3631867774.blk","md5":"2183118750473643902","fileSize":4719565,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1623944011.blk","md5":"12698054792019929931","fileSize":4301481,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4197076200.blk","md5":"1655818490758188264","fileSize":5141609,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3807043773.blk","md5":"6431427235637027005","fileSize":5270874,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4247142633.blk","md5":"15319260441900105961","fileSize":4820178,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2974186151.blk","md5":"6402923894797662887","fileSize":4238015,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2838487216.blk","md5":"272804033284006064","fileSize":4312177,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4011382061.blk","md5":"1621328777904182573","fileSize":4927834,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/694589842.blk","md5":"10379513728246126994","fileSize":4322749,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1441883539.blk","md5":"8191688973600515475","fileSize":4304477,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4176081575.blk","md5":"16534245920375173799","fileSize":4250648,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2011802063.blk","md5":"6159659548940020175","fileSize":4495216,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/989572952.blk","md5":"12315448861160877912","fileSize":4362686,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2242691256.blk","md5":"3734539603020660920","fileSize":4267115,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4027738241.blk","md5":"8981385680686049409","fileSize":4593419,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/785365195.blk","md5":"1446675746357491915","fileSize":4482829,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1874264873.blk","md5":"15408696527806726953","fileSize":4317432,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/242414933.blk","md5":"11382331562834195797","fileSize":6836948,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/357291434.blk","md5":"15166973808365786538","fileSize":4564454,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2207512762.blk","md5":"9029436140885899450","fileSize":4960412,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2455832410.blk","md5":"14582256559059961690","fileSize":4980020,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2589676868.blk","md5":"7934350198117717316","fileSize":4487253,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4046093655.blk","md5":"9277711198330715479","fileSize":4379398,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/783291050.blk","md5":"10908150771416568490","fileSize":4423244,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1394894522.blk","md5":"6453495969192634042","fileSize":4344058,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2593326138.blk","md5":"12792345783451190330","fileSize":5156397,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3940780686.blk","md5":"5846522023712623246","fileSize":4400575,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1847250436.blk","md5":"7207466693794909700","fileSize":4331295,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1653351196.blk","md5":"4624741917501694748","fileSize":4221709,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/731279270.blk","md5":"5297808513573482406","fileSize":4666286,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3974693879.blk","md5":"5258455226132268023","fileSize":4480585,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4083792681.blk","md5":"10351774865742740265","fileSize":4246471,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1266761064.blk","md5":"12807795303474347368","fileSize":4199978,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2954876437.blk","md5":"18120062666492859925","fileSize":4197646,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3439437657.blk","md5":"3945004688327419737","fileSize":4247168,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3715173272.blk","md5":"12675078630338005912","fileSize":4198487,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3794584906.blk","md5":"2896782447958869322","fileSize":4203665,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3403675767.blk","md5":"4672481799302019191","fileSize":4446841,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1828810718.blk","md5":"3560285838740910046","fileSize":4213738,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2476837685.blk","md5":"9118452005539515189","fileSize":4260958,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/7979075.blk","md5":"1918458219210588227","fileSize":4979031,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3169174813.blk","md5":"10902884671451153693","fileSize":4251744,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/196839913.blk","md5":"7464671719198525929","fileSize":6745529,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/941637951.blk","md5":"58431459045687615","fileSize":6904273,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3933434410.blk","md5":"12014947341186593322","fileSize":4682077,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1626044984.blk","md5":"16722552608525089336","fileSize":4290655,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2605247216.blk","md5":"12195991773436766960","fileSize":6900275,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1069640723.blk","md5":"17649411747355913235","fileSize":4572586,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1115425493.blk","md5":"7333309355094969045","fileSize":7634855,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4035411528.blk","md5":"14534541423896133192","fileSize":4254759,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1033288842.blk","md5":"10872720628664155274","fileSize":8261363,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/710019277.blk","md5":"357728638542678221","fileSize":4244470,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3397832591.blk","md5":"11898815062804451215","fileSize":4720655,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/920806124.blk","md5":"4050794639456887532","fileSize":4304758,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1079197634.blk","md5":"13789733816242487234","fileSize":4208530,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/533382798.blk","md5":"18394313222322308750","fileSize":4735899,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3708583401.blk","md5":"4752953754268761577","fileSize":5889633,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/455767213.blk","md5":"1001694147497325741","fileSize":4674936,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3597138667.blk","md5":"11110077978752056043","fileSize":8698465,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3378764469.blk","md5":"9935784639352527541","fileSize":5215980,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2305166374.blk","md5":"10764288614270897190","fileSize":7493382,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2610469817.blk","md5":"16537649061916351417","fileSize":4299411,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1976982382.blk","md5":"17171590322981329774","fileSize":4562085,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3134494895.blk","md5":"13662554592508156079","fileSize":4672212,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1072899952.blk","md5":"6142902441037997936","fileSize":4426574,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2974159993.blk","md5":"113155464757646457","fileSize":4397778,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3691393912.blk","md5":"17210298760400614264","fileSize":4395771,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/964467698.blk","md5":"17146138663600298994","fileSize":4974754,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2843541575.blk","md5":"5436979337410445383","fileSize":7879876,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3860583422.blk","md5":"8241547838314238974","fileSize":5159633,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3563644964.blk","md5":"15229217297964525604","fileSize":6886146,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3962894226.blk","md5":"1390822676262877074","fileSize":4548810,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/668117853.blk","md5":"10824451805846612829","fileSize":6020877,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1262239356.blk","md5":"13758455072847314556","fileSize":4857829,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1590731642.blk","md5":"16104544159336014714","fileSize":5687218,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1453530892.blk","md5":"16160651971276250892","fileSize":4833962,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4059796909.blk","md5":"614701285445965229","fileSize":5110425,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3667647987.blk","md5":"7955440026217340403","fileSize":7693833,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3634395965.blk","md5":"2002688415616760637","fileSize":5221076,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2622683629.blk","md5":"6087476387849107949","fileSize":5649769,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3260326209.blk","md5":"4157340539753374017","fileSize":6721974,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/186406070.blk","md5":"2262311651839333558","fileSize":5801940,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4200846560.blk","md5":"7932663828064752864","fileSize":6153815,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1527597426.blk","md5":"6390103420267481458","fileSize":7194839,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/361932116.blk","md5":"11080786749529695572","fileSize":6235311,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2724297121.blk","md5":"1461970564924144033","fileSize":7103446,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/631664451.blk","md5":"13353854653123948355","fileSize":4699135,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3494081476.blk","md5":"6672832177207735236","fileSize":5111689,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/867224753.blk","md5":"14719354774007893169","fileSize":4560760,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/635492037.blk","md5":"11922358052124153541","fileSize":6989619,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/57192539.blk","md5":"14470863191110365275","fileSize":4395107,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/343511988.blk","md5":"1605493045132366772","fileSize":6948519,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3752148214.blk","md5":"11421154157984562422","fileSize":4198392,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1799657126.blk","md5":"4939530443117860518","fileSize":4729684,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1547249731.blk","md5":"7746370306141923395","fileSize":4200226,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1006978879.blk","md5":"14585537831020873535","fileSize":5014079,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2767896039.blk","md5":"7673066906520829415","fileSize":4381662,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3931930014.blk","md5":"6090024451521150366","fileSize":4308480,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3218666320.blk","md5":"13850692426653037392","fileSize":4284586,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/264108270.blk","md5":"11020493276976117998","fileSize":6850556,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/580633876.blk","md5":"8566650252019090708","fileSize":8025494,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1137894417.blk","md5":"12127741022194295825","fileSize":6420900,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4061755311.blk","md5":"8385727803288025007","fileSize":5730903,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/551749926.blk","md5":"1640389946678380838","fileSize":4791921,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3739495955.blk","md5":"1308517397407477267","fileSize":5010405,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3088658486.blk","md5":"4895367876977438774","fileSize":4627892,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3912249646.blk","md5":"15415175509485564206","fileSize":8777633,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4005890461.blk","md5":"14085631416318888349","fileSize":4704201,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3950826805.blk","md5":"8908881981203076405","fileSize":5440833,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3812468448.blk","md5":"4474857529649506016","fileSize":8885432,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3401508009.blk","md5":"13294313794852283561","fileSize":4851566,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4037122407.blk","md5":"14989016003959167335","fileSize":4681508,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3430674630.blk","md5":"441969902173810886","fileSize":7605477,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2800574148.blk","md5":"7254838362956979908","fileSize":8496797,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3460443664.blk","md5":"7904487592027106832","fileSize":4577996,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3278975895.blk","md5":"16667959706080326551","fileSize":8929945,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/337602684.blk","md5":"3950754087361800316","fileSize":5321132,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3179658569.blk","md5":"8399678556263005513","fileSize":4764872,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/462015449.blk","md5":"3341694138269158361","fileSize":4416791,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3116899367.blk","md5":"17966960139253062695","fileSize":5377567,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/267507428.blk","md5":"8789457242168612580","fileSize":4270260,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1409603353.blk","md5":"2533244490811234073","fileSize":4352322,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1726843503.blk","md5":"9138992393824864879","fileSize":4679292,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4115177237.blk","md5":"897755860989157141","fileSize":4717915,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3738456854.blk","md5":"16021573223050400534","fileSize":4385749,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1198184830.blk","md5":"11426085778613787006","fileSize":6312467,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3211028518.blk","md5":"13833632657631897638","fileSize":7867476,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/920276250.blk","md5":"9241736720932293914","fileSize":5322687,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/614009982.blk","md5":"7145612725343292542","fileSize":7421386,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1821575007.blk","md5":"14539872515478718303","fileSize":4666940,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2055815428.blk","md5":"4047235310999388420","fileSize":4309739,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3736465788.blk","md5":"9039244911416045948","fileSize":4837518,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1506857478.blk","md5":"12990362243069694470","fileSize":5058830,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1432853362.blk","md5":"7575270229272927090","fileSize":4742048,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2410448768.blk","md5":"15882612488322975616","fileSize":4336433,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3737599780.blk","md5":"1894627270480838436","fileSize":5798062,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3390193067.blk","md5":"666208821807562155","fileSize":4613806,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/240927805.blk","md5":"17470398274134099005","fileSize":4312734,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/134662677.blk","md5":"12330490329697798677","fileSize":4273785,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1298746051.blk","md5":"10286994395218135747","fileSize":4227164,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/978485948.blk","md5":"16414029773972603580","fileSize":4466573,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1056399158.blk","md5":"18286811849283821366","fileSize":4717590,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1251383227.blk","md5":"17805506398265972667","fileSize":5022530,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2094586712.blk","md5":"9332892081499724632","fileSize":4508060,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2869450809.blk","md5":"8547490675783391289","fileSize":4938745,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3554105315.blk","md5":"4405427446021052387","fileSize":4379106,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2796971698.blk","md5":"7347792897031694002","fileSize":4729853,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2308471420.blk","md5":"11600969374774098556","fileSize":4930865,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/553317559.blk","md5":"17991749124553897143","fileSize":8472199,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3770573447.blk","md5":"14371404787474129543","fileSize":6357189,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3029610785.blk","md5":"4100993141284548897","fileSize":6531564,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1024786037.blk","md5":"12566876023365631605","fileSize":6848513,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/212013970.blk","md5":"653606396740440978","fileSize":6329182,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2482971142.blk","md5":"17989802290822717958","fileSize":4444852,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2110302524.blk","md5":"1867801822245726524","fileSize":5154269,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3241900962.blk","md5":"9712867865093962658","fileSize":4467211,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/317938493.blk","md5":"5647188662282312509","fileSize":8347133,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2513141922.blk","md5":"15804135872490340514","fileSize":4726221,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1667645090.blk","md5":"6070263029850062498","fileSize":4939980,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2969435070.blk","md5":"18407227250819595198","fileSize":4613287,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/616047684.blk","md5":"14663819115747615812","fileSize":4362612,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1186995319.blk","md5":"7670969311632039031","fileSize":4950631,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2853205597.blk","md5":"14811625499739059805","fileSize":4909412,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2508179467.blk","md5":"6070702375780206603","fileSize":4197753,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/894968753.blk","md5":"17199703902213645233","fileSize":4855632,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/982205539.blk","md5":"5689060608352928867","fileSize":4778545,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2323659162.blk","md5":"4001928233837672858","fileSize":4807536,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2754508322.blk","md5":"5419727372816381474","fileSize":6800801,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3909941750.blk","md5":"16111120757312780790","fileSize":4204709,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/391819799.blk","md5":"8481867262399787543","fileSize":4338202,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/808178110.blk","md5":"4475141320904266174","fileSize":5318100,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2974894009.blk","md5":"11637300568221894585","fileSize":6173814,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1635141904.blk","md5":"15277819210382067984","fileSize":4295150,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4117303466.blk","md5":"14817109761923289258","fileSize":4212264,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1816022424.blk","md5":"6303001157375511960","fileSize":4213577,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/195521297.blk","md5":"13050374299366943505","fileSize":4652626,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2681187128.blk","md5":"14272758621775309624","fileSize":4256571,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/710976413.blk","md5":"7539583212144599965","fileSize":4209116,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1442257057.blk","md5":"15817359470133450913","fileSize":4242348,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/678890602.blk","md5":"1979818734012271722","fileSize":4233016,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1958170768.blk","md5":"8025284482027704464","fileSize":4328801,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3849769791.blk","md5":"5896421318738760511","fileSize":4304480,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3213114444.blk","md5":"15835483550993628236","fileSize":4255621,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1789477213.blk","md5":"10244870395851784541","fileSize":4232070,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3950618705.blk","md5":"11326159931250944081","fileSize":4255576,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/849264557.blk","md5":"14772948861968105389","fileSize":6172626,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1445930947.blk","md5":"17880328628587145155","fileSize":4629115,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2852279850.blk","md5":"18258103748507358762","fileSize":20694184,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/802341371.blk","md5":"12815815471535407611","fileSize":4245540,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3259395425.blk","md5":"5652582435477941601","fileSize":4714556,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1912986568.blk","md5":"9598377096649235400","fileSize":5252220,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3708567088.blk","md5":"10607217577145679408","fileSize":5253101,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2794060205.blk","md5":"8280080501415999917","fileSize":21968640,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3099547484.blk","md5":"1582708684469786460","fileSize":5353234,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2176488904.blk","md5":"14798558288697529800","fileSize":7374687,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/991856749.blk","md5":"18028748000504744045","fileSize":7375425,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/500289837.blk","md5":"12130751875235565869","fileSize":7375474,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/4276934113.blk","md5":"12316888902558078433","fileSize":4209041,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1954079965.blk","md5":"9994815493077787869","fileSize":15725453,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1075955891.blk","md5":"4518692968158316723","fileSize":19706733,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2069315547.blk","md5":"12824902421009874907","fileSize":6945762,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2329094947.blk","md5":"9742721894092843811","fileSize":4460060,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3110667605.blk","md5":"11731681267801458005","fileSize":5169027,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1522850961.blk","md5":"8683093490735045777","fileSize":6348744,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3334366098.blk","md5":"7235498374864987026","fileSize":4686057,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2762183040.blk","md5":"86283864219292032","fileSize":7832230,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2049226537.blk","md5":"15408583162319910697","fileSize":4690101,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2745169970.blk","md5":"6964644039939323954","fileSize":7816757,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/102067381.blk","md5":"10051412603157441717","fileSize":4676197,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1164463507.blk","md5":"1347377511602343315","fileSize":7851674,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2659078767.blk","md5":"11093823987614896751","fileSize":4698336,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1476510239.blk","md5":"16344373311964299807","fileSize":18305399,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3654546683.blk","md5":"11861741579671958779","fileSize":20935022,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/941668395.blk","md5":"16840116604445440043","fileSize":8656629,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3179474178.blk","md5":"14323783426455563522","fileSize":4213623,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/765787343.blk","md5":"9967058625788968143","fileSize":10522506,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/242359363.blk","md5":"4095197020001803331","fileSize":4213877,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1567669281.blk","md5":"5530403404627622945","fileSize":10521636,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/382021683.blk","md5":"4418275128845348915","fileSize":4214419,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/765321778.blk","md5":"9191623751037215282","fileSize":10521935,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/890048900.blk","md5":"11564701372428128644","fileSize":4212225,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/2035484203.blk","md5":"17747820414124623403","fileSize":18527925,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/964919875.blk","md5":"6734118914156102211","fileSize":20424354,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1796372441.blk","md5":"7853345134141929433","fileSize":7096200,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3358984725.blk","md5":"6455591004664105493","fileSize":4716210,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3128393263.blk","md5":"12148965850618494511","fileSize":6802693,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3836365774.blk","md5":"17639737469432384462","fileSize":4715574,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1548061681.blk","md5":"1657463696806743025","fileSize":6831395,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3753857128.blk","md5":"4023653352377110632","fileSize":4215411,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1901089318.blk","md5":"11941233051676201510","fileSize":7331344,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1865172188.blk","md5":"3219120750911571164","fileSize":4715474,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1555140614.blk","md5":"7790207353712906246","fileSize":21492957,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1787826620.blk","md5":"682468045969428924","fileSize":20322798,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/188193669.blk","md5":"7843823138498911109","fileSize":4726834,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3737378496.blk","md5":"12490208905634504384","fileSize":4239616,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3828165795.blk","md5":"487964239192730787","fileSize":7366778,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/943022836.blk","md5":"14702910473883706100","fileSize":9048251,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/3958876644.blk","md5":"2958889672383113700","fileSize":4391485,"isPatch":false,"tags":[2]},{"remoteName":"Blocks/1506394600.blk","md5":"1558293584800236008","fileSize":5339815,"isPatch":false,"tags":[2]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_20000_01.usm","md5":"10500798779043289855","fileSize":2878848,"isPatch":false,"tags":[2,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_20000_02.usm","md5":"10396382395235274079","fileSize":1600064,"isPatch":false,"tags":[2,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_20000_03.usm","md5":"13932983714385115721","fileSize":1878400,"isPatch":false,"tags":[2,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_20000_04.usm","md5":"7586165936958350149","fileSize":1447552,"isPatch":false,"tags":[2,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_Medal.usm","md5":"9239440793006488727","fileSize":3079808,"isPatch":false,"tags":[2,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_Movement1.usm","md5":"7531796161365202969","fileSize":4763872,"isPatch":false,"tags":[2,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_TreasureCase.usm","md5":"12116170922544885096","fileSize":3249216,"isPatch":false,"tags":[2,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialMaincityVideo02.usm","md5":"14212978096264928773","fileSize":2648672,"isPatch":false,"tags":[2,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialMaincityVideo09.usm","md5":"6105077881687308836","fileSize":1368224,"isPatch":false,"tags":[2,5],"packages":[31006]},{"remoteName":"Video/HD/Battle/TutorialAidAttack_1.usm","md5":"12063571140310677159","fileSize":2199360,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialAidAttack_2.usm","md5":"12602765860715099210","fileSize":4800064,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialAidAttack_3.usm","md5":"17986900218238522601","fileSize":2186816,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialAidAttack_4.usm","md5":"4260809118854413105","fileSize":964384,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialAvatarInformation.usm","md5":"262906265726052624","fileSize":1362368,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1011_1.usm","md5":"17227061950339236682","fileSize":3197440,"isPatch":false,"tags":[2,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1011_2.usm","md5":"951649904474015068","fileSize":2652768,"isPatch":false,"tags":[2,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1031_1.usm","md5":"11809054459450205216","fileSize":2111616,"isPatch":false,"tags":[2,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1031_2.usm","md5":"17228292351966064216","fileSize":3120768,"isPatch":false,"tags":[2,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1081_1.usm","md5":"7991668859109033881","fileSize":2100608,"isPatch":false,"tags":[2,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1081_2.usm","md5":"1802180278753672962","fileSize":1761920,"isPatch":false,"tags":[2,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialBattleBase.usm","md5":"15608760817170587654","fileSize":4758880,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialBeHit.usm","md5":"6104576338602649994","fileSize":1686048,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialBeHitAid.usm","md5":"1356279478363389105","fileSize":2148384,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialCounter.usm","md5":"16532976790269291478","fileSize":1578912,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialEnemyInformation.usm","md5":"13412378687320650908","fileSize":2570976,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialEvade.usm","md5":"14351720115704029990","fileSize":1127840,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialExQTE_1.usm","md5":"9606875696405290622","fileSize":2732832,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialExQTE_2.usm","md5":"6103985668141704985","fileSize":3899840,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialReflectBullet.usm","md5":"3007169941841103075","fileSize":2132992,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialRush.usm","md5":"385669562945998033","fileSize":2007360,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialSpecialSkill_1.usm","md5":"12331853818998302158","fileSize":2440896,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialSpecialSkill_2.usm","md5":"12852184876236265502","fileSize":1883456,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialSpecialSkill_3.usm","md5":"16560149603999989171","fileSize":2565728,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialStunAndQTE_1.usm","md5":"12186895485685814470","fileSize":2350656,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialStunAndQTE_2.usm","md5":"6104669730174945614","fileSize":2900288,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialStunAndQTE_3.usm","md5":"741102721924260115","fileSize":5843840,"isPatch":false,"tags":[2,5],"packages":[31001]},{"remoteName":"Video/HD/CreateRole/LOGIN_P1_mux.usm","md5":"876274043601674739","fileSize":64912000,"isPatch":false,"tags":[2,5],"packages":[30400]},{"remoteName":"Video/HD/CreateRole/LOGIN_P2_mux_Left.usm","md5":"5191857284882612211","fileSize":17963296,"isPatch":false,"tags":[2,5],"packages":[30400]},{"remoteName":"Video/HD/CreateRole/LOGIN_P2_mux_Right.usm","md5":"5815871254091980570","fileSize":20601344,"isPatch":false,"tags":[2,5],"packages":[30400]},{"remoteName":"Video/HD/CreateRole/LOGIN_P3_mux.usm","md5":"17125300179270791212","fileSize":7434432,"isPatch":false,"tags":[2,5],"packages":[30400]},{"remoteName":"Video/HD/Hollow/Background/Metro/MetroBackground.usm","md5":"17088276164972595311","fileSize":30179296,"isPatch":false,"tags":[2,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_AI_End.usm","md5":"10586563839585349523","fileSize":421760,"isPatch":false,"tags":[2,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_AI_Loop.usm","md5":"17986447222050282836","fileSize":2532864,"isPatch":false,"tags":[2,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_AI_Start.usm","md5":"1242524029233212338","fileSize":1272928,"isPatch":false,"tags":[2,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_UnlockDoor_Coin.usm","md5":"8884413474315833527","fileSize":2046624,"isPatch":false,"tags":[2,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_LockedDoor_Coin.usm","md5":"9489994302752782560","fileSize":3485344,"isPatch":false,"tags":[2,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/HollowToBattleBangboo.usm","md5":"7585704730382990050","fileSize":174720,"isPatch":false,"tags":[2,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/HollowToBattleNPC.usm","md5":"15384638307790965795","fileSize":654624,"isPatch":false,"tags":[2,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventStateVideoLevelend.usm","md5":"7732365178020507166","fileSize":2860320,"isPatch":false,"tags":[2,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoLevelFinBattle.usm","md5":"15034992556195789239","fileSize":1647936,"isPatch":false,"tags":[2,5],"packages":[20101]},{"remoteName":"Video/HD/MainCity/Car/Device_Vehicle_Car_02/DeviceVehicleCar02_5_512.usm","md5":"17957726914998378918","fileSize":134592,"isPatch":false,"tags":[2,5],"packages":[50200]},{"remoteName":"Video/HD/MainStory/Chapter/Chinese/MainStoryChapter00_Cn.usm","md5":"3631832697422514967","fileSize":5584992,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/DE/MainStoryChapter00_De.usm","md5":"15493157374703106651","fileSize":5819648,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/English/MainStoryChapter00_En.usm","md5":"18036484811913053463","fileSize":6106336,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/FR/MainStoryChapter00_Fr.usm","md5":"16360721500171554104","fileSize":5724896,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/Indonesia/MainStoryChapter00_INa.usm","md5":"18161040045843906051","fileSize":6214400,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/Japanese/MainStoryChapter00_Jp.usm","md5":"15596754977496660470","fileSize":5997664,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/Korean/MainStoryChapter00_Kr.usm","md5":"8750792858101085196","fileSize":5490304,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/PT/MainStoryChapter00_Pt.usm","md5":"1410995454097664133","fileSize":5949408,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/RU/MainStoryChapter00_Ru.usm","md5":"9606354037359716175","fileSize":5984960,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/Spanish/MainStoryChapter00_Es.usm","md5":"10336983786942396401","fileSize":6105152,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/ThaiLanguage/MainStoryChapter00_Th.usm","md5":"13684826200402511482","fileSize":6054240,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/TraditionalChinese/MainStoryChapter00_TCh.usm","md5":"15960411940924224387","fileSize":5611936,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/VI/MainStoryChapter00_Vi.usm","md5":"10996652330976043651","fileSize":5621184,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/C000_EP999.usm","md5":"2430895018640521332","fileSize":32172576,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_00.usm","md5":"11591906796298561719","fileSize":39886592,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_01.usm","md5":"8738458205444814895","fileSize":34767744,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_02.usm","md5":"15202159132573637378","fileSize":45818272,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_03.usm","md5":"1911678870446419542","fileSize":46498592,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_05.usm","md5":"4841711308630603581","fileSize":6981184,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_06.usm","md5":"18356057644727294057","fileSize":115445600,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_06F.usm","md5":"4416727940202658144","fileSize":115435424,"isPatch":false,"tags":[2,5],"packages":[10100]},{"remoteName":"Video/HD/Transfer/General/BattleToHollowLoading.usm","md5":"11353678272103694771","fileSize":438304,"isPatch":false,"tags":[2,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/General/BattleToHollowLoadingFadeOut.usm","md5":"11223710533153472846","fileSize":4384,"isPatch":false,"tags":[2,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/General/HollowToBattleBangbooPrev.usm","md5":"11681185133874603463","fileSize":438304,"isPatch":false,"tags":[2,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/General/TransferNoiseLoading.usm","md5":"548599715303678079","fileSize":3872032,"isPatch":false,"tags":[2,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Metro/MetroLayerLoop.usm","md5":"12068897539012884140","fileSize":12831296,"isPatch":false,"tags":[2,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Metro/MetroLayerStart.usm","md5":"1545081410178613440","fileSize":1472160,"isPatch":false,"tags":[2,5],"packages":[30700]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroDaySunny.usm","md5":"2183192589342551629","fileSize":19568736,"isPatch":false,"tags":[2,5],"packages":[20103]},{"remoteName":"Blocks/1273106211.blk","md5":"15789879466045607715","fileSize":7314363,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/491626150.blk","md5":"706902379908144806","fileSize":4234847,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/913552185.blk","md5":"3847202808683279161","fileSize":4298863,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3665391287.blk","md5":"7291436252597415607","fileSize":4215893,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3447264399.blk","md5":"12780833180302775439","fileSize":4414178,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3936220778.blk","md5":"33449978036614762","fileSize":4221804,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2320779131.blk","md5":"17013361271419193211","fileSize":5240886,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4234749590.blk","md5":"3497313331300607638","fileSize":4869864,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3010476550.blk","md5":"11075409311389727238","fileSize":4945262,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/700188770.blk","md5":"1215481483544496226","fileSize":5143463,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2537373177.blk","md5":"2825214010784038393","fileSize":5031367,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3462726247.blk","md5":"12373621897850847847","fileSize":8407099,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1438238869.blk","md5":"10464364501594130581","fileSize":5079437,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1582887230.blk","md5":"4649979201097101630","fileSize":5631679,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2661447612.blk","md5":"7797971603423393724","fileSize":4197868,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1104298893.blk","md5":"717599224204772237","fileSize":5644828,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4200544124.blk","md5":"7637162617741457276","fileSize":6433526,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1290414890.blk","md5":"1590090550326471466","fileSize":4501886,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2382711579.blk","md5":"261960898263206683","fileSize":5561167,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2806648684.blk","md5":"563485564419575660","fileSize":4306298,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2773068990.blk","md5":"4205452320534277310","fileSize":4424525,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2976267292.blk","md5":"3466630873953483804","fileSize":4205549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3497753985.blk","md5":"7268193972482964865","fileSize":4263566,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2976109121.blk","md5":"11475766255515062849","fileSize":4278674,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1483385129.blk","md5":"11235533760901065001","fileSize":4200890,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3202323828.blk","md5":"14371912671083599220","fileSize":4391381,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2580936902.blk","md5":"18239011952885364934","fileSize":6105266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2675024519.blk","md5":"13863465916545737351","fileSize":5128079,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3271036803.blk","md5":"4647534614774550403","fileSize":4268170,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3074773688.blk","md5":"8878538315553657528","fileSize":4972475,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/746251470.blk","md5":"9742847069331842254","fileSize":4681995,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/161146682.blk","md5":"14404075749681850170","fileSize":5899728,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1208935500.blk","md5":"3179146471724213324","fileSize":4246831,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2291897006.blk","md5":"1525086075274105518","fileSize":4261732,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4246779131.blk","md5":"15739101646931670267","fileSize":4749884,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4004411704.blk","md5":"18295333776016701752","fileSize":4641467,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/330205431.blk","md5":"7860948620654053623","fileSize":4804458,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3691975641.blk","md5":"4907692342071202777","fileSize":4270690,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3124852874.blk","md5":"16583191757471185034","fileSize":4196770,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3662883068.blk","md5":"15106491996309760252","fileSize":4253745,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1162956463.blk","md5":"10918339009747963567","fileSize":7556254,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/492518935.blk","md5":"13360013009022041623","fileSize":6013203,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3229233010.blk","md5":"12310231809575759730","fileSize":4587622,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3985852406.blk","md5":"13045220814848477174","fileSize":4209764,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2890130263.blk","md5":"13848814202766222167","fileSize":4280075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3461105912.blk","md5":"15956033078398044408","fileSize":4200758,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1898141924.blk","md5":"6621931706438080740","fileSize":4301004,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1950102552.blk","md5":"17002561365329327128","fileSize":4269949,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2388849460.blk","md5":"7226348998362329908","fileSize":4229438,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3180035836.blk","md5":"13707512386062876412","fileSize":5032727,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3483004354.blk","md5":"2776337807887199682","fileSize":6457725,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/694939250.blk","md5":"9763699620833914482","fileSize":4474892,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3294720466.blk","md5":"7243849964502217170","fileSize":5586862,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4041065390.blk","md5":"18359920802760868782","fileSize":4326387,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2641994736.blk","md5":"16586712234306675696","fileSize":4841753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1634363993.blk","md5":"15792828902053407321","fileSize":6447322,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4062437430.blk","md5":"9370067409121304630","fileSize":4326262,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/316539344.blk","md5":"15285478578861244880","fileSize":4559455,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2326086247.blk","md5":"4160713707349164647","fileSize":4692684,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2991943858.blk","md5":"7115815923953791154","fileSize":4969659,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3833891478.blk","md5":"6888379251645778582","fileSize":4303054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3487141747.blk","md5":"4881800307616092019","fileSize":4765282,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/905206321.blk","md5":"4750301729419188785","fileSize":9708016,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2610719877.blk","md5":"2088957316679101573","fileSize":4306295,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2402508372.blk","md5":"9424947705000713812","fileSize":4205911,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3896157684.blk","md5":"8654046715184850420","fileSize":4673481,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/957485947.blk","md5":"4860931999593010043","fileSize":7715825,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1955811418.blk","md5":"5937412892739719258","fileSize":6485893,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1114598590.blk","md5":"2622763196786633918","fileSize":5664089,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/334732098.blk","md5":"10511053019791203138","fileSize":5281430,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1554939912.blk","md5":"6227719988257390600","fileSize":4370733,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/274746962.blk","md5":"15608644562554211922","fileSize":4543376,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/435665833.blk","md5":"7645969908273494953","fileSize":4534563,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3461954791.blk","md5":"14051261610003610855","fileSize":4342866,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2647966381.blk","md5":"3195541870865597101","fileSize":4376362,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2822189731.blk","md5":"4194217699749343907","fileSize":4233093,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1912691150.blk","md5":"7487967748081932750","fileSize":4385630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/220292569.blk","md5":"17153627402193167833","fileSize":7536660,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3700172064.blk","md5":"9208864018986181920","fileSize":4375861,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2593873707.blk","md5":"17872187901477609259","fileSize":4663945,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4294833461.blk","md5":"16020436869749536053","fileSize":4756445,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3753002296.blk","md5":"7176051011385181496","fileSize":5457141,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3520160191.blk","md5":"15795885748127883711","fileSize":4217223,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/419325827.blk","md5":"3420449789597083523","fileSize":4335789,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3741601794.blk","md5":"18042219090868981762","fileSize":4342308,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3850460454.blk","md5":"16676242941924171046","fileSize":4604877,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3686744840.blk","md5":"38439475654640392","fileSize":4499457,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/385990739.blk","md5":"12657842485163311187","fileSize":4275127,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1025822249.blk","md5":"13857022759577898537","fileSize":4389142,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/124649774.blk","md5":"10357111749490901294","fileSize":4203829,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1158035004.blk","md5":"8596563772100195900","fileSize":4341441,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4258967803.blk","md5":"15539597611431014651","fileSize":5590354,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/672617614.blk","md5":"7072706536020595854","fileSize":4801694,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/456675920.blk","md5":"7071698635829301840","fileSize":4499993,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1080166874.blk","md5":"1633586766254574042","fileSize":4352937,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/892200754.blk","md5":"17487823897703081778","fileSize":4245077,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3614997855.blk","md5":"17457568875187567967","fileSize":4230684,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2377786501.blk","md5":"5586883720028759173","fileSize":4345733,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3913392055.blk","md5":"16431043972023033783","fileSize":4317345,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3942351144.blk","md5":"9051037203894599976","fileSize":7190965,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/277252011.blk","md5":"7585917237295744939","fileSize":6052196,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2502908643.blk","md5":"6677749295295191779","fileSize":5324301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1767541130.blk","md5":"663282092030462346","fileSize":5660512,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1534346690.blk","md5":"15112162983099516354","fileSize":5254918,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/442087493.blk","md5":"4496471571239123013","fileSize":7805771,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3744420771.blk","md5":"7515817851164251043","fileSize":4348059,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1502970558.blk","md5":"8644422008908907198","fileSize":4276371,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4058814525.blk","md5":"8060680610989774909","fileSize":4574823,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/16299542.blk","md5":"11819935846138164758","fileSize":4367648,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2513585850.blk","md5":"2204029686694168250","fileSize":4304335,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3955841002.blk","md5":"4292991486150662122","fileSize":4424342,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4144964312.blk","md5":"6741186303201583832","fileSize":4304083,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1996477830.blk","md5":"12282658406065493382","fileSize":6995016,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/54099872.blk","md5":"16047382889028485024","fileSize":4886333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/288686961.blk","md5":"14150498174824153969","fileSize":7511056,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1951541882.blk","md5":"14894445774112959098","fileSize":5174423,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/245587189.blk","md5":"3594476998059318517","fileSize":4234448,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1339218040.blk","md5":"15482513185295227000","fileSize":4633712,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2807589185.blk","md5":"3048958957949839681","fileSize":4422882,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/816239394.blk","md5":"14253925132482827042","fileSize":4544339,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3001407888.blk","md5":"4843218521421109648","fileSize":4276510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4023346926.blk","md5":"9181402337721149166","fileSize":4196761,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/551590726.blk","md5":"7655847620205648710","fileSize":4224681,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2685241485.blk","md5":"11942031693039110285","fileSize":4227969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3130361939.blk","md5":"8081604221848619091","fileSize":4240538,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1261789942.blk","md5":"16540283657931547382","fileSize":7067085,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1232698088.blk","md5":"241762224265853672","fileSize":6514108,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3930154778.blk","md5":"11778409147001825050","fileSize":4796304,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3602705052.blk","md5":"14079959078377679516","fileSize":4295528,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/982095445.blk","md5":"17233299054885705301","fileSize":4571971,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/897126070.blk","md5":"13769167098875547318","fileSize":4438135,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2611731855.blk","md5":"1966546067229760911","fileSize":5269834,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3715223591.blk","md5":"18356006360651517991","fileSize":6925946,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1936209136.blk","md5":"17466323202269000944","fileSize":6955010,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1890642082.blk","md5":"4806999606564022434","fileSize":5481663,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1014546366.blk","md5":"17116762899821936574","fileSize":5087480,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4207623719.blk","md5":"17831005076597718567","fileSize":4262341,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4141083518.blk","md5":"11350772232941202302","fileSize":4295891,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2711686223.blk","md5":"12593899671516154959","fileSize":4352865,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2611002678.blk","md5":"3793295949999160630","fileSize":4246603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1963069688.blk","md5":"1736573047739126008","fileSize":4346819,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1366336070.blk","md5":"10800229071463686726","fileSize":4437506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1474723849.blk","md5":"1353498256921231369","fileSize":4606770,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/633393190.blk","md5":"14438026337052577830","fileSize":4228456,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3789195439.blk","md5":"9837539002328713391","fileSize":6677656,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1724310302.blk","md5":"15245593491028763422","fileSize":5787101,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/276026045.blk","md5":"3247002203834274493","fileSize":4268415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1338049839.blk","md5":"6714186387920323887","fileSize":4436757,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4046936372.blk","md5":"10763964101168683316","fileSize":4396277,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/762871218.blk","md5":"999773434134691250","fileSize":4575447,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/772107569.blk","md5":"7065969832671669553","fileSize":4421061,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1914462391.blk","md5":"3590810390442565815","fileSize":4846810,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/199958879.blk","md5":"8781244178004386143","fileSize":4201382,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1185115940.blk","md5":"4989437073424609060","fileSize":4573068,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4121319866.blk","md5":"2920656749849893306","fileSize":4295903,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2279598.blk","md5":"18404006211359000750","fileSize":4340387,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2316376983.blk","md5":"766874985771899799","fileSize":4292170,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2982170676.blk","md5":"18013264486479188020","fileSize":4213603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1957760225.blk","md5":"12898379179505028321","fileSize":4562986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3397253466.blk","md5":"18283744257132853594","fileSize":5954551,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2363554946.blk","md5":"15923200564878441602","fileSize":5543517,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3778559170.blk","md5":"10459252732642999490","fileSize":4436520,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1786134859.blk","md5":"450375520894730571","fileSize":5437372,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1547713225.blk","md5":"5618078307187702473","fileSize":7324078,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1518030670.blk","md5":"8123104797000421198","fileSize":5263043,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/624286385.blk","md5":"3421640397686168241","fileSize":6390829,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/757413699.blk","md5":"17768904841094313795","fileSize":5637419,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/465576618.blk","md5":"9958180953857729194","fileSize":4382800,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1857411272.blk","md5":"16520638207532325064","fileSize":4742878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2757948498.blk","md5":"6489184816618206290","fileSize":4279838,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4167007787.blk","md5":"3572446074610089515","fileSize":4392340,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3002266885.blk","md5":"4660067183046620421","fileSize":4474260,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2593519321.blk","md5":"7015881036828899033","fileSize":4437796,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2972669374.blk","md5":"13828493385426490814","fileSize":4279071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2490011414.blk","md5":"18398944315715522326","fileSize":4222657,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1480839041.blk","md5":"17771328070956076929","fileSize":4284997,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2184767317.blk","md5":"2017414267887216469","fileSize":4219139,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2794483561.blk","md5":"5576554886739292009","fileSize":4309402,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3583255312.blk","md5":"14377467657611125520","fileSize":7238763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/748694641.blk","md5":"16356054269366905969","fileSize":5675082,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/725480782.blk","md5":"10015092393230857550","fileSize":6638114,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3301894771.blk","md5":"4590032832437348979","fileSize":5681623,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2781560084.blk","md5":"10239046648823758100","fileSize":4719375,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1954310325.blk","md5":"6972007412685105333","fileSize":6190930,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1558586350.blk","md5":"4691411913058690030","fileSize":4755596,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/256906282.blk","md5":"871962053077636138","fileSize":4300693,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/898459376.blk","md5":"17147544410625238768","fileSize":5503866,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1666761384.blk","md5":"16124062513734664872","fileSize":5325428,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1207584812.blk","md5":"3367220486864521260","fileSize":4356764,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2979166556.blk","md5":"16304214651989817692","fileSize":4492424,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2617394688.blk","md5":"2262187220477822464","fileSize":4684890,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2218181388.blk","md5":"7338067024615490316","fileSize":4646461,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1301673555.blk","md5":"154933872693737043","fileSize":4273744,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4196163983.blk","md5":"8688394002742665615","fileSize":4446273,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1069380151.blk","md5":"9606985301188506167","fileSize":4327348,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2662456821.blk","md5":"13033949140008164853","fileSize":4258862,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2841586013.blk","md5":"17325277194433276253","fileSize":4437360,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/556093856.blk","md5":"6790716231837372832","fileSize":4270190,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/934448442.blk","md5":"17121709722814287162","fileSize":4368968,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3010760170.blk","md5":"6328020528480423402","fileSize":4230349,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3216808315.blk","md5":"9031228719510624635","fileSize":4336846,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2875118946.blk","md5":"3573253892242068834","fileSize":4421327,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1978972537.blk","md5":"5114624418730260857","fileSize":4431756,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4010368456.blk","md5":"10269061255906549192","fileSize":4298535,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1246440498.blk","md5":"11604482566765882418","fileSize":4355103,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2765479232.blk","md5":"3330303573771017536","fileSize":4217422,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4138887927.blk","md5":"15605851338732366583","fileSize":5554642,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1938688770.blk","md5":"3112534884062464770","fileSize":5727015,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3705525703.blk","md5":"15929773635709818311","fileSize":4301970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3289568609.blk","md5":"11008709650677945697","fileSize":5016522,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2453107058.blk","md5":"17486814161042633074","fileSize":4570160,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1990650654.blk","md5":"11559674234567846686","fileSize":5820476,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2374168333.blk","md5":"11416223486906134285","fileSize":4489058,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2505418520.blk","md5":"10092827480547501848","fileSize":7500467,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/805475899.blk","md5":"12772675557297133115","fileSize":4653283,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3967025264.blk","md5":"7581450152875130992","fileSize":6307607,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2358645834.blk","md5":"15166107502578635850","fileSize":6983623,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1896249965.blk","md5":"12263770131934902893","fileSize":7309484,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/164638826.blk","md5":"13400423449744126058","fileSize":6918421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2341481566.blk","md5":"14625324562549582942","fileSize":5629694,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4247146680.blk","md5":"14573561957906272440","fileSize":7128047,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2172298391.blk","md5":"17296986647912162455","fileSize":5406033,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3269404947.blk","md5":"18378803578461432083","fileSize":4659848,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2798278823.blk","md5":"13549720076114614439","fileSize":4644037,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1522833262.blk","md5":"18291912209313601390","fileSize":4384500,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1696310725.blk","md5":"5623546814316389829","fileSize":4495121,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2897834807.blk","md5":"10135373259470369591","fileSize":4529696,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2681211366.blk","md5":"6922768151689038310","fileSize":4202169,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2565174869.blk","md5":"8173134664465479253","fileSize":4441718,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2169467387.blk","md5":"10879435270001750523","fileSize":4236049,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2584167409.blk","md5":"5832796870246089713","fileSize":4344601,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1556124346.blk","md5":"11416672073947321018","fileSize":4456270,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3869558570.blk","md5":"14357257259789371178","fileSize":4198921,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3970745324.blk","md5":"9235775481174606828","fileSize":4254917,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/370220316.blk","md5":"4825953849771629852","fileSize":4408489,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3126231340.blk","md5":"7533764581845795116","fileSize":6633071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1222721682.blk","md5":"5999282961057398930","fileSize":5460762,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/127655022.blk","md5":"10634115274407402606","fileSize":4956823,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/697743145.blk","md5":"66182204028794665","fileSize":6522454,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2735804710.blk","md5":"5886385718515798310","fileSize":4572693,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/639715892.blk","md5":"14617563237116365364","fileSize":4601588,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/383910502.blk","md5":"3951375221283488358","fileSize":4276040,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2008622154.blk","md5":"17045999616647570506","fileSize":4237717,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1195932008.blk","md5":"11452643734656153960","fileSize":4373063,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1435828312.blk","md5":"17252742312158888024","fileSize":4257625,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3137392726.blk","md5":"2693611463200788566","fileSize":4273247,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2715694763.blk","md5":"101150025884513963","fileSize":5025116,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3591885972.blk","md5":"12272375787802842260","fileSize":4526701,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3844160495.blk","md5":"7871870081756642287","fileSize":5518591,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/525222962.blk","md5":"984904699499922482","fileSize":7934265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/921718012.blk","md5":"6456413492758990076","fileSize":4550627,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2798812619.blk","md5":"15686884124588670411","fileSize":6159603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/561484.blk","md5":"18352414643290935628","fileSize":4330669,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/441762879.blk","md5":"4332043176422720575","fileSize":4356742,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3751625081.blk","md5":"1024507406456799609","fileSize":6195277,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/253323773.blk","md5":"15167200170218187261","fileSize":4202679,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4095584958.blk","md5":"11406390745118911166","fileSize":4426050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1618795578.blk","md5":"12922357285794929722","fileSize":4201877,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1558846781.blk","md5":"15377085662682029373","fileSize":4419668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2976742345.blk","md5":"3109474849751137225","fileSize":4395608,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/676893611.blk","md5":"7852106155216638891","fileSize":4394959,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/346701767.blk","md5":"6932211373689159623","fileSize":4245445,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3023597512.blk","md5":"18432331957489135560","fileSize":5239907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/989606909.blk","md5":"14076315289935164413","fileSize":4377042,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/342885322.blk","md5":"5482237045985248202","fileSize":4537628,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3982388755.blk","md5":"2251380122053406227","fileSize":4365709,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1363319443.blk","md5":"12729806570150599315","fileSize":4826009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3706366440.blk","md5":"11418958772520528360","fileSize":4207039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2106793044.blk","md5":"6247576056410348628","fileSize":4359683,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4104528246.blk","md5":"2133551023009440118","fileSize":4443090,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3689858860.blk","md5":"9544732523107370796","fileSize":4202479,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4109414953.blk","md5":"16143597891455332905","fileSize":4308421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/247388183.blk","md5":"13830871733726271511","fileSize":4385933,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2837540366.blk","md5":"13383728437796105742","fileSize":4760749,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/768004655.blk","md5":"10917107942876959279","fileSize":4660101,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3158806461.blk","md5":"9004661688142106557","fileSize":4221064,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/58298988.blk","md5":"11103757097613496940","fileSize":4434831,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/429045603.blk","md5":"11235106260276918115","fileSize":6988460,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1325194895.blk","md5":"7774558511290965647","fileSize":6143636,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1605412967.blk","md5":"12143341155629705319","fileSize":4768820,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4124209842.blk","md5":"6461165568036860594","fileSize":4749403,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3698778833.blk","md5":"14545980639455666897","fileSize":5720890,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1891431315.blk","md5":"11638345760314815379","fileSize":6246971,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/235517749.blk","md5":"2450229716767586101","fileSize":4433912,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3207147505.blk","md5":"14925162011374989297","fileSize":4545006,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/905688587.blk","md5":"2641324992964048395","fileSize":4426938,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1672208299.blk","md5":"17428480043296481195","fileSize":4858390,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3062201254.blk","md5":"3431249289937255334","fileSize":4342875,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3876765658.blk","md5":"6069764240327229402","fileSize":4365594,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4192125832.blk","md5":"14742748699689927560","fileSize":4219207,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1395087393.blk","md5":"9405689959696259105","fileSize":7029058,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/539692513.blk","md5":"12161541452142939617","fileSize":4720831,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2130092591.blk","md5":"1875709548547187247","fileSize":6959002,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3750452636.blk","md5":"15484643066283515292","fileSize":5601998,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2665554995.blk","md5":"7333757347503875123","fileSize":4976493,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1527750595.blk","md5":"18159882161565441987","fileSize":4486077,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3794772743.blk","md5":"8002434343021552391","fileSize":4311523,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2816396368.blk","md5":"12099969889890913360","fileSize":4299040,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3542136566.blk","md5":"6712056030511019766","fileSize":4207079,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3929809053.blk","md5":"4652772452604846237","fileSize":4293392,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1568008221.blk","md5":"924818713662056477","fileSize":4378693,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2315207312.blk","md5":"11922966049374290576","fileSize":4737334,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/227862747.blk","md5":"5376405156161448155","fileSize":5289901,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/488708524.blk","md5":"3566013008786299308","fileSize":4888410,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3261654919.blk","md5":"12971839240582784903","fileSize":5790576,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1073298266.blk","md5":"14247361069796899674","fileSize":4360064,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1977697970.blk","md5":"17076552914448762546","fileSize":4197507,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3561622663.blk","md5":"14743443221040991367","fileSize":4216065,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/850022442.blk","md5":"15935380124248723498","fileSize":4403173,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2036679477.blk","md5":"15506800152309744437","fileSize":4557198,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2411807687.blk","md5":"3520698502986417095","fileSize":4447177,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1115100301.blk","md5":"109257135832372365","fileSize":4393857,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4249941194.blk","md5":"249488787549254858","fileSize":4194671,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1238219210.blk","md5":"9632468935757380042","fileSize":4481933,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2444021139.blk","md5":"3255394516264078739","fileSize":4195990,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/643939128.blk","md5":"13636521625005439800","fileSize":4289896,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2803310747.blk","md5":"18274523155027927195","fileSize":4268300,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3179543131.blk","md5":"8409720924240345691","fileSize":4332438,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3948080832.blk","md5":"17126226996336193216","fileSize":6906175,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1894664675.blk","md5":"1165388709935073763","fileSize":4615906,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1732655637.blk","md5":"3286168003473193493","fileSize":4393405,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3879636396.blk","md5":"4055653289809579436","fileSize":6024832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1483529707.blk","md5":"7535611867111939563","fileSize":6688157,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4128527167.blk","md5":"10296507905227379519","fileSize":5063108,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3091732266.blk","md5":"17388590475824863018","fileSize":4397938,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2834325114.blk","md5":"4263939123648159354","fileSize":4419894,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3998846353.blk","md5":"4258277103786102161","fileSize":4373190,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2387677141.blk","md5":"380294935264432085","fileSize":4274830,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2370550725.blk","md5":"1018335197768956869","fileSize":4209792,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2109539877.blk","md5":"6092441657292949029","fileSize":4225148,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/974760961.blk","md5":"14686318620114004993","fileSize":6692231,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2434940064.blk","md5":"11836523643614149792","fileSize":5183577,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1436262746.blk","md5":"5693396008925110618","fileSize":4212033,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4099822873.blk","md5":"10960135632954742041","fileSize":4507831,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2850468873.blk","md5":"1664359740549280777","fileSize":4521683,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/866865554.blk","md5":"9383731346161750418","fileSize":4291234,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/987495213.blk","md5":"6747325345908390701","fileSize":6199821,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3227120947.blk","md5":"15245054212142921011","fileSize":4263653,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1333684006.blk","md5":"3008356977064437542","fileSize":4216192,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/51100393.blk","md5":"6672833475139844841","fileSize":4238373,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2010040281.blk","md5":"435979250303944665","fileSize":5184690,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3792603086.blk","md5":"5932819242369845198","fileSize":4726935,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2930038780.blk","md5":"9620361811188832252","fileSize":5458931,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3919392768.blk","md5":"16110167150028468224","fileSize":5197947,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1259281717.blk","md5":"13186663448207891765","fileSize":4536261,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4064029112.blk","md5":"2712796769506044344","fileSize":5240962,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4148905351.blk","md5":"17397868692981127","fileSize":4769244,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1210791916.blk","md5":"10501822315609405420","fileSize":6883372,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3067477560.blk","md5":"18082631515519712824","fileSize":4217437,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2786731962.blk","md5":"4289114091585939386","fileSize":4599871,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3839544832.blk","md5":"9746340289586056704","fileSize":4269233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2753695414.blk","md5":"13134301665150766774","fileSize":4807972,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1548497676.blk","md5":"8336661613348926220","fileSize":5048665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4089208800.blk","md5":"551878257670905824","fileSize":4215333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3624586853.blk","md5":"10922631282266132069","fileSize":5236076,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1574716860.blk","md5":"13757788184997807548","fileSize":4399088,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2921955767.blk","md5":"2222885070273348023","fileSize":5295331,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1456505072.blk","md5":"4177738600358641904","fileSize":6526511,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3018679608.blk","md5":"16751166949059028280","fileSize":4220679,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4182471090.blk","md5":"14373667020175274418","fileSize":4336026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1108787538.blk","md5":"6669845699377938770","fileSize":4866525,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2423041451.blk","md5":"1982572763275898283","fileSize":4196809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1793331395.blk","md5":"10129197198473433283","fileSize":4468759,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/685597604.blk","md5":"14668958400669115300","fileSize":6236526,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3196186065.blk","md5":"8090233279363542481","fileSize":4475761,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/177560302.blk","md5":"8631292537372760814","fileSize":7488418,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1968984498.blk","md5":"8019893439088578994","fileSize":8167762,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/224269353.blk","md5":"16969377196439114793","fileSize":4210689,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1485328884.blk","md5":"17624896555482370548","fileSize":4671753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1862074790.blk","md5":"6509718148126409126","fileSize":4227914,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/116502396.blk","md5":"17639287645197676412","fileSize":4843893,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1528374550.blk","md5":"15205368326082077974","fileSize":5436146,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3547746758.blk","md5":"8176777819917275590","fileSize":7484878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/9837031.blk","md5":"8819413341720418791","fileSize":5663183,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1649442183.blk","md5":"10966291671554227591","fileSize":5653042,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3879865702.blk","md5":"5049014199569747302","fileSize":4674985,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/528944737.blk","md5":"5969384241317219937","fileSize":5995790,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4262479590.blk","md5":"8326772733036742374","fileSize":4354952,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4111003733.blk","md5":"3771305139123056725","fileSize":7374879,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2167365198.blk","md5":"18088238023193878094","fileSize":7472376,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1906645976.blk","md5":"17343514586709826520","fileSize":4202861,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2819789097.blk","md5":"7481446485395149097","fileSize":6143561,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3721949615.blk","md5":"10788724763398795695","fileSize":6162152,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/317386733.blk","md5":"14182046831355817965","fileSize":7688226,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4091223933.blk","md5":"3615947698036481917","fileSize":4242547,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4266210843.blk","md5":"14266181941803431451","fileSize":4629517,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2832959058.blk","md5":"17369066387462129234","fileSize":6382069,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2608757202.blk","md5":"4259008436542274002","fileSize":4203602,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4112248090.blk","md5":"18317170274620665114","fileSize":4352495,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1518332339.blk","md5":"8999927764958046643","fileSize":4865531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2763394580.blk","md5":"14501463328267046420","fileSize":4203690,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3321844243.blk","md5":"12182551266706018835","fileSize":5964139,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3609307896.blk","md5":"3785335980733606648","fileSize":5413505,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1094077736.blk","md5":"2366576364724047144","fileSize":6186235,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/382492549.blk","md5":"3915371180454600581","fileSize":4208285,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3835195105.blk","md5":"9282020158419267297","fileSize":6750679,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2143254286.blk","md5":"7389710072084920078","fileSize":4294332,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2002064497.blk","md5":"7505043855240402033","fileSize":4197121,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3733310571.blk","md5":"2172038035599117419","fileSize":4261328,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/953578659.blk","md5":"8114126734239364259","fileSize":6567794,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/213495629.blk","md5":"8785568033263955789","fileSize":8642839,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/82922217.blk","md5":"15605426463626578665","fileSize":5715128,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4029962362.blk","md5":"16970685387153627258","fileSize":4216424,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1077303184.blk","md5":"7094601725649508240","fileSize":4342692,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/477207692.blk","md5":"4186457340040551564","fileSize":4260642,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4194960817.blk","md5":"1672801826531575217","fileSize":4946574,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1286986333.blk","md5":"12507948943477693021","fileSize":4735367,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3958837770.blk","md5":"14129391472251179530","fileSize":6347442,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2620923105.blk","md5":"7339887708899646689","fileSize":8005770,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/696140497.blk","md5":"6122445416941109969","fileSize":5032209,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4055995003.blk","md5":"10936844794063852155","fileSize":7263085,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2517243623.blk","md5":"9469425909691455207","fileSize":8499155,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3067185931.blk","md5":"16037008943998929675","fileSize":6029411,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/323390486.blk","md5":"333083630480296982","fileSize":4808088,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3700792984.blk","md5":"1764127236070678168","fileSize":5066367,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2710164975.blk","md5":"415749486888474095","fileSize":4509339,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4122430530.blk","md5":"2408759930215943234","fileSize":4575164,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1053485548.blk","md5":"16879253381645527532","fileSize":4678996,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/996623200.blk","md5":"2196195952592110432","fileSize":6621061,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/413089909.blk","md5":"831377073302880373","fileSize":5309615,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1194388546.blk","md5":"10034151401270078530","fileSize":4256730,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2199763100.blk","md5":"13101376904867199132","fileSize":4244219,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3685619300.blk","md5":"14061572980596414052","fileSize":8321019,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2371396555.blk","md5":"5113106564795376587","fileSize":4206693,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/348811128.blk","md5":"9533779223585124216","fileSize":6714500,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3793705871.blk","md5":"680694162057550735","fileSize":4474234,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1206471330.blk","md5":"7490243109379984034","fileSize":4474386,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/796744467.blk","md5":"8157267125065308947","fileSize":6193787,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3255989337.blk","md5":"11788431985088820313","fileSize":9325751,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1788773053.blk","md5":"7261014099715064509","fileSize":6901346,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2034720375.blk","md5":"13426193822325890679","fileSize":5455140,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3993180418.blk","md5":"6784151523791411458","fileSize":6109415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3810166707.blk","md5":"1528763423496243123","fileSize":6687803,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3526378529.blk","md5":"5826451611059242017","fileSize":6965657,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3749805811.blk","md5":"3160249537285684979","fileSize":4438053,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2936593073.blk","md5":"10779994013223672497","fileSize":5386253,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2638201931.blk","md5":"13378809037890503755","fileSize":6698317,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4199015881.blk","md5":"3241680189226739145","fileSize":8301385,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2572676212.blk","md5":"12260970617093221492","fileSize":6269709,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2964618958.blk","md5":"12347061570486173390","fileSize":4432642,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2849328427.blk","md5":"16558173675775675691","fileSize":6296514,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2787961727.blk","md5":"11364515830582537087","fileSize":4774500,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2328355595.blk","md5":"16637519644110349067","fileSize":6385727,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/988566390.blk","md5":"7380159197535294326","fileSize":4610429,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3108531341.blk","md5":"18135249189968833677","fileSize":8378669,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3759280729.blk","md5":"8963887524092187225","fileSize":4608400,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/793630426.blk","md5":"3530041949317617370","fileSize":5979406,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/834873807.blk","md5":"16358337203484699087","fileSize":6400082,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4213593082.blk","md5":"15499709902215336954","fileSize":5205232,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2902477040.blk","md5":"5946566684469905648","fileSize":5229341,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1612710834.blk","md5":"17529438669778191282","fileSize":7209651,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3824241101.blk","md5":"668097985081592269","fileSize":5488325,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3327414428.blk","md5":"16689626446042517660","fileSize":6261370,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1136915029.blk","md5":"4603100062112019029","fileSize":5433394,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2633326185.blk","md5":"9485490719582150249","fileSize":4892631,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4286082537.blk","md5":"18159329913133886953","fileSize":4239244,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3449722830.blk","md5":"7295150943826253774","fileSize":6610548,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/226931346.blk","md5":"8664026518999446162","fileSize":4773199,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1697213158.blk","md5":"10643951773287017190","fileSize":8043422,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2694061633.blk","md5":"441956612808384065","fileSize":5346824,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/73347237.blk","md5":"6558294398254133413","fileSize":4357538,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2723354594.blk","md5":"5172260595664361442","fileSize":8012868,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1603260305.blk","md5":"9519667199255498641","fileSize":5945950,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2768208729.blk","md5":"13399578421827175257","fileSize":5046359,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2745855892.blk","md5":"9162124221116739476","fileSize":5087399,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2279342697.blk","md5":"5519792821778514537","fileSize":6148114,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2727094352.blk","md5":"6211165948520179792","fileSize":4204534,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2204994175.blk","md5":"1414501834230172287","fileSize":5536663,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1176318925.blk","md5":"1591220830985860045","fileSize":4832085,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3745443231.blk","md5":"2706110239546994079","fileSize":5140363,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1530499288.blk","md5":"11656259415710470360","fileSize":4341221,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3119218828.blk","md5":"4429951369543909516","fileSize":5537528,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2482537950.blk","md5":"15516976141460604382","fileSize":4226651,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3384644586.blk","md5":"6003190167982937066","fileSize":4234704,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2073638044.blk","md5":"203469641020421276","fileSize":4370259,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1825119973.blk","md5":"14734843191539343077","fileSize":5486600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/846725031.blk","md5":"8417115859158826919","fileSize":8404470,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2468646227.blk","md5":"15023378231839722835","fileSize":5937987,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2531956043.blk","md5":"1927964474714264907","fileSize":7585752,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/89445553.blk","md5":"989550891605742769","fileSize":6653202,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1993147913.blk","md5":"1210757725186491913","fileSize":6902009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2321221172.blk","md5":"10137085297282450996","fileSize":4694817,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3943807912.blk","md5":"17816302445501987752","fileSize":4651085,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3940240214.blk","md5":"7047892683563158358","fileSize":4895862,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4257441540.blk","md5":"830252568809793284","fileSize":5223345,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2000083981.blk","md5":"6504606407037737997","fileSize":4781940,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4140923154.blk","md5":"17505422941764024594","fileSize":5461631,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/185172314.blk","md5":"509821263989539162","fileSize":4727263,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3414868883.blk","md5":"7706318419419382675","fileSize":6367791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3248771334.blk","md5":"10814176567323021574","fileSize":9878821,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3504869371.blk","md5":"5650077181299658747","fileSize":6859589,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3116970439.blk","md5":"5051750964852765127","fileSize":8291854,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3478742662.blk","md5":"14805351738556114566","fileSize":5062908,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/453849943.blk","md5":"10714672536035865431","fileSize":8021111,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2664489421.blk","md5":"8914069677640049101","fileSize":4765359,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1264159959.blk","md5":"5213561704098139351","fileSize":4644039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3990244097.blk","md5":"4030496201883667201","fileSize":9046458,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3986534913.blk","md5":"11276637223197192705","fileSize":5159341,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4169642372.blk","md5":"9719977845077815684","fileSize":5128514,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3323375709.blk","md5":"7585050030610231389","fileSize":4904319,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/852962202.blk","md5":"13176312950280367002","fileSize":9168239,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2365943835.blk","md5":"1852817252836274203","fileSize":5213046,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3364204264.blk","md5":"17485617382201601768","fileSize":4404404,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3977268308.blk","md5":"4116259143924337748","fileSize":4598658,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3390186020.blk","md5":"7086557237037113892","fileSize":4898914,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2231330476.blk","md5":"7097995403802404524","fileSize":5013006,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/623514933.blk","md5":"12870844619577496885","fileSize":8782921,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/415360796.blk","md5":"4431700741379450652","fileSize":5099923,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3582695837.blk","md5":"48066094988761501","fileSize":9023775,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/533487813.blk","md5":"8924097573741682885","fileSize":5037785,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/953474629.blk","md5":"2236588062678507077","fileSize":4306504,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1389854282.blk","md5":"1516954382725774922","fileSize":4747144,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3823229045.blk","md5":"18317243258710906997","fileSize":4918485,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/809415657.blk","md5":"2638993809173558249","fileSize":4303760,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/392226759.blk","md5":"14744050792535222215","fileSize":4733667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3754698142.blk","md5":"16890816750567564702","fileSize":4903433,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1118881716.blk","md5":"1751780637031843764","fileSize":5012991,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3905663863.blk","md5":"6735488582167540599","fileSize":5022064,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1943181113.blk","md5":"17519967644450723641","fileSize":5340970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3610659915.blk","md5":"12551629304367565899","fileSize":5844718,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/453105370.blk","md5":"8507115343674726106","fileSize":5119287,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2482982694.blk","md5":"6310007173120216870","fileSize":4749110,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2176099382.blk","md5":"2331816830407320630","fileSize":4197166,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/592460243.blk","md5":"15167824633032358355","fileSize":6789689,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3476118931.blk","md5":"17978317819849301395","fileSize":7315836,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/494712030.blk","md5":"9233519348557853918","fileSize":5069959,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1613435524.blk","md5":"6547024809336443524","fileSize":7495823,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3448183448.blk","md5":"10493481577257310872","fileSize":9211337,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3091467479.blk","md5":"10434141200637496535","fileSize":4404276,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4061553322.blk","md5":"9515665035223261866","fileSize":7862170,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/93410584.blk","md5":"1509836469568623896","fileSize":4852114,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2363051409.blk","md5":"1712271633552067985","fileSize":6052380,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3791249873.blk","md5":"6402368255695643089","fileSize":4273844,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2727599655.blk","md5":"6917931936955751975","fileSize":4677639,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2613303981.blk","md5":"8727169000267831981","fileSize":5145000,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3859213971.blk","md5":"15295061552089460371","fileSize":4831799,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2080571721.blk","md5":"14672473635227369801","fileSize":5322363,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/257422157.blk","md5":"12817112576883684173","fileSize":4623197,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/52730554.blk","md5":"9214831889576401594","fileSize":7344710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3353502205.blk","md5":"16197745355148911101","fileSize":5359131,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2476934168.blk","md5":"14612926035778536472","fileSize":4750840,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3322341940.blk","md5":"1798404403313961524","fileSize":5074687,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/876647630.blk","md5":"15151796992188912846","fileSize":5094829,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3071537151.blk","md5":"6939647910423556095","fileSize":13244364,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2428450305.blk","md5":"4183925085108647425","fileSize":6247956,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4274271301.blk","md5":"10686251225135199301","fileSize":4553307,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3157823197.blk","md5":"10383301681411034845","fileSize":4555310,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2232382714.blk","md5":"15758884530570622202","fileSize":4951383,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/655741821.blk","md5":"9258305173443453","fileSize":4222018,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3740840763.blk","md5":"12563627183969973051","fileSize":8524351,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/262263944.blk","md5":"2074737807189988488","fileSize":4930389,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1991335406.blk","md5":"14508916972654255598","fileSize":4315890,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/56889301.blk","md5":"10928681629193080789","fileSize":4211049,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2502051552.blk","md5":"16398697047192127200","fileSize":4281704,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2870294542.blk","md5":"2697381529391544334","fileSize":4644289,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1345165499.blk","md5":"15263290203313117371","fileSize":4580292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/188466728.blk","md5":"1538214881956447784","fileSize":4220875,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/329352233.blk","md5":"12113271302335333417","fileSize":4433324,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3125812924.blk","md5":"2388515334581657276","fileSize":4319403,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3035302775.blk","md5":"11802113792168102775","fileSize":7248773,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1759176644.blk","md5":"14306876217555085252","fileSize":7874538,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/823590434.blk","md5":"6194591152425336354","fileSize":4503192,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3691528996.blk","md5":"12050420270411301668","fileSize":4785353,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1088722853.blk","md5":"3253188748554573733","fileSize":8380336,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1697661879.blk","md5":"9574997493497742263","fileSize":6055878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3525612722.blk","md5":"1998523267893466290","fileSize":4487714,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/371689864.blk","md5":"16131390220567808392","fileSize":4338851,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2502881947.blk","md5":"9677813651250016923","fileSize":6591345,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/764420184.blk","md5":"4405454827942846552","fileSize":4280556,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3224525279.blk","md5":"8816692100901001695","fileSize":4237970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2268043875.blk","md5":"8740891819865250403","fileSize":5079702,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/82197004.blk","md5":"13109531838758926860","fileSize":4229343,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3481501118.blk","md5":"1594193869782875582","fileSize":4767760,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1647549091.blk","md5":"7163081505125931683","fileSize":6771204,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/69843666.blk","md5":"355570378181556946","fileSize":5435293,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1246564982.blk","md5":"10756463002410357366","fileSize":4858055,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2553943938.blk","md5":"10443110642297214850","fileSize":4572582,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2788233927.blk","md5":"3405333938035561159","fileSize":7634875,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/330996011.blk","md5":"9977377885578238251","fileSize":4254759,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/173245697.blk","md5":"6468732751000601857","fileSize":4887286,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/832804070.blk","md5":"1105945365064160486","fileSize":4566487,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3884880547.blk","md5":"12932174062881247907","fileSize":6341856,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2761588706.blk","md5":"8455705802925834210","fileSize":4930809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2240516594.blk","md5":"7609591807664165362","fileSize":4314701,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2702280869.blk","md5":"4684616605925214373","fileSize":4712907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1968182844.blk","md5":"7631250137759618620","fileSize":5059142,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2828487410.blk","md5":"13472090298911247090","fileSize":4493145,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2770047334.blk","md5":"5622317222087856486","fileSize":5714809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3949764794.blk","md5":"17370567634267709626","fileSize":4213968,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/457640215.blk","md5":"2306175255456450839","fileSize":4256593,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3970259795.blk","md5":"10861628646630972243","fileSize":4719907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2886120234.blk","md5":"3095949108587180842","fileSize":5059215,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3919398736.blk","md5":"1636358307194947408","fileSize":4481776,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2734103272.blk","md5":"7674964143865535208","fileSize":5714754,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1738441134.blk","md5":"18116308889629524398","fileSize":4201876,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2228005491.blk","md5":"16355258164298164851","fileSize":4592578,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3384078468.blk","md5":"3485361879574179972","fileSize":4226442,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1702467068.blk","md5":"1723873675292808700","fileSize":4249586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2892806152.blk","md5":"12925719207079622664","fileSize":4213487,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2136291084.blk","md5":"5295429326434809612","fileSize":8480867,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4129419779.blk","md5":"17670148135988621827","fileSize":4215549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1866560861.blk","md5":"11014639087830267229","fileSize":5450238,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3571726788.blk","md5":"9047596496633215428","fileSize":8176835,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/935825634.blk","md5":"15001631977663598818","fileSize":5427218,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/881313304.blk","md5":"18423887641621022232","fileSize":5009819,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1282908418.blk","md5":"11175532560769327362","fileSize":4774823,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1126984373.blk","md5":"9173347660532050613","fileSize":4996178,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3503960552.blk","md5":"12587507352222708200","fileSize":4807705,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3102968411.blk","md5":"10723097263064975963","fileSize":4310234,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2308218335.blk","md5":"16874114669278961119","fileSize":4451125,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4045866738.blk","md5":"2925800930889107186","fileSize":4197347,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/602537816.blk","md5":"916592063618350936","fileSize":4319302,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4137771817.blk","md5":"18349661990003237673","fileSize":4200778,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/429852235.blk","md5":"9101423119588853323","fileSize":9815321,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1030568679.blk","md5":"2125364180909112039","fileSize":8871327,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/821617996.blk","md5":"5957632854605751628","fileSize":5266014,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1550206010.blk","md5":"15282936474851755066","fileSize":4687001,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1433015465.blk","md5":"1310397478380115113","fileSize":4323044,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3184563743.blk","md5":"9372390680607888927","fileSize":4831271,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/452652997.blk","md5":"5270391572380970949","fileSize":5326819,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2725414331.blk","md5":"4627061956827841979","fileSize":5151539,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3532694585.blk","md5":"9927695150208820281","fileSize":4460714,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4221308471.blk","md5":"1161319351007841847","fileSize":6506972,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3352401858.blk","md5":"11937453404597622722","fileSize":5913904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2140778511.blk","md5":"4445799638973919247","fileSize":4917122,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/334745120.blk","md5":"4784621850438389280","fileSize":4570113,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/902642656.blk","md5":"11806122716804496352","fileSize":5086963,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3430684615.blk","md5":"17540952821786744775","fileSize":4384211,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/932837795.blk","md5":"4180527206136150435","fileSize":5094683,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3937352872.blk","md5":"9950417803941985448","fileSize":12985168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/680063436.blk","md5":"13835236627817492940","fileSize":9840906,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2169433658.blk","md5":"15009657108109913658","fileSize":4195081,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/802886900.blk","md5":"3488100416860394740","fileSize":4365559,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4012612576.blk","md5":"16331376842246953952","fileSize":8853512,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/307975664.blk","md5":"4234742371530266096","fileSize":4215795,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/122418324.blk","md5":"9309829788775216276","fileSize":5637088,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1377627068.blk","md5":"17893277710103145404","fileSize":6011840,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3620055339.blk","md5":"12576612106935576875","fileSize":4779420,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/625342215.blk","md5":"15762063771130263303","fileSize":4224709,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3256382774.blk","md5":"12947682751071941942","fileSize":4992704,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3664028840.blk","md5":"17095520629880562856","fileSize":4453369,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3338001267.blk","md5":"16800652733634173811","fileSize":4756897,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4000256650.blk","md5":"4443674804547949194","fileSize":5399716,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1837801617.blk","md5":"49308472663777425","fileSize":4309949,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4150851655.blk","md5":"10524044256000669767","fileSize":5573605,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/712395454.blk","md5":"4533250235458538174","fileSize":6875962,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4253478263.blk","md5":"8287511350348279159","fileSize":6262562,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1270090560.blk","md5":"15495685033879145280","fileSize":8077929,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1730601014.blk","md5":"14842928882422046774","fileSize":6428518,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1878607129.blk","md5":"13051244122121782553","fileSize":4846195,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1767313195.blk","md5":"2240514174701997867","fileSize":4866505,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3672995662.blk","md5":"2665449869982660430","fileSize":4317897,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1316107763.blk","md5":"420283192842532339","fileSize":5326276,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/104834268.blk","md5":"13130201274404283612","fileSize":5201370,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3254705944.blk","md5":"7253799913333382936","fileSize":6888037,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1650437099.blk","md5":"17883581155985304555","fileSize":5114140,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/525236699.blk","md5":"8574977527830706651","fileSize":8238648,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3386231016.blk","md5":"16371639656054638824","fileSize":5507212,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1726417823.blk","md5":"13271485818660653983","fileSize":6005201,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3812981272.blk","md5":"7534041968700389912","fileSize":7156264,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1565967393.blk","md5":"3881301783059285025","fileSize":5014940,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/970141012.blk","md5":"18104515338163137876","fileSize":5325506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2549572816.blk","md5":"2709556618893681872","fileSize":6617889,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2939654957.blk","md5":"9916353072994947885","fileSize":4284653,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3879974826.blk","md5":"2265758645960816554","fileSize":4750832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3727636404.blk","md5":"4219146008668354484","fileSize":5910270,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1167733993.blk","md5":"5053048700156916969","fileSize":4647745,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/428840630.blk","md5":"17381424010990950070","fileSize":5128128,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2885400819.blk","md5":"15353237097888332019","fileSize":4649665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/974556277.blk","md5":"6215672604411726965","fileSize":4199289,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3752941566.blk","md5":"3961949872221935614","fileSize":5486552,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3850388547.blk","md5":"13595574788696327235","fileSize":9157627,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/562105733.blk","md5":"5159816355259682181","fileSize":6916240,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3768540144.blk","md5":"13137713162983791600","fileSize":4649380,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3238250084.blk","md5":"18144968524995741284","fileSize":8979112,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3785014312.blk","md5":"13792230543567010856","fileSize":4889004,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3739006493.blk","md5":"6844918739475674653","fileSize":4519101,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3252419824.blk","md5":"1728076727543659760","fileSize":4975774,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/742901929.blk","md5":"18415087987932514473","fileSize":5229696,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2319834687.blk","md5":"10625097090818498111","fileSize":6745595,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1067907683.blk","md5":"15939083923874052707","fileSize":8142142,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2003082687.blk","md5":"2105888699922554303","fileSize":4212094,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1482312703.blk","md5":"8314318952890780671","fileSize":5238632,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2920849246.blk","md5":"4773951513583722334","fileSize":6663999,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/134280882.blk","md5":"16171166475099371186","fileSize":8160521,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2616417163.blk","md5":"11306388099509214091","fileSize":4475992,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4189790088.blk","md5":"5979592828189876104","fileSize":5003001,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/23228080.blk","md5":"11905407404732477104","fileSize":5045611,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/987586729.blk","md5":"6336660003497009321","fileSize":4484047,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1678324181.blk","md5":"4610761176207929813","fileSize":4400740,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3496652207.blk","md5":"5594839190285757871","fileSize":4555525,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1157672168.blk","md5":"14285523134206487784","fileSize":4420468,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3186221500.blk","md5":"14463453714228830652","fileSize":4877756,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/108576404.blk","md5":"7675069174665232020","fileSize":4710625,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/74318754.blk","md5":"15461924996303946658","fileSize":4196214,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/548606510.blk","md5":"16998678318355255854","fileSize":4331230,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3119066359.blk","md5":"15586266909613042935","fileSize":4340367,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3501771684.blk","md5":"1266072606205332388","fileSize":4971830,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4153546592.blk","md5":"7894035261524416352","fileSize":4764866,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3157721319.blk","md5":"9961889269967945959","fileSize":4700718,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1567981242.blk","md5":"12040672268778831546","fileSize":4965904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1865681846.blk","md5":"11257267897823923126","fileSize":5434407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2141018769.blk","md5":"2127856366857837201","fileSize":4434497,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1338352980.blk","md5":"7665006801959888212","fileSize":5057269,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3958213883.blk","md5":"986101852052229371","fileSize":4341984,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1503591741.blk","md5":"4176741467913387325","fileSize":4325189,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/654766958.blk","md5":"3578600793592755054","fileSize":4888368,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2460673813.blk","md5":"10477176952701249301","fileSize":4893527,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/16923344.blk","md5":"370771427030350544","fileSize":4565215,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/431444133.blk","md5":"5446901156128706725","fileSize":7857097,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2561679674.blk","md5":"1117086318685331770","fileSize":4531592,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2707356945.blk","md5":"15088182794584522001","fileSize":5932373,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4032083759.blk","md5":"6316253418622334767","fileSize":4331655,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4098860063.blk","md5":"99621439817098271","fileSize":4826462,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3533369260.blk","md5":"671853706057805740","fileSize":5184872,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/694509328.blk","md5":"11376885811042934544","fileSize":4306701,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1461599551.blk","md5":"2270421101125188927","fileSize":4338306,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3424488551.blk","md5":"11501478872249896039","fileSize":5810312,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3373526666.blk","md5":"4142269465265172106","fileSize":8148191,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3220322246.blk","md5":"12165717266841876422","fileSize":6882897,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3253789524.blk","md5":"10311555661576594260","fileSize":5077303,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2412685178.blk","md5":"15545404590052517754","fileSize":5494458,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/174993213.blk","md5":"16632174495027572541","fileSize":5143131,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1958630528.blk","md5":"15323531385155507328","fileSize":5030685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4185939876.blk","md5":"11145250523089756068","fileSize":5138123,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1474130823.blk","md5":"18399029329282298759","fileSize":5128819,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1802194060.blk","md5":"9418788227376696460","fileSize":4904585,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/954063153.blk","md5":"4430857296240564529","fileSize":4579293,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1378871868.blk","md5":"4193140464673614396","fileSize":9090940,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/300928423.blk","md5":"17636295921487564199","fileSize":5271351,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1555578313.blk","md5":"6977047062486990281","fileSize":5082963,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1393763842.blk","md5":"8197168265195365890","fileSize":4315519,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3643160337.blk","md5":"7067094640232904465","fileSize":5022139,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2677460578.blk","md5":"13559813347923644002","fileSize":4206795,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/686431351.blk","md5":"8758820502130793591","fileSize":4750118,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1292862489.blk","md5":"3512667024693101593","fileSize":4955603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/496612011.blk","md5":"4317543104893268651","fileSize":7222407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1427912908.blk","md5":"3598491926080010444","fileSize":4511250,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2602305969.blk","md5":"17932404554156738993","fileSize":8171052,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4061572018.blk","md5":"9311337991955196850","fileSize":4955601,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4014292185.blk","md5":"1099240584994176217","fileSize":4988963,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1806796607.blk","md5":"10723212839338739519","fileSize":4503883,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2333903290.blk","md5":"6929208837054171578","fileSize":6118766,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1768885727.blk","md5":"15025051528923647455","fileSize":5440850,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2330270375.blk","md5":"8843320068313258663","fileSize":4671083,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1743632400.blk","md5":"9876074649453705232","fileSize":8702482,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1145499855.blk","md5":"13123483993838645455","fileSize":6949440,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2648783732.blk","md5":"4351669001624042356","fileSize":6611115,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1236095271.blk","md5":"4584336612815360295","fileSize":4794171,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1511532626.blk","md5":"10324470020903020626","fileSize":6399771,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1094002995.blk","md5":"13053135096653359411","fileSize":5492222,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2623979514.blk","md5":"7820772313450070010","fileSize":5227889,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/522110785.blk","md5":"6155308857248630593","fileSize":7049846,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2102380164.blk","md5":"9131370197344568964","fileSize":6254742,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1630742639.blk","md5":"17446227659870906479","fileSize":5077212,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/801954836.blk","md5":"3270998006254328852","fileSize":7597571,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3511085931.blk","md5":"3092808788039101291","fileSize":4348142,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1786735981.blk","md5":"11270788295878995309","fileSize":4532670,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1905082397.blk","md5":"9500865705341173789","fileSize":4627223,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4051984570.blk","md5":"14434878168097906874","fileSize":4346932,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/997825769.blk","md5":"4967374964404100329","fileSize":7889873,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2114767228.blk","md5":"14970303898503548","fileSize":6149621,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/882065112.blk","md5":"17933578139365228248","fileSize":5015189,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2982511595.blk","md5":"12178073196024923115","fileSize":4384538,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3407240578.blk","md5":"7612678601826524546","fileSize":4195084,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4253252369.blk","md5":"15864586276201265937","fileSize":5855462,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2923015995.blk","md5":"14575339557646610235","fileSize":5449237,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/927195826.blk","md5":"12963159598969381554","fileSize":4880467,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/102153792.blk","md5":"4244434098171854400","fileSize":5109021,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1569486460.blk","md5":"7080692401539151484","fileSize":4375461,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1499245085.blk","md5":"12369837965275081245","fileSize":4198605,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3968464316.blk","md5":"14399198341383189948","fileSize":7231658,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4235509814.blk","md5":"7936751631942860854","fileSize":5728432,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3157638263.blk","md5":"7054707095072259191","fileSize":6437541,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3379750808.blk","md5":"16232099067704043416","fileSize":7042204,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1622657124.blk","md5":"3124884967716800612","fileSize":5771970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1079875462.blk","md5":"15153583715967145862","fileSize":4626705,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/53991645.blk","md5":"4130147264645028061","fileSize":5710796,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1594850102.blk","md5":"5972061235369179958","fileSize":6266562,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/796354313.blk","md5":"18082254638458300169","fileSize":4673250,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/130161064.blk","md5":"10609057958463674792","fileSize":5547221,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3599384958.blk","md5":"9698828446289510782","fileSize":6191931,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2314331117.blk","md5":"11640107689466520557","fileSize":4775130,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3692330294.blk","md5":"14712577610497686838","fileSize":5749127,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/92178246.blk","md5":"2369715014152914758","fileSize":4700763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2981214693.blk","md5":"4190768892709288421","fileSize":4484727,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1506081319.blk","md5":"132829767874705959","fileSize":4246194,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/27677127.blk","md5":"4866709412576121287","fileSize":4290019,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1385470582.blk","md5":"10742600845277567606","fileSize":4478031,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2216161689.blk","md5":"7683980748580712857","fileSize":4368296,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/670806437.blk","md5":"11194044337354420645","fileSize":5219310,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2512163382.blk","md5":"5585805434263736886","fileSize":5307573,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2472676321.blk","md5":"10420877920101862369","fileSize":5306622,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2205423479.blk","md5":"11767270955048769399","fileSize":5406184,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3066820872.blk","md5":"6951508359527528712","fileSize":6101648,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2120549658.blk","md5":"16462247826758632730","fileSize":6208871,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2931813810.blk","md5":"1954275496309026226","fileSize":7735921,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/893948424.blk","md5":"6136746541543100936","fileSize":4475296,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/462071285.blk","md5":"5562578425170535925","fileSize":4194554,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/434883633.blk","md5":"2529111331138423857","fileSize":4369730,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/373535395.blk","md5":"10627136335049372323","fileSize":5201675,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/924479084.blk","md5":"18217347745345859180","fileSize":5856944,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3495909198.blk","md5":"11197881897753466702","fileSize":6054218,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3027179552.blk","md5":"433685446727243808","fileSize":4365007,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2453838306.blk","md5":"15997229239757871586","fileSize":5698226,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1539789323.blk","md5":"7214396202312749579","fileSize":7481651,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2151142592.blk","md5":"15217290331284821184","fileSize":8610149,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4292031406.blk","md5":"17231341802944148398","fileSize":4480344,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3993967844.blk","md5":"11661710148284390628","fileSize":4262352,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/964980117.blk","md5":"11600877147597860245","fileSize":4235043,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2203679358.blk","md5":"18228446818291251838","fileSize":4472937,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1991991491.blk","md5":"15386551079545823427","fileSize":4254105,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4246211771.blk","md5":"1397647761831627963","fileSize":4471250,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1876902117.blk","md5":"16895803184245588197","fileSize":4217763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1370726867.blk","md5":"6270877168083116499","fileSize":6660614,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2755199732.blk","md5":"7979387208169226996","fileSize":5732172,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3950726285.blk","md5":"5229307353244585101","fileSize":6277543,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4211756278.blk","md5":"84410847610948854","fileSize":5976193,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1308275022.blk","md5":"271139637437313358","fileSize":5760886,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/83338133.blk","md5":"6652863951714886549","fileSize":6214253,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3387017127.blk","md5":"9219342046658152359","fileSize":8570874,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3191861542.blk","md5":"1089317075119239462","fileSize":6458209,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2584370256.blk","md5":"193166165311904848","fileSize":4271261,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1915469684.blk","md5":"2164819203074015092","fileSize":6784266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2949225085.blk","md5":"3055169854463646333","fileSize":6958040,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3445765049.blk","md5":"2333044719877239737","fileSize":4737497,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3218580593.blk","md5":"7932554034833499249","fileSize":7127945,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3147376947.blk","md5":"11597871896738736435","fileSize":4948555,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/908895353.blk","md5":"4884922501448901753","fileSize":5845204,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3442476930.blk","md5":"2631784095019960194","fileSize":7244985,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3402489922.blk","md5":"13891069302717407298","fileSize":5852586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/456061983.blk","md5":"606330948928074783","fileSize":6161992,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1788079522.blk","md5":"1610803730688765346","fileSize":5178363,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/539122433.blk","md5":"16473755069060373249","fileSize":6656493,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/224725626.blk","md5":"7718175661292325498","fileSize":7154229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2010377047.blk","md5":"11494822169743190871","fileSize":5016074,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3604872057.blk","md5":"12540481630845664121","fileSize":4199620,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4119546504.blk","md5":"6539826919100861064","fileSize":6386048,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3369375925.blk","md5":"2967497963075836085","fileSize":6363118,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2646409299.blk","md5":"3404802474345562195","fileSize":4200121,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1800399452.blk","md5":"6621958597130578524","fileSize":7641187,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3654359976.blk","md5":"4364554303949577128","fileSize":4406760,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/317484423.blk","md5":"11791369357528690055","fileSize":8103650,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1033595149.blk","md5":"4225139327893203213","fileSize":4730722,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3725367449.blk","md5":"13395177713393506457","fileSize":5851605,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/990958821.blk","md5":"16982880896506975461","fileSize":4313319,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/435201174.blk","md5":"10480830503260824726","fileSize":4250031,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2547095323.blk","md5":"2413470794799748891","fileSize":7086976,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4263814340.blk","md5":"4471318829236266180","fileSize":8070259,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4264018208.blk","md5":"18135140537041666336","fileSize":8180177,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1029282403.blk","md5":"5513146728005081699","fileSize":8184620,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/442461571.blk","md5":"12451177717022289283","fileSize":5077211,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3407601570.blk","md5":"12798963474170109858","fileSize":4247936,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/523317243.blk","md5":"1132524671081721851","fileSize":4312265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1936114387.blk","md5":"5031774821670109907","fileSize":5314746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3864920996.blk","md5":"15547730445144556452","fileSize":4650254,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2314848797.blk","md5":"3353176696533142045","fileSize":5706756,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/54635549.blk","md5":"5330855799453494301","fileSize":5993296,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1518630721.blk","md5":"16123247706750875457","fileSize":4840904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1738083780.blk","md5":"11652307363105934788","fileSize":4640583,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1260031483.blk","md5":"11586680670366895611","fileSize":6760025,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3267007827.blk","md5":"276081355752379731","fileSize":4553934,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2125474883.blk","md5":"9435321395068283971","fileSize":4464676,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3226764417.blk","md5":"5035944042204267649","fileSize":4604497,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3779972229.blk","md5":"9018404982815050885","fileSize":4937025,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/364107431.blk","md5":"3815292502499645095","fileSize":4751283,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4058627238.blk","md5":"10606867735229611174","fileSize":6147124,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3881985267.blk","md5":"12045922817072588019","fileSize":7024106,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2532674528.blk","md5":"6291330795646061536","fileSize":8879075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/414796736.blk","md5":"14279293781616970688","fileSize":5883891,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/71484963.blk","md5":"15718174315822368291","fileSize":8578477,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/511051500.blk","md5":"5922971291395426028","fileSize":4194410,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1129412764.blk","md5":"2953998698235918492","fileSize":4647425,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1648544159.blk","md5":"4676140817625303455","fileSize":6005166,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2339924146.blk","md5":"12917971777014491314","fileSize":6452710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/644015643.blk","md5":"15894168890635380251","fileSize":5776136,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3633595891.blk","md5":"10008096942385808883","fileSize":5839664,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/520756913.blk","md5":"16631498596369964721","fileSize":5960658,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3636425929.blk","md5":"15220856134878328009","fileSize":4230107,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/112834035.blk","md5":"16559845669447775731","fileSize":5358793,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4061763413.blk","md5":"17020034368142939989","fileSize":4219325,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1327068264.blk","md5":"3648106396045112424","fileSize":7516258,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/557776002.blk","md5":"12166306125670448258","fileSize":6563685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/414750383.blk","md5":"13078206237420066479","fileSize":5190415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2158182046.blk","md5":"13768410790755516062","fileSize":8204980,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2298541575.blk","md5":"4818076666930722311","fileSize":7345101,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3999443090.blk","md5":"15234940612905183378","fileSize":4628430,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3947784810.blk","md5":"7757578618406857322","fileSize":4318702,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1112458658.blk","md5":"1956389357133677986","fileSize":4620675,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3825460513.blk","md5":"15372982536661886241","fileSize":5314619,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3912754875.blk","md5":"7494569711816402619","fileSize":5680001,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3444541576.blk","md5":"16532123132057585800","fileSize":4568511,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3059404023.blk","md5":"13594373575746964727","fileSize":8678729,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/731378963.blk","md5":"16121539228102817043","fileSize":6016828,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3358751700.blk","md5":"4574098765819050964","fileSize":6910967,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/850529160.blk","md5":"13649064651998235528","fileSize":5875465,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2186002233.blk","md5":"6381305974988980025","fileSize":4203282,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/31311575.blk","md5":"17119697667171927767","fileSize":5189341,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2377532701.blk","md5":"11909263282696242461","fileSize":4757475,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2247121329.blk","md5":"15981083624261835185","fileSize":4946441,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/402561702.blk","md5":"10149892883545496230","fileSize":5735455,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2619110217.blk","md5":"2825887869759681353","fileSize":5119112,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/229989711.blk","md5":"14990298017825119567","fileSize":4823573,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2178250533.blk","md5":"11252582419529037605","fileSize":6444215,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3854495839.blk","md5":"14743242800979963999","fileSize":4739692,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4093083600.blk","md5":"11841412778344021968","fileSize":4283819,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1563367309.blk","md5":"3658915673619240845","fileSize":4748645,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2078888749.blk","md5":"5487095325747925805","fileSize":8450495,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2100538708.blk","md5":"5039908660964470100","fileSize":7066237,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3165255390.blk","md5":"14697605993926883038","fileSize":4712653,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3348369830.blk","md5":"8472019644080984486","fileSize":4615133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2327054516.blk","md5":"1512705063279397044","fileSize":4230573,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1229407339.blk","md5":"17585551794346869867","fileSize":7459752,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3657675908.blk","md5":"10003266886613316740","fileSize":6770718,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1911219223.blk","md5":"11899703552612426775","fileSize":6858575,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4247360370.blk","md5":"13940211958585856882","fileSize":4983939,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2368907663.blk","md5":"2585776790818695567","fileSize":5772368,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/153823155.blk","md5":"11908510626108614579","fileSize":8130746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3557171591.blk","md5":"9092550218498843015","fileSize":4255947,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2147224315.blk","md5":"2271817760750963451","fileSize":5659877,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4252316290.blk","md5":"14823861313208660610","fileSize":6035548,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1257793708.blk","md5":"14535876726450841772","fileSize":7442124,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1089446670.blk","md5":"17916805390338597646","fileSize":9592757,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2334404773.blk","md5":"17434158398745882789","fileSize":5571914,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1923133177.blk","md5":"13573145844779101945","fileSize":4263996,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3516629488.blk","md5":"2510831566861337072","fileSize":5718033,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1911303752.blk","md5":"18373131312579751496","fileSize":4308640,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/443441746.blk","md5":"2399027079672652370","fileSize":5797391,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2474592593.blk","md5":"9637710678290549073","fileSize":6332158,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4192589352.blk","md5":"14625308325129344552","fileSize":6356443,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3691287819.blk","md5":"7445803274231649547","fileSize":7732649,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/251573104.blk","md5":"1453487817358226288","fileSize":4764587,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3007572361.blk","md5":"7732465570024778121","fileSize":4259622,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1345009433.blk","md5":"9670591014043858713","fileSize":8539614,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1999411819.blk","md5":"15367292725370853995","fileSize":4200696,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/21303148.blk","md5":"13952933222288789356","fileSize":4352141,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1419412971.blk","md5":"16751943078114919915","fileSize":8390246,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1354155684.blk","md5":"15207046356745504420","fileSize":4330991,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1778161334.blk","md5":"8614542784994252470","fileSize":4515012,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2029673316.blk","md5":"3702977859539327844","fileSize":5926345,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2129765775.blk","md5":"10263197519860311439","fileSize":4851510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3720810976.blk","md5":"1747944353370149344","fileSize":5951217,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1019182934.blk","md5":"4769995163902639958","fileSize":4198317,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3672347616.blk","md5":"14041721379748025312","fileSize":5116245,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2787756969.blk","md5":"4249073773638699945","fileSize":4194802,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4254684509.blk","md5":"3830390789609444701","fileSize":4235400,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3631092412.blk","md5":"3982146341629203132","fileSize":4586677,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1127901903.blk","md5":"9719216013622012623","fileSize":6378654,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2366217892.blk","md5":"14824579537228635812","fileSize":6461629,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/39449165.blk","md5":"15475975496446636621","fileSize":5355587,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/913135088.blk","md5":"11638296624910652912","fileSize":4518963,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/302685542.blk","md5":"17695254818757188966","fileSize":10503517,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2694755302.blk","md5":"6523310827097732070","fileSize":4657924,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3502038178.blk","md5":"91677021032996002","fileSize":9421370,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3718431021.blk","md5":"8661116729392546093","fileSize":5489758,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/161880666.blk","md5":"15436351343771916890","fileSize":6534452,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2376252791.blk","md5":"6763985555503103351","fileSize":5135323,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1804583967.blk","md5":"3732038750500275231","fileSize":6160004,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1856438025.blk","md5":"16061465800831598345","fileSize":4280464,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2750106865.blk","md5":"9385359763420433649","fileSize":4242558,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1559760697.blk","md5":"3280965883076808505","fileSize":6551743,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/234796033.blk","md5":"10281432669203903489","fileSize":22536513,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1960242007.blk","md5":"17621741172333931351","fileSize":5692407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/514375423.blk","md5":"16720790957857488639","fileSize":7047857,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1250944909.blk","md5":"15681857662684751757","fileSize":5365932,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/456073346.blk","md5":"14797913638155788418","fileSize":4214180,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/408993165.blk","md5":"14398749526626188685","fileSize":5912318,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2733634186.blk","md5":"3108159558723302026","fileSize":7621476,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3790323340.blk","md5":"5358822409722642060","fileSize":4463525,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2792569535.blk","md5":"3263373625250757311","fileSize":4329159,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4280599691.blk","md5":"12758547424765854859","fileSize":5067853,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3435990790.blk","md5":"538537190948146950","fileSize":4809891,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1453798140.blk","md5":"15666580313891877628","fileSize":4468202,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2997066696.blk","md5":"3903825409034394568","fileSize":4484476,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4004057352.blk","md5":"15607681106334781704","fileSize":4608520,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1945768259.blk","md5":"4685399886944407875","fileSize":4851797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2247977969.blk","md5":"17049044448052079601","fileSize":4804907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3891364925.blk","md5":"16572184315403797565","fileSize":4563843,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1035878009.blk","md5":"1399957424529358457","fileSize":7032878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2421610486.blk","md5":"9904458963709515766","fileSize":4538615,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1030110253.blk","md5":"1942715229152885805","fileSize":7654141,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3099386240.blk","md5":"2940277525235687808","fileSize":7276698,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1663503916.blk","md5":"11341195737588764204","fileSize":4257269,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/303240907.blk","md5":"10437063605266618059","fileSize":4245940,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/858327841.blk","md5":"7011530168798350113","fileSize":7228302,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/7415365.blk","md5":"6272916932588021317","fileSize":5578750,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/543479596.blk","md5":"6880665968128087852","fileSize":4604971,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4278811704.blk","md5":"3266466484226456632","fileSize":6454186,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3028696468.blk","md5":"12172678193161321876","fileSize":4322310,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3621380017.blk","md5":"17970736369493467057","fileSize":5815133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3687321017.blk","md5":"9731754112345181625","fileSize":4866846,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1009664874.blk","md5":"18290336754666718058","fileSize":4229224,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3758415035.blk","md5":"3206517523462020283","fileSize":4231832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2662528173.blk","md5":"1391981650412500141","fileSize":4865191,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1103641265.blk","md5":"3587424319019956913","fileSize":4326963,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3054997462.blk","md5":"14751132693757923286","fileSize":4618514,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/100386900.blk","md5":"5475829723336263764","fileSize":5026753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/798949104.blk","md5":"10781193986293825264","fileSize":4476104,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2348216140.blk","md5":"6851095317668360012","fileSize":5252728,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1295955059.blk","md5":"1528382384368432243","fileSize":4340339,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/366638574.blk","md5":"2621129283105093102","fileSize":4222497,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/185024724.blk","md5":"12236223180649742548","fileSize":4224318,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3858393466.blk","md5":"10954032939452230010","fileSize":4207858,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4154976518.blk","md5":"1668853557545658630","fileSize":4199735,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1784967922.blk","md5":"8586754406725481202","fileSize":5754958,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2914798354.blk","md5":"2012665155774335762","fileSize":8144795,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/300354058.blk","md5":"14266242986502720010","fileSize":5988668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3449315845.blk","md5":"15790508328743363077","fileSize":4199863,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2265324323.blk","md5":"3354763077014133539","fileSize":4513846,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3288570203.blk","md5":"2297512214762068315","fileSize":5930097,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/185825055.blk","md5":"10481054206383060767","fileSize":5199158,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1984666140.blk","md5":"7891064086879509020","fileSize":4801370,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1852272956.blk","md5":"2241323758942384444","fileSize":7513092,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/427794314.blk","md5":"10097733366209027978","fileSize":7113954,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1687946504.blk","md5":"1398494774068774152","fileSize":6500402,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4140947223.blk","md5":"11919839405202855703","fileSize":6835520,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1542425502.blk","md5":"14459267485271034782","fileSize":5458783,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2812385235.blk","md5":"13240534206647474131","fileSize":6484696,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1294847564.blk","md5":"16726570876516814412","fileSize":4382501,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3024566751.blk","md5":"6905627105057782239","fileSize":5624034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2835099876.blk","md5":"7769350392508068068","fileSize":5762506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2735642693.blk","md5":"3315396506760943685","fileSize":4905524,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1821551271.blk","md5":"1515039192815676071","fileSize":4241360,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/291868438.blk","md5":"3217306941699493654","fileSize":4406907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/581078738.blk","md5":"6149740088610950866","fileSize":6407939,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3048444187.blk","md5":"2654581497565253915","fileSize":5214154,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3526121968.blk","md5":"8070047032186526192","fileSize":5217554,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/15425914.blk","md5":"14173909362676556154","fileSize":5416951,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3473252587.blk","md5":"4940255551235137771","fileSize":4251418,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/438453259.blk","md5":"10031789074012062731","fileSize":4980603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4059878250.blk","md5":"11282622672514372458","fileSize":5373925,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2790245101.blk","md5":"8878074282707501805","fileSize":5056889,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2596784234.blk","md5":"5315846188376246378","fileSize":5026706,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2680654951.blk","md5":"16007751665046752359","fileSize":4263530,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/826576215.blk","md5":"3732205870994722135","fileSize":5091119,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3528771112.blk","md5":"8914155251432736296","fileSize":7109184,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/684853222.blk","md5":"13336208754271717350","fileSize":5347019,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/185536539.blk","md5":"13024548970243756059","fileSize":4543154,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2488009858.blk","md5":"6952888649768502402","fileSize":7650309,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/218014902.blk","md5":"4502620156001690806","fileSize":4564467,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1824882718.blk","md5":"4083014449928437790","fileSize":5779042,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2291035785.blk","md5":"181668236919467657","fileSize":7465242,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1836595695.blk","md5":"3832254420745730543","fileSize":4269729,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4173999608.blk","md5":"16647845644983741944","fileSize":6909256,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2850881952.blk","md5":"8117534011001995680","fileSize":8368833,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/572468961.blk","md5":"1258020420064325345","fileSize":7474386,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3583300355.blk","md5":"13091913916476609283","fileSize":5903707,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1632289026.blk","md5":"6736249068278432002","fileSize":6459691,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2857248758.blk","md5":"7407111966022313974","fileSize":5060418,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/517738085.blk","md5":"10980290343229722213","fileSize":7146271,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1325810499.blk","md5":"1700888294143181635","fileSize":6737170,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/509071287.blk","md5":"7253672904109838263","fileSize":7365727,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1151467075.blk","md5":"6393203218047958595","fileSize":7929435,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1377010987.blk","md5":"8178563304370963755","fileSize":5063839,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/359295927.blk","md5":"15997035173861026743","fileSize":4329215,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2560344311.blk","md5":"15965713637429723383","fileSize":4283964,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/63456830.blk","md5":"5089305069208749630","fileSize":4640797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3830803135.blk","md5":"13995709824761162431","fileSize":4816343,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/281949119.blk","md5":"224013442763076543","fileSize":4288602,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2202968513.blk","md5":"16490349011879764417","fileSize":6617158,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3621357779.blk","md5":"10819300528104245459","fileSize":4198177,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2218223040.blk","md5":"8934198196045309376","fileSize":4436940,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3986954360.blk","md5":"6385103655592532088","fileSize":6975130,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/87002966.blk","md5":"1486875827800870742","fileSize":6791061,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3404016464.blk","md5":"6402993104330500944","fileSize":7763572,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/827990676.blk","md5":"15799385701400322708","fileSize":7732324,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1356790247.blk","md5":"4950722264159943143","fileSize":5119227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/944367527.blk","md5":"2368442970246080423","fileSize":4375860,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2810532978.blk","md5":"16185947130983437426","fileSize":8063581,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2927159622.blk","md5":"3103680586631932230","fileSize":4744726,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1925269403.blk","md5":"456722597934090139","fileSize":7951351,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2289933669.blk","md5":"9464452556378709349","fileSize":6194117,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3836886899.blk","md5":"7431359239231258483","fileSize":6644586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3445127278.blk","md5":"5768954617498466414","fileSize":4896630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4110117182.blk","md5":"7257757163911342398","fileSize":4296669,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1557151384.blk","md5":"8743281946979745432","fileSize":7858413,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/760759543.blk","md5":"16404304421608506615","fileSize":5444782,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1444324826.blk","md5":"7169268869169063386","fileSize":6915536,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3633329272.blk","md5":"7305774055990244472","fileSize":7418818,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/193362233.blk","md5":"2255145610582063417","fileSize":4811133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3520306094.blk","md5":"3133725043101768622","fileSize":6543547,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/709432155.blk","md5":"16137881892174762843","fileSize":4839273,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1296633271.blk","md5":"5118067311077035447","fileSize":8083855,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/236154410.blk","md5":"17664547048064773674","fileSize":7692754,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/844438656.blk","md5":"12139929189899115648","fileSize":8016792,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/293706451.blk","md5":"2838017207265499859","fileSize":7247820,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2411230172.blk","md5":"18146957321660036060","fileSize":5034136,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/365110073.blk","md5":"5268031818476757817","fileSize":7676926,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1494548125.blk","md5":"12189986003591954077","fileSize":5083491,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3307123907.blk","md5":"1613052744587719875","fileSize":8431704,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1923089192.blk","md5":"15985130617002001192","fileSize":5214421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2768887231.blk","md5":"16515292559003213247","fileSize":5139273,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3003915237.blk","md5":"5032217427707698149","fileSize":6943897,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3824545604.blk","md5":"16091057375849869124","fileSize":7673953,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1918713231.blk","md5":"16111418164626931087","fileSize":8788660,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1804080950.blk","md5":"12437869723562546998","fileSize":7161182,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2130810233.blk","md5":"14868439927703573881","fileSize":4383857,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4205349969.blk","md5":"10361560966028102737","fileSize":4494136,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1907330827.blk","md5":"8507676057404411659","fileSize":6877501,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2530289181.blk","md5":"11604427326180369949","fileSize":4752103,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/967626432.blk","md5":"9383661213741534912","fileSize":4210746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2315534719.blk","md5":"7853150624182190463","fileSize":4542263,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2671428362.blk","md5":"17334060118915597066","fileSize":4234837,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2609330366.blk","md5":"11988964711867037886","fileSize":5859785,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1570761748.blk","md5":"12697159128076774420","fileSize":4466187,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3094769887.blk","md5":"6920819237677592799","fileSize":5353517,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1512976885.blk","md5":"10190306993607946741","fileSize":4540594,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/276442576.blk","md5":"14914276770314857936","fileSize":5048235,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3887303512.blk","md5":"10480206860281678680","fileSize":4289544,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4158842922.blk","md5":"13939716525429811242","fileSize":4220228,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/166799477.blk","md5":"8308654748705302645","fileSize":4391468,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1898050746.blk","md5":"10985244559321199802","fileSize":4641851,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3547415382.blk","md5":"4197687321085166422","fileSize":4284275,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/885420156.blk","md5":"1904235951283400828","fileSize":4941533,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/891036472.blk","md5":"13802652721198408504","fileSize":4600809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3421096820.blk","md5":"1612399609024990068","fileSize":4532889,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3562750675.blk","md5":"5602031499636064979","fileSize":5469727,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2160602201.blk","md5":"3277167942882045017","fileSize":4918834,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2574856112.blk","md5":"12935028505426079664","fileSize":4487250,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1231298397.blk","md5":"17167178329965731677","fileSize":4541010,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/646356352.blk","md5":"14925651476172152192","fileSize":4304543,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4083301484.blk","md5":"5340465887296240748","fileSize":5045054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3682948300.blk","md5":"16885823863899116748","fileSize":6552188,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2873067377.blk","md5":"5881966360514234225","fileSize":5122570,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/665721859.blk","md5":"9503489387953789955","fileSize":7422636,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2218918619.blk","md5":"15863558737601102555","fileSize":5687233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2432523613.blk","md5":"1956247091957030237","fileSize":4216227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1610189468.blk","md5":"14232523212456561308","fileSize":6665040,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/602607622.blk","md5":"11642541396613337094","fileSize":4358405,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1213691666.blk","md5":"725522296513984274","fileSize":4361395,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2505457557.blk","md5":"4873697442808610709","fileSize":4274985,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2544540706.blk","md5":"6320709553078574114","fileSize":4313941,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/564037629.blk","md5":"8013288194594211837","fileSize":4416775,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2953430140.blk","md5":"3805960898364425340","fileSize":4211209,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3017810062.blk","md5":"15593311162683367566","fileSize":7001991,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/219882652.blk","md5":"15100658950537421980","fileSize":4511779,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3080811281.blk","md5":"1864720575023379217","fileSize":5598052,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3764595031.blk","md5":"5257292196023052631","fileSize":5213109,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/434540875.blk","md5":"4209656094746120523","fileSize":4447368,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1688792595.blk","md5":"1927086921858215443","fileSize":5480995,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3664078905.blk","md5":"9901035193117272121","fileSize":5255639,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3356040031.blk","md5":"496797796742536031","fileSize":4423418,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2539818595.blk","md5":"203903832615456355","fileSize":5929685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1161562721.blk","md5":"13745750684039121505","fileSize":4862604,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3493964830.blk","md5":"8923027352456375326","fileSize":4222803,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3237248676.blk","md5":"9724400517999001252","fileSize":4246304,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2975763170.blk","md5":"10201440705648167650","fileSize":4330053,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1582698614.blk","md5":"11378984835463123062","fileSize":5136303,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2272982736.blk","md5":"7605568973823473360","fileSize":4974818,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3062394447.blk","md5":"17358630158328163919","fileSize":6315456,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/225722666.blk","md5":"9874100749686030634","fileSize":4263676,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/245229723.blk","md5":"8913574207793522843","fileSize":5764799,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1481070721.blk","md5":"730800223177627777","fileSize":7500501,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/429436993.blk","md5":"1404889111530614849","fileSize":5596448,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3775500547.blk","md5":"17523572936320585987","fileSize":6840140,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2249229626.blk","md5":"13333277170073634106","fileSize":4283598,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/742601395.blk","md5":"11278010668890141363","fileSize":6017773,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/647447612.blk","md5":"9114188776222442556","fileSize":4685635,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4009181281.blk","md5":"5151280712501379169","fileSize":5682013,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1215847575.blk","md5":"3179818488084061335","fileSize":4274441,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/304513959.blk","md5":"13644868696037295015","fileSize":6188447,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4189471873.blk","md5":"13861932554605970561","fileSize":5845858,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1369762743.blk","md5":"9062341598194756535","fileSize":5515706,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1105834709.blk","md5":"17441415444843573973","fileSize":8206601,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3383418558.blk","md5":"16249458591078735550","fileSize":5198886,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/998142298.blk","md5":"3011289185261613402","fileSize":6340024,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2495603059.blk","md5":"3409009806978048371","fileSize":6919014,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/77209817.blk","md5":"11170014995467083993","fileSize":4922946,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3235314814.blk","md5":"3987266358862085246","fileSize":4222279,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/644081868.blk","md5":"2123882571424327884","fileSize":6586559,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/845883188.blk","md5":"3322680893959251764","fileSize":4258773,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3475713609.blk","md5":"2956991528283352649","fileSize":8066944,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2696496702.blk","md5":"49135708462990910","fileSize":7408316,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4232807367.blk","md5":"13312738737231987655","fileSize":7464274,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/205176411.blk","md5":"11845889925674876507","fileSize":4505289,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/791310480.blk","md5":"14541965688234995856","fileSize":4221549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3028415338.blk","md5":"6493561964088914794","fileSize":4234640,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/102804339.blk","md5":"8305488301182200691","fileSize":4223416,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1617256156.blk","md5":"2198937443722682076","fileSize":6225640,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/553349621.blk","md5":"7611093936429036021","fileSize":5511409,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/875244158.blk","md5":"10382627364968016510","fileSize":6085347,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2802186116.blk","md5":"16664397163375490948","fileSize":5865968,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1683315183.blk","md5":"1311553396063689199","fileSize":7055226,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2943768487.blk","md5":"3243527818477721511","fileSize":4227631,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3425547609.blk","md5":"4942709527996642649","fileSize":4593744,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/610504505.blk","md5":"5841536156057177913","fileSize":15267344,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3215224400.blk","md5":"13866219283180449360","fileSize":4395846,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3079605777.blk","md5":"13671783811452440081","fileSize":14754604,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3651277814.blk","md5":"7608316654759580662","fileSize":4499402,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1348749207.blk","md5":"1271534127415576471","fileSize":6796010,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2507231017.blk","md5":"3550538999551577897","fileSize":6818810,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/60276326.blk","md5":"14871446334020763238","fileSize":4403358,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2335583016.blk","md5":"6267773054449232680","fileSize":4333278,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3988510751.blk","md5":"10894936203929049119","fileSize":7371310,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4273130308.blk","md5":"12033079757147130692","fileSize":5352077,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2976522340.blk","md5":"2738076881498284132","fileSize":8147747,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/483449005.blk","md5":"5042167404123183277","fileSize":4270446,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1452363734.blk","md5":"4810639393340608470","fileSize":6037028,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3364718413.blk","md5":"14211987485215262541","fileSize":5906502,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1518630181.blk","md5":"3772948743205451045","fileSize":4955961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2699407075.blk","md5":"1573421770774785763","fileSize":4260545,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3153961948.blk","md5":"17214653251110937564","fileSize":4275939,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1967089490.blk","md5":"16422729046535661394","fileSize":4414382,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2010555844.blk","md5":"59376868315801028","fileSize":7752574,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2941852322.blk","md5":"6180406105925556898","fileSize":5931845,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4130614041.blk","md5":"14426187014090271513","fileSize":5910425,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3758874563.blk","md5":"404560389461499843","fileSize":4953206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1043168484.blk","md5":"11630455526586678500","fileSize":8342801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2402415563.blk","md5":"1640790364035085259","fileSize":5188950,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1149735152.blk","md5":"17111997191360581872","fileSize":5700206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2703024390.blk","md5":"11391552585201410310","fileSize":4642569,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3171550650.blk","md5":"6793423120411264442","fileSize":6302746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2420270989.blk","md5":"17204154417570539405","fileSize":5987685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1702837859.blk","md5":"7407469258902290019","fileSize":6025373,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1596861123.blk","md5":"5465011741596199619","fileSize":7228667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4013110823.blk","md5":"12845276631114397223","fileSize":6545722,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1471270707.blk","md5":"8951233633322127155","fileSize":4421449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2694205678.blk","md5":"10383220299907092718","fileSize":4355083,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3831381438.blk","md5":"13252487561212739006","fileSize":4738868,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2221138120.blk","md5":"3892843095278215368","fileSize":7296373,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3406767471.blk","md5":"17628669316806157679","fileSize":4944623,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3165688017.blk","md5":"12038540927215636689","fileSize":4932780,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1361594190.blk","md5":"6745928013032474446","fileSize":4200729,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1541894319.blk","md5":"7537993211787571375","fileSize":5546026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3166630395.blk","md5":"10749050526432686587","fileSize":6469907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1040287520.blk","md5":"18254961789139781408","fileSize":4623423,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1714606656.blk","md5":"16355145803145335360","fileSize":5158253,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3382865849.blk","md5":"14193544427512950713","fileSize":5762207,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/853915981.blk","md5":"10430689539342580045","fileSize":5051182,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1246016390.blk","md5":"10940396621833483142","fileSize":4736156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2909018282.blk","md5":"6527635391227631786","fileSize":5124569,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/43454257.blk","md5":"14862608347870727985","fileSize":4490649,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1142915322.blk","md5":"11412923834100056314","fileSize":5316865,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/403637455.blk","md5":"6175364752379675855","fileSize":5221030,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3377911628.blk","md5":"5122349803574318924","fileSize":4574666,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2191636682.blk","md5":"15441250954298636490","fileSize":4302201,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2907622030.blk","md5":"2355993073199008398","fileSize":5662108,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/987276654.blk","md5":"5933157536958555502","fileSize":4337600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2448772755.blk","md5":"13579114986557755027","fileSize":4818726,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/178721775.blk","md5":"13961917890302514159","fileSize":4242930,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3059353853.blk","md5":"617676618744858877","fileSize":4327468,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/290948277.blk","md5":"8050849452851168437","fileSize":4322319,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/128609853.blk","md5":"14311339060607217213","fileSize":5342502,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3552894187.blk","md5":"2140329374204091627","fileSize":8119645,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3909393258.blk","md5":"5086668315322260330","fileSize":9084008,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3729158996.blk","md5":"17599397345479783252","fileSize":4712790,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/356558062.blk","md5":"3760258939044799726","fileSize":5398385,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3047762249.blk","md5":"2907136874628327753","fileSize":4727067,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3580322302.blk","md5":"11538245725194772990","fileSize":6898112,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1411858449.blk","md5":"10788805343265112081","fileSize":5802542,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2461317371.blk","md5":"16418057582900721915","fileSize":4300009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/220112997.blk","md5":"10869082691767019621","fileSize":5650883,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1674828723.blk","md5":"5506707017895762867","fileSize":5284566,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3891084295.blk","md5":"5270275564457769991","fileSize":4393729,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3769426687.blk","md5":"8369767953631863551","fileSize":5625233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/473140790.blk","md5":"14690501831859342902","fileSize":7300795,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3704689174.blk","md5":"1987350284314153494","fileSize":6368996,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4042941119.blk","md5":"5577142783111226047","fileSize":5585642,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2256994089.blk","md5":"11519800364048514857","fileSize":4614273,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2162204989.blk","md5":"9047890760613011773","fileSize":4460934,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2679389729.blk","md5":"5578739719307804193","fileSize":4343281,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3684462563.blk","md5":"15951977018881241059","fileSize":5309105,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2758920505.blk","md5":"14177190286642497849","fileSize":5920664,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1165702826.blk","md5":"17438903486035736234","fileSize":4194565,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4008225197.blk","md5":"17366529355750615469","fileSize":4420867,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/135412551.blk","md5":"364495646705728327","fileSize":6142139,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/348567801.blk","md5":"12394522597168429305","fileSize":7054892,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1807595629.blk","md5":"16319409669585877101","fileSize":4483787,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2830778449.blk","md5":"5389996492578242641","fileSize":6580080,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1311250008.blk","md5":"7038183555174241880","fileSize":6491468,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4022961876.blk","md5":"11044863603777308372","fileSize":5564155,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2916615933.blk","md5":"16640294000298297085","fileSize":4842560,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4281267603.blk","md5":"16596914926462629267","fileSize":5730762,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/498488383.blk","md5":"8873754612762825791","fileSize":4468746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4023907812.blk","md5":"14474057942075700708","fileSize":7617215,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3727516073.blk","md5":"17109281447462396329","fileSize":5977506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/481464339.blk","md5":"10929948202588344339","fileSize":5698395,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2677362317.blk","md5":"5741586440875495053","fileSize":6663904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2633517560.blk","md5":"14558114500822190584","fileSize":5358602,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1150800214.blk","md5":"12936178623229448534","fileSize":4336274,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/645390881.blk","md5":"7464529410200691233","fileSize":5974795,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4077857931.blk","md5":"7170596106891373707","fileSize":6539668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3279256809.blk","md5":"11788125741058981097","fileSize":4195567,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3739974816.blk","md5":"3288473178852785312","fileSize":4354634,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1541241849.blk","md5":"9538568237866646521","fileSize":6461228,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4072668936.blk","md5":"3048532769610137352","fileSize":6892085,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3009297467.blk","md5":"10221976396022823995","fileSize":6573547,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1117961039.blk","md5":"9517587640029985615","fileSize":5358894,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1469233620.blk","md5":"1650597525785328084","fileSize":5884936,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2151359618.blk","md5":"9567962316045755522","fileSize":4509535,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3633544269.blk","md5":"15293734041897106509","fileSize":4219259,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2447841096.blk","md5":"720123725720524616","fileSize":4944118,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1805885522.blk","md5":"5227707660465578066","fileSize":5131582,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1780358310.blk","md5":"3920869388531408038","fileSize":4806026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1594179709.blk","md5":"2520812308725579901","fileSize":4282917,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2853887303.blk","md5":"12084936611039206727","fileSize":5513415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3396949875.blk","md5":"3542970486381696883","fileSize":5222296,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/598555289.blk","md5":"14240233880332090009","fileSize":4449145,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3909221919.blk","md5":"11926841941125365279","fileSize":4544884,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1931166328.blk","md5":"13925008334682538616","fileSize":4646324,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3744370397.blk","md5":"15047489389241208541","fileSize":6360629,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1271789498.blk","md5":"9659870852909234106","fileSize":7454767,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3627464236.blk","md5":"7084346712096421420","fileSize":6014983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3080592295.blk","md5":"11228113927321557927","fileSize":4341138,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/794843222.blk","md5":"5622564975301122134","fileSize":5327619,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/804946635.blk","md5":"1264132785824236235","fileSize":4203277,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3047585025.blk","md5":"8965045824520615169","fileSize":6163911,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3424080577.blk","md5":"17735593068823270081","fileSize":4413203,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2495961281.blk","md5":"3289199095801272513","fileSize":6108763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1818234193.blk","md5":"8704854303612865873","fileSize":7867874,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/220852217.blk","md5":"2736526979664310265","fileSize":5324663,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2182148504.blk","md5":"16887217751084560792","fileSize":5196205,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4194586222.blk","md5":"11511927854141296238","fileSize":4298350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3136106500.blk","md5":"8844282395196469252","fileSize":4481603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1356271753.blk","md5":"7265141416825131145","fileSize":5106820,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2423556785.blk","md5":"12602320139295427249","fileSize":8159274,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1624078113.blk","md5":"12260014294431528737","fileSize":5350913,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1385809009.blk","md5":"9431508412557542513","fileSize":4373163,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/289131667.blk","md5":"6428982708532923539","fileSize":4211294,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/870559008.blk","md5":"1146640300490599712","fileSize":4214709,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4093362140.blk","md5":"6222217862811729884","fileSize":4238023,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/354566186.blk","md5":"14292859358451744810","fileSize":4397684,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/164671220.blk","md5":"16823610919795863284","fileSize":4252470,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3023117518.blk","md5":"18430055118015634638","fileSize":4249839,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/492567833.blk","md5":"9332964991262522649","fileSize":4326493,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3234952560.blk","md5":"298874210289284464","fileSize":4454695,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1432440145.blk","md5":"14054572263255133521","fileSize":4200596,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/413785354.blk","md5":"10936721477615607050","fileSize":4221623,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/336197904.blk","md5":"2253392319175325968","fileSize":4211090,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/227211701.blk","md5":"15564156277642426805","fileSize":4205979,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1185319576.blk","md5":"6625777745859611288","fileSize":4277997,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2570865204.blk","md5":"14206176982080440884","fileSize":4223227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3488684595.blk","md5":"11364761864189844019","fileSize":4316355,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2823729998.blk","md5":"7703737461310927694","fileSize":4439733,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3586476348.blk","md5":"6827971326654105916","fileSize":4227081,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1520575407.blk","md5":"17405991091871818671","fileSize":4263445,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3235700858.blk","md5":"10324537573872820346","fileSize":4254180,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/882750051.blk","md5":"5302327351896289891","fileSize":4275836,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3141927767.blk","md5":"3501368234601743191","fileSize":4216367,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2331981124.blk","md5":"1668273455964828996","fileSize":4248190,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2007404128.blk","md5":"7959292743365594720","fileSize":4211926,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3629135173.blk","md5":"9901164355633820997","fileSize":4239780,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2146106498.blk","md5":"1286141097238264962","fileSize":4314185,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/105570891.blk","md5":"16448122252832727627","fileSize":4260071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4075250221.blk","md5":"12632789347614548525","fileSize":4214193,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/451562110.blk","md5":"14249176925513337470","fileSize":4220635,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1746171492.blk","md5":"5487627897064945252","fileSize":4201763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1695889990.blk","md5":"7254224357622626886","fileSize":4199278,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3885232937.blk","md5":"2772966005558997801","fileSize":4214564,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/940117524.blk","md5":"6983408883394481684","fileSize":4235028,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/682360091.blk","md5":"14807455831648107803","fileSize":4234984,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3706571772.blk","md5":"427062427447577596","fileSize":4250719,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2262279097.blk","md5":"3159867807694824377","fileSize":4254248,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1097231775.blk","md5":"12667524476031102367","fileSize":4218006,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3694880433.blk","md5":"2571108267648050865","fileSize":4217026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1186410904.blk","md5":"5838143299972968856","fileSize":4210980,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2313298753.blk","md5":"1711928212212294465","fileSize":4273512,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3634568534.blk","md5":"8593623564519939414","fileSize":4194499,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/388423183.blk","md5":"12722880990245477903","fileSize":4258386,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4162312898.blk","md5":"15345586237697678018","fileSize":4195303,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4054857460.blk","md5":"375472186874410740","fileSize":4214934,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/940229938.blk","md5":"12992828498623776050","fileSize":4229469,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1977237605.blk","md5":"10538613835162075237","fileSize":4241536,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1575595407.blk","md5":"1606996370817396111","fileSize":4202309,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3656120136.blk","md5":"2686041016924632904","fileSize":4234773,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2908469155.blk","md5":"1597888833869559715","fileSize":4240227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/944061699.blk","md5":"11110255688960785667","fileSize":4201256,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/281493627.blk","md5":"17926715459630481531","fileSize":7807378,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1811149550.blk","md5":"871647736040256238","fileSize":5967871,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2920708013.blk","md5":"16688267814336100269","fileSize":5278117,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/281736131.blk","md5":"15582529649573032899","fileSize":4256015,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3250940433.blk","md5":"4916485200542001681","fileSize":4243537,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3835203504.blk","md5":"9256504801390792624","fileSize":4203281,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4184230038.blk","md5":"5879792872150419606","fileSize":4290623,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4075525585.blk","md5":"17132875537118369233","fileSize":4226719,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1266294686.blk","md5":"7153853883473338270","fileSize":4214282,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1015598070.blk","md5":"4795580442995117046","fileSize":4218101,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4207198769.blk","md5":"1922566595851633201","fileSize":4235455,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4101526512.blk","md5":"2898650505636500464","fileSize":4357168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2018510681.blk","md5":"7767353287733413721","fileSize":4380951,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2672837300.blk","md5":"2533591499662181044","fileSize":4294694,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1569305813.blk","md5":"7592344940614104277","fileSize":4331154,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2336809979.blk","md5":"4553219472777339899","fileSize":4354100,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2287730651.blk","md5":"7085290791812988891","fileSize":4222366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3421007891.blk","md5":"9070799486068486163","fileSize":5352926,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/947084554.blk","md5":"171206455451671818","fileSize":6556226,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/356354575.blk","md5":"12475803053661719055","fileSize":6777216,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1073687608.blk","md5":"599067738941369400","fileSize":5739855,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/294724927.blk","md5":"13322117627608376639","fileSize":4333196,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2503387204.blk","md5":"8074584290449860676","fileSize":4234678,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1892545523.blk","md5":"6215888307177255923","fileSize":5869958,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/850990197.blk","md5":"13914835574712767605","fileSize":6856821,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1572894260.blk","md5":"5101215581965678132","fileSize":6680587,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/960450465.blk","md5":"10413896840092012449","fileSize":4455449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/185946559.blk","md5":"1046510030722257343","fileSize":4685125,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/296691444.blk","md5":"8541013634894997236","fileSize":5693395,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2931528593.blk","md5":"14223374542595396497","fileSize":7235595,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/788061749.blk","md5":"17956073039073959477","fileSize":4460891,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3778713327.blk","md5":"8345825181708228335","fileSize":7271602,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2409944986.blk","md5":"2140017459651205018","fileSize":6355447,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3459555345.blk","md5":"10197432603996626961","fileSize":6346161,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3772118480.blk","md5":"15890584588936148432","fileSize":7295644,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3274682655.blk","md5":"9113740109386068255","fileSize":4508200,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/254078465.blk","md5":"10233134348935425537","fileSize":6946914,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1354220551.blk","md5":"14779299272267908103","fileSize":4375779,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3733444103.blk","md5":"14690398601285719559","fileSize":4207094,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3725417.blk","md5":"4886039097551411305","fileSize":6174823,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3652681227.blk","md5":"6870416018900483595","fileSize":7299737,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2719884461.blk","md5":"11090705064029725869","fileSize":7327515,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1000747138.blk","md5":"18225609325469380738","fileSize":4447722,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3665870866.blk","md5":"14968049364818247698","fileSize":6921309,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2574675029.blk","md5":"2739639252759768149","fileSize":6001796,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/468186432.blk","md5":"15088673238955849024","fileSize":4944780,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2202947430.blk","md5":"3842623447122202470","fileSize":6139039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1668491057.blk","md5":"17298515655765731121","fileSize":6233763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3706170738.blk","md5":"5979953205527162226","fileSize":6748728,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/960612832.blk","md5":"3947636564498172384","fileSize":6149434,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/675287432.blk","md5":"5044279317043876232","fileSize":7479464,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3422958525.blk","md5":"1634163260582671293","fileSize":4543222,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/737756119.blk","md5":"7965272036651647959","fileSize":4326711,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2968545633.blk","md5":"17875749559317064033","fileSize":4360223,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3880966760.blk","md5":"500093729400609384","fileSize":4309466,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3243341111.blk","md5":"2938703346851214647","fileSize":4581474,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1235649695.blk","md5":"9241916822111290527","fileSize":5698463,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3362891315.blk","md5":"11379740425069897267","fileSize":7646360,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/148718622.blk","md5":"14742233050462897182","fileSize":4308459,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/671819160.blk","md5":"16598349128397432216","fileSize":4313836,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4218867692.blk","md5":"1399766791293947884","fileSize":7045498,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1327693053.blk","md5":"16684761435802369277","fileSize":8105506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/946167421.blk","md5":"10545272373469601405","fileSize":4731604,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2646347214.blk","md5":"395303806113156558","fileSize":4510195,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2535351347.blk","md5":"14439813745429341235","fileSize":7195615,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/406272833.blk","md5":"12812402591341689665","fileSize":7064909,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/372091725.blk","md5":"8317114417144507213","fileSize":4813124,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2996593508.blk","md5":"4024523554943689572","fileSize":4609202,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3475223410.blk","md5":"15944995721131045746","fileSize":4516335,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/939563147.blk","md5":"17786354357097240715","fileSize":5191367,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/490594534.blk","md5":"8567046303748317414","fileSize":7562762,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/190270101.blk","md5":"8377982762201074325","fileSize":6453969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3388933476.blk","md5":"8762895123127141732","fileSize":4675968,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1450053362.blk","md5":"10724701706575023858","fileSize":6632421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4140010336.blk","md5":"6078779810736474976","fileSize":7433225,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2811828270.blk","md5":"12719481800932005934","fileSize":5086206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1549874500.blk","md5":"307192237406631236","fileSize":8127244,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1827578657.blk","md5":"12742035824270287649","fileSize":4252725,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/994015098.blk","md5":"14551398140994353018","fileSize":4287070,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/412408553.blk","md5":"15502530686905277161","fileSize":5989663,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1906867469.blk","md5":"5456071299328146701","fileSize":7181654,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1700493263.blk","md5":"4062757283797104591","fileSize":4414239,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1894133128.blk","md5":"12752901455940562312","fileSize":7501725,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3026202608.blk","md5":"6123899308650541040","fileSize":6620922,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2544629156.blk","md5":"6450105686367663524","fileSize":4435474,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4188708336.blk","md5":"11975943072684613104","fileSize":4344359,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1846985574.blk","md5":"7260459258718110566","fileSize":4227053,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2753280914.blk","md5":"12266828583298382738","fileSize":8086309,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2019905587.blk","md5":"11092622517119307827","fileSize":4566662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1537288036.blk","md5":"7331001454840325988","fileSize":4896733,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/778991799.blk","md5":"4924005045855221943","fileSize":5419331,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1910140647.blk","md5":"13028762828806975207","fileSize":6525359,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1111360023.blk","md5":"6690036220379922967","fileSize":7705783,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/312748542.blk","md5":"8934503407400790526","fileSize":5776950,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/695737662.blk","md5":"7833805784918531390","fileSize":6640090,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2063314399.blk","md5":"6948413439450263007","fileSize":4546366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1312552933.blk","md5":"11489844757215836133","fileSize":6829745,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/695363377.blk","md5":"2497211243491911473","fileSize":4770773,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/879824853.blk","md5":"2938092192116314069","fileSize":7046807,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2399051340.blk","md5":"2575127307769257548","fileSize":5467255,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/367525199.blk","md5":"4503943195056930127","fileSize":4281995,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2594752814.blk","md5":"2186187357540632878","fileSize":4705838,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3059578047.blk","md5":"4984188672507999423","fileSize":5849900,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1621344391.blk","md5":"15059131226686472327","fileSize":8107103,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2087292375.blk","md5":"7610398651477233111","fileSize":4210354,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/123456198.blk","md5":"9437590978339523270","fileSize":7002702,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3000608880.blk","md5":"17888623513365489776","fileSize":4434350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3047120621.blk","md5":"44206963258515181","fileSize":4650587,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4039144937.blk","md5":"8091371837381965289","fileSize":5871931,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/989799074.blk","md5":"1660634464444687010","fileSize":4274502,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3278417625.blk","md5":"17718267853505343193","fileSize":4241043,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1941005986.blk","md5":"14157951314829600418","fileSize":4336355,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3256439400.blk","md5":"17525828489416626792","fileSize":5652788,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/266301387.blk","md5":"13463317228646526923","fileSize":5953938,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2998983210.blk","md5":"7907686341473786410","fileSize":4462544,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2774731565.blk","md5":"3439657774758431533","fileSize":6976149,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2539844013.blk","md5":"18195732426395939245","fileSize":4844426,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/719433477.blk","md5":"1204849150288572165","fileSize":6140585,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/56984915.blk","md5":"17365574700828558675","fileSize":6874867,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3235711588.blk","md5":"16021134792286079588","fileSize":6524180,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2592113416.blk","md5":"2332018243314680584","fileSize":4199338,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3322242026.blk","md5":"4133420767432238058","fileSize":4557158,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/481783769.blk","md5":"17010388065584639961","fileSize":4667827,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3040519071.blk","md5":"5303325766446654367","fileSize":5992590,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1823120227.blk","md5":"6742647899725405027","fileSize":5137198,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/553459931.blk","md5":"10150928546340348123","fileSize":4933899,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3088058169.blk","md5":"6815509749129283385","fileSize":4847770,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1127388571.blk","md5":"15344025851569280411","fileSize":5371022,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3787664392.blk","md5":"1083053188036373512","fileSize":6702313,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3685014051.blk","md5":"5633995857555937827","fileSize":5916536,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/840555962.blk","md5":"1460754919791910330","fileSize":4284627,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1131896183.blk","md5":"13717127398451273079","fileSize":4329120,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2115451706.blk","md5":"8733716973765475130","fileSize":4727815,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2392503856.blk","md5":"18173604497041569328","fileSize":6313347,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1400198081.blk","md5":"6330848968992707521","fileSize":7838805,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2775799589.blk","md5":"17639574577442150181","fileSize":4722735,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3719053904.blk","md5":"16001176771234644560","fileSize":6246928,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2066731321.blk","md5":"405289325323866425","fileSize":6318519,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1009150736.blk","md5":"11453696933464795920","fileSize":4749471,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3316715516.blk","md5":"5089168982128267260","fileSize":5226932,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2040761498.blk","md5":"2155132961025133722","fileSize":4931110,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3959072745.blk","md5":"12496150859966228457","fileSize":4910115,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3100489267.blk","md5":"14886821641375823411","fileSize":6029123,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1017002047.blk","md5":"15992585893342754879","fileSize":5060617,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/239923595.blk","md5":"633969617312477579","fileSize":4611563,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/342277286.blk","md5":"10390547808114883750","fileSize":4479937,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3112075513.blk","md5":"5988876802649391353","fileSize":6024751,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3614747351.blk","md5":"1073584150775376599","fileSize":4284109,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2529715266.blk","md5":"1973392962277106754","fileSize":4425632,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4246875656.blk","md5":"16691491115603471880","fileSize":6779596,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/123517014.blk","md5":"12572178374339639382","fileSize":4417511,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/23052220.blk","md5":"618316183583571900","fileSize":4222567,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3244656543.blk","md5":"12840276626988435359","fileSize":5312219,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1687013514.blk","md5":"11556973232410970250","fileSize":5809289,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1549370939.blk","md5":"5007123963862156859","fileSize":4264206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1636832081.blk","md5":"13746122293674775377","fileSize":4298389,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1501235375.blk","md5":"7954033375016847535","fileSize":5958616,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1219297616.blk","md5":"14886789405765075280","fileSize":4978550,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1692885267.blk","md5":"2106871345180008723","fileSize":4616256,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/437131920.blk","md5":"17043390834760620688","fileSize":4631871,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/105708469.blk","md5":"7501789277450992565","fileSize":4653412,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2373550364.blk","md5":"3557863722543841564","fileSize":7441301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2388099279.blk","md5":"13041827303755579599","fileSize":5134028,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1942499313.blk","md5":"5086368502394865","fileSize":4780939,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4283240676.blk","md5":"902429133467619556","fileSize":4400089,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/326400505.blk","md5":"10662548529336318457","fileSize":6938471,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1813897981.blk","md5":"6042766146856149757","fileSize":5220757,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2819624516.blk","md5":"4889340014662520388","fileSize":4833004,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2385146832.blk","md5":"228630173932221392","fileSize":4333388,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4042584215.blk","md5":"349236512278507671","fileSize":4664724,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1505546993.blk","md5":"3356768533923812081","fileSize":6729014,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3866495743.blk","md5":"15559446162446879487","fileSize":4204510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2154621744.blk","md5":"719428713819466544","fileSize":4392300,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1408103230.blk","md5":"3471385792024015678","fileSize":4296380,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2981111606.blk","md5":"17774594231876200246","fileSize":5172619,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/384760869.blk","md5":"16780490079724305445","fileSize":6298109,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2380722118.blk","md5":"10857653472420360134","fileSize":4480788,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2471261452.blk","md5":"4887915051539526924","fileSize":4344671,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/245042098.blk","md5":"14211098419570346930","fileSize":6451350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1294776710.blk","md5":"3378966801599478150","fileSize":4243241,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4166008777.blk","md5":"9942399619920052169","fileSize":5820655,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2299904930.blk","md5":"727162305092371362","fileSize":6984826,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3420014517.blk","md5":"7744045880304027573","fileSize":5243388,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1523371896.blk","md5":"2891679483374129016","fileSize":5369489,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1979463432.blk","md5":"335859658478335752","fileSize":6898662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2197646301.blk","md5":"18113855304121543645","fileSize":7474244,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2057438861.blk","md5":"9394111282579375757","fileSize":4484462,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3551309296.blk","md5":"8775786493398265328","fileSize":4369226,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2782332382.blk","md5":"3219849113857623518","fileSize":5849523,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3281573328.blk","md5":"10770027417404233168","fileSize":5561254,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1828389243.blk","md5":"11584693411042230651","fileSize":6556962,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/493482819.blk","md5":"16351989400393610051","fileSize":7768382,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3187361820.blk","md5":"8501438035298830364","fileSize":4564561,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/344297834.blk","md5":"1774836952710091114","fileSize":7009254,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1664926601.blk","md5":"495434963273696137","fileSize":4961833,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1076572644.blk","md5":"11114196441846460900","fileSize":7547591,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1709960884.blk","md5":"11849699954013236916","fileSize":4276681,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/391748252.blk","md5":"3749791360750295708","fileSize":5430086,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3527470619.blk","md5":"150896133214891547","fileSize":4793041,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2730895754.blk","md5":"17527016506909927818","fileSize":4322988,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1532031999.blk","md5":"5365070313569711103","fileSize":4994689,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3345213725.blk","md5":"16794540119005849885","fileSize":4259221,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3934595355.blk","md5":"16001388625007028507","fileSize":6642303,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/168010682.blk","md5":"5578186735462097850","fileSize":5030648,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1937206330.blk","md5":"915533789306252346","fileSize":5108562,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2221466974.blk","md5":"5939126486172231006","fileSize":7529598,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4122218983.blk","md5":"17295209589963493863","fileSize":7776921,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1682488304.blk","md5":"864676110636989424","fileSize":4897526,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2540179533.blk","md5":"2396906716544897101","fileSize":5826852,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3262392295.blk","md5":"1792534080608544743","fileSize":4334994,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/308196956.blk","md5":"17179677813450389084","fileSize":4496188,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2657560523.blk","md5":"18322870721264953291","fileSize":4253125,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2386221585.blk","md5":"636108672085973521","fileSize":4253735,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1597668122.blk","md5":"16419144513705638682","fileSize":4280647,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2000539347.blk","md5":"10686275901743550163","fileSize":4248694,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2748611506.blk","md5":"6404497892711889842","fileSize":4315305,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3716092874.blk","md5":"1608288853171311562","fileSize":4549149,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1805829284.blk","md5":"16563637946874512548","fileSize":4531429,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2970863403.blk","md5":"13952229104004876075","fileSize":4362305,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/825730495.blk","md5":"13139577515149862335","fileSize":4392589,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3925206719.blk","md5":"13955679827713713855","fileSize":4214375,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2816190076.blk","md5":"4909459617158506108","fileSize":4255109,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/470936078.blk","md5":"5283195136196602382","fileSize":4408549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3042528443.blk","md5":"9411757843894848699","fileSize":4653249,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1142301866.blk","md5":"14938246317939762346","fileSize":4541586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1913593316.blk","md5":"9240358136207842788","fileSize":4223050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2831284096.blk","md5":"10899135516851173248","fileSize":4301159,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2785037731.blk","md5":"6032142735199194531","fileSize":4842374,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/246971703.blk","md5":"398891531630050615","fileSize":4491802,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/496987645.blk","md5":"3575276411438460413","fileSize":4434299,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/444200119.blk","md5":"12387762224250877111","fileSize":4233127,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/837509651.blk","md5":"7082280692598137363","fileSize":4275083,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/377204448.blk","md5":"2198886044608999136","fileSize":17892814,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1585681386.blk","md5":"7488923957798867946","fileSize":4565020,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2243100512.blk","md5":"6280949318236176224","fileSize":4280782,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2761416489.blk","md5":"8214188904129486633","fileSize":4821755,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/233146136.blk","md5":"18178213763589965592","fileSize":4201377,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2390064203.blk","md5":"14059749447856127051","fileSize":8011492,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2485678052.blk","md5":"8536858075836477412","fileSize":24126320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1704435156.blk","md5":"7561879964624592340","fileSize":4624020,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2736119950.blk","md5":"448889776692912270","fileSize":5296625,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3008343765.blk","md5":"11501381659543973589","fileSize":4444962,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4161003822.blk","md5":"3500826026064470318","fileSize":4233214,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3529733956.blk","md5":"3168989155562846020","fileSize":7702545,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3433574872.blk","md5":"16010650957703033304","fileSize":4283076,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4105124040.blk","md5":"6458860978761054408","fileSize":4330853,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3788780218.blk","md5":"13592388949398270650","fileSize":4332955,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/69787403.blk","md5":"10076359727390449419","fileSize":8365002,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2484936222.blk","md5":"238437302355697182","fileSize":4763675,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3162315457.blk","md5":"16546309056566729409","fileSize":6269287,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/350530836.blk","md5":"9097208128799550740","fileSize":5257414,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/726541570.blk","md5":"12243610000954369282","fileSize":4598380,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4048717071.blk","md5":"3078308016912762127","fileSize":4516330,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3259383172.blk","md5":"7846762677317025156","fileSize":4533034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3600716975.blk","md5":"13010018218828272815","fileSize":5957428,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3994105267.blk","md5":"5918906391800657331","fileSize":5074601,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2778048876.blk","md5":"7476025579495860588","fileSize":4203799,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1502406948.blk","md5":"4947234325659445540","fileSize":4909809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4048441813.blk","md5":"9067752581061562837","fileSize":6721661,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1832255832.blk","md5":"7700817376479412568","fileSize":4499960,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3569325455.blk","md5":"9077908189667628431","fileSize":4344637,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/375759767.blk","md5":"15405142281956991895","fileSize":5424909,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4251778938.blk","md5":"2707931323366702970","fileSize":4385960,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1369428613.blk","md5":"10028203683488977541","fileSize":4202818,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/35870213.blk","md5":"13500012200632473093","fileSize":4201879,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/732321160.blk","md5":"14341894579541136776","fileSize":4198708,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1324333650.blk","md5":"14529691295006308946","fileSize":4195341,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2877501876.blk","md5":"11017964381370790324","fileSize":4299508,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3837348866.blk","md5":"5245688392757890050","fileSize":4225829,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3997743347.blk","md5":"5128820687821650163","fileSize":4195632,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3787623309.blk","md5":"3993938896051407757","fileSize":4942809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3500777432.blk","md5":"13067193257164382168","fileSize":5514744,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2244805181.blk","md5":"1823903064727028285","fileSize":4668728,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1720776825.blk","md5":"2232946038552983673","fileSize":4792498,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3711521941.blk","md5":"16648771321642701973","fileSize":6116354,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2906875492.blk","md5":"13779014172404835940","fileSize":6136179,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1098810203.blk","md5":"4383749218909455195","fileSize":4628247,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1874427486.blk","md5":"11496044581724192350","fileSize":5578979,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/847425882.blk","md5":"8457765413923762522","fileSize":4764160,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4107648680.blk","md5":"3213671835519794856","fileSize":5753251,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2861128884.blk","md5":"1431260561052097716","fileSize":6100660,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/339820317.blk","md5":"383198386943246109","fileSize":4839076,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2742182489.blk","md5":"15904075733017977433","fileSize":5071574,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1226318474.blk","md5":"4023109465255977610","fileSize":6042249,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2922560312.blk","md5":"5967153944503434040","fileSize":5357046,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/519574347.blk","md5":"5595085804330816331","fileSize":4476198,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/300205970.blk","md5":"11509242022513133458","fileSize":5003559,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4144620143.blk","md5":"5889388207007195759","fileSize":4515166,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1360664418.blk","md5":"7092351154479830882","fileSize":5362632,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3319202085.blk","md5":"5947637420233523493","fileSize":4207533,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1945348163.blk","md5":"539357700009732163","fileSize":5894156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/292571842.blk","md5":"14951534786990066370","fileSize":4585500,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1776599059.blk","md5":"8099296277413806099","fileSize":5641863,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1375606194.blk","md5":"7780209563021481394","fileSize":4617638,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1613736289.blk","md5":"6099965954168432993","fileSize":6027042,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/58231053.blk","md5":"8952045672785807629","fileSize":4539369,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/182329713.blk","md5":"13924697536215261553","fileSize":5136549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/539347015.blk","md5":"4186597154173077575","fileSize":5668200,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1584178977.blk","md5":"15790934817130719009","fileSize":5975778,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3379021240.blk","md5":"8650458969571575224","fileSize":4584887,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/697357761.blk","md5":"2957841993454114241","fileSize":5910994,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3866818027.blk","md5":"1903230090103944683","fileSize":5130300,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2862902835.blk","md5":"12956648387534679603","fileSize":4497600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1327404414.blk","md5":"17996176442041210238","fileSize":5884120,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1668051288.blk","md5":"8012321548883751256","fileSize":4900382,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3951969011.blk","md5":"16906400721770791667","fileSize":4590109,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2144896496.blk","md5":"3145282399287936496","fileSize":6003913,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1245405506.blk","md5":"13204601404875563330","fileSize":4656417,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1111353052.blk","md5":"9567814963267757788","fileSize":5622350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3398786470.blk","md5":"2788723806289878438","fileSize":6049635,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3704901813.blk","md5":"14785896005082828981","fileSize":5139860,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1858113067.blk","md5":"2588141509106765355","fileSize":4877781,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/957071236.blk","md5":"4844244264941240196","fileSize":5859566,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1383066722.blk","md5":"9615456037866826850","fileSize":4503095,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2771140938.blk","md5":"9841014677825143114","fileSize":4683224,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2086969211.blk","md5":"15768879683827179387","fileSize":5134360,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1263308670.blk","md5":"1561325844353027966","fileSize":4801580,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1267563451.blk","md5":"6595040451710778299","fileSize":4743509,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1232490093.blk","md5":"17836286229834255981","fileSize":4429173,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1555027768.blk","md5":"8716956481807701816","fileSize":5064654,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1041449735.blk","md5":"13044029443810738951","fileSize":4486086,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/273744322.blk","md5":"6399413744175219138","fileSize":5968620,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2562277329.blk","md5":"13545361049145393105","fileSize":4469266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/855399703.blk","md5":"11887734800552582423","fileSize":5208315,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3475024842.blk","md5":"12572153904967494602","fileSize":4942473,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4084402652.blk","md5":"15560877383206767068","fileSize":5052736,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3561893553.blk","md5":"17983550696419372721","fileSize":5151609,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2869132384.blk","md5":"12388555545790086240","fileSize":4947040,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/29789754.blk","md5":"6464790361721441850","fileSize":4477261,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2908953994.blk","md5":"6575374953449987466","fileSize":4840352,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3069987111.blk","md5":"7982758465753598247","fileSize":5509569,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3105117793.blk","md5":"17937410858734081633","fileSize":4624809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/550170544.blk","md5":"17995253981073043376","fileSize":5377784,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1857782337.blk","md5":"13164975186811519553","fileSize":5538913,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/565321293.blk","md5":"15335346314807483981","fileSize":4516784,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3878469219.blk","md5":"6648146518050913891","fileSize":4674591,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2811395945.blk","md5":"1700449019258634089","fileSize":4706380,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2956223386.blk","md5":"2769415746008408986","fileSize":4397299,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3304208211.blk","md5":"18407894272460339027","fileSize":5889220,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2333486304.blk","md5":"10477496008514612448","fileSize":4294415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2289760468.blk","md5":"12632660329306454228","fileSize":4211936,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4142349880.blk","md5":"7226055104093699640","fileSize":5163627,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1694958069.blk","md5":"3213244668544745973","fileSize":5199504,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3324309604.blk","md5":"14197885265001115748","fileSize":5968499,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3063198123.blk","md5":"14657442328710787499","fileSize":4548013,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1462195448.blk","md5":"3646035156791678200","fileSize":4560427,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2534689902.blk","md5":"16380430126113115246","fileSize":5867921,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2744233395.blk","md5":"17982766915609800115","fileSize":4382923,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2318081593.blk","md5":"12391366880507141689","fileSize":5331753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1833926074.blk","md5":"8831091724694551994","fileSize":5243241,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/101694896.blk","md5":"1033266494685822384","fileSize":5875276,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2409629333.blk","md5":"11198545679567816341","fileSize":4619304,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/359765262.blk","md5":"15310596170421736718","fileSize":5836362,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2241975185.blk","md5":"11409972621436113809","fileSize":4794670,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/36913326.blk","md5":"1190114383828828334","fileSize":4340535,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/653940194.blk","md5":"17855828128589043170","fileSize":5304686,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4284306421.blk","md5":"12616964983203124213","fileSize":4619237,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3578991409.blk","md5":"7001757643451863857","fileSize":5974087,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1696724028.blk","md5":"15379625435895821372","fileSize":5143152,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3582506586.blk","md5":"17274496259235296858","fileSize":6046107,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/759918091.blk","md5":"5251699750461992459","fileSize":6159174,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2903813546.blk","md5":"16835852021710237098","fileSize":5379724,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/207829043.blk","md5":"15695029806647425075","fileSize":4828481,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2693249603.blk","md5":"11241825373803493955","fileSize":5384703,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3719606823.blk","md5":"9685432542197756455","fileSize":5065427,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2043460071.blk","md5":"5418183430146669031","fileSize":5912417,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2967542930.blk","md5":"4754549565806419090","fileSize":4472753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3738793064.blk","md5":"17604731690576082024","fileSize":4794449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/33354050.blk","md5":"8590878814823575874","fileSize":5859893,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2888489552.blk","md5":"15708476896665328208","fileSize":5632740,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2440749008.blk","md5":"18269400783394627536","fileSize":5161568,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/189194584.blk","md5":"10255967331318948184","fileSize":4818904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/439089241.blk","md5":"7234719032973981785","fileSize":5676664,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4121678277.blk","md5":"10226336587804561861","fileSize":4768086,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3681986359.blk","md5":"3388559518953023287","fileSize":5749007,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3188447711.blk","md5":"9615316728112994783","fileSize":6176600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1028491518.blk","md5":"1219447632767584510","fileSize":4395926,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/446463987.blk","md5":"365620292793171955","fileSize":5480792,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/588003151.blk","md5":"11015125560317458255","fileSize":5796592,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1384288600.blk","md5":"10851473924018049368","fileSize":4787533,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3654114993.blk","md5":"4501290695260987057","fileSize":4487842,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3929279581.blk","md5":"2483535130257525853","fileSize":5109762,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3566501764.blk","md5":"868572051585400708","fileSize":5959212,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3214078290.blk","md5":"7306064146252099922","fileSize":5935622,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1786733384.blk","md5":"5490286224163693384","fileSize":5195032,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2376784264.blk","md5":"11601718606117394824","fileSize":5626003,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/970079252.blk","md5":"2799475915184290836","fileSize":5238034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/600797193.blk","md5":"11145726925867020297","fileSize":5875902,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4245634277.blk","md5":"13246029219303996645","fileSize":4443314,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4139458536.blk","md5":"7360738793092751336","fileSize":5885225,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2533230822.blk","md5":"827197385049245926","fileSize":4570118,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/244071660.blk","md5":"15883311397594741996","fileSize":4385559,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2827254521.blk","md5":"1014871904101890809","fileSize":4625526,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3176208556.blk","md5":"10699710302923069612","fileSize":5639627,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2729640689.blk","md5":"17844923951729541873","fileSize":4737401,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/638087.blk","md5":"17579834315473796231","fileSize":4226055,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1642206471.blk","md5":"10648400126695052551","fileSize":4843739,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2904420009.blk","md5":"1249645416557702825","fileSize":4648494,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4227074075.blk","md5":"4692985969701554203","fileSize":5607609,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2419246219.blk","md5":"1947252541367698571","fileSize":5962390,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2689769899.blk","md5":"9787570694577627563","fileSize":5002479,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3353432599.blk","md5":"13107372212214649367","fileSize":4718557,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2897917074.blk","md5":"5002487689748591762","fileSize":6016130,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3053500725.blk","md5":"10018122602360387893","fileSize":4864980,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2897734370.blk","md5":"7180876960337750754","fileSize":5647654,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3421196929.blk","md5":"8537727141929505409","fileSize":4486039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/295360766.blk","md5":"5409145030501390590","fileSize":5000986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1387946126.blk","md5":"12558281343197929614","fileSize":4556287,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3720979919.blk","md5":"10883429973390632399","fileSize":4868822,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1234754427.blk","md5":"2523945289440091003","fileSize":4318763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2728683015.blk","md5":"8929917381177009671","fileSize":5915861,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/523278199.blk","md5":"2793965076559730551","fileSize":5449773,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2905448531.blk","md5":"13008694771205382227","fileSize":4708788,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1550780689.blk","md5":"17214264494837926161","fileSize":5100709,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3365278743.blk","md5":"6667270452128650263","fileSize":4465289,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2460881931.blk","md5":"17385933840352941067","fileSize":5028977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1798849212.blk","md5":"9108694333086253756","fileSize":5388920,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1769655645.blk","md5":"9787531940167601501","fileSize":4425770,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/928965146.blk","md5":"2666918728873992730","fileSize":5118755,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2459513547.blk","md5":"11410181580402537163","fileSize":5059715,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2989470597.blk","md5":"666503748221121413","fileSize":5737305,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2327589269.blk","md5":"12668736486967619989","fileSize":4319857,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3913491344.blk","md5":"14599725661389267856","fileSize":4648404,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4244125506.blk","md5":"8767259888791861058","fileSize":4711931,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3166685541.blk","md5":"17847229817028594021","fileSize":4505426,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1243223160.blk","md5":"1078093919899227256","fileSize":5436946,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3884051360.blk","md5":"14863927181549104032","fileSize":4655665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/752610849.blk","md5":"6903220980502228513","fileSize":5307865,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3074751039.blk","md5":"1290486484083997247","fileSize":5431278,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2391813535.blk","md5":"12887386859685031327","fileSize":4298985,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1400753374.blk","md5":"10710229547933879518","fileSize":5749914,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1862855933.blk","md5":"973162427754015997","fileSize":5029307,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/938856915.blk","md5":"4707526024143163859","fileSize":5182182,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2548894546.blk","md5":"16331380122138250066","fileSize":5792901,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/389818818.blk","md5":"232439700554262978","fileSize":5631708,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3391428863.blk","md5":"17082562876484688127","fileSize":5651527,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/195920675.blk","md5":"15278356878718763811","fileSize":5228405,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/205473389.blk","md5":"7614229373876389485","fileSize":4579655,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3046402805.blk","md5":"17362253869464447733","fileSize":4335216,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3491982093.blk","md5":"9242578571453754125","fileSize":5468708,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/386472685.blk","md5":"13137567671879539437","fileSize":4913345,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3674663456.blk","md5":"13176530029339142688","fileSize":4745531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2546342685.blk","md5":"8116642719084190493","fileSize":5427435,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2400000621.blk","md5":"4026226526059829869","fileSize":5681886,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3237070514.blk","md5":"6763637479329351346","fileSize":4581420,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2868964433.blk","md5":"13410015334191131729","fileSize":5815821,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1530805413.blk","md5":"6489332755539573925","fileSize":5064044,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3050592316.blk","md5":"9924812427807184956","fileSize":4448792,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/539293303.blk","md5":"16860104604449568375","fileSize":5775214,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3373199429.blk","md5":"15727912126675611717","fileSize":5486374,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3340899683.blk","md5":"4809388378630002019","fileSize":4884887,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2150862887.blk","md5":"12963015190507655207","fileSize":5442357,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3813363365.blk","md5":"3760054063971651237","fileSize":5986266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4181425386.blk","md5":"6696694462140873962","fileSize":4644181,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2108676840.blk","md5":"12694782688850074344","fileSize":5631157,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/386163304.blk","md5":"2751496061842645608","fileSize":4627890,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/144482443.blk","md5":"2861385819231133835","fileSize":5156832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1904434110.blk","md5":"9376784387921894334","fileSize":4564690,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3350787433.blk","md5":"15288070418564969833","fileSize":4414964,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2610847170.blk","md5":"11750976485188328898","fileSize":5697037,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/71762826.blk","md5":"8363731326155031434","fileSize":4855242,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1785639561.blk","md5":"233680191584383625","fileSize":5151931,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3801440578.blk","md5":"6818132239693734210","fileSize":4905929,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2236038300.blk","md5":"15239477883312749724","fileSize":4552652,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2261678274.blk","md5":"17717025262615296194","fileSize":5490387,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1841168028.blk","md5":"13341766932735327900","fileSize":4693036,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2570970932.blk","md5":"4348393753975580468","fileSize":4776147,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2376019208.blk","md5":"9394238731757497608","fileSize":4503030,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3295451940.blk","md5":"15964427183790529316","fileSize":4671713,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1227277.blk","md5":"15951569019074689549","fileSize":5067996,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2072408353.blk","md5":"12191079936635072801","fileSize":6326236,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/675361219.blk","md5":"15878783407279387075","fileSize":4708971,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4256583676.blk","md5":"3647001896594853884","fileSize":4625281,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4051092099.blk","md5":"2244882300459729539","fileSize":4255679,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3027510112.blk","md5":"12374404049614938976","fileSize":4777880,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1136324773.blk","md5":"8268122211294572709","fileSize":4941491,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2941997554.blk","md5":"2788967888824521202","fileSize":5265458,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3604122738.blk","md5":"9724325811704728690","fileSize":5989653,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2551422541.blk","md5":"15939122227875913293","fileSize":5468746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3617926044.blk","md5":"12337429338179054492","fileSize":4350918,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4232033909.blk","md5":"15722252954071185013","fileSize":4271913,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/799376203.blk","md5":"14606685889001521995","fileSize":5135195,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3507616804.blk","md5":"14936277451462016036","fileSize":4482805,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3580796905.blk","md5":"14770155151682346985","fileSize":6302087,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2494266908.blk","md5":"10740137034102046236","fileSize":5556028,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/133329172.blk","md5":"12939011625590092052","fileSize":4771971,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/90685265.blk","md5":"1635071569819058001","fileSize":4237366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3854675157.blk","md5":"3534634651102588117","fileSize":5147092,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3480077386.blk","md5":"9918029489465312330","fileSize":4984917,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1296423152.blk","md5":"7096204070792583408","fileSize":4959633,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/309654256.blk","md5":"3927133803020350192","fileSize":4858171,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1606154939.blk","md5":"13297161970554501819","fileSize":5028627,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/18192973.blk","md5":"16043753899325495885","fileSize":4942309,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3391673440.blk","md5":"15535523889918039136","fileSize":4427942,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3315335936.blk","md5":"17790095039764628224","fileSize":5039394,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1257268233.blk","md5":"4825016040254628873","fileSize":4721872,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2662650437.blk","md5":"2612117997337498181","fileSize":5150743,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4288921832.blk","md5":"3245406107805663464","fileSize":5374251,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/785642125.blk","md5":"2992049492499624589","fileSize":5013209,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/859802141.blk","md5":"12184494693995743773","fileSize":4792245,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2198940284.blk","md5":"5017500343505857148","fileSize":4725020,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3474903770.blk","md5":"13253935256892789466","fileSize":4596750,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2146743630.blk","md5":"9682195007162070350","fileSize":5053730,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1965532416.blk","md5":"16236776058041902336","fileSize":5871003,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/961775180.blk","md5":"9487856261343184460","fileSize":4542365,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/778160795.blk","md5":"9148722435126839963","fileSize":4318275,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2846289234.blk","md5":"4982459445446896978","fileSize":5333525,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/887395606.blk","md5":"12770362472677020950","fileSize":4751416,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1977344335.blk","md5":"12805318727257809231","fileSize":4526959,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1713593450.blk","md5":"9795960250789223530","fileSize":4371206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/75142170.blk","md5":"8285844181599556634","fileSize":5455873,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1219771112.blk","md5":"15722162202694925032","fileSize":5993834,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3036702254.blk","md5":"741350743176406574","fileSize":5654536,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3140902765.blk","md5":"7068493093967126381","fileSize":6121165,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/436070291.blk","md5":"8096936359047849875","fileSize":5106663,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1242534433.blk","md5":"7690652545509724705","fileSize":5112839,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/162797579.blk","md5":"8367019175250761739","fileSize":4916199,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3248676207.blk","md5":"4616676962652577135","fileSize":5177383,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/242694396.blk","md5":"11504273166200944892","fileSize":5265186,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/849020344.blk","md5":"6510731342783382968","fileSize":5130388,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1360415334.blk","md5":"7568662009698732646","fileSize":6150858,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1535024912.blk","md5":"6298247032024768272","fileSize":5637100,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3991866459.blk","md5":"2151959716583902299","fileSize":5419133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3823709922.blk","md5":"8516506464836726498","fileSize":5822119,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2612688757.blk","md5":"18088629617282414453","fileSize":5333624,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2666727398.blk","md5":"6432741107942229990","fileSize":4648878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2439679521.blk","md5":"12246908795248872993","fileSize":5666732,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1906539229.blk","md5":"44052304640572125","fileSize":4767911,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/544455383.blk","md5":"16659348989702027991","fileSize":4541631,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4267923558.blk","md5":"11190369867580790886","fileSize":5655883,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1216404139.blk","md5":"4289982729971358379","fileSize":4518585,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3694995420.blk","md5":"16355557589410195420","fileSize":4963648,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1564857117.blk","md5":"5189084840397755165","fileSize":6425705,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/315788513.blk","md5":"1143770484393020641","fileSize":5125546,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2075594489.blk","md5":"7050660105220984569","fileSize":4429229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2289999411.blk","md5":"487088472348073523","fileSize":4569978,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1457943212.blk","md5":"1397303942616347308","fileSize":4618477,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4207708382.blk","md5":"3803883664455796958","fileSize":5292108,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2226933579.blk","md5":"12580670347126001483","fileSize":6178850,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/525230592.blk","md5":"14090242871979303424","fileSize":5647075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1949914236.blk","md5":"8785678033407792252","fileSize":5978912,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3068335990.blk","md5":"3282346948499281782","fileSize":4405163,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2023631916.blk","md5":"2450204202154994732","fileSize":4390003,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3023272713.blk","md5":"2642074788997331721","fileSize":4196163,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1252631420.blk","md5":"15642049041043923836","fileSize":4195458,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4054795442.blk","md5":"9039412728991532210","fileSize":4194506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2924555339.blk","md5":"309574335017856075","fileSize":4194536,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/367648475.blk","md5":"991676119011417819","fileSize":4194686,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3337016195.blk","md5":"498417583509656451","fileSize":4196007,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2079089859.blk","md5":"2457107567569822915","fileSize":4197868,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3154590873.blk","md5":"13486874487203249305","fileSize":4195416,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2451259657.blk","md5":"12505336058337771785","fileSize":4195979,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3443019743.blk","md5":"17513159104879153119","fileSize":4195439,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3839793141.blk","md5":"7922315258622810101","fileSize":4198109,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2562806031.blk","md5":"1696385052235092239","fileSize":4199232,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4109707540.blk","md5":"3253349168604064020","fileSize":4198697,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3716965542.blk","md5":"9304187283379610790","fileSize":4195817,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/533129509.blk","md5":"8612733923912771877","fileSize":4201930,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3486823335.blk","md5":"11288830690685399975","fileSize":4200366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2499073630.blk","md5":"7671405853420082782","fileSize":4207671,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/516744524.blk","md5":"15823668050316289356","fileSize":4197438,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1745008553.blk","md5":"4303766994244777897","fileSize":4197923,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3810236274.blk","md5":"2160745467143231346","fileSize":4206640,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2361552926.blk","md5":"7514319821023113246","fileSize":4197757,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1191434619.blk","md5":"11120150138511939963","fileSize":4200352,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2741240572.blk","md5":"2402430083343319804","fileSize":4198211,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2224965399.blk","md5":"751250517427898135","fileSize":4194447,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3370057990.blk","md5":"5935569378226405638","fileSize":4196123,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4083095708.blk","md5":"11047365130229586076","fileSize":4200943,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1757292859.blk","md5":"12767421752389019963","fileSize":4201292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1220998608.blk","md5":"10139597469798299088","fileSize":4195285,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/740785884.blk","md5":"18165783338468998876","fileSize":4203950,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/331563394.blk","md5":"17328067666535203202","fileSize":4195685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3756305999.blk","md5":"12502310555830496847","fileSize":4200375,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1475436825.blk","md5":"13075121193536807193","fileSize":4199114,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1018753117.blk","md5":"15458782399742668893","fileSize":4199449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3834553145.blk","md5":"7859494842153214777","fileSize":4196452,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/108076335.blk","md5":"16815207137619811631","fileSize":4195326,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/472055545.blk","md5":"8128336169200189177","fileSize":4199235,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/849702017.blk","md5":"5510411014046575745","fileSize":4200980,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/147986788.blk","md5":"10327338254534318436","fileSize":4195094,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1555083313.blk","md5":"3769072286149161009","fileSize":4197994,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2261061008.blk","md5":"10284442000195653008","fileSize":4198216,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3828674159.blk","md5":"17606177853399166575","fileSize":4196741,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/17181665.blk","md5":"12215961028017925089","fileSize":4205253,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1602135965.blk","md5":"9263274749947979677","fileSize":4194776,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1043716267.blk","md5":"6788168354645792939","fileSize":4202188,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2166204863.blk","md5":"16493234607095654847","fileSize":4198177,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1554828319.blk","md5":"7858840862383197215","fileSize":4199861,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1256602906.blk","md5":"8959169654633676058","fileSize":4203131,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/642008373.blk","md5":"625576564423410997","fileSize":4197376,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3639608290.blk","md5":"2742290644510704610","fileSize":4202530,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4186510099.blk","md5":"14061955941856252691","fileSize":4199764,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2473042496.blk","md5":"17453241638660317760","fileSize":4206317,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1356966516.blk","md5":"4535714383394876020","fileSize":4199397,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2641297289.blk","md5":"2608551297559756681","fileSize":4201555,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2228687125.blk","md5":"9592528987890323733","fileSize":4200266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3652226019.blk","md5":"15946412055493381091","fileSize":4195541,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/320423876.blk","md5":"638091033650481092","fileSize":4195921,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1799385856.blk","md5":"9100311029371400960","fileSize":4195168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/741721087.blk","md5":"14125017779282494463","fileSize":4199184,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/498217360.blk","md5":"13713648534437376400","fileSize":4197906,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2020077181.blk","md5":"7229400512127823485","fileSize":4197032,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2934051213.blk","md5":"13113797345431130509","fileSize":4198126,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/5395918.blk","md5":"16121412916683625934","fileSize":4196430,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2880742476.blk","md5":"10482437063993238604","fileSize":4198049,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2148554860.blk","md5":"10506068862381873260","fileSize":4205816,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/415641060.blk","md5":"14275580438793039332","fileSize":4200838,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2146603880.blk","md5":"14885502879303635816","fileSize":4195792,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/389076467.blk","md5":"9461557192469566963","fileSize":4204899,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1850023132.blk","md5":"12152877602474106076","fileSize":4201546,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4018512352.blk","md5":"3865321934485299680","fileSize":4197157,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3346839851.blk","md5":"3825580249236420907","fileSize":4199668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2372832124.blk","md5":"15747971886395329404","fileSize":4195322,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1746083415.blk","md5":"14140768683786706519","fileSize":4197465,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2487350850.blk","md5":"16944804398016624194","fileSize":4214787,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2611102764.blk","md5":"14325421814176695340","fileSize":4204363,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/258234327.blk","md5":"1707763148442064855","fileSize":4209150,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4030304487.blk","md5":"1943838829957452007","fileSize":4198178,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/190393961.blk","md5":"2192755060211527273","fileSize":4202787,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1089273201.blk","md5":"13190985662606409073","fileSize":4203776,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3483498487.blk","md5":"6029205983289538551","fileSize":4201337,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1179064647.blk","md5":"9938568175392594247","fileSize":4195157,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1473724038.blk","md5":"2641099645187997318","fileSize":4199580,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1370609649.blk","md5":"10166142841738352625","fileSize":4194320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1673187455.blk","md5":"9990633916932477055","fileSize":4199926,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2693309052.blk","md5":"6761575799994229372","fileSize":4200697,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2789669695.blk","md5":"5178634421687221055","fileSize":4203739,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3745563498.blk","md5":"14569320977847599978","fileSize":4197193,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/723676400.blk","md5":"11601611299001363696","fileSize":4205872,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1970851243.blk","md5":"2177924754667261355","fileSize":4201846,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2560292658.blk","md5":"9925737387178784562","fileSize":4199141,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4088011385.blk","md5":"8496318087290296953","fileSize":4196838,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1610141468.blk","md5":"13592627691566714652","fileSize":4197196,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/626140269.blk","md5":"7388123595548009581","fileSize":4195277,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2825443449.blk","md5":"581662072193472633","fileSize":4201440,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3128722360.blk","md5":"13956978143991202744","fileSize":4203486,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1227336478.blk","md5":"11748302072094108446","fileSize":4195608,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/697966298.blk","md5":"263539786686013146","fileSize":4208355,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2919792807.blk","md5":"9841549092164501671","fileSize":4204035,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3082723459.blk","md5":"3379640765360545923","fileSize":4194756,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1455669454.blk","md5":"16381069018599243982","fileSize":4199632,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1082700277.blk","md5":"8384966968327320053","fileSize":4196768,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/281072277.blk","md5":"4267598763943580309","fileSize":4194369,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3516383912.blk","md5":"2270689272348000936","fileSize":4195032,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3720883305.blk","md5":"6933721496154549353","fileSize":4205829,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3454462758.blk","md5":"5783216335587044134","fileSize":4197266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1069715133.blk","md5":"8484130337180520125","fileSize":4196065,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2990196441.blk","md5":"8068958394880018137","fileSize":4194385,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/974763007.blk","md5":"11550615267056399359","fileSize":4200621,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3394599627.blk","md5":"12860691882301553355","fileSize":4197965,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3912979398.blk","md5":"9825847165169914822","fileSize":4196621,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/886416931.blk","md5":"7150311398362687011","fileSize":4197870,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/48839022.blk","md5":"105837387315755374","fileSize":4202901,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4017561701.blk","md5":"10800293657538142309","fileSize":4391246,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3090092772.blk","md5":"4324620960187486948","fileSize":4337936,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3090159734.blk","md5":"16688274969921067126","fileSize":4856803,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4047610758.blk","md5":"17114221025245111174","fileSize":4196168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1619359782.blk","md5":"14740007941046630438","fileSize":4207418,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1037293076.blk","md5":"1546273942259619348","fileSize":4208824,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/492455922.blk","md5":"6745614239032559602","fileSize":4194847,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/972358490.blk","md5":"1601887734248833882","fileSize":7658175,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1658150307.blk","md5":"16521649603411795363","fileSize":6741585,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3877130861.blk","md5":"3199257005920899693","fileSize":5052700,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3666349331.blk","md5":"14497087255711583507","fileSize":4196217,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/454799460.blk","md5":"15438043668553642084","fileSize":4494435,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1229331367.blk","md5":"14420436445116636071","fileSize":4211408,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1116455512.blk","md5":"16847289479177421400","fileSize":4505282,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1128154316.blk","md5":"3043476598020785356","fileSize":6084046,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/894611609.blk","md5":"16929765632861450393","fileSize":5170131,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3793575372.blk","md5":"17507239914446347724","fileSize":4555074,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1971715573.blk","md5":"16195961288776875509","fileSize":5372552,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1473257204.blk","md5":"16418365458053340916","fileSize":4630906,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/934865367.blk","md5":"15141744260513589719","fileSize":4857563,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2663212938.blk","md5":"10222446922228918154","fileSize":5116913,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2841671802.blk","md5":"7775670707473643642","fileSize":4873454,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/577433315.blk","md5":"11040188382401195747","fileSize":4372188,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/801690980.blk","md5":"12694683714316719460","fileSize":4208449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3731178332.blk","md5":"16341122036860797788","fileSize":4299367,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4249227518.blk","md5":"12237378337643041022","fileSize":5019408,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1607066254.blk","md5":"2728095835694424718","fileSize":7360687,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1734062596.blk","md5":"2271493193954210308","fileSize":8433969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/259140787.blk","md5":"17636293305810693299","fileSize":4582703,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2861676060.blk","md5":"14221928238058419740","fileSize":4204100,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3384833878.blk","md5":"5011580488188458838","fileSize":4476537,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3426216811.blk","md5":"9621713416418225003","fileSize":7349949,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2084023567.blk","md5":"13636653039559879951","fileSize":5620624,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2697928573.blk","md5":"3121564362071809917","fileSize":4225114,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2425406240.blk","md5":"9599433427188237088","fileSize":4643431,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2514100013.blk","md5":"4246289784153710381","fileSize":7897169,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1172557368.blk","md5":"9496395201999261240","fileSize":4441086,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3482213032.blk","md5":"1397550578842622632","fileSize":6930500,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2114161815.blk","md5":"15743989394891312279","fileSize":4198329,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/381786460.blk","md5":"2852661345025890652","fileSize":4199539,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4229427211.blk","md5":"9102551376937349131","fileSize":4299886,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1297692229.blk","md5":"2857064597953263173","fileSize":4332172,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4154512739.blk","md5":"16308651040849319267","fileSize":4208865,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/128327318.blk","md5":"9424887689148505750","fileSize":4230759,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/828533694.blk","md5":"6743986867670248382","fileSize":4547389,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1817251435.blk","md5":"4469023600561688171","fileSize":4324189,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2698456679.blk","md5":"15133299493284818535","fileSize":5105133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2028444150.blk","md5":"15844997370521033206","fileSize":4391942,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3182703956.blk","md5":"1558018249008100692","fileSize":4195751,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3597604080.blk","md5":"12336338008443655408","fileSize":4206412,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3407178322.blk","md5":"9998864282891414098","fileSize":4675635,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/441545535.blk","md5":"16188894657295512383","fileSize":4685798,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/969618218.blk","md5":"14075930314816566058","fileSize":4200152,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/188763629.blk","md5":"17927453974869331437","fileSize":4195161,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/45679175.blk","md5":"15155472843413193287","fileSize":4894103,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4022074441.blk","md5":"7096109098906418249","fileSize":4790017,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/199386170.blk","md5":"7617590593801315386","fileSize":6650568,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3048663188.blk","md5":"6314507977289558164","fileSize":5872387,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1858864579.blk","md5":"8468762833315431875","fileSize":5466176,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1905662615.blk","md5":"12431252630759938711","fileSize":4554147,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2463605970.blk","md5":"6190393819965924562","fileSize":4228420,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1971151997.blk","md5":"4917496350527808637","fileSize":4251167,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2960431880.blk","md5":"7843829862894967560","fileSize":4216213,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2817616739.blk","md5":"4034169858038000483","fileSize":4924795,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/332586845.blk","md5":"315448846959435613","fileSize":4416773,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1177134376.blk","md5":"14974499509854905640","fileSize":5215818,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/818368272.blk","md5":"16578853030741888784","fileSize":4242055,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2814798598.blk","md5":"13603708321847995142","fileSize":4921807,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/424203074.blk","md5":"16278088131445052226","fileSize":4431265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3297063556.blk","md5":"6556781185715221124","fileSize":5727477,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2158718718.blk","md5":"8465349489961168638","fileSize":6856264,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3106363592.blk","md5":"6476060500716640456","fileSize":4199678,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3350012538.blk","md5":"9855695787154809466","fileSize":6120799,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1117633201.blk","md5":"817835699253131953","fileSize":4930553,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4184235464.blk","md5":"4568115739762253256","fileSize":4195168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3025586604.blk","md5":"5523846537212774828","fileSize":5740024,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2243786767.blk","md5":"2886732128446150671","fileSize":5584784,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2125322377.blk","md5":"9881815681080350857","fileSize":5348935,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4285279223.blk","md5":"2885468984900856823","fileSize":4645835,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1837109895.blk","md5":"7503565462907654791","fileSize":4233123,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1829449855.blk","md5":"11802260601534361727","fileSize":4463011,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1828428271.blk","md5":"12958620751446645231","fileSize":4195290,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3749170971.blk","md5":"6265812124119322395","fileSize":7127710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/288525484.blk","md5":"8810286905862294700","fileSize":5563365,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3164790823.blk","md5":"11210127343104483367","fileSize":6353537,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2294499784.blk","md5":"6507602795561175496","fileSize":4215027,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4069487613.blk","md5":"17171350030243558397","fileSize":4803549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1871576394.blk","md5":"6310578300079963466","fileSize":4569423,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2700239924.blk","md5":"7110333745801094196","fileSize":4698662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2353942416.blk","md5":"13707552826648842128","fileSize":6125222,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/561858213.blk","md5":"6740512264630912677","fileSize":5234668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3517214157.blk","md5":"4995932453582695885","fileSize":8269793,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3114495924.blk","md5":"8296986880287928244","fileSize":5292818,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3605070066.blk","md5":"353613418523066610","fileSize":5780562,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3057604435.blk","md5":"10650532098336577363","fileSize":4280813,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1099611709.blk","md5":"2811025108142571069","fileSize":4359912,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1511353527.blk","md5":"11118115045888060599","fileSize":4663026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2333547342.blk","md5":"1498786835216145230","fileSize":5132494,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1422776303.blk","md5":"18188526157350950895","fileSize":5905197,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3650649284.blk","md5":"18213395703849843908","fileSize":6980114,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/909407450.blk","md5":"15626369472312669402","fileSize":7236387,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2965724401.blk","md5":"15710695599538265329","fileSize":4203669,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/99377240.blk","md5":"13046786777512960088","fileSize":5630803,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2074212379.blk","md5":"3526928971186960411","fileSize":4207722,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2060787413.blk","md5":"17275138643087138517","fileSize":5528935,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3431277251.blk","md5":"867149339238408899","fileSize":4200710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2287592597.blk","md5":"10396359652430963861","fileSize":4577913,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/627949813.blk","md5":"16572025003213439221","fileSize":4207908,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3288517089.blk","md5":"11155101742650280417","fileSize":5223032,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/444111228.blk","md5":"6328129338910218620","fileSize":4228844,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/247052493.blk","md5":"12928966474587551949","fileSize":4199013,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2517247693.blk","md5":"1707987803260462797","fileSize":4492331,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1283397583.blk","md5":"16839298499416627151","fileSize":5382999,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3690999010.blk","md5":"11587922704325422306","fileSize":7289301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1440504689.blk","md5":"8757322989522672497","fileSize":5203078,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2374113138.blk","md5":"3312776541989115762","fileSize":4897568,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1015963578.blk","md5":"12301849255266377658","fileSize":8156228,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1810262965.blk","md5":"8567991236527811509","fileSize":4536355,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2572293236.blk","md5":"1712184901191734388","fileSize":5636817,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2795939073.blk","md5":"17114892825598010625","fileSize":5970568,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3109851488.blk","md5":"12790823870896312672","fileSize":4199187,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4290884058.blk","md5":"5507106297851523546","fileSize":5713585,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3260654687.blk","md5":"9426043888886981727","fileSize":4198778,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3440353508.blk","md5":"4778747296060776676","fileSize":4276127,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/652774040.blk","md5":"18073481179770161816","fileSize":4194762,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3233022806.blk","md5":"7624672907711742806","fileSize":4978599,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1822698225.blk","md5":"11042203358963444465","fileSize":5113952,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3850641821.blk","md5":"16186734631457137053","fileSize":5676783,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3173906234.blk","md5":"5165854995990312762","fileSize":4208187,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3062369776.blk","md5":"13716640995335474672","fileSize":4195609,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1709695064.blk","md5":"4806348257412767832","fileSize":6250329,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1958155013.blk","md5":"6774912682030469893","fileSize":6267698,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3143958684.blk","md5":"8912553082217627804","fileSize":4261889,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2499159909.blk","md5":"1181453623393396581","fileSize":4235292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2769389385.blk","md5":"4299078845192046409","fileSize":4214018,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/89067884.blk","md5":"13612055643896615276","fileSize":4195421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/245931519.blk","md5":"3844424505341025791","fileSize":4199557,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2179991888.blk","md5":"13679321877589264720","fileSize":4238710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2630388380.blk","md5":"3317109176404576924","fileSize":4216784,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3155627795.blk","md5":"3036110671006076691","fileSize":4900878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4167179199.blk","md5":"15338419427639172031","fileSize":4615568,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4214150163.blk","md5":"7250316068750545939","fileSize":4204799,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2869094242.blk","md5":"8914155611550312290","fileSize":4313489,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3180058456.blk","md5":"7642294797697013592","fileSize":4398073,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1934632003.blk","md5":"3803821161818629187","fileSize":4256852,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/975898549.blk","md5":"4725840890011781045","fileSize":4196162,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2878497656.blk","md5":"6599385349612528504","fileSize":4200955,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3596780683.blk","md5":"10183477001258697867","fileSize":4198634,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1594803227.blk","md5":"5737152182412559387","fileSize":4195878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/811352216.blk","md5":"11449823774709137560","fileSize":4640594,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2071125472.blk","md5":"7207577817707634144","fileSize":4303700,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2197615310.blk","md5":"10142713525382738638","fileSize":4202923,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/118157328.blk","md5":"215552112213028880","fileSize":4484559,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3909917300.blk","md5":"12985885034124450420","fileSize":4197046,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4034711713.blk","md5":"16632916402948067489","fileSize":4200095,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/742751998.blk","md5":"14277558572207668990","fileSize":5769043,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/745557906.blk","md5":"1010211862504034194","fileSize":4751897,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2938126126.blk","md5":"2529219725731315502","fileSize":4296656,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/246800296.blk","md5":"8750659346569224104","fileSize":5173751,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3840214365.blk","md5":"17482067076811392349","fileSize":5304360,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2180790441.blk","md5":"17610054600901802153","fileSize":4198481,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4195286815.blk","md5":"2598473128288911135","fileSize":6071259,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2939652264.blk","md5":"11620823102249207976","fileSize":4237304,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/980931172.blk","md5":"9411274241400623716","fileSize":4477526,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/339194614.blk","md5":"836246960552260342","fileSize":4196510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/34142226.blk","md5":"16206613183690504210","fileSize":4626409,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3393577127.blk","md5":"7294856283243798695","fileSize":4212651,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/901971773.blk","md5":"15601761886679531325","fileSize":4486308,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3994738434.blk","md5":"10301891715318603522","fileSize":7674712,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3566763208.blk","md5":"13755020003258170568","fileSize":8670991,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2814282469.blk","md5":"1054511428574022373","fileSize":4317691,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1428212663.blk","md5":"15824135545533025207","fileSize":6293242,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1667870845.blk","md5":"16190685870337667197","fileSize":5537943,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1780018977.blk","md5":"12877357685235314465","fileSize":6219973,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3764732395.blk","md5":"11024105395217318379","fileSize":4194775,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2312297338.blk","md5":"10850030090085129082","fileSize":4195731,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4044544751.blk","md5":"16168883424718936815","fileSize":4273208,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2990615526.blk","md5":"14055609134343072742","fileSize":4197293,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1733635127.blk","md5":"14427149071482694711","fileSize":4210814,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/36207490.blk","md5":"3971759131427634050","fileSize":4198347,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/466192943.blk","md5":"12344518221499042351","fileSize":4196701,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4169381883.blk","md5":"13061011163511502843","fileSize":4198119,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3392748055.blk","md5":"12871498595542055447","fileSize":6505561,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3014073374.blk","md5":"16330013270736313374","fileSize":4198490,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3635056841.blk","md5":"6039792506595086537","fileSize":5583475,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1798183002.blk","md5":"16067122255522306138","fileSize":6565451,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1513337100.blk","md5":"11700033945712439564","fileSize":4217603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2585072684.blk","md5":"5519477704628704300","fileSize":4927903,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2945889866.blk","md5":"12837580628473329226","fileSize":4225847,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3773408305.blk","md5":"7659612780737700913","fileSize":5030695,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/136009052.blk","md5":"5466051710631499100","fileSize":4839747,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2622669092.blk","md5":"1149158759395934500","fileSize":5314071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/914626164.blk","md5":"2536402493869659764","fileSize":7600299,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2867219523.blk","md5":"3062030579305696323","fileSize":4197457,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1750397716.blk","md5":"3417933090416554772","fileSize":4199334,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1998609795.blk","md5":"4704514132141956483","fileSize":4210562,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2068036912.blk","md5":"10363997889679834416","fileSize":4248972,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2995043320.blk","md5":"3515803993198869496","fileSize":4213172,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1868288439.blk","md5":"353308968029508023","fileSize":5022710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3110493700.blk","md5":"11751147992322039300","fileSize":4569120,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/363464367.blk","md5":"7176784751618557615","fileSize":4424269,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/846181431.blk","md5":"9016863404449575991","fileSize":5837535,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4245053975.blk","md5":"18191607103423406615","fileSize":5161523,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3884010903.blk","md5":"17851515379063541143","fileSize":4592594,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1936277053.blk","md5":"5541500080070671933","fileSize":4894933,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3448593297.blk","md5":"6114043991216184209","fileSize":7223835,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1607118999.blk","md5":"7297216739648647319","fileSize":8631098,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2416872904.blk","md5":"6688447143915457992","fileSize":4221884,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2050219603.blk","md5":"10475904593999158867","fileSize":5698397,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4245246828.blk","md5":"1266810293351699308","fileSize":4979983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1268993817.blk","md5":"16145725679837859609","fileSize":4196629,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4229256820.blk","md5":"14416405449510573684","fileSize":4205777,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2929215058.blk","md5":"8231099311528101458","fileSize":4257699,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/451856037.blk","md5":"1706967029202732709","fileSize":5244268,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3939949518.blk","md5":"2579864404834573262","fileSize":4235310,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/577907217.blk","md5":"17064401372531796497","fileSize":5900832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2029507820.blk","md5":"4145113806012929260","fileSize":4241946,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/150121770.blk","md5":"13345522201339800874","fileSize":4202037,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1635727455.blk","md5":"13950145571084777567","fileSize":4707398,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/965815148.blk","md5":"14553180277516086124","fileSize":4794820,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1666898689.blk","md5":"4142865248536943361","fileSize":4273798,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1528600763.blk","md5":"17790515592585582779","fileSize":4219787,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1878340517.blk","md5":"4788909535013450661","fileSize":4200564,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1799170819.blk","md5":"8174063617880959747","fileSize":4352654,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4019885233.blk","md5":"9686006174035121329","fileSize":4266137,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1255605092.blk","md5":"1960020876679644004","fileSize":4262698,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2698884885.blk","md5":"2525608800457438997","fileSize":4717835,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4045036158.blk","md5":"14426387077876308606","fileSize":4203283,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2655084361.blk","md5":"10481888411760287561","fileSize":4218391,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/786341285.blk","md5":"216890656618880421","fileSize":5187820,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2425263131.blk","md5":"9452035883370714139","fileSize":4619754,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1925813197.blk","md5":"13920520132507571149","fileSize":4197272,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/304215426.blk","md5":"4498466407316583810","fileSize":4238604,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/541489065.blk","md5":"8381464172848117673","fileSize":4203717,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3832350190.blk","md5":"4013744532191249902","fileSize":4319555,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2910238072.blk","md5":"17692508327217902968","fileSize":5969230,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3755905256.blk","md5":"4275584954162647272","fileSize":4224274,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3236863428.blk","md5":"4968610383921061316","fileSize":4196641,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2487137124.blk","md5":"4108405691654255460","fileSize":4617201,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1065890050.blk","md5":"11905826113546891522","fileSize":14751787,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/271675076.blk","md5":"1618752949133078212","fileSize":50972102,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/674453008.blk","md5":"15711000716018669072","fileSize":8534924,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3909619227.blk","md5":"4939883676223147547","fileSize":6594833,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/482454523.blk","md5":"2456943373668428795","fileSize":5865381,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2585191070.blk","md5":"5974536554861224606","fileSize":5824289,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4185245436.blk","md5":"2642702241931577084","fileSize":50158569,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2090145179.blk","md5":"11392508167567250843","fileSize":39606538,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/184566928.blk","md5":"8550516799681086608","fileSize":47338655,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1225349418.blk","md5":"7087527957610715434","fileSize":32539667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1392010989.blk","md5":"5214902704684951277","fileSize":46672558,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3207982597.blk","md5":"18420354225892879877","fileSize":70620380,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3707608214.blk","md5":"3125662775494155414","fileSize":56871366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1008588968.blk","md5":"3355667355351767208","fileSize":47214469,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2349238809.blk","md5":"15665468059991575065","fileSize":47205381,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/335362695.blk","md5":"1308852319848053383","fileSize":45558987,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3120180954.blk","md5":"7089680055948422874","fileSize":45480133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2025395806.blk","md5":"6401878765096998494","fileSize":51667778,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1675239748.blk","md5":"8342763718326231364","fileSize":35466471,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3183490519.blk","md5":"1925773986210264535","fileSize":34409041,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4049900248.blk","md5":"7405612061555987160","fileSize":39366816,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1948760978.blk","md5":"432950641168989074","fileSize":41670041,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/896368234.blk","md5":"8074397827132653162","fileSize":42025496,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/682164618.blk","md5":"5541356253246718346","fileSize":43085112,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2657895912.blk","md5":"14353340231223887336","fileSize":8101127,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3801367192.blk","md5":"2347019074935210648","fileSize":19543303,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3675296082.blk","md5":"5609166612953338194","fileSize":22346909,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1973810769.blk","md5":"16501730481711478353","fileSize":20749959,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1399378125.blk","md5":"7330991859745476813","fileSize":35414375,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2464260425.blk","md5":"12749986599645847881","fileSize":38821870,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1547203203.blk","md5":"7648517585200771715","fileSize":57277565,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2582380093.blk","md5":"9708432224074595901","fileSize":41884596,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/538500267.blk","md5":"15117288596074716331","fileSize":19801935,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/496419165.blk","md5":"1921180215352410461","fileSize":15467227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2501324757.blk","md5":"13020175222678433749","fileSize":20769913,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1333831701.blk","md5":"11141880199270934549","fileSize":4831506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3972003995.blk","md5":"17752789302380591259","fileSize":21528181,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2140608483.blk","md5":"11232822391653996515","fileSize":4354309,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3924013780.blk","md5":"9792881723521086164","fileSize":31587228,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2921748034.blk","md5":"1438406072433268290","fileSize":56415794,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4087553005.blk","md5":"11071378786307218413","fileSize":11739356,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/359687558.blk","md5":"13216866554981934470","fileSize":12112075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3483303813.blk","md5":"12686424958744592261","fileSize":34964417,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3698564316.blk","md5":"5791011521084759260","fileSize":38193759,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3752644999.blk","md5":"12783307979418816903","fileSize":47180465,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3310303390.blk","md5":"7183704320541407390","fileSize":35646932,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1501617896.blk","md5":"10114626422845791976","fileSize":30371702,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2613768513.blk","md5":"16266144121642217793","fileSize":36540960,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1948092583.blk","md5":"322658445102516391","fileSize":13247469,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4109839757.blk","md5":"2659584177748782477","fileSize":28227468,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4107168469.blk","md5":"17114100783400250069","fileSize":26890313,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4162029440.blk","md5":"7319396601860163456","fileSize":24187307,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1773537251.blk","md5":"10499002348019779555","fileSize":83197791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3761802727.blk","md5":"4876579272631291367","fileSize":36364808,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4267233182.blk","md5":"13793330648382492574","fileSize":11309400,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3308102587.blk","md5":"16410175537075299259","fileSize":44444506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3157268251.blk","md5":"13934258703326779163","fileSize":44524930,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/418504305.blk","md5":"4637769527033192049","fileSize":40754035,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1342415858.blk","md5":"7445804156646040562","fileSize":38059511,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3376812809.blk","md5":"14652962879998137097","fileSize":17163150,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/37851609.blk","md5":"10027596408141484505","fileSize":9567602,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3014351042.blk","md5":"10214548670996240578","fileSize":10678791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2782635775.blk","md5":"1175780895296825087","fileSize":13442208,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2422195186.blk","md5":"16506578155912283122","fileSize":18617469,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3715329715.blk","md5":"3683218941489147571","fileSize":49373045,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4110375439.blk","md5":"14953430692451539471","fileSize":28640690,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/701588164.blk","md5":"9947951505930805956","fileSize":26967798,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1272343141.blk","md5":"5507174125251488357","fileSize":8225277,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3663143428.blk","md5":"2839507040300638724","fileSize":13836159,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3933806680.blk","md5":"1326697826662031448","fileSize":38488061,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1042548556.blk","md5":"18424068902287050572","fileSize":41340798,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2226559288.blk","md5":"9258052091815303480","fileSize":30894869,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4021762385.blk","md5":"3909976237018659153","fileSize":20938480,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1901300584.blk","md5":"3804835697485122408","fileSize":16334281,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1022617569.blk","md5":"5383024620682340321","fileSize":20241480,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1196711068.blk","md5":"3489228228421508252","fileSize":5072579,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4069006641.blk","md5":"9527961569548836145","fileSize":20497837,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/988979506.blk","md5":"9414801513365283122","fileSize":34138357,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3638747214.blk","md5":"537524613956165710","fileSize":27670850,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1410836858.blk","md5":"3221478468459407738","fileSize":29329287,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3592367853.blk","md5":"15464098326288215789","fileSize":30402303,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/169255917.blk","md5":"17289538756006028269","fileSize":14024963,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2082599034.blk","md5":"103962305412329594","fileSize":13285253,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2778974734.blk","md5":"279532241227598350","fileSize":18140358,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3710671573.blk","md5":"13609831631847971541","fileSize":50056447,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3823092922.blk","md5":"1566943067135526074","fileSize":5527783,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1886799640.blk","md5":"9929955125994342168","fileSize":4748971,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/137513635.blk","md5":"12897916025591450275","fileSize":5379026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/346042459.blk","md5":"15514289053164908635","fileSize":7728699,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/562010682.blk","md5":"17688472953986980410","fileSize":71272814,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2690264509.blk","md5":"3803876241234865597","fileSize":15503163,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/717151158.blk","md5":"6015832800983178166","fileSize":19054167,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3581555421.blk","md5":"17824996743142060765","fileSize":17945966,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1858877367.blk","md5":"9258471847191394231","fileSize":25375960,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2118117584.blk","md5":"10021314754263378128","fileSize":22061288,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4148898393.blk","md5":"8550835528873486937","fileSize":36928668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/705317513.blk","md5":"2512071808871189129","fileSize":53659909,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2869418202.blk","md5":"503913367359445210","fileSize":26662061,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1847408832.blk","md5":"6587839840834631872","fileSize":10124755,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3901988514.blk","md5":"14473311614076690082","fileSize":26778906,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/780537201.blk","md5":"16316283984634318193","fileSize":26146924,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4087277408.blk","md5":"14556519613415221088","fileSize":21828014,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4154990088.blk","md5":"12399259035074305544","fileSize":42884313,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/501480869.blk","md5":"15416573595239054757","fileSize":21346832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1598103534.blk","md5":"11550624845456809966","fileSize":18810466,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3464797474.blk","md5":"10744900012069920034","fileSize":26630155,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1085207321.blk","md5":"14705971415613371161","fileSize":11784399,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/193097395.blk","md5":"4931389515685326515","fileSize":6569177,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/269692486.blk","md5":"5724728816385076806","fileSize":19802287,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3191626415.blk","md5":"17100856391834032815","fileSize":15563446,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2967609133.blk","md5":"8495239589817098029","fileSize":31401416,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1055287598.blk","md5":"4931604711588915502","fileSize":27101215,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2404368325.blk","md5":"2511210326030008261","fileSize":40389599,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3835311745.blk","md5":"13521661987814782593","fileSize":33860666,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2834567445.blk","md5":"12212339286778056981","fileSize":32703910,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/447495548.blk","md5":"15864367692919881084","fileSize":28223617,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3811376853.blk","md5":"5643569391324692181","fileSize":41968950,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3943729278.blk","md5":"8903851024009169022","fileSize":9819269,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2514158853.blk","md5":"11146645217558070533","fileSize":37738123,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2295682221.blk","md5":"12636425164500063405","fileSize":29416093,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/404987100.blk","md5":"12745715299855342812","fileSize":39715353,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1036110006.blk","md5":"13897503174245337270","fileSize":32571791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1802142774.blk","md5":"13298621250313815094","fileSize":10580574,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1747450183.blk","md5":"10554223249324505415","fileSize":65509204,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/967842783.blk","md5":"9319347969724521439","fileSize":71951510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/662547117.blk","md5":"8410445607260236461","fileSize":56872487,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/311256532.blk","md5":"17165016405717640660","fileSize":45083414,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1984276047.blk","md5":"1915208395527661135","fileSize":7263310,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/50243014.blk","md5":"7025567933589792198","fileSize":11481069,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1923273096.blk","md5":"9588992571642925448","fileSize":6564544,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3081670014.blk","md5":"12129460991036394878","fileSize":4196667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3783599788.blk","md5":"17118621970595129004","fileSize":4199967,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4179945423.blk","md5":"17023989268636559311","fileSize":4203726,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2043871775.blk","md5":"15918835357367599647","fileSize":4217439,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2491204436.blk","md5":"14281235950724760404","fileSize":4195395,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2039522640.blk","md5":"1074342271057438032","fileSize":4194357,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1788368726.blk","md5":"17193165378039600982","fileSize":4205821,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3377863566.blk","md5":"15309104290779765646","fileSize":4300092,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2214860599.blk","md5":"9469026249797277495","fileSize":4201627,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1354368296.blk","md5":"302263332742235432","fileSize":4394255,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/207337499.blk","md5":"13563949553578391579","fileSize":4198903,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3543135724.blk","md5":"6548963074172253676","fileSize":4263112,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1711554003.blk","md5":"4754673319738097107","fileSize":4277179,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1231768998.blk","md5":"8495760206837009830","fileSize":4503266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3950923736.blk","md5":"18181056043520249816","fileSize":4247345,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/965874635.blk","md5":"6213585795758035915","fileSize":4514855,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/841557990.blk","md5":"14155789785539094502","fileSize":4427972,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2359207228.blk","md5":"4056514665455199548","fileSize":4224836,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1032956050.blk","md5":"17931318325293459602","fileSize":4760406,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1686032777.blk","md5":"17672565852240531849","fileSize":4245255,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3344135864.blk","md5":"5210019298756753080","fileSize":4242875,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3856001160.blk","md5":"10630274842933717128","fileSize":4224301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4169695482.blk","md5":"8079011961016713466","fileSize":5009858,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2608725469.blk","md5":"11167694972629417437","fileSize":4208119,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4084881347.blk","md5":"751687038288943043","fileSize":4220756,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/644704087.blk","md5":"16787721907262547799","fileSize":4656633,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2373018914.blk","md5":"14312990409057461538","fileSize":4316895,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/557992446.blk","md5":"14519004109937461758","fileSize":4897680,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3452003029.blk","md5":"59251310683316949","fileSize":4198285,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3794174256.blk","md5":"521347147344806192","fileSize":4580736,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4286344319.blk","md5":"1345614138591439999","fileSize":4303668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2017188397.blk","md5":"13544538592427891245","fileSize":4251973,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/765364238.blk","md5":"10044601386984704014","fileSize":4218140,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2316231458.blk","md5":"15650923221930140450","fileSize":4763206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3006327907.blk","md5":"4809922689406921827","fileSize":4335831,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/121341767.blk","md5":"9483801270209447751","fileSize":4850247,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/180955221.blk","md5":"9381691790061021269","fileSize":4419378,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2332181699.blk","md5":"12522300358699140291","fileSize":4260397,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/664132909.blk","md5":"17656953370219765037","fileSize":4356154,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3948309339.blk","md5":"9985995367412820827","fileSize":4392769,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2400068708.blk","md5":"15817197241586558052","fileSize":4197248,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/33944441.blk","md5":"15330128788004926329","fileSize":4206060,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1611414117.blk","md5":"12382839153514789477","fileSize":4234168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1408889750.blk","md5":"15226311917937750934","fileSize":4297080,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3533130960.blk","md5":"4268185940764609744","fileSize":4447738,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2557728823.blk","md5":"10354855515409078327","fileSize":4256395,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/153362948.blk","md5":"3229651609577595396","fileSize":4202201,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2321756063.blk","md5":"7292509288703143839","fileSize":4261004,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2525018197.blk","md5":"1974135244290308181","fileSize":4348866,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3739188104.blk","md5":"2351165642459020168","fileSize":4268512,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1700124156.blk","md5":"13276497379748861436","fileSize":4581037,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1218667387.blk","md5":"16215898728075322235","fileSize":4752494,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1146518433.blk","md5":"11808796218226015137","fileSize":4577963,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3004035423.blk","md5":"6793409238909448543","fileSize":4346058,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2870656269.blk","md5":"9565809382803553549","fileSize":4197806,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/890355981.blk","md5":"16994067795858800909","fileSize":4276410,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/815883191.blk","md5":"952570480884278199","fileSize":4249992,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4215409333.blk","md5":"5032313271114402485","fileSize":4243708,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2169565769.blk","md5":"7955531254119592521","fileSize":4709285,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/710571563.blk","md5":"16849365270825432619","fileSize":4351258,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3031304281.blk","md5":"825897354781395033","fileSize":4987931,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3850628223.blk","md5":"10804950681820327039","fileSize":4242009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/240770245.blk","md5":"7473721266874735813","fileSize":4279806,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4134462746.blk","md5":"11853501513595807002","fileSize":4351051,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3849596227.blk","md5":"1249421142900616515","fileSize":4234997,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3866316186.blk","md5":"11717524991924981146","fileSize":4598037,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2690402131.blk","md5":"16619518547476629331","fileSize":4221066,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/427704655.blk","md5":"834260486726762831","fileSize":4768664,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3445724854.blk","md5":"347904199941527222","fileSize":6895354,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2361875310.blk","md5":"13989405584395819886","fileSize":4838128,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3653620219.blk","md5":"8484673378249462267","fileSize":4229425,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3697087754.blk","md5":"8446419603531044106","fileSize":6395627,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1735653228.blk","md5":"5143249499341453164","fileSize":4778150,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/236674350.blk","md5":"11838827534887902510","fileSize":4424327,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3750538327.blk","md5":"138029197398158423","fileSize":5083499,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1177262665.blk","md5":"16792185903529040457","fileSize":5144278,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/334443617.blk","md5":"10369496489762174049","fileSize":11284010,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2609065841.blk","md5":"6078232918134828913","fileSize":4212469,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3763359897.blk","md5":"14736416285379285145","fileSize":5645704,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3025529717.blk","md5":"1625794503524084597","fileSize":4589349,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4176172728.blk","md5":"3669720718732121784","fileSize":4539986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1924807813.blk","md5":"8643269145619217541","fileSize":4633293,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1682213321.blk","md5":"15751523565960464841","fileSize":4201962,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1942987221.blk","md5":"11370174242991612373","fileSize":4204223,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4170806883.blk","md5":"15791958666906269283","fileSize":4211238,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/682529072.blk","md5":"5682604816940831024","fileSize":4214676,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1906857351.blk","md5":"5079869783817082247","fileSize":4215592,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/792088075.blk","md5":"7411695522990673419","fileSize":8968062,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2185220415.blk","md5":"12477817798879334719","fileSize":4215834,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2931612682.blk","md5":"12411663444862622730","fileSize":11585866,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1198781884.blk","md5":"14316106947822351804","fileSize":4215632,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3147458157.blk","md5":"3006741740462433901","fileSize":11585335,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3611767050.blk","md5":"15232195484170268938","fileSize":4214560,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3476126189.blk","md5":"3333661328374069741","fileSize":11586928,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/635552412.blk","md5":"3233251286575071900","fileSize":4216886,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/507125324.blk","md5":"10686858314995342924","fileSize":4742483,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4291388390.blk","md5":"13697183394554274790","fileSize":4214942,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1408858770.blk","md5":"8675445103054650002","fileSize":4698152,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1162090902.blk","md5":"10737695970927319446","fileSize":4694757,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/194935220.blk","md5":"10902699989178153396","fileSize":4329019,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3358131012.blk","md5":"8847713361323426628","fileSize":5138335,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4100103377.blk","md5":"11431212314609753297","fileSize":5222529,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/658848013.blk","md5":"12756703845087000845","fileSize":5212166,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/105323295.blk","md5":"12453707723005434655","fileSize":4666676,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/463536040.blk","md5":"8701830288799498152","fileSize":4194546,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1221967334.blk","md5":"11117334697285631462","fileSize":4216191,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2003342797.blk","md5":"12586844323735705037","fileSize":4200656,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/151274577.blk","md5":"12846933569800782929","fileSize":4198285,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2223041984.blk","md5":"17527746534878277056","fileSize":5257572,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3060404605.blk","md5":"8604119974390927741","fileSize":8363903,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3931789308.blk","md5":"7925975077657139196","fileSize":5243788,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1315638514.blk","md5":"15304068727325789426","fileSize":4302033,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/954977634.blk","md5":"1534372012274470242","fileSize":4209468,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4262301941.blk","md5":"2276051866180489461","fileSize":4480850,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/120457581.blk","md5":"7186201978273139053","fileSize":4476907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3291868973.blk","md5":"293824441202634541","fileSize":5613977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2072658838.blk","md5":"16749043451857355670","fileSize":8567682,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3122607988.blk","md5":"5843193217081620340","fileSize":5627643,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3009988013.blk","md5":"2604198988524078509","fileSize":4220259,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3030180511.blk","md5":"14446101337527345823","fileSize":4306799,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1826887996.blk","md5":"4560208908771399996","fileSize":6242289,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4124080699.blk","md5":"6027937173281471035","fileSize":4271843,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3209134364.blk","md5":"10447224044800934172","fileSize":5301450,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/861313701.blk","md5":"7515724690440493733","fileSize":4495064,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1742419558.blk","md5":"6850276614691567206","fileSize":4257271,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/904216981.blk","md5":"3183062940427567509","fileSize":4386736,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2241040631.blk","md5":"177182293852655863","fileSize":5066098,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3980153115.blk","md5":"154798283254681883","fileSize":4473656,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/233436702.blk","md5":"3975833943192237598","fileSize":4195146,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/212800752.blk","md5":"15807185327034930416","fileSize":4936034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/33630581.blk","md5":"377353107945892213","fileSize":4219331,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2051565201.blk","md5":"15287736109896328849","fileSize":4194519,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1540885570.blk","md5":"10775722439218826306","fileSize":6460675,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3244494531.blk","md5":"18382011669898530499","fileSize":5090163,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/724813737.blk","md5":"18188128915127781289","fileSize":5038094,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3925563483.blk","md5":"4633931869887092827","fileSize":4958130,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/86669969.blk","md5":"2913054919989295761","fileSize":4442484,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2040367522.blk","md5":"7377937390530038178","fileSize":4636278,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2310465512.blk","md5":"15894758050145691624","fileSize":4327880,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2583219063.blk","md5":"8099443290656000887","fileSize":4282028,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1808443462.blk","md5":"7572801473856841798","fileSize":4561230,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1597493816.blk","md5":"15897206825036534328","fileSize":7347179,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2799132003.blk","md5":"8497738435981172067","fileSize":6060259,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3459599263.blk","md5":"7146477721717394335","fileSize":5581821,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2729766527.blk","md5":"2008271885081833087","fileSize":4631266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1159538077.blk","md5":"2479373106609464733","fileSize":4820404,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/75088069.blk","md5":"14148594997292286149","fileSize":8265014,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2741826502.blk","md5":"6465975844126651334","fileSize":4914228,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1352496753.blk","md5":"3144847408502765169","fileSize":7065577,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1966713576.blk","md5":"1943609188877445864","fileSize":5274838,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1598839447.blk","md5":"15335672883679353495","fileSize":4879265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1091289449.blk","md5":"7366110299483259241","fileSize":4623000,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/186807457.blk","md5":"10529350825864754337","fileSize":4496517,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/913881127.blk","md5":"485747500577765415","fileSize":4256480,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2705297946.blk","md5":"7704443004060144154","fileSize":5521271,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3372403102.blk","md5":"17794156949307312542","fileSize":8109445,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1396150970.blk","md5":"820752733944910522","fileSize":5016684,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2985832522.blk","md5":"4750681466738323530","fileSize":4270624,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1900055884.blk","md5":"395615654352293196","fileSize":5218338,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/80013726.blk","md5":"133936695484934558","fileSize":5271054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/226016600.blk","md5":"2621354223286664536","fileSize":4666665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/749443292.blk","md5":"15847259610121214172","fileSize":4276070,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1721942908.blk","md5":"10491403863626793852","fileSize":4520814,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1293805834.blk","md5":"14830563486456473866","fileSize":5370744,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2242575795.blk","md5":"14599625290627612083","fileSize":4511590,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1242361954.blk","md5":"14078708931296555106","fileSize":4288594,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3656229365.blk","md5":"11474254135649214965","fileSize":4716935,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3352983979.blk","md5":"15271892238835808683","fileSize":4248555,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1410484718.blk","md5":"8976604473230248430","fileSize":4484795,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3526239327.blk","md5":"7059511746505876575","fileSize":4988487,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1198604144.blk","md5":"17636673686233759600","fileSize":4336408,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3088841066.blk","md5":"8460943567410166122","fileSize":4749932,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/649241446.blk","md5":"5700387196988728166","fileSize":4508843,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1263363658.blk","md5":"16259619197385795146","fileSize":4332200,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3531880337.blk","md5":"16910051147199559569","fileSize":5411495,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2814736649.blk","md5":"7558085070071101705","fileSize":6257882,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2226931645.blk","md5":"7986150797584648125","fileSize":6388655,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1083214760.blk","md5":"9588021414272732072","fileSize":4511832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3648068778.blk","md5":"149386997791792298","fileSize":4383905,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4224194611.blk","md5":"6901783763362519091","fileSize":4511844,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3108874562.blk","md5":"1069387095342950722","fileSize":5450691,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2844670794.blk","md5":"1724053249017658186","fileSize":4212612,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4214107465.blk","md5":"17448079824150998345","fileSize":4296793,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/70677697.blk","md5":"12579756225605301441","fileSize":4848230,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3958860668.blk","md5":"17495703013979286396","fileSize":4644944,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2168205134.blk","md5":"2024335096567050062","fileSize":4707738,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/6021.blk","md5":"17332001800412206981","fileSize":6364777,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1846628849.blk","md5":"8234936889494295025","fileSize":4282035,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1567005540.blk","md5":"10603124054559202148","fileSize":4394910,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3959631056.blk","md5":"3143304633087372496","fileSize":4691267,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2023562697.blk","md5":"10219145242789879241","fileSize":5451978,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1701803212.blk","md5":"15609158864840127692","fileSize":4434873,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2413864619.blk","md5":"1309689617210975915","fileSize":4362516,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3086889866.blk","md5":"7617125026528899978","fileSize":4210999,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2854665617.blk","md5":"9947220204002393489","fileSize":5201667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/869047980.blk","md5":"4917474131559882412","fileSize":6478878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1721793056.blk","md5":"13623743574391683616","fileSize":4625053,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3510480905.blk","md5":"15029661520927502345","fileSize":4303508,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1707349776.blk","md5":"7301616452707292944","fileSize":4479654,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/43023337.blk","md5":"3935172508358048745","fileSize":8758210,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4124989105.blk","md5":"2507828990192801457","fileSize":5459772,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1315802279.blk","md5":"10169379172555525287","fileSize":4306949,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/738760928.blk","md5":"18168575569720547552","fileSize":6984596,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3778058105.blk","md5":"7227546299194709881","fileSize":5589768,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1679826376.blk","md5":"3102113278803844552","fileSize":4708495,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1250379535.blk","md5":"1921954465565853455","fileSize":4741235,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1982468899.blk","md5":"13194191246700712739","fileSize":4390196,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/666045087.blk","md5":"11483641299080514207","fileSize":7203358,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3395224703.blk","md5":"16637668461499057279","fileSize":4951861,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/687510964.blk","md5":"13290675946248639924","fileSize":4209096,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1126691995.blk","md5":"5049496422859666587","fileSize":5589361,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1363232754.blk","md5":"11706491536266053618","fileSize":5230005,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/75567040.blk","md5":"15227788135518769088","fileSize":4468333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2631931416.blk","md5":"11534713998408685080","fileSize":4628324,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4054079629.blk","md5":"16125246148979218573","fileSize":8503673,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3687519604.blk","md5":"18393166976014554484","fileSize":6695140,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1534107966.blk","md5":"5261590992199393598","fileSize":7626565,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1635216484.blk","md5":"6818439735711067236","fileSize":8064184,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/156383276.blk","md5":"5777010503978203180","fileSize":7398962,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1404059111.blk","md5":"2496867234500066791","fileSize":6658096,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2323631036.blk","md5":"12919375458209876924","fileSize":9157391,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2993634982.blk","md5":"8889019341344816806","fileSize":5282336,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/873580269.blk","md5":"4324973617735649005","fileSize":12560645,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1302059418.blk","md5":"2734754293123635610","fileSize":4666373,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1594054733.blk","md5":"3977124294462494797","fileSize":4207377,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1627360422.blk","md5":"7337779841036422310","fileSize":6610895,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/644644812.blk","md5":"543627458841968588","fileSize":4337187,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3239706350.blk","md5":"6931664098964405998","fileSize":4257312,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3489538782.blk","md5":"1298000276380066526","fileSize":8901495,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2345635910.blk","md5":"16904352020764266566","fileSize":14014956,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2779072697.blk","md5":"14880646272651708601","fileSize":9608136,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4028129791.blk","md5":"5321982748885803519","fileSize":6334811,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2357703147.blk","md5":"1374298552490504683","fileSize":12626961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1646777047.blk","md5":"14933577306741396183","fileSize":6418849,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3789996643.blk","md5":"4425578633945858659","fileSize":6847036,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2219023110.blk","md5":"9893783998386379526","fileSize":6146164,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1773544814.blk","md5":"14712099840711861614","fileSize":6258687,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3173948680.blk","md5":"20364710867016968","fileSize":4305484,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2483335053.blk","md5":"5636726742589943693","fileSize":7584890,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3643210104.blk","md5":"15529222421527067000","fileSize":4404970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3581307686.blk","md5":"15186445917704579878","fileSize":5120592,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2098431031.blk","md5":"13390805778656625719","fileSize":4799118,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2008699571.blk","md5":"8588735387600048819","fileSize":4879274,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1671383773.blk","md5":"12662101595062749917","fileSize":6156743,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4138862899.blk","md5":"10770326236316174643","fileSize":4233681,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4169414444.blk","md5":"10901896572275275564","fileSize":14707514,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/270944155.blk","md5":"2210502462159603611","fileSize":14188254,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2885055435.blk","md5":"17432284135698101195","fileSize":6459648,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1509882985.blk","md5":"13149551477867347049","fileSize":5051315,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1837286991.blk","md5":"9553941296209643087","fileSize":7834162,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2834637252.blk","md5":"12544946879939813828","fileSize":7124714,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/999879173.blk","md5":"18153142863428907525","fileSize":5607295,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2042566187.blk","md5":"14526747842967442987","fileSize":5431561,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1769843456.blk","md5":"4071529445330889472","fileSize":4277734,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4003602685.blk","md5":"5539919615777448189","fileSize":4448039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/645302399.blk","md5":"5892872280978393215","fileSize":4313342,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/781958860.blk","md5":"2802158246626574028","fileSize":6271030,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/920260327.blk","md5":"13850399765283081959","fileSize":4246685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2088236563.blk","md5":"6206582504811918867","fileSize":7661682,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1055044948.blk","md5":"13650083190812095828","fileSize":4314567,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1154106426.blk","md5":"4956917393504486458","fileSize":5630723,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1777804552.blk","md5":"7732833956729922824","fileSize":5602762,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/555005824.blk","md5":"10325497260159580032","fileSize":5708091,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3291046744.blk","md5":"8894090684406522712","fileSize":5015614,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3172268522.blk","md5":"17121567106368076266","fileSize":5275745,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3017457056.blk","md5":"6635681706053123488","fileSize":4285749,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1607658144.blk","md5":"1658179792468634272","fileSize":4829669,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2489395287.blk","md5":"3975869512072374359","fileSize":4408142,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1753338463.blk","md5":"9152168700680458847","fileSize":8384980,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1545750021.blk","md5":"13258834983719683589","fileSize":5595163,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3482979696.blk","md5":"5550576313881464176","fileSize":7623843,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1254723941.blk","md5":"16130889711731970405","fileSize":4893398,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3201258158.blk","md5":"7411652627266491054","fileSize":4933195,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/540088249.blk","md5":"12628211205294593977","fileSize":4382394,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4019127628.blk","md5":"15729286100244432204","fileSize":7873832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3183590119.blk","md5":"600952188017162983","fileSize":4855977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/551580930.blk","md5":"416848498141459714","fileSize":4672129,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/703820605.blk","md5":"6767588438686528317","fileSize":4507251,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1449081031.blk","md5":"17299443054949644487","fileSize":4687152,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1813604875.blk","md5":"5506157369594833419","fileSize":6340026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3936924931.blk","md5":"8377589875224392963","fileSize":11707263,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3112086290.blk","md5":"14726152558431087378","fileSize":16472281,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1553284153.blk","md5":"7884060626875923513","fileSize":16699954,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1913948721.blk","md5":"7700958753999587889","fileSize":6070227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3214011799.blk","md5":"11750551820900101527","fileSize":16108376,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3270341783.blk","md5":"5720514387021493399","fileSize":18157649,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3155216371.blk","md5":"16962964692938049523","fileSize":5188279,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1671084984.blk","md5":"12083279229221518264","fileSize":10013880,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/901883861.blk","md5":"18002754347238270933","fileSize":11469820,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4282748161.blk","md5":"15945779308656954625","fileSize":12570084,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1111564335.blk","md5":"18064083508317462575","fileSize":11517619,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4106573298.blk","md5":"8107839308997940722","fileSize":11102222,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4267243571.blk","md5":"5714997712980080691","fileSize":4453053,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1023038476.blk","md5":"634622702232687628","fileSize":17579804,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/488183378.blk","md5":"5426177062808917586","fileSize":18019533,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/220837638.blk","md5":"15504329444787074822","fileSize":4839423,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1521617194.blk","md5":"15258911694784694570","fileSize":4500320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/891411635.blk","md5":"8000526412566092979","fileSize":4475056,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3412427227.blk","md5":"8537093690079150555","fileSize":5919135,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1562745771.blk","md5":"1091426684116507563","fileSize":4197067,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3421876158.blk","md5":"4756263361291071422","fileSize":4770030,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2781698071.blk","md5":"3769063250764584983","fileSize":6370941,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1018962979.blk","md5":"761429189281457187","fileSize":4593651,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2281713897.blk","md5":"13980052090437775593","fileSize":7207976,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3177562589.blk","md5":"13179239809608434141","fileSize":4244766,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4240735917.blk","md5":"16143142758197264045","fileSize":5579492,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4259354760.blk","md5":"14773209758871623816","fileSize":4753808,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/646559287.blk","md5":"17727946074343716407","fileSize":6928073,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/106736670.blk","md5":"17174431437682420766","fileSize":4194394,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/216452112.blk","md5":"12240340830252354576","fileSize":5585175,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3824441023.blk","md5":"7134422543451313855","fileSize":4437077,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2136732506.blk","md5":"12000112981911008090","fileSize":6781055,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1521765154.blk","md5":"7956725172775701282","fileSize":4583191,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/220489594.blk","md5":"6092218660701890426","fileSize":4541441,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2522564942.blk","md5":"10940684437458471246","fileSize":4322456,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3325903624.blk","md5":"14677628198523323144","fileSize":4276535,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1022575493.blk","md5":"15453754590770709381","fileSize":6825420,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3658595120.blk","md5":"6979373717093727024","fileSize":4678420,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1448344804.blk","md5":"8808048056534826212","fileSize":4921811,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3518972097.blk","md5":"1007749242699071681","fileSize":5418054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3110508972.blk","md5":"11795581520648247724","fileSize":4768588,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/625436174.blk","md5":"8696980356056180238","fileSize":5659443,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2668928136.blk","md5":"9064165526075645064","fileSize":7086936,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2413955458.blk","md5":"1499551373834979714","fileSize":4528960,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2001589684.blk","md5":"5615747914221344180","fileSize":6836623,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2811168286.blk","md5":"4891270490784466462","fileSize":5558997,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1627839717.blk","md5":"6946654761576226021","fileSize":4197681,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4073837510.blk","md5":"4881455336429573062","fileSize":6540266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1627207091.blk","md5":"3218317913911801267","fileSize":7383159,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2711121318.blk","md5":"8471936106329828774","fileSize":9080614,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2819341419.blk","md5":"1585563566131100779","fileSize":6520651,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2851735427.blk","md5":"13906267881462171523","fileSize":7063775,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3836896513.blk","md5":"16165582428611699969","fileSize":4266388,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1553152332.blk","md5":"15176969950806096204","fileSize":4225378,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/221308184.blk","md5":"7430809660190418200","fileSize":4404601,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4162741213.blk","md5":"6666125126882190301","fileSize":5422590,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1365475511.blk","md5":"13920871103789760695","fileSize":4910021,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/910316510.blk","md5":"43870742491845598","fileSize":4742823,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/377221656.blk","md5":"10095865021024956952","fileSize":4403060,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2872058769.blk","md5":"16310175121596752785","fileSize":4899769,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/436410602.blk","md5":"12572299355291326698","fileSize":6193795,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/819446289.blk","md5":"1033466533505384977","fileSize":6307035,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/733711727.blk","md5":"2166417926158781807","fileSize":7338058,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1296979491.blk","md5":"5737056726466582051","fileSize":4676014,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3547876191.blk","md5":"11145176752093416287","fileSize":5117860,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1424546261.blk","md5":"8352496139738077653","fileSize":5095716,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1235325233.blk","md5":"3553754008933994801","fileSize":5467388,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3929713497.blk","md5":"623284644312951641","fileSize":7070314,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4130749184.blk","md5":"1187502871713037056","fileSize":7108295,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3928582608.blk","md5":"16497172243464939984","fileSize":5163156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1631526463.blk","md5":"12272830481145208383","fileSize":4861301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/769775666.blk","md5":"16488250223137773618","fileSize":4882803,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1159210497.blk","md5":"14993220520660968961","fileSize":8287996,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1738754710.blk","md5":"12693300061474605718","fileSize":4387542,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3084358833.blk","md5":"353573363137352881","fileSize":5391273,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3795470126.blk","md5":"11085569718738372398","fileSize":8526645,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1096010648.blk","md5":"16736683381111376792","fileSize":7676259,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3384753903.blk","md5":"9357481934495629039","fileSize":4233916,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3722875840.blk","md5":"469371802404426688","fileSize":4456538,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3229815865.blk","md5":"9828996328997459001","fileSize":4387130,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1750843558.blk","md5":"1714827774136139942","fileSize":5301165,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3434011547.blk","md5":"11054165166616664987","fileSize":4954366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2632147563.blk","md5":"2353097255648715371","fileSize":4201562,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/277033274.blk","md5":"2596911027585233210","fileSize":4785630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/995796045.blk","md5":"1797016499485582413","fileSize":4282304,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3493686455.blk","md5":"5603443062043667639","fileSize":4589216,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4246832320.blk","md5":"10262090485566899392","fileSize":4799617,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2649386886.blk","md5":"15517318210002775942","fileSize":4739764,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4102314893.blk","md5":"17728981130558069645","fileSize":6198231,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4171994722.blk","md5":"12500181605382067810","fileSize":4217484,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1707921702.blk","md5":"11825267512856858918","fileSize":4554892,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3224232773.blk","md5":"16449589824801596229","fileSize":7091334,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3401043520.blk","md5":"12979340753291955776","fileSize":4198352,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1274911679.blk","md5":"14393353485200235455","fileSize":8215471,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1087092088.blk","md5":"13375120608619902328","fileSize":5514317,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2558124932.blk","md5":"1993872332740486020","fileSize":4247457,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/898416191.blk","md5":"17641727213173521983","fileSize":4381699,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/143813341.blk","md5":"5976457364873833181","fileSize":4435257,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1019250254.blk","md5":"10211984719554315854","fileSize":4523291,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3197722262.blk","md5":"984012641760009878","fileSize":5621838,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2985784254.blk","md5":"1011378854603223998","fileSize":4270940,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1773020237.blk","md5":"3459875821201531981","fileSize":4570989,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4259178033.blk","md5":"11386378229202675249","fileSize":4258655,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1773794866.blk","md5":"16638705402421835314","fileSize":6784894,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3631366226.blk","md5":"374886687919194194","fileSize":4268220,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1302938828.blk","md5":"4913224614041699532","fileSize":4672986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3948506260.blk","md5":"16186323225227652244","fileSize":4727526,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/332897838.blk","md5":"14476017452788981294","fileSize":4567882,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1004071030.blk","md5":"93037964822112374","fileSize":4549419,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1594730284.blk","md5":"3692592430614161196","fileSize":4632386,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/211131312.blk","md5":"4415297505157553072","fileSize":4312255,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2245275072.blk","md5":"448435012179865024","fileSize":7726167,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1587664826.blk","md5":"4807647184250066874","fileSize":4840840,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/859165431.blk","md5":"7878943520540971767","fileSize":5075696,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1953618404.blk","md5":"4578384287076833764","fileSize":4386696,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/782447281.blk","md5":"5048856429438644913","fileSize":6171090,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/666185679.blk","md5":"2736459725216755663","fileSize":6435404,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3995953273.blk","md5":"8198826567555442809","fileSize":7757486,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3141668387.blk","md5":"1083152104782171683","fileSize":8234378,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3832273416.blk","md5":"17657392645463071240","fileSize":7649148,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3540819213.blk","md5":"14632029248216145165","fileSize":5084375,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/929337894.blk","md5":"2823739095931720230","fileSize":4215846,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1890895577.blk","md5":"4245315023522809561","fileSize":7322363,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2818941914.blk","md5":"6179220810793067482","fileSize":6591526,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/751871301.blk","md5":"13162930961661338949","fileSize":5245338,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1620324765.blk","md5":"2955218057122034077","fileSize":4409767,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/379863039.blk","md5":"999175767577608191","fileSize":7098423,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1387662181.blk","md5":"7535697341160229733","fileSize":7721613,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2366383311.blk","md5":"15900150068109124815","fileSize":5017670,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3885812541.blk","md5":"12261453488694545213","fileSize":5073494,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3695555132.blk","md5":"11992439607783699004","fileSize":4713317,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1699343858.blk","md5":"6924499795621572082","fileSize":7170643,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3513277209.blk","md5":"12818391930637933337","fileSize":5212703,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2186464559.blk","md5":"1239352191707434287","fileSize":4874807,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1335259520.blk","md5":"8135472872406020480","fileSize":5085745,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2843491651.blk","md5":"14120978197138652483","fileSize":6365277,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4253463077.blk","md5":"11443316924172644901","fileSize":6276872,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2126127690.blk","md5":"16280811133822706250","fileSize":8487034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2970467677.blk","md5":"5386565470978424157","fileSize":7822983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1165583607.blk","md5":"4613572266150159607","fileSize":6918409,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/107251831.blk","md5":"12397227150718306423","fileSize":7744847,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/191057574.blk","md5":"16562249425282616998","fileSize":7712345,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1295976457.blk","md5":"17556781861491902473","fileSize":4498959,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/70472186.blk","md5":"15955989571283669498","fileSize":9088795,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3407667607.blk","md5":"6400028275524821399","fileSize":4740337,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/476672567.blk","md5":"13167904722493469239","fileSize":8467832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/316027643.blk","md5":"11752412788676768507","fileSize":6445091,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/211921745.blk","md5":"12299421451183827793","fileSize":4422450,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1148974209.blk","md5":"16125410969739064449","fileSize":7281630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3143674367.blk","md5":"2757347098547497471","fileSize":5225204,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2528895094.blk","md5":"1070054640054952054","fileSize":6801091,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2092675560.blk","md5":"12810919983202415080","fileSize":5084311,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2127457253.blk","md5":"10613230637153151973","fileSize":5728812,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2133473218.blk","md5":"13210269139096713154","fileSize":7986793,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1858729198.blk","md5":"6928031302575322350","fileSize":5138146,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/306010259.blk","md5":"14225983784141805715","fileSize":7305228,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3436431180.blk","md5":"7471834782995040076","fileSize":4939379,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3972193660.blk","md5":"4971393321600736636","fileSize":5419872,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1248900881.blk","md5":"1621327950507980561","fileSize":6181434,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4091730522.blk","md5":"4382010881133959770","fileSize":7427563,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3524701702.blk","md5":"16988040249979874822","fileSize":7425585,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2270221896.blk","md5":"10764878386260137544","fileSize":5148194,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3302427653.blk","md5":"9703932460573068293","fileSize":7644732,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/704284589.blk","md5":"14341696963772843949","fileSize":5184857,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/913102441.blk","md5":"4687923230737749609","fileSize":5161039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1144620640.blk","md5":"9155946613434844768","fileSize":7457820,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2591284062.blk","md5":"15982423538438232926","fileSize":4740751,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/218430668.blk","md5":"15825545126819986636","fileSize":5155104,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/470478381.blk","md5":"1231765843227635245","fileSize":7544683,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4180223552.blk","md5":"17805203069129532992","fileSize":5020774,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2833683652.blk","md5":"8448829568946967748","fileSize":5144706,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1512328004.blk","md5":"5530626193115859780","fileSize":7600026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2809699297.blk","md5":"13496747422670953441","fileSize":4910081,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3647656121.blk","md5":"18256775994522915001","fileSize":5726796,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1567245790.blk","md5":"7190133206235629022","fileSize":7202038,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1848888670.blk","md5":"12607953589624884574","fileSize":5555350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4078597294.blk","md5":"271343960391840942","fileSize":5711320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2653108704.blk","md5":"11763613082174306784","fileSize":7269530,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/467022142.blk","md5":"12869103890650771774","fileSize":4720338,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/828893343.blk","md5":"8272988310149261471","fileSize":5074809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/485116365.blk","md5":"10670529489264069069","fileSize":4539617,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1077086616.blk","md5":"13540730377130412440","fileSize":6875349,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/731178462.blk","md5":"5571831893824169438","fileSize":4194431,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2834083948.blk","md5":"9498857873483804780","fileSize":5861904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3932204318.blk","md5":"9754071368250469662","fileSize":4357349,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3123344154.blk","md5":"14801989453117813530","fileSize":6814265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3672853970.blk","md5":"14091877647053966802","fileSize":7745067,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1603424416.blk","md5":"12144522194324705440","fileSize":7276054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/811000153.blk","md5":"16357671384745697625","fileSize":4281871,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/719910694.blk","md5":"9336670148106975014","fileSize":4249656,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3390575870.blk","md5":"12917457799328830718","fileSize":7903486,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2621242218.blk","md5":"12614732560618814314","fileSize":4976208,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/292727703.blk","md5":"8236471673028782999","fileSize":7711303,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/857463071.blk","md5":"15033989316300495135","fileSize":4807214,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/917633496.blk","md5":"5934383586843163096","fileSize":7479567,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1665748609.blk","md5":"10486183837628452481","fileSize":6400541,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/560701606.blk","md5":"5583180034768347302","fileSize":4213138,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/427056340.blk","md5":"7798796277859507412","fileSize":7685154,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3899301878.blk","md5":"5117732271870877686","fileSize":6956100,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4297077.blk","md5":"1085659366113251701","fileSize":8010104,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1996674630.blk","md5":"7894850422685488710","fileSize":5261460,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1899511267.blk","md5":"9194315962226589155","fileSize":4695462,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1424324640.blk","md5":"1784544163994630176","fileSize":4208611,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2592837190.blk","md5":"15047413203959778886","fileSize":6707617,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4086504538.blk","md5":"17007965119223897178","fileSize":5225480,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2925462858.blk","md5":"755687464158299466","fileSize":6236850,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3628518213.blk","md5":"8092933594454346565","fileSize":5042542,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1249536163.blk","md5":"11903356838247819427","fileSize":7676125,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/113488351.blk","md5":"17957377304003064287","fileSize":5267739,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2744202673.blk","md5":"9566313796521244081","fileSize":6769406,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1603147358.blk","md5":"3103006339866957406","fileSize":5305821,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3604910776.blk","md5":"7102534056031457976","fileSize":5879664,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3209612950.blk","md5":"7757048060358610582","fileSize":7925836,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3985600491.blk","md5":"7625826128658132971","fileSize":6765027,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4036828115.blk","md5":"7297041662031502291","fileSize":6458067,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3574466844.blk","md5":"1190813187135375644","fileSize":7633229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1736190544.blk","md5":"5260529705982634576","fileSize":4628418,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1243845657.blk","md5":"16658315616975033369","fileSize":8268177,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4052181402.blk","md5":"11198925210290446746","fileSize":5366149,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2644931757.blk","md5":"18215087666555679917","fileSize":6047285,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3664570547.blk","md5":"6214101237481924787","fileSize":6865168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1154277468.blk","md5":"12030808601091956828","fileSize":4379295,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/314916181.blk","md5":"16040275401314221397","fileSize":4229200,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3735227870.blk","md5":"16817192897901432286","fileSize":4214314,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1925009022.blk","md5":"18250509107234426494","fileSize":4202549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/81908318.blk","md5":"1435519366239212126","fileSize":4205110,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/434657686.blk","md5":"6362353210273323414","fileSize":4196662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1364572924.blk","md5":"9971053530088585980","fileSize":4220751,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1776852593.blk","md5":"13626060047877971569","fileSize":4201907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2943324564.blk","md5":"9484437125759734164","fileSize":4223961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2268113409.blk","md5":"15885452548190022145","fileSize":9847076,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1300072569.blk","md5":"3002496223572494457","fileSize":4360490,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4079092192.blk","md5":"16921189896320844256","fileSize":4444543,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3849218829.blk","md5":"3969688763435477773","fileSize":4195961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/587427805.blk","md5":"11742981079420858333","fileSize":4372830,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3901444371.blk","md5":"671256023071936787","fileSize":5216844,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4273354923.blk","md5":"2051453586603653291","fileSize":4251733,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1453901316.blk","md5":"2640785313691649540","fileSize":4678680,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/371306963.blk","md5":"6627840566298259923","fileSize":4195488,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2482893615.blk","md5":"13729727888955929391","fileSize":4480447,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1429316244.blk","md5":"12632132425425724052","fileSize":4246253,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3660601363.blk","md5":"11372792216254699539","fileSize":5596103,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/431467037.blk","md5":"332861344555969053","fileSize":4268956,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/587990633.blk","md5":"11481512008835925609","fileSize":5929706,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1996776844.blk","md5":"1340575684397131148","fileSize":4588125,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1762720692.blk","md5":"13649864242676956084","fileSize":4284051,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2296288705.blk","md5":"17343855813661201857","fileSize":4284762,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2947893173.blk","md5":"9338651083741153205","fileSize":4581969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/767113919.blk","md5":"9761214389619866303","fileSize":4201876,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2918731046.blk","md5":"11079377989928504614","fileSize":4672812,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/937969756.blk","md5":"6646787699127109724","fileSize":4506401,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1123520667.blk","md5":"897458186699116699","fileSize":4207709,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1914137904.blk","md5":"11082067922646428976","fileSize":6323805,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2558632961.blk","md5":"17481706921047204865","fileSize":4245161,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1384259527.blk","md5":"9612237509635481543","fileSize":4217624,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3927568430.blk","md5":"16888399169484091438","fileSize":5126640,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2845353257.blk","md5":"16798149239654360361","fileSize":5635130,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/76957761.blk","md5":"9258630862278641729","fileSize":4220087,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/206914496.blk","md5":"784769814577365952","fileSize":4199927,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/372460183.blk","md5":"1935864145772759703","fileSize":4210829,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2457860800.blk","md5":"321795573797616320","fileSize":4211745,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3840569016.blk","md5":"7010072288081637048","fileSize":5237429,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/911485469.blk","md5":"18060440241979009565","fileSize":4301513,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1624358653.blk","md5":"394099233505021","fileSize":4205009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2910310292.blk","md5":"3538092253450325908","fileSize":5453619,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/662082555.blk","md5":"16057443262116828155","fileSize":4208248,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3090984616.blk","md5":"2018017449705516712","fileSize":4299584,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1885019130.blk","md5":"8708316962148260858","fileSize":4293929,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/411576243.blk","md5":"7627170411193051059","fileSize":4613922,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3744803502.blk","md5":"7941100049616153262","fileSize":6206950,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4196165273.blk","md5":"896950215399728793","fileSize":5044946,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1536128172.blk","md5":"3656043620371231916","fileSize":4892887,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2654021876.blk","md5":"2357946058999408884","fileSize":6154368,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1079044835.blk","md5":"13153757259736607459","fileSize":4268266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1367311564.blk","md5":"13853178695469991116","fileSize":4307111,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2107238192.blk","md5":"3157174841570354992","fileSize":5064283,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/473727399.blk","md5":"17738457353792815527","fileSize":5256357,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3889284443.blk","md5":"4900830483473089883","fileSize":4223533,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3486927721.blk","md5":"16393297548436458345","fileSize":5682491,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1260047227.blk","md5":"14053564603625556859","fileSize":4316180,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4098693798.blk","md5":"3829258468570503846","fileSize":4375288,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3783588175.blk","md5":"11618949870286862671","fileSize":4266817,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/431713389.blk","md5":"4705851141009402989","fileSize":4305287,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2083832502.blk","md5":"11509091988204208822","fileSize":5581140,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4037447439.blk","md5":"59107764871794447","fileSize":6353529,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/341768355.blk","md5":"14207721231047653539","fileSize":4313955,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2830647304.blk","md5":"10893514401092485128","fileSize":5690334,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2242888147.blk","md5":"924905962302587347","fileSize":4707375,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3608406418.blk","md5":"15273617050712664466","fileSize":4835950,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2375998191.blk","md5":"15599275497226164975","fileSize":4605314,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1843779924.blk","md5":"14769024190567012692","fileSize":4577286,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2793514162.blk","md5":"12970525731741344946","fileSize":4256350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/67156563.blk","md5":"17296646905303972435","fileSize":4321121,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1576485835.blk","md5":"17710303011046638539","fileSize":4200588,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/204108256.blk","md5":"6368487488493351392","fileSize":4647769,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3226621824.blk","md5":"16083690260798789504","fileSize":5762035,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/467928437.blk","md5":"11109401642827777397","fileSize":5660262,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3595177596.blk","md5":"2039282718055468668","fileSize":4646473,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/208489441.blk","md5":"18062358725857725409","fileSize":4266923,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3660815030.blk","md5":"2538605947982682806","fileSize":4415523,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3651074531.blk","md5":"17544718142526126563","fileSize":4567067,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3293700676.blk","md5":"3065252277650580036","fileSize":4541363,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3406943054.blk","md5":"928015055932478286","fileSize":8474796,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3158020282.blk","md5":"17008802967630614714","fileSize":4607205,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3342740805.blk","md5":"10914819604056255813","fileSize":5253142,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3806583482.blk","md5":"4853672068897823418","fileSize":4757357,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3066323735.blk","md5":"13139206393561375511","fileSize":4466698,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3551251520.blk","md5":"17105404646596004928","fileSize":4460699,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3931887942.blk","md5":"17697443103928736070","fileSize":4213013,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3801462482.blk","md5":"12174080586655577810","fileSize":4264801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/530555016.blk","md5":"11183736986934419592","fileSize":4856414,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1091440243.blk","md5":"3542981724005600883","fileSize":5502426,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2748110579.blk","md5":"1873736956585498355","fileSize":4573639,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1616303740.blk","md5":"10274702143299966588","fileSize":4471737,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1008709822.blk","md5":"6643628394269356222","fileSize":4447198,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4186502963.blk","md5":"16798437394646366003","fileSize":4264713,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1725610999.blk","md5":"6888810361174801399","fileSize":5009955,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2097620791.blk","md5":"13984401702418589495","fileSize":5895077,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3339158430.blk","md5":"2616147712424772510","fileSize":4931138,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3217302704.blk","md5":"7839269080329888944","fileSize":4571880,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2328408882.blk","md5":"11615629665838347058","fileSize":5035531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1678893989.blk","md5":"2098541436484051877","fileSize":4270922,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1106050416.blk","md5":"6699369098409475440","fileSize":4725261,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3273046922.blk","md5":"13628572837170559882","fileSize":6426963,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2251525436.blk","md5":"11100598001036660028","fileSize":5101265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1237160163.blk","md5":"2662624844217946339","fileSize":4427361,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3535819949.blk","md5":"11359366766837912749","fileSize":4371976,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/954756964.blk","md5":"14738444434847330148","fileSize":4818402,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3749302245.blk","md5":"14461983272608583653","fileSize":4246607,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3775236715.blk","md5":"7228513362618190443","fileSize":4362634,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/691541026.blk","md5":"11026006602367374370","fileSize":4285366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3033566888.blk","md5":"14582701372220673704","fileSize":4748205,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/719877791.blk","md5":"17393877848777324191","fileSize":4197856,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1188956293.blk","md5":"4135648642144798853","fileSize":4361849,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1236579434.blk","md5":"8325598473067213930","fileSize":4273305,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2364395645.blk","md5":"1460810386523410557","fileSize":4196314,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1808339809.blk","md5":"10410068199718064993","fileSize":6396525,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2623113857.blk","md5":"13279783391430544001","fileSize":4251520,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3274617828.blk","md5":"11389001972199633892","fileSize":4631782,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2572853724.blk","md5":"7529144850044330460","fileSize":4234624,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/388151575.blk","md5":"11223166483081378071","fileSize":5014629,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1484132993.blk","md5":"11892412132235809409","fileSize":5447225,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4011027308.blk","md5":"585163442387905388","fileSize":4270965,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1144289383.blk","md5":"11835404657314003047","fileSize":4574603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3818263172.blk","md5":"12997367126587478660","fileSize":4267210,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/243115641.blk","md5":"13215760106865403513","fileSize":4584943,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2771505281.blk","md5":"2931977951579852929","fileSize":4303050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2378747912.blk","md5":"17695492238035439624","fileSize":4814295,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3247231292.blk","md5":"10275924698781765948","fileSize":4443711,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4007507845.blk","md5":"13132152829841880965","fileSize":4555453,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4179840904.blk","md5":"11888737717395345288","fileSize":4944615,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2691676330.blk","md5":"9564373287294711978","fileSize":4765042,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2683433357.blk","md5":"4739549692888740237","fileSize":4493821,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2008107666.blk","md5":"12200873406898457234","fileSize":4211536,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/240234671.blk","md5":"7022647579356803247","fileSize":4849773,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2714047833.blk","md5":"12672085887535093081","fileSize":4650908,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1289661924.blk","md5":"3944483268557975012","fileSize":4240038,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2703850191.blk","md5":"9496863999210912463","fileSize":4217687,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1488300420.blk","md5":"3938449724468996484","fileSize":4199968,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3932984567.blk","md5":"7027882164635866359","fileSize":6882228,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1253092738.blk","md5":"15735900450193452418","fileSize":4207635,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3690645243.blk","md5":"13993245780408452859","fileSize":6885983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3715408464.blk","md5":"2891594565472789072","fileSize":5233509,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1779010897.blk","md5":"15160557691287997777","fileSize":4613014,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/297581457.blk","md5":"6475908322921593745","fileSize":4260660,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1232382122.blk","md5":"17803284920902396074","fileSize":4276938,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/611400143.blk","md5":"15885964120087935439","fileSize":4204165,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2481470838.blk","md5":"4402550817587477878","fileSize":4228812,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/842747471.blk","md5":"15038356533521632847","fileSize":4202090,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3809802160.blk","md5":"16709821241016776624","fileSize":4268446,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2671822548.blk","md5":"1594346503520962260","fileSize":4349306,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/676342943.blk","md5":"1963352581016136863","fileSize":4206389,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3907038085.blk","md5":"132704679353166725","fileSize":4195983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1287886114.blk","md5":"15556626019917206818","fileSize":4758269,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4066515679.blk","md5":"15354039356010666719","fileSize":5260173,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/66034951.blk","md5":"9886261541403073799","fileSize":5513195,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3010464674.blk","md5":"1647016521034107810","fileSize":6035392,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/898684117.blk","md5":"7077897931936814293","fileSize":5859394,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2543975145.blk","md5":"6984166371200465641","fileSize":4275128,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3884289968.blk","md5":"1452839641706500016","fileSize":5235858,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2186020860.blk","md5":"9853007797888485372","fileSize":4385995,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/790496309.blk","md5":"6836493260527895605","fileSize":5460145,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4074618816.blk","md5":"16265475753177366464","fileSize":4653901,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3183659969.blk","md5":"5033471781676174273","fileSize":4259197,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/946667044.blk","md5":"14460352487903526436","fileSize":4991464,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1564552396.blk","md5":"12509564469933845708","fileSize":4434249,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2220374397.blk","md5":"2741246549426715005","fileSize":4841801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4122705711.blk","md5":"2543010892673154863","fileSize":4333774,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2855295488.blk","md5":"4302301286225697280","fileSize":4410301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2590836583.blk","md5":"13042034931267340135","fileSize":5280321,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/579658891.blk","md5":"7581480815554258059","fileSize":4868773,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3435594965.blk","md5":"1405275111837598933","fileSize":4751531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2455700512.blk","md5":"14860546916304749600","fileSize":4330587,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2295827653.blk","md5":"6809640997649616069","fileSize":5099709,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/362977861.blk","md5":"8596704457253886533","fileSize":5146241,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2105109383.blk","md5":"1366726799772969863","fileSize":6205912,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3613278968.blk","md5":"6057382918796231416","fileSize":4528609,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/443664660.blk","md5":"5162335963345701140","fileSize":4406171,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3432321731.blk","md5":"8650991167612457667","fileSize":4709439,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4098870693.blk","md5":"4369646653843426725","fileSize":4466410,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1673391578.blk","md5":"9408097546842009050","fileSize":4874259,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3763733507.blk","md5":"9844503085615285251","fileSize":4639018,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3734841401.blk","md5":"11265896755278719033","fileSize":5063581,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3772146949.blk","md5":"7782062332705137925","fileSize":4335249,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1900477726.blk","md5":"15469450618351320350","fileSize":4643110,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2720298734.blk","md5":"10571088663450777326","fileSize":4470942,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3243940955.blk","md5":"17948979426299124827","fileSize":5108071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3765099224.blk","md5":"768347624132238040","fileSize":4574489,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/513563429.blk","md5":"15692980708121008933","fileSize":4880139,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1555419984.blk","md5":"11306780851732599632","fileSize":4676989,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/169508558.blk","md5":"16983573300248215246","fileSize":4491249,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3958170071.blk","md5":"17829422488273871319","fileSize":6360333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/916338050.blk","md5":"14168353917869372802","fileSize":5790149,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4169688534.blk","md5":"10302939090513323478","fileSize":5540678,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3352864667.blk","md5":"16142385992661772187","fileSize":6384958,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/646521551.blk","md5":"10049985098306626255","fileSize":5304014,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2361422119.blk","md5":"130922403818664231","fileSize":4499263,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/363536311.blk","md5":"13590656918806536119","fileSize":5095476,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1261074656.blk","md5":"8696608966574766304","fileSize":4636425,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2475821076.blk","md5":"13922551334761007124","fileSize":5923864,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3979651980.blk","md5":"877231822758783884","fileSize":5812927,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3980648668.blk","md5":"12787165165221306588","fileSize":5287197,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2525628008.blk","md5":"5212171295596873320","fileSize":4901290,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2201931778.blk","md5":"5695865998138068994","fileSize":5265572,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1033084831.blk","md5":"1872406296692760479","fileSize":4994218,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1760547762.blk","md5":"16067998991453770674","fileSize":4558924,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2395066478.blk","md5":"12442057085338898542","fileSize":4655565,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1017391444.blk","md5":"6369785544387602772","fileSize":4250313,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2875339955.blk","md5":"14313676045254014131","fileSize":5584792,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3090127701.blk","md5":"13465035536216333141","fileSize":5086496,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3805298275.blk","md5":"5205750458207977059","fileSize":6863153,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1755999192.blk","md5":"1917337041220824024","fileSize":6469796,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1031470131.blk","md5":"13486768940553796659","fileSize":5135573,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3197311084.blk","md5":"9000040599722858604","fileSize":5537109,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/834363183.blk","md5":"17863810776460648239","fileSize":4465721,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1354273382.blk","md5":"332139232627298918","fileSize":4359606,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4077088201.blk","md5":"16800569862979284425","fileSize":4231837,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3040267209.blk","md5":"16457857177100929993","fileSize":5474987,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1941019207.blk","md5":"14521765002197703239","fileSize":6083594,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3331744692.blk","md5":"4963561491045704628","fileSize":6022417,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2921594063.blk","md5":"16897498009450052815","fileSize":5806453,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2701349932.blk","md5":"13626287299817067564","fileSize":5147021,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3765595198.blk","md5":"15553993246097173566","fileSize":5969360,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/825713784.blk","md5":"6332325792922952824","fileSize":5782934,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/802242347.blk","md5":"3473103589357993771","fileSize":5788105,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2076819579.blk","md5":"11322527615405375611","fileSize":5519527,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/944617383.blk","md5":"17397608539199748007","fileSize":5280152,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2805160204.blk","md5":"4629294210325109004","fileSize":6071481,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4082333881.blk","md5":"11793765755476211897","fileSize":5974970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3603368180.blk","md5":"10273667178427779316","fileSize":5581915,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1792893727.blk","md5":"17520632651266745119","fileSize":5189751,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/609814948.blk","md5":"4821352174805649828","fileSize":5647570,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1990714022.blk","md5":"4349327878717432486","fileSize":6035748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1216880637.blk","md5":"6583423707585716221","fileSize":5825550,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3191144227.blk","md5":"13519241330717687587","fileSize":5969333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/987480084.blk","md5":"16689739079219920916","fileSize":4524306,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/959129127.blk","md5":"10453180517945386535","fileSize":5515798,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4075282873.blk","md5":"8560782359524794809","fileSize":6404717,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2037855108.blk","md5":"2414330230131340164","fileSize":6517702,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/441486059.blk","md5":"14082310462436838123","fileSize":6109665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2430477077.blk","md5":"14778371500278686485","fileSize":4978086,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2118219971.blk","md5":"14228516876060817603","fileSize":6363021,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2446712700.blk","md5":"2562794137427763068","fileSize":5881961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4086077534.blk","md5":"941112009624950878","fileSize":6092361,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1772798194.blk","md5":"1374363813933662450","fileSize":5407386,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/774233287.blk","md5":"12358909733798010055","fileSize":4587132,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/691933906.blk","md5":"245186635509928658","fileSize":4609893,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3602079099.blk","md5":"4492015249476771195","fileSize":6087500,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1444216902.blk","md5":"9323734523379515462","fileSize":4392812,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3539912929.blk","md5":"2070365074198808801","fileSize":5578336,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1976062165.blk","md5":"16187287245844664533","fileSize":5412670,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1257472729.blk","md5":"14558566853991695065","fileSize":4506884,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3208969004.blk","md5":"2603003974202489644","fileSize":4793083,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/173551805.blk","md5":"11203953539373609149","fileSize":4752158,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1867634577.blk","md5":"15727050894032885649","fileSize":5047884,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3979904778.blk","md5":"13746760536747968266","fileSize":4844818,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/886171234.blk","md5":"10061983471939741282","fileSize":4993599,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/859254325.blk","md5":"12207270656457780789","fileSize":5186044,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1297685465.blk","md5":"6226496940228025305","fileSize":4865817,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1288180062.blk","md5":"15126374978096206174","fileSize":4656759,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1197187795.blk","md5":"2716694960561431251","fileSize":4442720,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3765420740.blk","md5":"12113837893562122948","fileSize":4291423,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3420224999.blk","md5":"11797879053583416807","fileSize":4738852,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3665667904.blk","md5":"1634222827726808896","fileSize":4455974,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3059098462.blk","md5":"11288577377381524318","fileSize":4508971,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2730049443.blk","md5":"1693659487631130531","fileSize":4400671,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1931721044.blk","md5":"5236775332985682260","fileSize":4319700,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2301536311.blk","md5":"7129240994598266935","fileSize":4804758,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1515787236.blk","md5":"1887512573328823268","fileSize":5178494,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/66074975.blk","md5":"16973517089487731039","fileSize":4398600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/183777111.blk","md5":"5509993009983534935","fileSize":5127150,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3238911245.blk","md5":"1577785599820946701","fileSize":5213642,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2163593653.blk","md5":"3949697149275853237","fileSize":5394240,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4267807313.blk","md5":"8016367707029082705","fileSize":4406854,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2064503824.blk","md5":"10523513666539475984","fileSize":4980960,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3334546237.blk","md5":"2497267849505088317","fileSize":4805352,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1958191438.blk","md5":"15133407364943159630","fileSize":4553912,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2044997088.blk","md5":"17549361318394605024","fileSize":4772190,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4237451146.blk","md5":"6973023307877736330","fileSize":4321617,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4205991221.blk","md5":"15765995005521581365","fileSize":4794647,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1662202512.blk","md5":"14726810430006833808","fileSize":4954947,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1066981154.blk","md5":"7411331288564029218","fileSize":5166229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1709546442.blk","md5":"228848031177743306","fileSize":5091396,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3561424265.blk","md5":"5209369990113199497","fileSize":5146797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1995334259.blk","md5":"11287867766116082291","fileSize":4211254,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3837421335.blk","md5":"16449719469002614551","fileSize":4273880,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3429366405.blk","md5":"9735696827640445573","fileSize":5585379,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1054305566.blk","md5":"17205935474717715742","fileSize":5485330,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1749887141.blk","md5":"14046529421914744997","fileSize":5187311,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2378097044.blk","md5":"736015598567219604","fileSize":5381167,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2468395124.blk","md5":"13157284640456751220","fileSize":4677596,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1282772639.blk","md5":"14444350548196298399","fileSize":4601663,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1421412532.blk","md5":"7948825787220166836","fileSize":4515271,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1260589121.blk","md5":"14473347216714174529","fileSize":4677511,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2372519310.blk","md5":"3829690025158231438","fileSize":5257376,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3904577532.blk","md5":"11245922520412135420","fileSize":4898668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3953774743.blk","md5":"7054288731694026903","fileSize":4986173,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2625812758.blk","md5":"8770882365670209814","fileSize":4912376,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3305401941.blk","md5":"8740743468437237333","fileSize":5109571,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2735216435.blk","md5":"6653778915544799027","fileSize":4945447,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/299061153.blk","md5":"13763218564277555105","fileSize":5131662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/759269162.blk","md5":"17771652228596205354","fileSize":5010482,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1294549723.blk","md5":"7490234807296279259","fileSize":4891928,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2901379287.blk","md5":"12796022915714746583","fileSize":4665976,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/945486892.blk","md5":"8425522587724610604","fileSize":4471344,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1459562039.blk","md5":"14707036069660927543","fileSize":5469539,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/168407973.blk","md5":"206725035346998181","fileSize":5668524,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2446743761.blk","md5":"858787569504508113","fileSize":5137474,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2400346072.blk","md5":"7185455820179660760","fileSize":5213162,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1881652285.blk","md5":"7900579784389278781","fileSize":5356553,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3819221051.blk","md5":"13449027661257289787","fileSize":5588084,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2976232374.blk","md5":"3855967687945860022","fileSize":5171843,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2743053063.blk","md5":"17287675949659171591","fileSize":5433125,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2782878170.blk","md5":"9514155846861281754","fileSize":4970087,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1736245250.blk","md5":"4575892054776545282","fileSize":4215233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1513810723.blk","md5":"18099002297210825507","fileSize":4604334,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/804100959.blk","md5":"17999978325093489503","fileSize":5066994,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2172848993.blk","md5":"16347733153907149665","fileSize":5294257,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2099456656.blk","md5":"14264446953237719696","fileSize":5316983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2986662162.blk","md5":"409273432396847378","fileSize":5528073,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3316692919.blk","md5":"7624583220288337847","fileSize":5888036,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/272446174.blk","md5":"7033865475620418270","fileSize":5693111,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2738764601.blk","md5":"17945913424734993209","fileSize":5057016,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1712258736.blk","md5":"5260004822300425904","fileSize":4981895,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/494376806.blk","md5":"12344537656254240614","fileSize":5235695,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1886964814.blk","md5":"9549675431661718606","fileSize":5632282,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2620443798.blk","md5":"12918295235577040022","fileSize":5608647,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2656428705.blk","md5":"12385067031405650593","fileSize":5552822,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3497091739.blk","md5":"8577018585160966811","fileSize":5725386,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/955745065.blk","md5":"9664189386374742825","fileSize":5412862,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3364290354.blk","md5":"10932197286570557234","fileSize":5002746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/14524666.blk","md5":"14902740234492813562","fileSize":5442283,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2767242439.blk","md5":"8817921929969190087","fileSize":4320560,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1994887285.blk","md5":"15031996912174076021","fileSize":4717768,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1968267546.blk","md5":"8878117923048218906","fileSize":4221816,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2599314155.blk","md5":"12488910024781751019","fileSize":4861897,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2699838593.blk","md5":"10682276669414982785","fileSize":4417217,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1624892490.blk","md5":"6572775899951391818","fileSize":4340701,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/927261581.blk","md5":"2604304612572062605","fileSize":4786908,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/544916910.blk","md5":"530970980394911150","fileSize":5746043,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2768645188.blk","md5":"322050342978464836","fileSize":5188071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/564670653.blk","md5":"4200803544508936381","fileSize":6436831,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2619791771.blk","md5":"12111651522134595995","fileSize":5455306,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1293031982.blk","md5":"190811306466613806","fileSize":4587373,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2515569520.blk","md5":"16948672948102794096","fileSize":4299450,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1389245943.blk","md5":"12250371177789142519","fileSize":4706329,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3135811444.blk","md5":"8998643489749643124","fileSize":5521722,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2795366637.blk","md5":"8800729068537243885","fileSize":6434239,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1231141160.blk","md5":"8620187148863256872","fileSize":4802413,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/134862189.blk","md5":"18346088865267832173","fileSize":5814320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3478665457.blk","md5":"16783261444825692401","fileSize":4728667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/958438676.blk","md5":"4169691209832373524","fileSize":5460838,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3417357447.blk","md5":"7099258778208484487","fileSize":5862009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/249411711.blk","md5":"7800301247107283071","fileSize":6725916,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3320748302.blk","md5":"13554257280088578318","fileSize":5317303,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/134947200.blk","md5":"1959225748263477632","fileSize":5507537,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/342647596.blk","md5":"7393194203589403436","fileSize":4389028,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2623646340.blk","md5":"11838932536340359812","fileSize":4341223,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3259907068.blk","md5":"10626182691987274748","fileSize":6376075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3804686295.blk","md5":"360514967310886871","fileSize":4960880,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3246351708.blk","md5":"17722169470484440412","fileSize":4985549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4242398787.blk","md5":"9989972799480782403","fileSize":4531700,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3575739878.blk","md5":"15866323147413353958","fileSize":5471275,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2651250032.blk","md5":"12837858688656399728","fileSize":5691301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/788209324.blk","md5":"11916351411664395948","fileSize":4851773,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3457718933.blk","md5":"5144755385316973205","fileSize":5080723,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/305677809.blk","md5":"2843768859976549873","fileSize":4709346,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3050114559.blk","md5":"3354977456796536319","fileSize":4618055,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3051357137.blk","md5":"971328804324639697","fileSize":5462006,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3145348905.blk","md5":"722989985727919913","fileSize":4945865,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2405075803.blk","md5":"14597722723357199195","fileSize":5273657,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2672979486.blk","md5":"13320133849017118238","fileSize":4394374,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1089212216.blk","md5":"15515548428513578808","fileSize":4566998,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/77407947.blk","md5":"15013309971408168651","fileSize":5256938,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/728320900.blk","md5":"8025923172499540868","fileSize":5070600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2388466542.blk","md5":"11291083786480851822","fileSize":6900181,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1070150038.blk","md5":"388272251583672726","fileSize":5177315,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1036580055.blk","md5":"1103986035547239639","fileSize":5788758,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1728433556.blk","md5":"3676661546643475860","fileSize":6625313,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2262294129.blk","md5":"13755297912107556465","fileSize":4567187,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3508895191.blk","md5":"1601096161427815895","fileSize":5532946,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1360284662.blk","md5":"5568239785670364150","fileSize":4997339,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1019133830.blk","md5":"10185400199136853894","fileSize":5505424,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3203430328.blk","md5":"10591000690663913400","fileSize":5504527,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2383308042.blk","md5":"15485811394805130506","fileSize":5826693,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/123507286.blk","md5":"11438914720298209878","fileSize":5575885,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3392758608.blk","md5":"4311991394407899984","fileSize":5231343,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1916489960.blk","md5":"10505572720412676328","fileSize":4511155,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4100392430.blk","md5":"17470494811678508526","fileSize":5218237,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/547323676.blk","md5":"9323219147881938716","fileSize":4284666,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1377382868.blk","md5":"11857903156532425172","fileSize":4198607,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1734481906.blk","md5":"7911846909388658674","fileSize":4202122,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1981805529.blk","md5":"5345853376206730201","fileSize":4209506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/305642417.blk","md5":"2070974191816391601","fileSize":4224530,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2740883544.blk","md5":"6314968749663227992","fileSize":4434669,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4111097472.blk","md5":"2987015227218484864","fileSize":4225460,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3214315585.blk","md5":"1337972415742251073","fileSize":4211962,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/16643891.blk","md5":"284385293811709747","fileSize":4196534,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/797647384.blk","md5":"3920748643133104664","fileSize":4291522,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2320191563.blk","md5":"11419925980589543499","fileSize":4200270,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1919775923.blk","md5":"14796322126603056307","fileSize":4220209,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3263480486.blk","md5":"11372670208721601190","fileSize":4219350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/642776328.blk","md5":"10351094105690340616","fileSize":4293915,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/56231798.blk","md5":"6627560203403003766","fileSize":4236721,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3336814943.blk","md5":"8877173418158702943","fileSize":4279998,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4195017699.blk","md5":"2814802534974809059","fileSize":4625630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4245963284.blk","md5":"15984481039881093652","fileSize":4252896,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1476482021.blk","md5":"8537502770893247461","fileSize":4195146,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/161912766.blk","md5":"8590836208876558270","fileSize":4202035,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2639619985.blk","md5":"516936137467848593","fileSize":4206546,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4156847077.blk","md5":"12430186673667863525","fileSize":4203471,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2974900451.blk","md5":"9232602414175052003","fileSize":4206504,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3006809129.blk","md5":"10787157507642508329","fileSize":4306083,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1420781790.blk","md5":"8495351626787154142","fileSize":4298245,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/782040786.blk","md5":"5706213891489201874","fileSize":4871284,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2771898506.blk","md5":"15396264483873083530","fileSize":4195120,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3027741784.blk","md5":"4389772882406255704","fileSize":4513291,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2687589487.blk","md5":"14136864464966868079","fileSize":4231694,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1593125459.blk","md5":"16965676168654432851","fileSize":4203183,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3904402835.blk","md5":"12219206966324000147","fileSize":4320310,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4109864311.blk","md5":"2981040476736949623","fileSize":4252381,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4009845271.blk","md5":"7794250947617710615","fileSize":4305121,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2506828906.blk","md5":"17861777510550416490","fileSize":4213531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/763574.blk","md5":"17277798329589933750","fileSize":4410665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1460930253.blk","md5":"8795875801402967757","fileSize":4653199,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3392926183.blk","md5":"5336659287156191719","fileSize":4256649,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/248010589.blk","md5":"884903163193743197","fileSize":4546696,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1706416346.blk","md5":"8287750040608692442","fileSize":5586174,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2909574543.blk","md5":"7254187598211224975","fileSize":4583903,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4281232822.blk","md5":"7101089087975484854","fileSize":4220421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4009846722.blk","md5":"721273919524399042","fileSize":4344741,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/856584943.blk","md5":"1158268610897933039","fileSize":4206860,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1060712725.blk","md5":"1557873205840523541","fileSize":4243010,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2172010616.blk","md5":"3567284694451372152","fileSize":4231325,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/461319330.blk","md5":"394100375566625954","fileSize":5203587,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3507402638.blk","md5":"9339296927122896782","fileSize":13305051,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3275548088.blk","md5":"17896133693454214584","fileSize":5338497,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1938490771.blk","md5":"4983412235789075859","fileSize":4259089,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3652970058.blk","md5":"17780228568215447114","fileSize":5747586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1141219661.blk","md5":"7455753267797401933","fileSize":4320072,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1471139608.blk","md5":"7427482517779762968","fileSize":4953322,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2553215970.blk","md5":"5639401888809941986","fileSize":8053462,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/836753016.blk","md5":"11901703451519735416","fileSize":4212775,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/287594087.blk","md5":"16243283704911517287","fileSize":4225354,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/814607485.blk","md5":"4632308205929491581","fileSize":4201881,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1226003987.blk","md5":"15710985980537427475","fileSize":4210441,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2091953860.blk","md5":"11752548756232384196","fileSize":4251431,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1779419543.blk","md5":"13975332779870636439","fileSize":4531194,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3994770925.blk","md5":"6684078553867967981","fileSize":4198977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3505764658.blk","md5":"4869336819347863858","fileSize":4313610,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2530404777.blk","md5":"2427680247405275561","fileSize":9245519,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1163310083.blk","md5":"11690112841491592195","fileSize":6185737,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4171916533.blk","md5":"13821281273247327477","fileSize":5233358,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3967329863.blk","md5":"6047643853173335623","fileSize":5153691,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/992674580.blk","md5":"16207218083548037908","fileSize":5184192,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3387358620.blk","md5":"7358041544288828828","fileSize":5470371,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3454065260.blk","md5":"1852855423298755180","fileSize":5096485,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2873719278.blk","md5":"12219158556716923374","fileSize":5150759,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/713955912.blk","md5":"1820764928161487432","fileSize":5249591,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2571026158.blk","md5":"9278798850078719726","fileSize":5375703,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2320335672.blk","md5":"8626003828456391480","fileSize":5296761,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2309687409.blk","md5":"2448468619041638513","fileSize":4914186,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/420687509.blk","md5":"2542782525560008341","fileSize":4284862,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3190736690.blk","md5":"2812584612858873650","fileSize":18455340,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1532913670.blk","md5":"1521847424360802310","fileSize":15151997,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/402030137.blk","md5":"4174928604065857081","fileSize":15176022,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1716686728.blk","md5":"17521327877546741640","fileSize":10355759,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1824614063.blk","md5":"9200911270981756591","fileSize":11504108,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2464284464.blk","md5":"16379830840665964336","fileSize":13618299,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4101932661.blk","md5":"3823839005825205877","fileSize":13703220,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2035699980.blk","md5":"3637562552689774860","fileSize":13977758,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2793908462.blk","md5":"16034906462744979694","fileSize":15125694,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3651882815.blk","md5":"12293603573529005887","fileSize":14920394,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/403182161.blk","md5":"3979543485140701777","fileSize":14323292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4237124128.blk","md5":"11262037160729862688","fileSize":14933452,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2894270833.blk","md5":"6519272059095421297","fileSize":15196692,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1041940285.blk","md5":"2073553298939100989","fileSize":6254852,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3757364918.blk","md5":"13051170469606381238","fileSize":5879564,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2880575938.blk","md5":"1597869296035436994","fileSize":4578172,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/63759377.blk","md5":"1729677312637330449","fileSize":7515665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3250419741.blk","md5":"8603898783765198877","fileSize":11213143,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/404254811.blk","md5":"4921496453867139163","fileSize":19888333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1625807299.blk","md5":"9644609627574753731","fileSize":6930766,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3348103004.blk","md5":"3864609480344862556","fileSize":16692703,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1323463536.blk","md5":"10724603158423827312","fileSize":6864896,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2249819422.blk","md5":"2348050737413063966","fileSize":17506596,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/210075043.blk","md5":"5951135826900778403","fileSize":6580658,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2170226428.blk","md5":"2972982523444528892","fileSize":5845940,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3775528374.blk","md5":"6275345276505554358","fileSize":6213505,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3830587148.blk","md5":"13489033615183585036","fileSize":4785223,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/958585822.blk","md5":"2416066246243179486","fileSize":8422357,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2160936804.blk","md5":"6856088513315424100","fileSize":7104908,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/208406172.blk","md5":"1617745375511971484","fileSize":12917034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/646137623.blk","md5":"7621063461853939479","fileSize":5398461,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2931416981.blk","md5":"1041604592405176213","fileSize":9302728,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3014406535.blk","md5":"5455538982189019527","fileSize":8349027,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2809770080.blk","md5":"13468305693970378848","fileSize":16154143,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3827734585.blk","md5":"15286251066600364089","fileSize":16249803,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1237986511.blk","md5":"3344704679191391439","fileSize":7410118,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/660913830.blk","md5":"15303638229214084774","fileSize":7505394,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3148195028.blk","md5":"11518791296733258964","fileSize":4647955,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/697529760.blk","md5":"9854953270556194208","fileSize":9303346,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/392765166.blk","md5":"16323455823716622062","fileSize":5764929,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3250830972.blk","md5":"9371649090145992316","fileSize":6740793,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3755438147.blk","md5":"17799269764658851907","fileSize":6171439,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2774971387.blk","md5":"9933315015373665275","fileSize":6185982,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2339928332.blk","md5":"13218144120754174220","fileSize":4588986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2847775362.blk","md5":"5707791868834454146","fileSize":5971009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/564168871.blk","md5":"13994621528321329319","fileSize":4958237,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1582460720.blk","md5":"1752669721495498544","fileSize":4635543,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1134589081.blk","md5":"13583392188554835097","fileSize":7030904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1723070300.blk","md5":"202968495295821660","fileSize":6893584,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3733265686.blk","md5":"15626328277810224406","fileSize":7085939,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1463852091.blk","md5":"8271377307206196283","fileSize":7048733,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3660095243.blk","md5":"1198668991643033355","fileSize":5970956,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3989905881.blk","md5":"6384637630169031129","fileSize":5972458,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2932757737.blk","md5":"12845784733255095529","fileSize":6148671,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3484746714.blk","md5":"3676348462463779802","fileSize":6813066,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1315306560.blk","md5":"11875680648878750784","fileSize":6789944,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3761881470.blk","md5":"5136371347466338686","fileSize":6823085,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1796881483.blk","md5":"16266968728776358987","fileSize":6841449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2397288895.blk","md5":"14494927959634459071","fileSize":6937830,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2663863383.blk","md5":"7133098223484752983","fileSize":6779433,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/881901571.blk","md5":"14778233806373568515","fileSize":6687658,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1328564383.blk","md5":"4314447039895193759","fileSize":5922077,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3108816817.blk","md5":"16459484686306822065","fileSize":6059212,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/914902014.blk","md5":"37914756728245246","fileSize":5583776,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1309711595.blk","md5":"1165893252043283691","fileSize":5579685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3422368477.blk","md5":"13433291708141744861","fileSize":6034481,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3409809105.blk","md5":"17217214494984212177","fileSize":6182087,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2296260068.blk","md5":"15214875395873449444","fileSize":6966582,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3774835297.blk","md5":"3584141875755313761","fileSize":6966413,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/401463376.blk","md5":"8382251624897042512","fileSize":6943887,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3110014299.blk","md5":"16519746350235979099","fileSize":6276222,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/606824899.blk","md5":"13465560769578625475","fileSize":6088270,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3011861675.blk","md5":"8034403256996551851","fileSize":6071546,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3355468724.blk","md5":"17421309704453252020","fileSize":6302545,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/670482578.blk","md5":"14443955084175261842","fileSize":6060355,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2379796812.blk","md5":"4115995096327442764","fileSize":4893566,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1632159240.blk","md5":"10029064335068284424","fileSize":5522510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3238582254.blk","md5":"11237589136435632110","fileSize":5250647,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1767995562.blk","md5":"2508639641438091434","fileSize":4625292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2341779947.blk","md5":"12170915138464168427","fileSize":4195475,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2002676125.blk","md5":"9651145906751170973","fileSize":5151446,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1501622138.blk","md5":"7305323035047817082","fileSize":4499058,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3201175412.blk","md5":"11396765469111095156","fileSize":4944365,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/676307102.blk","md5":"4896091310266491038","fileSize":4554201,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4052515752.blk","md5":"15562523407916235688","fileSize":6424168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/630959723.blk","md5":"16451392475817029227","fileSize":6033057,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2467467108.blk","md5":"4588709440509874020","fileSize":5834816,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2166278918.blk","md5":"6003732578184383238","fileSize":5038668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2036633834.blk","md5":"9318088510288466154","fileSize":4967560,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3765392268.blk","md5":"3720059908283913100","fileSize":5738618,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/933504416.blk","md5":"11272304250977527200","fileSize":6081283,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1165488557.blk","md5":"13248583287245894061","fileSize":4277366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/141326958.blk","md5":"2375862662885833326","fileSize":10264141,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/262425105.blk","md5":"2158724015762721297","fileSize":8631244,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2286208650.blk","md5":"14464195063338813066","fileSize":8652079,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/798561594.blk","md5":"10999418452809684282","fileSize":8659715,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3730666804.blk","md5":"15038690143699301684","fileSize":8643580,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2908409932.blk","md5":"5311095907613855820","fileSize":8638490,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3874766453.blk","md5":"18204017750357327477","fileSize":13628666,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/295554055.blk","md5":"159867981656869895","fileSize":13565026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1506600756.blk","md5":"13820127242934347572","fileSize":13586791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/901978676.blk","md5":"5863037497071835700","fileSize":13592206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/520380729.blk","md5":"12350173757179191609","fileSize":13580184,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/272742212.blk","md5":"739033631326058308","fileSize":13571350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/154636244.blk","md5":"9966518949652172756","fileSize":5614689,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3493122472.blk","md5":"10987759474721477032","fileSize":12614539,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/223724036.blk","md5":"17765592256839270916","fileSize":10392336,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3686607838.blk","md5":"14132337007795186654","fileSize":10413566,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3595501498.blk","md5":"2457635094149398458","fileSize":10422883,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2614221649.blk","md5":"9893494655424781137","fileSize":10409125,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2209553828.blk","md5":"3802393390410309028","fileSize":10400571,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1288357755.blk","md5":"10811023114474538875","fileSize":12493955,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3674609063.blk","md5":"4522569715612521895","fileSize":12431801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2233375311.blk","md5":"12909731087581616719","fileSize":12450353,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1945129792.blk","md5":"13134500276514870080","fileSize":12458194,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3940112304.blk","md5":"9429645984148314032","fileSize":12441663,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2293444132.blk","md5":"15854589475867012644","fileSize":12437050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1879661992.blk","md5":"16964369742968741288","fileSize":7239007,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2154299808.blk","md5":"6241544285991731616","fileSize":7034276,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/408191644.blk","md5":"6206477044504887964","fileSize":7351505,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/886938871.blk","md5":"1629786780861308151","fileSize":7653081,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2012863523.blk","md5":"7703197565931084835","fileSize":7722029,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3026340097.blk","md5":"225060846297041153","fileSize":7299325,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3519227868.blk","md5":"16946696581250492380","fileSize":5983796,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1426029454.blk","md5":"13942806661472156558","fileSize":6050451,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3300100152.blk","md5":"3919550165076379704","fileSize":6180495,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2599224076.blk","md5":"1088246961949967116","fileSize":6424491,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1727239670.blk","md5":"10309654183538824694","fileSize":4780309,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3411519754.blk","md5":"12887459892328638730","fileSize":4870104,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2247848118.blk","md5":"14340611223353782454","fileSize":4581631,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/258028460.blk","md5":"14499920590688826284","fileSize":6055500,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2755096699.blk","md5":"2366150473133027451","fileSize":8860684,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3612806339.blk","md5":"9835724524498652355","fileSize":9287554,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/821718039.blk","md5":"757780713150508055","fileSize":9553381,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2608697663.blk","md5":"7689275863828631871","fileSize":9063831,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1145296654.blk","md5":"7148009953280907022","fileSize":4507994,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/122725046.blk","md5":"3132747316169056950","fileSize":7577411,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2374898756.blk","md5":"15622868023164933188","fileSize":4525392,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3574386827.blk","md5":"7068593420541677707","fileSize":7639288,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2978413407.blk","md5":"15622874930075859807","fileSize":9266578,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1994399483.blk","md5":"11969856113989394171","fileSize":9406975,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/225323739.blk","md5":"9782816305050430171","fileSize":4820018,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/898927998.blk","md5":"3976957296848964990","fileSize":11107680,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3212889954.blk","md5":"13909124666435358562","fileSize":5516582,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3540175080.blk","md5":"1754804824710498536","fileSize":10422820,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2568020140.blk","md5":"5586722113484546220","fileSize":7498884,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/388364106.blk","md5":"56631789885978442","fileSize":10260676,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1012917737.blk","md5":"9146497092546455017","fileSize":10064940,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3578747072.blk","md5":"1292805504934828224","fileSize":8137550,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3123274945.blk","md5":"6880164047944770753","fileSize":9922957,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2497142353.blk","md5":"5083298023008067153","fileSize":5417483,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1777495454.blk","md5":"5987212939574275486","fileSize":13038847,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1104252492.blk","md5":"3888637556674367052","fileSize":5098430,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1784851437.blk","md5":"16583511164259052525","fileSize":4684630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3123709255.blk","md5":"1164131110380111175","fileSize":4658758,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3058969913.blk","md5":"8477836640123104569","fileSize":9564515,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4234911518.blk","md5":"4841663847572676382","fileSize":4846817,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/565154092.blk","md5":"5059260609538789676","fileSize":7236500,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3081556690.blk","md5":"11021941929312834258","fileSize":4412138,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3611019447.blk","md5":"17345105543084886199","fileSize":7016508,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1665376176.blk","md5":"5173291537081278384","fileSize":9890184,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1329583072.blk","md5":"14283575224975741920","fileSize":7823549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1777954428.blk","md5":"1995860880343527036","fileSize":4597028,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1664738097.blk","md5":"3155923249003094833","fileSize":4763900,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3522515135.blk","md5":"5645457961170325695","fileSize":7723111,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4063720835.blk","md5":"15082815036008658307","fileSize":5294608,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1445016310.blk","md5":"17597338073880933110","fileSize":5261770,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3870900469.blk","md5":"3978287481257279733","fileSize":7008892,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1147581430.blk","md5":"9283345982071157750","fileSize":5666109,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3529318500.blk","md5":"18298840135302455396","fileSize":6680786,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2769680461.blk","md5":"8364849523588462669","fileSize":4792078,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1827554001.blk","md5":"2145332768860422865","fileSize":5739040,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/177328624.blk","md5":"14303530578183574000","fileSize":6430319,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/718555715.blk","md5":"14817961489194043971","fileSize":4351632,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2390636677.blk","md5":"6560891146388519045","fileSize":5420365,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/703466976.blk","md5":"15672665994037169632","fileSize":4545939,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2492339653.blk","md5":"8303280660316820933","fileSize":7618212,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2991561181.blk","md5":"15380168351121643997","fileSize":10014194,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3918002171.blk","md5":"14628836082142672891","fileSize":10232156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3219258109.blk","md5":"2419739201456175869","fileSize":8810133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2739666250.blk","md5":"18234431258753760586","fileSize":8785411,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2899016934.blk","md5":"13982833005069827302","fileSize":4581708,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2532748326.blk","md5":"15568117511105195046","fileSize":4634481,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2274375290.blk","md5":"7834324300718945914","fileSize":4689387,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1249522707.blk","md5":"16967802718288229395","fileSize":4898466,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1073365639.blk","md5":"9340145030405964423","fileSize":7929712,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1003346741.blk","md5":"12824812732436831029","fileSize":12923661,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3400146659.blk","md5":"1128561746289237731","fileSize":5035174,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1049156581.blk","md5":"3451875730924297189","fileSize":4699768,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2248813792.blk","md5":"13003229252865895648","fileSize":5162613,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4226927533.blk","md5":"1313839124367657901","fileSize":4526372,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/851786833.blk","md5":"3701191083246828625","fileSize":7314421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3271158940.blk","md5":"5795920152880606364","fileSize":5245456,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/462808213.blk","md5":"12892055014760375445","fileSize":4221801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3514829231.blk","md5":"4443247171348728239","fileSize":5164163,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2677880787.blk","md5":"6484333930150180819","fileSize":9642191,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3815953833.blk","md5":"12987065153604474281","fileSize":5032339,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1910020499.blk","md5":"11683537015379892627","fileSize":16376641,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3082441563.blk","md5":"266932804644393819","fileSize":4566359,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1282022838.blk","md5":"11326159331581894070","fileSize":7213957,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/27400028.blk","md5":"9381949689808688988","fileSize":5882513,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1689219402.blk","md5":"5113301753196933450","fileSize":4528205,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2268260245.blk","md5":"4746737388962899861","fileSize":4927725,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2023412978.blk","md5":"9799663174333158642","fileSize":4732849,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/531394986.blk","md5":"10495353991103017386","fileSize":4342999,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/30023752.blk","md5":"16967482312508448840","fileSize":5086775,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1530150473.blk","md5":"3430197180331474505","fileSize":5019963,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3626558648.blk","md5":"15550236103056876728","fileSize":6108124,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1708155401.blk","md5":"11966168510617379337","fileSize":4876697,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2363935208.blk","md5":"10044889632428444136","fileSize":4288198,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/400914327.blk","md5":"10607768399098771351","fileSize":4626751,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3225359251.blk","md5":"18046634415517275027","fileSize":4676180,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2179627639.blk","md5":"8214374394595277431","fileSize":6884948,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4119451800.blk","md5":"8618687971942062232","fileSize":5935779,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3043604910.blk","md5":"5760033025130346926","fileSize":5882098,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/795631537.blk","md5":"1493621890691653553","fileSize":5983172,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2309984214.blk","md5":"5402753464049569750","fileSize":6883700,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2800475504.blk","md5":"5224019487143746928","fileSize":6961303,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/978758037.blk","md5":"16133258836891314581","fileSize":4595558,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2509363845.blk","md5":"16854153358000380549","fileSize":6027573,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/428736959.blk","md5":"8288235387815330239","fileSize":5400716,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3453218200.blk","md5":"14976169833502338456","fileSize":4504969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2252750702.blk","md5":"4487714040243961710","fileSize":6300568,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3602727589.blk","md5":"14255742868508197541","fileSize":6320523,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1853302766.blk","md5":"11934777410839848942","fileSize":6332727,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3633627461.blk","md5":"7590454345319366981","fileSize":4548922,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2472772072.blk","md5":"6028631109496177128","fileSize":5733532,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/835081426.blk","md5":"13096803527836456146","fileSize":7292121,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/576539121.blk","md5":"1662862023049693681","fileSize":7204418,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4085121439.blk","md5":"843919957732229535","fileSize":5665263,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/862959922.blk","md5":"10751828594875414834","fileSize":5669939,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4248890885.blk","md5":"293877240192626181","fileSize":5565123,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2939893372.blk","md5":"17226291070375769724","fileSize":7615734,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1179041607.blk","md5":"1646448213425045319","fileSize":7767320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1682743352.blk","md5":"9718266538641629240","fileSize":5354298,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2675748860.blk","md5":"9007130439155757052","fileSize":5316346,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4059840625.blk","md5":"6046238110469865585","fileSize":5232350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/397490644.blk","md5":"10402774751133120980","fileSize":9905178,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/651865278.blk","md5":"15104022666276416702","fileSize":9924535,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/772106808.blk","md5":"11572468575851866680","fileSize":9946687,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/269999908.blk","md5":"14081018475973173028","fileSize":11206030,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3643772963.blk","md5":"8509214065454714915","fileSize":9931048,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/869661864.blk","md5":"613370851711384744","fileSize":5013817,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2458555529.blk","md5":"12932998738125427849","fileSize":21095470,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1233593061.blk","md5":"2310952286362739429","fileSize":10031239,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/13620046.blk","md5":"11017037236801622862","fileSize":5199557,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3602225786.blk","md5":"7690955480502737530","fileSize":5217094,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1998561350.blk","md5":"11972392700203737158","fileSize":5159988,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3027514376.blk","md5":"2197805261688943624","fileSize":5253335,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2735106079.blk","md5":"8874233082946152479","fileSize":5256330,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4028898835.blk","md5":"15086396793885564435","fileSize":5167865,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3103553495.blk","md5":"13622359230504531927","fileSize":5222914,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/508488254.blk","md5":"2159845913006107198","fileSize":6002612,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/905872253.blk","md5":"17148156134234686333","fileSize":6031668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3811964384.blk","md5":"1387630424489326048","fileSize":5598982,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2433629344.blk","md5":"377416250660109472","fileSize":5050374,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1492387353.blk","md5":"1930114766231307801","fileSize":9684898,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1360606519.blk","md5":"1936852246937023799","fileSize":8439921,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/397714223.blk","md5":"10634485999074583343","fileSize":7955805,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1015592560.blk","md5":"12800163842122888816","fileSize":7866610,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3799662956.blk","md5":"12059552517746999660","fileSize":8163769,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/318282597.blk","md5":"17171560226486786917","fileSize":5578572,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4222517246.blk","md5":"1470108348332277758","fileSize":5609095,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3657051033.blk","md5":"17915988271083170713","fileSize":5556861,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/983010767.blk","md5":"16843528552276528591","fileSize":6465456,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/381482071.blk","md5":"15874791496876880983","fileSize":4211012,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1648268502.blk","md5":"15164656485822010582","fileSize":7381668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/962085324.blk","md5":"3701479284252623308","fileSize":5573899,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/9074073.blk","md5":"5845360235422315929","fileSize":5428855,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1776132933.blk","md5":"9431813162352354117","fileSize":5364430,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2742700851.blk","md5":"18314398593416055603","fileSize":11011580,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1109795231.blk","md5":"14668722276676280735","fileSize":5405954,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2872872876.blk","md5":"6834494840097247148","fileSize":5527413,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3482785736.blk","md5":"13963520255710402504","fileSize":5613056,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/123708577.blk","md5":"3333441942387139745","fileSize":5460615,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/865179776.blk","md5":"1130459788586621056","fileSize":5483634,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4044049603.blk","md5":"3596069391047544003","fileSize":5581584,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/946381226.blk","md5":"11578193114596680106","fileSize":6288253,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3089138196.blk","md5":"6662326648142070292","fileSize":6176531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4054113771.blk","md5":"3620483930788257259","fileSize":7947537,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1127034237.blk","md5":"14542005026176183677","fileSize":9030615,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4026889935.blk","md5":"8341872081172264655","fileSize":9086468,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3260276798.blk","md5":"5162324923801395262","fileSize":8891245,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2544467593.blk","md5":"2047948255906070153","fileSize":22171695,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2485416637.blk","md5":"7195872567656477373","fileSize":4223788,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/310161646.blk","md5":"3507432901685588206","fileSize":4325678,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1434092162.blk","md5":"3485962893872759426","fileSize":11373107,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/589109067.blk","md5":"7371274447398704971","fileSize":4829172,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4078550165.blk","md5":"8382461476381244565","fileSize":4711409,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3007470402.blk","md5":"15095690737020459842","fileSize":4868350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/192819163.blk","md5":"13181303916366540763","fileSize":4508761,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2296497466.blk","md5":"9175770852185195834","fileSize":4667200,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/414491592.blk","md5":"123739567285380040","fileSize":5268209,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2449374727.blk","md5":"12374899404794920455","fileSize":4392364,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1700777364.blk","md5":"9865742384025816468","fileSize":4536064,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/996348275.blk","md5":"13020267704704242035","fileSize":5841923,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2290275666.blk","md5":"4840069429213713746","fileSize":4403111,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1248726393.blk","md5":"13054013116972404089","fileSize":4268982,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/763808273.blk","md5":"7191101754917177873","fileSize":5357761,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2826016963.blk","md5":"4206992564579047619","fileSize":14571382,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1254533253.blk","md5":"14571650093171517573","fileSize":5804813,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4074101109.blk","md5":"15688455662987499893","fileSize":6881513,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/464241413.blk","md5":"6933630774598681349","fileSize":7364063,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/281008939.blk","md5":"10451554245080505131","fileSize":7252933,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3217815384.blk","md5":"13541368843339560792","fileSize":7617848,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3612678637.blk","md5":"13980479380885150189","fileSize":5585870,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3893995652.blk","md5":"10157728152925350020","fileSize":5706210,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/948873655.blk","md5":"5843631705299003831","fileSize":5703313,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3596736657.blk","md5":"2585005278481209489","fileSize":6444292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3568851981.blk","md5":"12371061788210912269","fileSize":6896587,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3211552157.blk","md5":"7855242209726850461","fileSize":6882618,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/667981118.blk","md5":"11678275868178814270","fileSize":5801735,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2027140765.blk","md5":"8419425788240311965","fileSize":5791735,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4211242273.blk","md5":"14119902798825026849","fileSize":5795033,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4197900514.blk","md5":"612776581889712354","fileSize":7441079,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1487953971.blk","md5":"8276468578642845747","fileSize":7524171,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2929950490.blk","md5":"7018155153629085466","fileSize":7424333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/998235255.blk","md5":"11582069464367094903","fileSize":7520409,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1345678433.blk","md5":"15301145602678942817","fileSize":7439206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3638470179.blk","md5":"13907935892927850019","fileSize":6943873,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4222534513.blk","md5":"814641698388755313","fileSize":7676215,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2467236069.blk","md5":"14168051343269234917","fileSize":7549111,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2043638846.blk","md5":"17193852547292427326","fileSize":7643953,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3345454461.blk","md5":"14326887816098190717","fileSize":7557465,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1826421497.blk","md5":"1652577093749111545","fileSize":6732223,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/669206363.blk","md5":"7419849273466111835","fileSize":7674674,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1034116779.blk","md5":"9287494920365629099","fileSize":7411780,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1936540456.blk","md5":"211507895516087080","fileSize":7529247,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2634593014.blk","md5":"5773224123417801462","fileSize":7428847,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3933985042.blk","md5":"12305668587917138194","fileSize":7600983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1235567038.blk","md5":"13574253163969855934","fileSize":7669887,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/854699444.blk","md5":"14809835754803539380","fileSize":7298267,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1014796363.blk","md5":"14907522436764045387","fileSize":7459226,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1433300799.blk","md5":"14117382543597530943","fileSize":7370961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3557329198.blk","md5":"12217742970539510062","fileSize":7652538,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1414232264.blk","md5":"8848084307114948808","fileSize":7605081,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/301548322.blk","md5":"2722532430106411810","fileSize":7415320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3261310391.blk","md5":"1682517501182977463","fileSize":7586147,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3451474470.blk","md5":"7453237724942258726","fileSize":7391753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2179183643.blk","md5":"7407046703316186139","fileSize":5075216,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3294842033.blk","md5":"9173907932593736881","fileSize":6196510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2019257236.blk","md5":"9829971452866816916","fileSize":4431178,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1417097255.blk","md5":"15499336636696047655","fileSize":7812510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2889822384.blk","md5":"2015507633825329328","fileSize":7814675,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/534460117.blk","md5":"7908081325676639957","fileSize":7389384,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4057874732.blk","md5":"13395369054519050540","fileSize":7161948,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2777264222.blk","md5":"695186484504408158","fileSize":7049359,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3129348348.blk","md5":"2334715689472233724","fileSize":7036343,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/542320112.blk","md5":"18414507802074752496","fileSize":5063602,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1396235885.blk","md5":"4736864070026190445","fileSize":4306658,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2522313447.blk","md5":"2161487520239940327","fileSize":4443050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2989470189.blk","md5":"12006729238149313005","fileSize":6139830,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2987044922.blk","md5":"847074137666662458","fileSize":5791716,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1150997589.blk","md5":"1928589335240299605","fileSize":4369070,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/873083251.blk","md5":"1599820364526530931","fileSize":4948245,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/37926419.blk","md5":"7844881903621682707","fileSize":5874133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2272699566.blk","md5":"16578752989522994350","fileSize":5743605,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1707191090.blk","md5":"8976205063043263282","fileSize":4381413,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/124340177.blk","md5":"8327352716987287505","fileSize":4971431,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2634018678.blk","md5":"10746738751163068278","fileSize":5846967,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/171396773.blk","md5":"2215413855947280037","fileSize":5783701,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1678660248.blk","md5":"16894519014595646104","fileSize":4973945,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/737548017.blk","md5":"4126361298901800689","fileSize":7255697,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1994456019.blk","md5":"1907989302837574611","fileSize":6351677,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/266146334.blk","md5":"12786143324362576414","fileSize":8441787,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3721426229.blk","md5":"1093108896116012341","fileSize":7168746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3652613191.blk","md5":"17882227337051141191","fileSize":6850743,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3448519369.blk","md5":"11845277608315730633","fileSize":8427859,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3046581532.blk","md5":"684261878974063900","fileSize":8536649,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3486318488.blk","md5":"2487542600589705112","fileSize":9286851,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/287143389.blk","md5":"9898405626078131677","fileSize":8365745,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2872030773.blk","md5":"10955120239501620789","fileSize":8496494,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/457777443.blk","md5":"4055546238622834979","fileSize":8618827,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1782201310.blk","md5":"13372874912649853918","fileSize":8611130,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/664157226.blk","md5":"9673825987025321002","fileSize":8547222,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3319754044.blk","md5":"9351906903671663932","fileSize":8324320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2303570450.blk","md5":"18440886629679608338","fileSize":5468270,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3546116495.blk","md5":"10017395001033322895","fileSize":5449625,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/717999978.blk","md5":"18201391056871477098","fileSize":5244976,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3851200535.blk","md5":"14974058329193359383","fileSize":12751277,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/778644541.blk","md5":"2007793479608511549","fileSize":12520967,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4204534087.blk","md5":"9520365623668644167","fileSize":5736793,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2600875846.blk","md5":"16442096111269066566","fileSize":5933301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2893732838.blk","md5":"2385757522963913702","fileSize":6985370,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2328914992.blk","md5":"16691978532344065072","fileSize":6907361,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2858694494.blk","md5":"15155278275617765214","fileSize":8356169,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/440718812.blk","md5":"11933353447380014556","fileSize":5363123,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3955159590.blk","md5":"10869089210967454246","fileSize":4936498,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/762331156.blk","md5":"2627217257908944916","fileSize":4606449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4162135188.blk","md5":"17582508611086918804","fileSize":4610999,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3142105603.blk","md5":"14013979236265146883","fileSize":4610120,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2621163121.blk","md5":"14702001329769530993","fileSize":12127227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1056857827.blk","md5":"11406154351375179491","fileSize":10303531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3149351170.blk","md5":"8345035542751561986","fileSize":10299097,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2592314659.blk","md5":"8221141657148691747","fileSize":8583479,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/873449875.blk","md5":"4132915389066627475","fileSize":11016043,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1386970478.blk","md5":"10386455869262626158","fileSize":10226608,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/684319946.blk","md5":"206362119716332746","fileSize":10613527,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/84664719.blk","md5":"14010661482640695695","fileSize":7744340,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2260687137.blk","md5":"17641219540811471137","fileSize":7715490,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/978367266.blk","md5":"11519456829810717474","fileSize":8126248,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/972438006.blk","md5":"17497357058733128182","fileSize":4785754,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1271552709.blk","md5":"1614110906529766085","fileSize":5823702,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2067837774.blk","md5":"14727654142378029902","fileSize":5545998,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1647649679.blk","md5":"9948089113334064015","fileSize":10092750,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4078087642.blk","md5":"16187137984948252122","fileSize":8178168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3300335474.blk","md5":"13949067282555019122","fileSize":6302842,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3920392071.blk","md5":"13057444858643115911","fileSize":4246095,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2815630595.blk","md5":"9623391150292540675","fileSize":8250362,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4137268897.blk","md5":"6950715827462715041","fileSize":8279113,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4175083655.blk","md5":"12363417086332680327","fileSize":9422895,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1857021620.blk","md5":"4392554057243289268","fileSize":7754603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3356307296.blk","md5":"11734482385588006752","fileSize":7738756,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/225590823.blk","md5":"11185068757203697191","fileSize":7754974,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3610619823.blk","md5":"8526133260155465647","fileSize":7093588,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/184703208.blk","md5":"12889119391450552552","fileSize":7104980,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/491562959.blk","md5":"997118864901580751","fileSize":7101923,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1601230095.blk","md5":"14758412833669567759","fileSize":7093022,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4283194503.blk","md5":"6463655425161845895","fileSize":10209805,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1920153682.blk","md5":"5796946047417923666","fileSize":7433996,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/328180884.blk","md5":"6198109125282342036","fileSize":4566035,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2746347105.blk","md5":"1810963582896172641","fileSize":5800482,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2924486667.blk","md5":"9719113567563685899","fileSize":5624115,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3907613546.blk","md5":"13820530486929879914","fileSize":6572546,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2051527014.blk","md5":"7392028233346568550","fileSize":6572157,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3234129905.blk","md5":"10817280016187189233","fileSize":6572153,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/497438806.blk","md5":"9837874113860227158","fileSize":6572156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3909871761.blk","md5":"1893930326309988497","fileSize":6572157,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/645637656.blk","md5":"9973103852267480600","fileSize":6572044,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/265152027.blk","md5":"14349134863142872603","fileSize":5132053,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1318465210.blk","md5":"12585272334955720378","fileSize":5132199,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2595472940.blk","md5":"10637427718862652972","fileSize":5132197,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2764870195.blk","md5":"2068925898602353203","fileSize":6416188,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2663055177.blk","md5":"9738912739471589193","fileSize":9051695,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1895912291.blk","md5":"2880286851065795427","fileSize":5502711,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3293625701.blk","md5":"2825966979436821861","fileSize":12258847,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1425264100.blk","md5":"2456016765481897444","fileSize":5694599,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4037742939.blk","md5":"9816534383411794267","fileSize":9049540,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/953397999.blk","md5":"15219098661642547951","fileSize":6217812,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3891552949.blk","md5":"12402915752786813621","fileSize":9061456,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2878716946.blk","md5":"11407286244583259154","fileSize":5628497,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1723688200.blk","md5":"15771134266416391432","fileSize":17812362,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1814908206.blk","md5":"283491418426395950","fileSize":4798299,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3799757721.blk","md5":"16234240852350448537","fileSize":7815518,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/774497345.blk","md5":"10904121374824588353","fileSize":7692633,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2305964157.blk","md5":"15950820442939471997","fileSize":6253237,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3218976899.blk","md5":"5747986123076776067","fileSize":4817460,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/883556304.blk","md5":"10780250549567225808","fileSize":10705960,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/509316858.blk","md5":"17923523096566533882","fileSize":6984266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2141640866.blk","md5":"1899809026668419234","fileSize":5188628,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1191737242.blk","md5":"12226723422667306906","fileSize":4634988,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1962400487.blk","md5":"5909903708819806951","fileSize":8278326,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1557967837.blk","md5":"2406153823100646365","fileSize":8663240,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4083516182.blk","md5":"9566923292374565654","fileSize":7029572,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3940987084.blk","md5":"13172227120914936012","fileSize":8859794,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/371158026.blk","md5":"9385924059614637066","fileSize":13983063,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/784318034.blk","md5":"2731814026714529362","fileSize":8558115,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4136715953.blk","md5":"6244036391208044209","fileSize":6821340,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4842774.blk","md5":"11395758051270714646","fileSize":6098485,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2719724462.blk","md5":"2530784442228388782","fileSize":4915141,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1050844318.blk","md5":"14171696888618851486","fileSize":5397371,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1226479978.blk","md5":"3831188714195425642","fileSize":6935760,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2501652395.blk","md5":"8633736285893963691","fileSize":6285624,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3097250807.blk","md5":"10943343400746503159","fileSize":5377111,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1848896630.blk","md5":"180814109216074870","fileSize":8811337,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2030199276.blk","md5":"14145527512129757676","fileSize":11354880,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3561305880.blk","md5":"12509638079080118040","fileSize":14924351,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1391419758.blk","md5":"5634530192143638894","fileSize":14999378,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1999321993.blk","md5":"13011002911493929865","fileSize":8472185,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2651436563.blk","md5":"2614296778400970259","fileSize":4740853,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3272829133.blk","md5":"7756080258261149901","fileSize":8685491,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2885975792.blk","md5":"11590094084366434032","fileSize":7198789,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2260657174.blk","md5":"13154107081709511702","fileSize":7575602,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2605835355.blk","md5":"13141419675647861851","fileSize":9083126,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/948529929.blk","md5":"3982314572815624969","fileSize":8227853,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1282618033.blk","md5":"7412546751639532209","fileSize":7188633,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1413236658.blk","md5":"7166622280225408946","fileSize":14250976,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/168263991.blk","md5":"4005252072512913719","fileSize":6119046,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2092561642.blk","md5":"16484281751988466922","fileSize":6735095,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3726886422.blk","md5":"16620397316001744406","fileSize":7865583,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4185198151.blk","md5":"18266402081922682439","fileSize":5176183,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1933533189.blk","md5":"14990637493743738885","fileSize":5549688,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2989982720.blk","md5":"7887739594219160576","fileSize":5268568,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/692849538.blk","md5":"446862824963836802","fileSize":5450134,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1112583449.blk","md5":"12806440275498020121","fileSize":5401983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/822954286.blk","md5":"5281710246095309102","fileSize":5259616,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2671125485.blk","md5":"15350993372398887917","fileSize":5306841,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1269682632.blk","md5":"10315689664399135176","fileSize":5620790,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3816009611.blk","md5":"11987204772914769803","fileSize":4887669,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/326191034.blk","md5":"13995941457432758202","fileSize":5483684,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/345521897.blk","md5":"11065924440387239657","fileSize":6328279,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/681218935.blk","md5":"12748374915679949687","fileSize":6277183,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1244839638.blk","md5":"2113038522632027862","fileSize":8962859,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/996314903.blk","md5":"18313461893662150423","fileSize":5435190,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1369120904.blk","md5":"17327032679238672520","fileSize":6203489,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3132458449.blk","md5":"15482802843977876945","fileSize":5292548,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3340667213.blk","md5":"4177822083522136397","fileSize":5361733,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/773229241.blk","md5":"11010066875007011513","fileSize":4382705,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1272167328.blk","md5":"8732781378721266592","fileSize":5966741,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2897599385.blk","md5":"8946734519066942361","fileSize":4608583,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/900582402.blk","md5":"9836991163476593666","fileSize":5159397,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1886431717.blk","md5":"6108416538819209701","fileSize":7732842,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1435365729.blk","md5":"16471106037207658849","fileSize":4386858,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1195262083.blk","md5":"15568538897599053955","fileSize":7078313,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/819429080.blk","md5":"6705570296458870488","fileSize":5211455,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/680297507.blk","md5":"4055874249792717859","fileSize":4813968,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1040886056.blk","md5":"7324252424339368232","fileSize":6081267,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1734296267.blk","md5":"8968932863099486923","fileSize":6676504,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3214635520.blk","md5":"1810064466320781824","fileSize":6896712,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1711595214.blk","md5":"1204699682123865806","fileSize":6981748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/764497716.blk","md5":"16373870622655205172","fileSize":6093185,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4261451149.blk","md5":"4132680865765430669","fileSize":7093249,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/263699750.blk","md5":"8787844791182802214","fileSize":5514438,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2043311895.blk","md5":"5484481039248815895","fileSize":5705405,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3131873203.blk","md5":"14248028617147455411","fileSize":6146516,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3078081946.blk","md5":"5030216823425453466","fileSize":6302580,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3215421525.blk","md5":"2151554932319678549","fileSize":5342624,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1870226489.blk","md5":"7086228116468229177","fileSize":6530163,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2457126754.blk","md5":"10861993829007148898","fileSize":7011782,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3853997116.blk","md5":"17727566531291206716","fileSize":6905244,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1375027431.blk","md5":"1493607447296032999","fileSize":6754928,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/645954236.blk","md5":"826934363659729596","fileSize":4587947,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1410621477.blk","md5":"11126376857762816037","fileSize":6660037,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1561895009.blk","md5":"8608155034537468001","fileSize":6158145,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1538236974.blk","md5":"10717696327240622638","fileSize":15514841,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3301391643.blk","md5":"1047432605697785115","fileSize":12631010,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1377411729.blk","md5":"7768349212698845841","fileSize":12625777,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3983584968.blk","md5":"8506803897651736264","fileSize":12562134,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1801765898.blk","md5":"15507776411026113546","fileSize":12543171,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2960835357.blk","md5":"16593901099345953565","fileSize":12462475,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3155328850.blk","md5":"14065555707534671698","fileSize":12700221,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/194438901.blk","md5":"12344830937796110069","fileSize":12485655,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4080496377.blk","md5":"16148867760464031481","fileSize":12521928,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1950986897.blk","md5":"11329805570506601105","fileSize":12571128,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1092457493.blk","md5":"6309959527657477141","fileSize":12515312,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1638322037.blk","md5":"3186007416120987509","fileSize":12661310,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2085857766.blk","md5":"4484305545441028582","fileSize":12647358,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3443144653.blk","md5":"18443154708558919629","fileSize":12653727,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3144777274.blk","md5":"17820403657434299962","fileSize":12563955,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3559573086.blk","md5":"14928682398851450462","fileSize":12438983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3808090164.blk","md5":"11034211040991303732","fileSize":12632602,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3647280364.blk","md5":"8947264243903042796","fileSize":12621944,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3643260846.blk","md5":"14402168031770296238","fileSize":12562186,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1517167094.blk","md5":"16006910249725207030","fileSize":12542009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4216146615.blk","md5":"11359781867517463223","fileSize":12464373,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3000907475.blk","md5":"3145266637613971155","fileSize":12700603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3680439547.blk","md5":"4491254258659691771","fileSize":12485676,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3855859729.blk","md5":"4052446997915090961","fileSize":12522543,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2762227316.blk","md5":"11443410806371532404","fileSize":12574704,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2337451587.blk","md5":"1091859235342560835","fileSize":12515048,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2990578631.blk","md5":"14360933209749887943","fileSize":12663412,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3568970541.blk","md5":"17957166982910061357","fileSize":12647378,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3171178621.blk","md5":"8503287894876903549","fileSize":12654175,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3356381433.blk","md5":"17818659561621311737","fileSize":12563923,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/367301649.blk","md5":"8402716031631791121","fileSize":8191386,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2442188400.blk","md5":"4048480113167226480","fileSize":8223760,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2658833348.blk","md5":"3400974185323467716","fileSize":8242162,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2727090406.blk","md5":"14416890031988545766","fileSize":8257840,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/951805955.blk","md5":"13694400879472109571","fileSize":8464658,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1825958081.blk","md5":"8319202438424160449","fileSize":7989292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4069112954.blk","md5":"12334279053133069434","fileSize":8009877,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3841559887.blk","md5":"13427607817560886607","fileSize":8334873,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/24431211.blk","md5":"16029784342107834987","fileSize":7952826,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/95363771.blk","md5":"6008747053510763195","fileSize":8019757,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1148388172.blk","md5":"47107503098626892","fileSize":8066947,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2315663993.blk","md5":"2380901520691837561","fileSize":8084322,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3741536317.blk","md5":"15349774010779127869","fileSize":8171511,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3448161016.blk","md5":"8723836613287133944","fileSize":4520770,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2410190973.blk","md5":"10483476647471782013","fileSize":4521866,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1966230407.blk","md5":"10964523824677276551","fileSize":4520943,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1133465823.blk","md5":"4679911085431541983","fileSize":4536279,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1253709146.blk","md5":"14512269932625532250","fileSize":4539803,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3603462336.blk","md5":"13799891523795974336","fileSize":4514294,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2824961595.blk","md5":"12527026974996135483","fileSize":4546783,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1352569934.blk","md5":"6777322342761534542","fileSize":4515708,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1643746961.blk","md5":"8216840031704815249","fileSize":4560543,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2409359136.blk","md5":"6150312639644559136","fileSize":4546093,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3072484882.blk","md5":"9803995156706387474","fileSize":4516822,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/847575307.blk","md5":"8146645284446075147","fileSize":4565260,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/538413423.blk","md5":"6531443152242837871","fileSize":4519558,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2508268268.blk","md5":"16737307935192982252","fileSize":4520323,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2718891042.blk","md5":"10170051035692727330","fileSize":4525384,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1683066977.blk","md5":"14442787652947251297","fileSize":4435241,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1579790469.blk","md5":"6170585120675311749","fileSize":4455630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/347376276.blk","md5":"5895171441098525332","fileSize":4453770,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2405380880.blk","md5":"14566814102880989968","fileSize":4471771,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1441014995.blk","md5":"14228227699530540243","fileSize":4463599,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3371112581.blk","md5":"11151692174355011717","fileSize":4445234,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3582236235.blk","md5":"6785541911668364875","fileSize":4494680,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1896139043.blk","md5":"16144218494836459811","fileSize":4450093,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3576317371.blk","md5":"17121596325434639803","fileSize":4535193,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3985422418.blk","md5":"7782350142971885650","fileSize":4491263,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3449679163.blk","md5":"1923814218669092155","fileSize":4430278,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2801322983.blk","md5":"17863846688649169895","fileSize":4518837,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1593238879.blk","md5":"16600987703822443871","fileSize":4446834,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/408470077.blk","md5":"12755604307439043133","fileSize":4445971,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1845065474.blk","md5":"11812174923667437314","fileSize":4439395,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3770184390.blk","md5":"18006000250165686982","fileSize":4522786,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1232810515.blk","md5":"7940921913335558675","fileSize":4642842,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1811676257.blk","md5":"1782499815783660641","fileSize":4377799,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2183767900.blk","md5":"11735892503783122780","fileSize":4435770,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3549842466.blk","md5":"7635469875990121506","fileSize":7701567,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2516003257.blk","md5":"4461318301082397113","fileSize":5433080,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1253105860.blk","md5":"448493083440505028","fileSize":10411006,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1772595905.blk","md5":"5368663960191478465","fileSize":4853873,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2163252100.blk","md5":"10303963176213977988","fileSize":8773505,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3442541020.blk","md5":"13352159277724271068","fileSize":6110415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1559385281.blk","md5":"2377913296439366849","fileSize":6046374,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3665229817.blk","md5":"6522586885560662009","fileSize":6140560,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/24003578.blk","md5":"17381542401359627258","fileSize":5933884,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/315571399.blk","md5":"13506146522312424647","fileSize":6056252,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2599199255.blk","md5":"8638109649325564439","fileSize":7782181,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/162866416.blk","md5":"3776884752958956784","fileSize":4787039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3866405935.blk","md5":"11999819169222929455","fileSize":4621179,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3548360704.blk","md5":"15050573489096339456","fileSize":4493927,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/790703484.blk","md5":"3352097154979147132","fileSize":4619608,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2127314766.blk","md5":"5271965048209424206","fileSize":4635202,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/608471575.blk","md5":"5361039971170159127","fileSize":4626892,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3097434256.blk","md5":"2364014899771676816","fileSize":4493913,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3528545142.blk","md5":"8589721273092887414","fileSize":4621397,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1845169318.blk","md5":"8795565898421963942","fileSize":4637435,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/899145762.blk","md5":"9039156878929027106","fileSize":4638969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3103129222.blk","md5":"5035219549817273990","fileSize":4479122,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3970895397.blk","md5":"11067564945426026021","fileSize":4635067,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3275192823.blk","md5":"8540915115618695671","fileSize":4641529,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/773104379.blk","md5":"18439713221609038587","fileSize":4645425,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3553828213.blk","md5":"7947414518933691765","fileSize":7909723,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/568262409.blk","md5":"11690409623136698121","fileSize":7924112,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2545117806.blk","md5":"3677556579989940846","fileSize":7468240,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4072333642.blk","md5":"7830096843516862794","fileSize":7884215,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2602075443.blk","md5":"9909101170701927731","fileSize":7867328,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1767914110.blk","md5":"1612388028139977342","fileSize":7878753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3395440220.blk","md5":"4218915901168307804","fileSize":7848863,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/327109237.blk","md5":"10351607856477719157","fileSize":7845950,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3772109821.blk","md5":"7963000345583801341","fileSize":7843572,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2005098882.blk","md5":"3128069664874389890","fileSize":11084528,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2120064234.blk","md5":"3495736397583457514","fileSize":7938177,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3199703429.blk","md5":"4716215140380809605","fileSize":7933693,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2940076610.blk","md5":"13770281408708608578","fileSize":7932868,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1162125075.blk","md5":"11737926182661037843","fileSize":4380687,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4222549130.blk","md5":"14572676404344716426","fileSize":12176865,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/212592980.blk","md5":"8982879861633444180","fileSize":7753382,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3067350303.blk","md5":"9210595220886129951","fileSize":7204432,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1602150007.blk","md5":"12257476900745567863","fileSize":6414980,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/804403254.blk","md5":"14521415601176590390","fileSize":4993377,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2749367085.blk","md5":"14950239380065747757","fileSize":4557647,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3810607673.blk","md5":"15256155298732261945","fileSize":4492906,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2940860244.blk","md5":"5292358082025355092","fileSize":4814170,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3259433522.blk","md5":"10443723921382900274","fileSize":4836276,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1942167141.blk","md5":"1913127578319920741","fileSize":14721233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3710471879.blk","md5":"2399426944394940103","fileSize":5080475,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2736539749.blk","md5":"9290286500486596709","fileSize":11793897,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3793848919.blk","md5":"9642510316046935","fileSize":11799763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/785474817.blk","md5":"14623051827509290241","fileSize":11783803,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1341890294.blk","md5":"14355368871810801398","fileSize":8857761,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3088052508.blk","md5":"9004962494695862556","fileSize":4280518,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1733921943.blk","md5":"4322120604965244055","fileSize":11335600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/550738540.blk","md5":"10318180409704421996","fileSize":10876779,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4078043661.blk","md5":"8271449933422395917","fileSize":8372054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3686114466.blk","md5":"1253301903387108514","fileSize":8635856,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1369520481.blk","md5":"3602473429424486753","fileSize":8999441,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1265896481.blk","md5":"3494625323049552929","fileSize":10668542,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2989878653.blk","md5":"12296489481652268413","fileSize":8565765,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1342428829.blk","md5":"11144497951781672605","fileSize":6283233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2770792684.blk","md5":"5620459365265240300","fileSize":8004450,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3122451397.blk","md5":"17292313793163744197","fileSize":8801794,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1077687018.blk","md5":"6677366371765727978","fileSize":9004594,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3013980630.blk","md5":"1643342507228377558","fileSize":7176524,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/525794295.blk","md5":"15449911273148840951","fileSize":8251665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3756745609.blk","md5":"9033072510856029065","fileSize":8216752,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1625625649.blk","md5":"12712294356659541041","fileSize":7707242,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/434120997.blk","md5":"17618234905536244005","fileSize":9262636,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3796305330.blk","md5":"5682905888672122290","fileSize":8745294,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1033875559.blk","md5":"15637415041695723623","fileSize":8557143,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/738810554.blk","md5":"17315853595996412602","fileSize":8562232,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3946386095.blk","md5":"12698412268765385391","fileSize":5914057,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3044567583.blk","md5":"7132254228432054815","fileSize":8470726,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3883432842.blk","md5":"17850738505378462602","fileSize":6956981,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/753891631.blk","md5":"11814484180462434607","fileSize":15253015,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/255407913.blk","md5":"2093225592693012265","fileSize":9555832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4169243070.blk","md5":"18086637832050416062","fileSize":9550257,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1119344491.blk","md5":"17704268830646720363","fileSize":9297151,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2809106843.blk","md5":"10513346667945628059","fileSize":6928290,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1014630332.blk","md5":"9912507881339094972","fileSize":5760568,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2153512677.blk","md5":"6640126038562832101","fileSize":4677096,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/765500145.blk","md5":"9912631614802795249","fileSize":4576419,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2062332879.blk","md5":"17659779803696116687","fileSize":5191508,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3896543908.blk","md5":"13930522859907615396","fileSize":6879191,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3027744659.blk","md5":"6377192745780885395","fileSize":5064340,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4276095667.blk","md5":"13313361219770387123","fileSize":6546503,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2136931052.blk","md5":"8138250102140500716","fileSize":5596145,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2111203430.blk","md5":"15581222645609687142","fileSize":5004388,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/190741083.blk","md5":"2797401586934905435","fileSize":4604034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3209412752.blk","md5":"452948839088504976","fileSize":4224331,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1657394123.blk","md5":"5436263794672784331","fileSize":4229181,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2231551726.blk","md5":"11316818010590856942","fileSize":5215531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/409959809.blk","md5":"4966642341179784577","fileSize":5458596,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2372431576.blk","md5":"13615713167314808536","fileSize":4659768,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1303637779.blk","md5":"6349403322104147731","fileSize":4271726,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3603656679.blk","md5":"1173880003722178535","fileSize":4871639,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3674675808.blk","md5":"13980591724406708832","fileSize":4739718,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/887191973.blk","md5":"7338197272462719397","fileSize":4756910,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3577304329.blk","md5":"12641779980682482953","fileSize":4341073,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1613032901.blk","md5":"5929665660453187013","fileSize":6416613,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2232608560.blk","md5":"16029397530971399984","fileSize":4604573,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1811891230.blk","md5":"11427395628288656414","fileSize":4522194,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/25303767.blk","md5":"3529652871756913367","fileSize":4438894,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/76512444.blk","md5":"13368624379379809468","fileSize":4896174,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4199720482.blk","md5":"6441131920793445922","fileSize":5170755,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2908659381.blk","md5":"9361720744618139317","fileSize":4443899,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1884211960.blk","md5":"3705402750684547832","fileSize":6860752,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/681960214.blk","md5":"13162385638183789334","fileSize":4787186,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1892663160.blk","md5":"10887248773014077304","fileSize":5290901,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2067630875.blk","md5":"12886761099805690651","fileSize":6482694,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3686231029.blk","md5":"15729666522344811509","fileSize":5173335,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/652530631.blk","md5":"3667942508553622471","fileSize":6051767,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3613827566.blk","md5":"8509253287066116590","fileSize":8893977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2151391746.blk","md5":"8331522384934445570","fileSize":6112642,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2375190453.blk","md5":"13224772861644933045","fileSize":9067748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2820062855.blk","md5":"15925509750206676615","fileSize":5406118,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4293356412.blk","md5":"2105594514132921212","fileSize":4377566,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1962941459.blk","md5":"6372947379997383699","fileSize":5450460,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3920669638.blk","md5":"6189614237614123974","fileSize":4434318,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1025149913.blk","md5":"6066684758809283545","fileSize":7743463,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1676380040.blk","md5":"11085387588531095432","fileSize":4737432,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1252448456.blk","md5":"11237390595291273416","fileSize":5811792,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2767844172.blk","md5":"9758760736933933900","fileSize":5552889,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3266489194.blk","md5":"5456712358916434794","fileSize":4277662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/37199157.blk","md5":"7292790881654381877","fileSize":4566729,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2856774339.blk","md5":"14820087079236987587","fileSize":4622330,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1625667890.blk","md5":"14816327031706728754","fileSize":5751837,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4192355038.blk","md5":"10928480998226281182","fileSize":10666566,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4124709352.blk","md5":"6665491962765382120","fileSize":4807690,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1985393014.blk","md5":"4232534545269174646","fileSize":9417742,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3216155819.blk","md5":"1689284630134564011","fileSize":7424820,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/249665950.blk","md5":"11304056123174263198","fileSize":7595369,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/829728041.blk","md5":"14997983364184843561","fileSize":6519058,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/478088661.blk","md5":"17822581701402889685","fileSize":6689806,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2288178251.blk","md5":"251290442763785291","fileSize":4878716,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/141927112.blk","md5":"15409142090276643528","fileSize":8494791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3065589860.blk","md5":"621265188480954468","fileSize":7670108,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3315725676.blk","md5":"9001272572555425132","fileSize":4536939,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/192360857.blk","md5":"13054020825382334873","fileSize":4600374,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/956810280.blk","md5":"13578377088209503272","fileSize":6117732,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2649068774.blk","md5":"17111494548542297318","fileSize":4954570,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/335710830.blk","md5":"8173420479424662126","fileSize":7722126,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2795148710.blk","md5":"11935394207740106150","fileSize":4485657,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1094195849.blk","md5":"13706226526603188873","fileSize":4483937,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2373205715.blk","md5":"13656050194489556691","fileSize":4544862,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4021309465.blk","md5":"7003242899419713561","fileSize":5118544,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1750424398.blk","md5":"1330057171803921230","fileSize":6377207,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3275641592.blk","md5":"16029937211835044600","fileSize":5233809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1950093820.blk","md5":"2414379557742973436","fileSize":4599498,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2245520434.blk","md5":"5408327012980354098","fileSize":5654653,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4067044159.blk","md5":"3982475147581467455","fileSize":5005475,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3069964288.blk","md5":"4481552674251862016","fileSize":6427080,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2441970582.blk","md5":"12097602713996329878","fileSize":6880273,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2974244865.blk","md5":"13461504003536281601","fileSize":4906091,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1579382276.blk","md5":"11481261669068535300","fileSize":8655791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2107897002.blk","md5":"4820235583591019690","fileSize":6573401,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/728927328.blk","md5":"10548837586950065248","fileSize":6135798,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2972657689.blk","md5":"17194167257655093273","fileSize":5173405,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/525964368.blk","md5":"10992432426237138000","fileSize":4382801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2476559584.blk","md5":"5400025197910510816","fileSize":5099626,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/523482505.blk","md5":"15649896864687568265","fileSize":4362629,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3605503437.blk","md5":"5040673785123413453","fileSize":5023822,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/995569726.blk","md5":"10842611765420175422","fileSize":5642103,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2153272371.blk","md5":"9375830351380239411","fileSize":5847095,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3808943768.blk","md5":"1101526057146113688","fileSize":4245833,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/31352875.blk","md5":"15492925391598676011","fileSize":7009612,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/979349522.blk","md5":"2106737822523174930","fileSize":5378801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3015200641.blk","md5":"15878117874371940225","fileSize":6971469,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/920589325.blk","md5":"12180855374993101837","fileSize":6856290,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/233805965.blk","md5":"829600520031148173","fileSize":4822194,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3919198642.blk","md5":"2030430786487466418","fileSize":4419755,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/867360507.blk","md5":"2271958222081548027","fileSize":4538308,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1486821740.blk","md5":"12423695412045486444","fileSize":4942058,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3418348447.blk","md5":"12526427870601403295","fileSize":6881224,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/967719246.blk","md5":"12400336802390358350","fileSize":4900326,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1175756806.blk","md5":"16145804307710910470","fileSize":4363028,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3836412783.blk","md5":"2930485696322536303","fileSize":4553529,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/277815735.blk","md5":"5123858523701060023","fileSize":4543856,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2366140696.blk","md5":"11148190082786685208","fileSize":4552415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2504246924.blk","md5":"7970498304947766924","fileSize":4557718,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3881123070.blk","md5":"13256893703786937598","fileSize":6907321,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2182698663.blk","md5":"2192720985933305511","fileSize":6127909,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1769397621.blk","md5":"9620526075347393909","fileSize":6257639,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3132385968.blk","md5":"16540038670572612272","fileSize":6927357,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3844412037.blk","md5":"14513552605724349061","fileSize":7361675,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2109527987.blk","md5":"16612437807976994739","fileSize":7064262,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4001810924.blk","md5":"11565729431796763116","fileSize":12433247,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3408680774.blk","md5":"10747356428364437318","fileSize":20618103,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1109372394.blk","md5":"18331175541494754794","fileSize":5194955,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/943114040.blk","md5":"10162852780398004024","fileSize":19033918,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3202726682.blk","md5":"8349011518584896282","fileSize":18928709,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3765540281.blk","md5":"12729782649584981433","fileSize":18083228,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4206799665.blk","md5":"803807651958795057","fileSize":19993851,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/605560687.blk","md5":"306464179376103279","fileSize":19097542,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2653688864.blk","md5":"10447540793788601376","fileSize":18209978,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1890869308.blk","md5":"15321880094716485692","fileSize":18816621,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1277947829.blk","md5":"4354138653693046709","fileSize":19932703,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3977868203.blk","md5":"17716882469553796011","fileSize":20262901,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2914785290.blk","md5":"4259449637363783690","fileSize":21610097,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1545799097.blk","md5":"6350031379708970425","fileSize":7723515,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1314863478.blk","md5":"6136741229089470838","fileSize":5996478,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3276722853.blk","md5":"14692274380550886053","fileSize":9542333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/932362100.blk","md5":"7579687005635917684","fileSize":7733383,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2806366728.blk","md5":"13597857987971891720","fileSize":7405866,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2776597923.blk","md5":"207322532330571171","fileSize":4847265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4122604151.blk","md5":"10182212816815649399","fileSize":6856535,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3770403305.blk","md5":"2516593368821909993","fileSize":4868743,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/950335349.blk","md5":"7740049135887513461","fileSize":4677188,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1746267017.blk","md5":"1566644388737969033","fileSize":6724868,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3542347082.blk","md5":"5481788882232274250","fileSize":6359023,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2596578632.blk","md5":"13405210377911051592","fileSize":5011500,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1621962850.blk","md5":"10753144685283061858","fileSize":4436971,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3417025714.blk","md5":"15322904042215812274","fileSize":5203912,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3126177296.blk","md5":"2978313682621410832","fileSize":6351288,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3912025208.blk","md5":"4902973397298627704","fileSize":4501556,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3222111891.blk","md5":"5319304823085827731","fileSize":4802416,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1117212057.blk","md5":"13518274394066472345","fileSize":5467791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3662302423.blk","md5":"353234443551001815","fileSize":8273204,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1207444353.blk","md5":"3154131005937820545","fileSize":4380985,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/701362807.blk","md5":"10792597193086595703","fileSize":5802896,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/643279362.blk","md5":"1922527250387282434","fileSize":4420905,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/764118252.blk","md5":"3449480354363835628","fileSize":4287957,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3023535354.blk","md5":"7907255448904367354","fileSize":7330589,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/133535204.blk","md5":"2520386293753812452","fileSize":4433545,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2685367916.blk","md5":"8424473419148392044","fileSize":8121586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/847694524.blk","md5":"9644488044862425788","fileSize":10813842,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/936595530.blk","md5":"1482222102736228426","fileSize":10671660,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3623239536.blk","md5":"12416794428234415984","fileSize":8126404,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2915201584.blk","md5":"14134694368543666736","fileSize":8836436,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3386367394.blk","md5":"4048841475479821730","fileSize":8380210,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3185430412.blk","md5":"17934925210916343692","fileSize":8053352,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3000629469.blk","md5":"17493229695974111453","fileSize":8296359,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/988749981.blk","md5":"554684474532503709","fileSize":8177950,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2408737979.blk","md5":"5860121263029251259","fileSize":8509656,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3755257693.blk","md5":"17857804323452661597","fileSize":7958378,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2398820040.blk","md5":"7805340289571952328","fileSize":10245166,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/947686380.blk","md5":"17362267748700031980","fileSize":9192736,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3548478846.blk","md5":"17596495983221505406","fileSize":7025631,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2103655993.blk","md5":"8085195882928225849","fileSize":6814979,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1984241729.blk","md5":"6765802884623048769","fileSize":8496381,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1193996945.blk","md5":"11598058081617638033","fileSize":6328257,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2846982063.blk","md5":"15698051576477351855","fileSize":8928618,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4068007839.blk","md5":"5570209048063172511","fileSize":6442149,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/627622196.blk","md5":"7778385425238376756","fileSize":4328631,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2897265189.blk","md5":"8248364130838299173","fileSize":5030511,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2225358797.blk","md5":"13131423984994502605","fileSize":5101017,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/709878417.blk","md5":"1387004296759861905","fileSize":5568301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2671788994.blk","md5":"10345968227460334530","fileSize":6455796,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2643399072.blk","md5":"1935728869458776480","fileSize":9188303,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/54969643.blk","md5":"5543489923652699435","fileSize":9075210,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4083204683.blk","md5":"15618384637361963595","fileSize":9152617,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2487465012.blk","md5":"10700911587407148084","fileSize":7946222,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3450281053.blk","md5":"5611324623341165661","fileSize":8767193,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3088097994.blk","md5":"1029757350477603530","fileSize":9052079,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2768722143.blk","md5":"2621610880190077151","fileSize":7989597,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1222929320.blk","md5":"16133031543171214248","fileSize":8137031,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/504438904.blk","md5":"16779672614423568504","fileSize":8359502,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4081665820.blk","md5":"10125023798220113692","fileSize":4931231,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1532620266.blk","md5":"17991539608438566378","fileSize":5071178,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2330411064.blk","md5":"13386823085779796024","fileSize":5048585,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3550886352.blk","md5":"10929962374754875856","fileSize":5025589,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1732897593.blk","md5":"16200465970497186617","fileSize":5625485,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4030736796.blk","md5":"5462674903863929244","fileSize":5003906,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2711230304.blk","md5":"7677307520949032800","fileSize":5848514,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3122047964.blk","md5":"17627150800769166300","fileSize":5172680,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3065516251.blk","md5":"11960417314542194907","fileSize":5276072,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/73664002.blk","md5":"14461632146766562818","fileSize":4219563,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/950129701.blk","md5":"8059608472374858789","fileSize":7468738,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1946907636.blk","md5":"14998502270365823988","fileSize":6216442,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1225667281.blk","md5":"3158955684453561041","fileSize":6215073,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3758186252.blk","md5":"5723706441563463436","fileSize":6015061,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/504929736.blk","md5":"12522612175792545224","fileSize":4515792,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1026007963.blk","md5":"18042934719899214747","fileSize":5926098,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3297612230.blk","md5":"17856161227421356486","fileSize":5646253,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3326343598.blk","md5":"8698032831903037870","fileSize":5625983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3782238357.blk","md5":"5362164809098879125","fileSize":5696838,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1636707372.blk","md5":"7731542039016123436","fileSize":5958287,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1710820034.blk","md5":"17791809262687161026","fileSize":6097176,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2696208473.blk","md5":"18409590242768379993","fileSize":6099381,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2164202479.blk","md5":"8027435848532171759","fileSize":5924391,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3828462612.blk","md5":"18301895953293095956","fileSize":5704738,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1721993111.blk","md5":"820290209242646423","fileSize":5700413,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/395985170.blk","md5":"7102363538325913874","fileSize":5698320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/357321970.blk","md5":"16829202615220587762","fileSize":5659506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/82771734.blk","md5":"6184133915636072214","fileSize":4721144,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2399728389.blk","md5":"3642734574146482949","fileSize":5104601,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/688533531.blk","md5":"3859722861464399899","fileSize":4721144,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3056257761.blk","md5":"17650287046497585889","fileSize":4966245,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/37607792.blk","md5":"9048283644916783472","fileSize":5104608,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3479417151.blk","md5":"14555943528843948351","fileSize":5167693,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2076213421.blk","md5":"3496870887381041325","fileSize":4966246,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3754530108.blk","md5":"7309638349856806204","fileSize":5167689,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3564975785.blk","md5":"8910731539763771049","fileSize":4577983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3556998311.blk","md5":"5110315348339686567","fileSize":6983659,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/242443851.blk","md5":"4587422528644015691","fileSize":6084796,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3310710814.blk","md5":"10797016210237386782","fileSize":6097557,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2863741073.blk","md5":"9111264678804273297","fileSize":6968059,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3776876635.blk","md5":"13497231578121539675","fileSize":7765337,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2813729984.blk","md5":"13448579042327796928","fileSize":5290115,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1160878244.blk","md5":"6822851426858932388","fileSize":5349075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1731469119.blk","md5":"6355664856568569663","fileSize":5109870,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/700312937.blk","md5":"16348747155558493545","fileSize":5309316,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3644055184.blk","md5":"3931156013162684048","fileSize":5085607,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1323637674.blk","md5":"10965581150493678506","fileSize":4719641,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1806681604.blk","md5":"8464098258261624324","fileSize":5423980,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1524712899.blk","md5":"3876274463668520387","fileSize":9050418,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1364996888.blk","md5":"6185786229491774232","fileSize":5481655,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2552074141.blk","md5":"14867974967850274717","fileSize":5481760,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1819445330.blk","md5":"15867164538340280402","fileSize":5476692,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1738512955.blk","md5":"9098734213672180283","fileSize":5482808,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/178008678.blk","md5":"5280311297292644966","fileSize":5477376,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1039433785.blk","md5":"17808260747696046137","fileSize":5479564,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2678313183.blk","md5":"11001245855899701471","fileSize":5480045,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3179831648.blk","md5":"3501439402247741792","fileSize":4660911,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1143525767.blk","md5":"5656532858381586823","fileSize":7035075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2007070425.blk","md5":"2223084080963090137","fileSize":5477460,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4004188410.blk","md5":"744650125135778042","fileSize":5473676,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/638097228.blk","md5":"5435440182134871884","fileSize":5472710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2049948959.blk","md5":"15260692337214340383","fileSize":5474875,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2154738626.blk","md5":"12808444673352709058","fileSize":5469414,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3830292241.blk","md5":"7140521998312906513","fileSize":5476330,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/723070174.blk","md5":"3570880912069045470","fileSize":5474395,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1729750243.blk","md5":"15017077307919164643","fileSize":4614321,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3121336568.blk","md5":"7228351686510366968","fileSize":4889481,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/432093058.blk","md5":"16898310103671846786","fileSize":4757780,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2150144719.blk","md5":"18184629716502747855","fileSize":5077235,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/493505825.blk","md5":"4923224315004603681","fileSize":4762651,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2486849309.blk","md5":"9496907176300138269","fileSize":5240580,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2511133292.blk","md5":"8413421463099202156","fileSize":4957107,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3573610643.blk","md5":"11958736913390696595","fileSize":4878983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1104747714.blk","md5":"7093691643581766850","fileSize":4947646,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1810590629.blk","md5":"7807707009237347237","fileSize":4930834,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1918667700.blk","md5":"1063805028237347764","fileSize":4906684,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3752144780.blk","md5":"15394862212390924172","fileSize":5119859,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1462469833.blk","md5":"17314012988485371081","fileSize":4578290,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/272426242.blk","md5":"6035883825295058178","fileSize":17855387,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1669940601.blk","md5":"15906475308699174265","fileSize":6064233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4168454151.blk","md5":"17226866507027681287","fileSize":5032692,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1776303592.blk","md5":"8702461482801053160","fileSize":4438148,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3963178074.blk","md5":"8434129563469565018","fileSize":5811258,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1062732062.blk","md5":"3747798208833126686","fileSize":8295921,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/398636211.blk","md5":"14745749263128638643","fileSize":8506711,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1830945063.blk","md5":"775379913885745447","fileSize":5230298,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3128116853.blk","md5":"5378970882330019445","fileSize":4935662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1088785553.blk","md5":"14702875315427183761","fileSize":4924795,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1191744683.blk","md5":"2068109080148874411","fileSize":4931713,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3363739746.blk","md5":"7651174647060142178","fileSize":5057703,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3065448037.blk","md5":"15845557594207225445","fileSize":4933781,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2785927802.blk","md5":"2932573272716206714","fileSize":5057156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3198553984.blk","md5":"16387633121939820416","fileSize":4930933,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2906686164.blk","md5":"7543364709706138324","fileSize":4930202,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3215183088.blk","md5":"6375475703942728944","fileSize":4929361,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/48509262.blk","md5":"17836557266856456526","fileSize":5055691,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3518142328.blk","md5":"12879785309863319416","fileSize":4928084,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3639543072.blk","md5":"12719514928842474784","fileSize":5325635,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2120878853.blk","md5":"2620113907345918725","fileSize":5258318,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/999517106.blk","md5":"2272925075186609074","fileSize":4805136,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3211040135.blk","md5":"5754722117847651719","fileSize":5398955,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1240570887.blk","md5":"9307635405202496519","fileSize":4806230,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2568958234.blk","md5":"13006956176697405722","fileSize":4335243,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2795474038.blk","md5":"10800497151866539126","fileSize":5215640,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2309748408.blk","md5":"6628023984815077048","fileSize":4413928,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3325367265.blk","md5":"1198008824770139105","fileSize":6592659,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/110691254.blk","md5":"4484195351784915894","fileSize":4325506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2581101149.blk","md5":"1540883789911718493","fileSize":4379417,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2868977915.blk","md5":"7623850580024303867","fileSize":4516474,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2823041150.blk","md5":"11624656613847347326","fileSize":5439764,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3030235688.blk","md5":"11980026593287191080","fileSize":6599814,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3244320100.blk","md5":"6774792870908945764","fileSize":4276378,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2500322820.blk","md5":"12602372529383269892","fileSize":4420721,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3655816451.blk","md5":"3203123919374996739","fileSize":8731077,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2689917964.blk","md5":"8449577558832636940","fileSize":4474470,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/238704647.blk","md5":"494401012895471623","fileSize":12934948,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4220435527.blk","md5":"11282694802355698759","fileSize":12916262,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1290925490.blk","md5":"16702469341113873842","fileSize":12935387,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1099313523.blk","md5":"1415622055084568947","fileSize":5935354,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1366267891.blk","md5":"16265971690342684659","fileSize":7907210,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2440368165.blk","md5":"16332285316452126757","fileSize":6217879,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3284305039.blk","md5":"7405274536490468495","fileSize":5175771,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/967634151.blk","md5":"1660566629709049063","fileSize":7466052,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/508118651.blk","md5":"16240270987437360763","fileSize":15465158,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3785866174.blk","md5":"6931685217864760254","fileSize":4983347,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2704016451.blk","md5":"10067225588716536899","fileSize":5915569,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1886916065.blk","md5":"3484383390037708257","fileSize":11972128,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/584698473.blk","md5":"7203228100977085033","fileSize":5616727,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2868390045.blk","md5":"16420691802714548381","fileSize":4758572,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2269524609.blk","md5":"14766381755313566337","fileSize":4988993,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1399263874.blk","md5":"2882684056500638338","fileSize":5489758,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1626441631.blk","md5":"17833500153662769055","fileSize":4242722,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1572166269.blk","md5":"13479007844996307581","fileSize":4322477,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3040831220.blk","md5":"17533521119225538292","fileSize":4298239,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/928583834.blk","md5":"18100817693402271898","fileSize":4287523,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3390300690.blk","md5":"73123977678283282","fileSize":7677203,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3295115748.blk","md5":"3513727956631910884","fileSize":9031765,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1903687876.blk","md5":"13309651941907232964","fileSize":8493293,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/739043594.blk","md5":"12708450914093820170","fileSize":4957962,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1064233397.blk","md5":"238225460263053749","fileSize":11639383,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3598331340.blk","md5":"9667343952301927884","fileSize":9117055,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2365253904.blk","md5":"14842205168182421776","fileSize":11383138,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2662808540.blk","md5":"18106630035723467740","fileSize":12079943,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3018643973.blk","md5":"13065143165712652805","fileSize":9096015,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/892440964.blk","md5":"2163295738496389508","fileSize":9104128,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/718673836.blk","md5":"8022752996999174060","fileSize":9111073,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1227802785.blk","md5":"13586178527206492321","fileSize":10957369,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3770040381.blk","md5":"18444211751876968509","fileSize":8134211,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/656442856.blk","md5":"16340310031564047848","fileSize":10282608,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3983159811.blk","md5":"14725326194709508611","fileSize":4358158,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3869081111.blk","md5":"705763435268111895","fileSize":5738849,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2130072906.blk","md5":"14931268882562176330","fileSize":4653922,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3905375459.blk","md5":"2200802642933271779","fileSize":12493970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1376131583.blk","md5":"8780628401129396735","fileSize":5007474,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3193792567.blk","md5":"4501642164859398199","fileSize":5944890,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2604696764.blk","md5":"14260944124445230268","fileSize":11690580,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1799557243.blk","md5":"2270495451642007675","fileSize":6012719,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3750582644.blk","md5":"12158880946452257140","fileSize":5209159,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/289900274.blk","md5":"14324755451974485746","fileSize":4402798,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2813410652.blk","md5":"17283048221252336988","fileSize":4400048,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3326298836.blk","md5":"5348543508842236628","fileSize":4400440,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1077625379.blk","md5":"3268486296770396707","fileSize":4595107,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/177323147.blk","md5":"16932460182956522635","fileSize":9067940,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/528319530.blk","md5":"7148779327335531562","fileSize":6318157,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1677584777.blk","md5":"1788802753170893193","fileSize":6066835,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1544929494.blk","md5":"15095802159894479062","fileSize":4915277,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3890513401.blk","md5":"13501789702472369657","fileSize":4940381,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2792329307.blk","md5":"9499270847432462427","fileSize":5461548,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/503456440.blk","md5":"15243190197907759800","fileSize":4754720,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1312879592.blk","md5":"11780960668490986472","fileSize":4887080,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/973219564.blk","md5":"10823636475330045676","fileSize":5019124,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2525683079.blk","md5":"8248293907751427463","fileSize":4699606,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/762397934.blk","md5":"15538898498927805678","fileSize":4808662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/913630697.blk","md5":"4951066475280786921","fileSize":4621042,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/257541931.blk","md5":"16301489050137249579","fileSize":4842046,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/131482998.blk","md5":"11264450137970591094","fileSize":4247338,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/417837762.blk","md5":"7124413698581967554","fileSize":5550719,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/487087647.blk","md5":"16239652344621981215","fileSize":4714822,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3455672061.blk","md5":"7048554404394917629","fileSize":4524398,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/477397480.blk","md5":"4463237904611967464","fileSize":4639530,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1986543468.blk","md5":"435274605060964204","fileSize":4260689,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2659774186.blk","md5":"6856374876463754986","fileSize":5632927,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/463997017.blk","md5":"7176370622382475353","fileSize":5093324,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/870510778.blk","md5":"8123053746371621050","fileSize":4297292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/894644146.blk","md5":"16016510076534861746","fileSize":4740021,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3909494782.blk","md5":"9181703934505789438","fileSize":4679172,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1029941286.blk","md5":"13128781462220548134","fileSize":4886462,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2305191584.blk","md5":"9515112739327340192","fileSize":4388800,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2164780214.blk","md5":"6366621778135477430","fileSize":4799429,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2507234307.blk","md5":"16487816570617289731","fileSize":9351101,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2683321094.blk","md5":"14492896320130398982","fileSize":4931432,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4065741581.blk","md5":"10364171992471849741","fileSize":6225978,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1409442903.blk","md5":"4381288396233008215","fileSize":15091024,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2585363564.blk","md5":"14748415130041156716","fileSize":14495752,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1349440603.blk","md5":"12040811373961073755","fileSize":4454785,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1382357975.blk","md5":"14803475046204775383","fileSize":8758422,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1755106848.blk","md5":"13170577142617787936","fileSize":5394533,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3232324212.blk","md5":"813173716231477876","fileSize":5916551,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1145758809.blk","md5":"2783157620910515289","fileSize":4370197,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1617895135.blk","md5":"14434870954413727455","fileSize":6553256,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/847786340.blk","md5":"2651003207786443108","fileSize":6164540,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3789297582.blk","md5":"17862502167305000878","fileSize":8080017,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3256051384.blk","md5":"13111522958706435768","fileSize":4931198,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2511982323.blk","md5":"16384921991867125491","fileSize":4587273,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3985991799.blk","md5":"12993442604683454583","fileSize":4577051,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/117325256.blk","md5":"18442628198077185480","fileSize":4287785,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2296378040.blk","md5":"12709168179484553912","fileSize":4247148,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2585318115.blk","md5":"7258362937458873059","fileSize":4231807,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1647549805.blk","md5":"3454084577368448365","fileSize":4973630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4276823808.blk","md5":"9840031183359649536","fileSize":4210203,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/794444502.blk","md5":"298100632699159254","fileSize":4754106,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2765785262.blk","md5":"4664851458550302894","fileSize":4265417,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1976045875.blk","md5":"7768102016454758707","fileSize":4482566,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2751003027.blk","md5":"7988540565156854163","fileSize":4324926,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2802879947.blk","md5":"801329243971685835","fileSize":4198233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1166572737.blk","md5":"12843830607268576449","fileSize":4460112,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3024336213.blk","md5":"8767427082058970453","fileSize":4793999,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3748573012.blk","md5":"17765650998336859988","fileSize":4351960,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1367832280.blk","md5":"8589403331683120856","fileSize":4882888,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1557876092.blk","md5":"10205642251692625276","fileSize":6346360,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1643000932.blk","md5":"7505283050199987300","fileSize":4485442,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1217959922.blk","md5":"15584420316587792370","fileSize":4313229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1248669911.blk","md5":"12882299242146509015","fileSize":5550009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/969706020.blk","md5":"1961574894345685540","fileSize":5923422,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1944841023.blk","md5":"17810872243336244031","fileSize":5725247,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/8431134.blk","md5":"4736945849110668830","fileSize":4587439,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1763889484.blk","md5":"11687286246805262668","fileSize":4676052,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/734923837.blk","md5":"10825446863936556093","fileSize":4846491,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1446737609.blk","md5":"17527242854697236169","fileSize":5003265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3826490088.blk","md5":"15405460645563570920","fileSize":4277270,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2162451357.blk","md5":"10190274270901592989","fileSize":4929895,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4282117589.blk","md5":"1835235913500454357","fileSize":4762831,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/255485958.blk","md5":"5809510538786007046","fileSize":4685020,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2860732497.blk","md5":"16545298089683144785","fileSize":5308473,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2409659746.blk","md5":"11391947709014375778","fileSize":4243597,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3324651247.blk","md5":"6335770608301385455","fileSize":4426556,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2806590714.blk","md5":"15797095940349308154","fileSize":4768836,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2264990574.blk","md5":"3612321760264913774","fileSize":4198610,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3660985719.blk","md5":"4509514269149508983","fileSize":4329885,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/125033608.blk","md5":"9590425675877309576","fileSize":4874954,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2103922908.blk","md5":"16279537100471619804","fileSize":4723708,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/421878630.blk","md5":"11800070798166023014","fileSize":4544931,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1493546019.blk","md5":"17524178082045735971","fileSize":4202446,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2706710565.blk","md5":"7249422348973318181","fileSize":4491002,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/149193179.blk","md5":"9017622187034837467","fileSize":5406955,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/782421089.blk","md5":"1040841537776438369","fileSize":4688352,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2995117221.blk","md5":"16994653614322867365","fileSize":5290263,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2080928857.blk","md5":"4429897625579844697","fileSize":4504013,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3223331543.blk","md5":"13268300174194647767","fileSize":6235342,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/545071865.blk","md5":"10003610098632303353","fileSize":5403663,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2538367537.blk","md5":"14942510414406904369","fileSize":6652097,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/148474775.blk","md5":"1515782722995981207","fileSize":6539471,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/745589367.blk","md5":"14840897997561186935","fileSize":5801499,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/36925611.blk","md5":"5624085809577816235","fileSize":5883407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4254986233.blk","md5":"1484590411151175673","fileSize":5387912,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3678010755.blk","md5":"7176515731066584451","fileSize":6932462,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2924176999.blk","md5":"15509149697876649575","fileSize":8769770,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2512930756.blk","md5":"10823773301642905540","fileSize":5068795,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3345249144.blk","md5":"15212089689724187512","fileSize":6196771,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/712169641.blk","md5":"17854383237224388777","fileSize":5359491,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1292451811.blk","md5":"3742113562148552675","fileSize":6937139,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1449013197.blk","md5":"6252944258066427853","fileSize":6493966,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/365393783.blk","md5":"14504493347986962295","fileSize":6494967,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1761153399.blk","md5":"4661369639227953527","fileSize":5346003,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1608607145.blk","md5":"14761836957698975145","fileSize":6514057,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1283924763.blk","md5":"8502810941166396187","fileSize":6557574,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3054128398.blk","md5":"5740683716436053262","fileSize":6522825,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3191866263.blk","md5":"9860478422059320215","fileSize":5277715,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2826550657.blk","md5":"6685404872960490881","fileSize":6361076,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/95616659.blk","md5":"4642459600932765331","fileSize":5218755,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/140155720.blk","md5":"6560706443364440904","fileSize":7024471,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2184269246.blk","md5":"11888727995888782782","fileSize":5910517,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3870751441.blk","md5":"7542859416357763793","fileSize":5990342,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/417319295.blk","md5":"16639868654302775679","fileSize":6445140,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3967037153.blk","md5":"6471694443982630625","fileSize":6697018,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1488122936.blk","md5":"6935478582222451768","fileSize":6684930,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2148352675.blk","md5":"11490218952782332579","fileSize":6330479,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1899993993.blk","md5":"6115589297425849225","fileSize":6106805,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/599462500.blk","md5":"6788065725958001252","fileSize":8264135,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3230185743.blk","md5":"17680685300479211791","fileSize":6330715,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3378481778.blk","md5":"3912489616877259378","fileSize":6900635,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2868738411.blk","md5":"1816809879616977259","fileSize":4379970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3299149552.blk","md5":"1017889535711053552","fileSize":6634227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/190837788.blk","md5":"1725132361191912476","fileSize":7654439,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2832797205.blk","md5":"5466206323561008661","fileSize":6816496,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1978859526.blk","md5":"1848780756285063174","fileSize":7870929,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1083019507.blk","md5":"8077827715187446003","fileSize":6689062,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1574090920.blk","md5":"1800732703336872104","fileSize":7706797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4255222031.blk","md5":"153665769373272335","fileSize":6732871,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/781833046.blk","md5":"12668465537409995606","fileSize":7801561,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1973391013.blk","md5":"13885544169459388069","fileSize":6588728,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3406641599.blk","md5":"3860279148346685887","fileSize":7653005,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/531893379.blk","md5":"12245543818374679683","fileSize":4256979,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/154188395.blk","md5":"962695912867543659","fileSize":4303511,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1616303769.blk","md5":"10185408789668615833","fileSize":4311159,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/795661516.blk","md5":"17274809376744199372","fileSize":4410928,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2433514960.blk","md5":"1618850262368943568","fileSize":4330220,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/62095114.blk","md5":"8161134188329926410","fileSize":4437194,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1722735474.blk","md5":"16526276941111548786","fileSize":7415985,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3418082805.blk","md5":"17959300099741568501","fileSize":5106449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/324686223.blk","md5":"15725663493499277711","fileSize":4654062,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4089063482.blk","md5":"10420002615973259322","fileSize":4313946,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/751240651.blk","md5":"14111473745952966091","fileSize":4685777,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3555704947.blk","md5":"3661621814245703795","fileSize":15191478,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2757277996.blk","md5":"8273917962043832620","fileSize":4487440,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2427098054.blk","md5":"5953004264445612998","fileSize":4439408,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/121283426.blk","md5":"7528791934425015138","fileSize":4695300,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1007255507.blk","md5":"538437210270695379","fileSize":4289998,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3963712769.blk","md5":"11136398526550996225","fileSize":4247625,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3770008561.blk","md5":"6238407814725092337","fileSize":4321983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1305992500.blk","md5":"10245133925971647796","fileSize":4280679,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2157275592.blk","md5":"2046517292674935240","fileSize":4575559,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1469180664.blk","md5":"17808475109943536376","fileSize":4194580,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1737991580.blk","md5":"3522448791680034204","fileSize":4859590,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/871856047.blk","md5":"15542936489850009519","fileSize":4689413,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1634665148.blk","md5":"9654304489757147836","fileSize":4579341,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/184283195.blk","md5":"17483239994364260411","fileSize":4342982,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1020643016.blk","md5":"18093647155399345864","fileSize":4313366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1672755357.blk","md5":"18399585347357128861","fileSize":4414370,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1822921174.blk","md5":"452353808637858262","fileSize":4579736,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3640349384.blk","md5":"11825132519672206024","fileSize":4944929,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2673066689.blk","md5":"1768788391250608833","fileSize":7290311,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2763362875.blk","md5":"6967722058334966331","fileSize":4508040,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1472167677.blk","md5":"10325845690298629885","fileSize":6138055,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1900612928.blk","md5":"1825715446092467520","fileSize":5046528,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1571170559.blk","md5":"6530434832393447679","fileSize":4546301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1508474587.blk","md5":"12152738492436807387","fileSize":5119687,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1277786370.blk","md5":"11587506850293709058","fileSize":10344767,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2279685586.blk","md5":"662753914644413906","fileSize":8222605,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/574142412.blk","md5":"11226451836896065484","fileSize":9012217,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/436089392.blk","md5":"16452117401677214256","fileSize":8702378,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2834154770.blk","md5":"17254570161444078866","fileSize":4579603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2794238838.blk","md5":"12060149517195719542","fileSize":6040401,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/775367748.blk","md5":"4735894746826222660","fileSize":4328075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/334270688.blk","md5":"682487303149228256","fileSize":4618459,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2970324148.blk","md5":"10737807938237992116","fileSize":6859381,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1397007805.blk","md5":"5517515319998195133","fileSize":5046107,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1715086413.blk","md5":"8036682178231936077","fileSize":6908074,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/339139764.blk","md5":"1902371333635234996","fileSize":6836891,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3998480815.blk","md5":"16942388905625516463","fileSize":6853617,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3300242066.blk","md5":"11660367609533411986","fileSize":8117854,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/446580127.blk","md5":"13889128713278080415","fileSize":5281164,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/899925964.blk","md5":"9273712855509878732","fileSize":4198458,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/964418203.blk","md5":"474924260351793819","fileSize":4462645,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3010869249.blk","md5":"14950207387115862017","fileSize":4254744,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3496237853.blk","md5":"15830664709639789341","fileSize":4405500,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2875964656.blk","md5":"15548316866105294064","fileSize":4389812,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2078628053.blk","md5":"13877064302099519701","fileSize":4728325,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2565624881.blk","md5":"4344788141810144305","fileSize":5874994,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1605295562.blk","md5":"4045402192737131978","fileSize":4972703,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/82060701.blk","md5":"12886472145305347485","fileSize":6673192,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4170394176.blk","md5":"14358118336608545344","fileSize":4225202,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/14291741.blk","md5":"1892434496974361373","fileSize":4194693,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1544435082.blk","md5":"10694111862960567690","fileSize":5584285,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3076185384.blk","md5":"15024537521429863720","fileSize":4414569,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1180816219.blk","md5":"15162064979397563227","fileSize":5330001,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1885086914.blk","md5":"10375841145851487426","fileSize":4249670,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3149964237.blk","md5":"7942815909930902477","fileSize":8605416,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2876935458.blk","md5":"17827503972546153762","fileSize":8051122,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1521651911.blk","md5":"343336435873648839","fileSize":4567055,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1257411621.blk","md5":"3882794713382818853","fileSize":6042075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/932268804.blk","md5":"755466447443020548","fileSize":4442907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4184551495.blk","md5":"4170451972025692231","fileSize":6239287,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3762248665.blk","md5":"2788200361809107929","fileSize":4591358,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1036000690.blk","md5":"13051552323837369778","fileSize":4621346,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1464628350.blk","md5":"10921873321457644670","fileSize":8147543,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/492022819.blk","md5":"4557279357488573475","fileSize":7725391,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3857273046.blk","md5":"9919663398481121494","fileSize":4389132,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4257080787.blk","md5":"8922597345388783059","fileSize":4360623,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3755469029.blk","md5":"12574656032935504101","fileSize":5239275,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2189102695.blk","md5":"13014521550756056679","fileSize":7520200,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2237841152.blk","md5":"10408565137687625472","fileSize":4584742,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1001886595.blk","md5":"16617040628831196035","fileSize":5156534,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2682846232.blk","md5":"179026686395350040","fileSize":4597478,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3655599912.blk","md5":"18144226647122118440","fileSize":7241652,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1262830430.blk","md5":"7885346952110752606","fileSize":4207641,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2623292436.blk","md5":"5338187972621386772","fileSize":6883842,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/969729278.blk","md5":"14135203088294536446","fileSize":5909162,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1580467995.blk","md5":"14599178007776331547","fileSize":4399743,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/960131289.blk","md5":"7705336711994831065","fileSize":4232516,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2055370990.blk","md5":"5252080255795099886","fileSize":4631473,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2859632706.blk","md5":"9517107430068226114","fileSize":8734648,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3618102452.blk","md5":"9935961325956488372","fileSize":4618018,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2791905304.blk","md5":"8428793559354251288","fileSize":4592772,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2682837956.blk","md5":"18110509623867399108","fileSize":9088788,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4226713041.blk","md5":"11732956169829778897","fileSize":4442801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4210613202.blk","md5":"774630809544481746","fileSize":5146710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4226768166.blk","md5":"9766163204721827110","fileSize":9087979,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1607527257.blk","md5":"4538301946822454105","fileSize":6706236,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2233590883.blk","md5":"4453482545285293155","fileSize":4301576,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/968249937.blk","md5":"9672839016729694801","fileSize":4574034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/770080476.blk","md5":"1396613495870881500","fileSize":8003511,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3499652664.blk","md5":"18028507914340693560","fileSize":4645716,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3890925917.blk","md5":"1314200236291969373","fileSize":8056862,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/643825630.blk","md5":"7877973742479998942","fileSize":4217851,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/819438303.blk","md5":"3556964938953499359","fileSize":4866145,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2730447943.blk","md5":"7855731341596251207","fileSize":6708225,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3889440528.blk","md5":"2498565591608338192","fileSize":7342060,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2413041154.blk","md5":"5469696933257025026","fileSize":8322869,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4099275936.blk","md5":"14415529593879788704","fileSize":4730631,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3315908456.blk","md5":"5576917889306640232","fileSize":8192761,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1680985083.blk","md5":"17579325668472245243","fileSize":5047086,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3035795282.blk","md5":"14482159911560187730","fileSize":4615100,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1673553759.blk","md5":"7191873265097271135","fileSize":6026752,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3049623990.blk","md5":"16325177953640354230","fileSize":6218350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/157835622.blk","md5":"10771772145960247654","fileSize":8692002,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3721911444.blk","md5":"18114329680488684692","fileSize":4309350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2007092675.blk","md5":"245320369221782979","fileSize":7341217,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/115498513.blk","md5":"929125477780708881","fileSize":4732615,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2401205648.blk","md5":"11912907356312141200","fileSize":5069306,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3370020221.blk","md5":"17217353359827037565","fileSize":4368848,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4186385884.blk","md5":"16350862022415953372","fileSize":5430953,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3083074238.blk","md5":"6934867873827650238","fileSize":4864081,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3854688721.blk","md5":"3388253631554904529","fileSize":6786488,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/598131533.blk","md5":"8154259552542835533","fileSize":4556686,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2325432870.blk","md5":"3810480985743247910","fileSize":4849574,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3073775884.blk","md5":"15240446901786908940","fileSize":4271407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1028618087.blk","md5":"2561957755553281895","fileSize":4792821,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1989923869.blk","md5":"1291313998643057693","fileSize":4761564,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2993530028.blk","md5":"1157454154091570348","fileSize":4478233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3007333924.blk","md5":"10139682142569907748","fileSize":4949335,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/656406612.blk","md5":"15261519722615666772","fileSize":4379201,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4130938891.blk","md5":"11416885721080340491","fileSize":4431313,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1380951641.blk","md5":"16130484546118329945","fileSize":4207888,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2155226660.blk","md5":"7740690006342510116","fileSize":4248255,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2587056987.blk","md5":"10666879224430943067","fileSize":4620579,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4091640443.blk","md5":"7077561832464022139","fileSize":4231169,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/600957625.blk","md5":"5965836564042998457","fileSize":5404383,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/27876469.blk","md5":"1287146607093570677","fileSize":6539036,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1811403986.blk","md5":"12366556120946824402","fileSize":6811347,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3579861434.blk","md5":"2872916246488177082","fileSize":5075190,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/445202029.blk","md5":"17511052227149119085","fileSize":5946637,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1609598250.blk","md5":"2781155221721613610","fileSize":5960006,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/768958467.blk","md5":"1937543044590297091","fileSize":5559649,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3465490502.blk","md5":"10506480626508443718","fileSize":4324376,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2035215764.blk","md5":"4095165097302748564","fileSize":4582455,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/187522830.blk","md5":"10511498905968795406","fileSize":4696790,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1391426705.blk","md5":"16503795630254029969","fileSize":5985498,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3190264090.blk","md5":"4324022065752936730","fileSize":5341652,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/45218606.blk","md5":"17675277306403355438","fileSize":7113880,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3828866393.blk","md5":"14225009057721736537","fileSize":4417889,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1656575148.blk","md5":"18046862261963543724","fileSize":5867235,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2002618010.blk","md5":"13713173551213545114","fileSize":5014902,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2541572228.blk","md5":"7130714568052789380","fileSize":5809834,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/44591129.blk","md5":"13151420826557900825","fileSize":4700576,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/822914027.blk","md5":"15873615406423649259","fileSize":6609338,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3137663230.blk","md5":"10026165676030619902","fileSize":5001297,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2051305855.blk","md5":"8399091317141172607","fileSize":4443951,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3733955130.blk","md5":"6027780857556607546","fileSize":5594657,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/460627506.blk","md5":"6848725026409324082","fileSize":4231635,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3462866814.blk","md5":"622612167931668350","fileSize":6502605,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1589681308.blk","md5":"12749405588480367772","fileSize":8404438,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3917523106.blk","md5":"3838508659713812642","fileSize":6502299,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1139969971.blk","md5":"8176454582565769139","fileSize":5746819,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/838892666.blk","md5":"9907502199859084410","fileSize":4314313,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4010929087.blk","md5":"8624452479369735103","fileSize":4886436,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3318204968.blk","md5":"9767950575928330792","fileSize":4246300,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1224271856.blk","md5":"15384543812927416304","fileSize":4561390,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3261109390.blk","md5":"16528132643399701646","fileSize":4200158,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3388149528.blk","md5":"4946313611110977304","fileSize":7573476,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3439089750.blk","md5":"4827770473682851926","fileSize":7402190,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2211227685.blk","md5":"7105854987775551525","fileSize":5588672,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3769783585.blk","md5":"9317459123219092769","fileSize":5862960,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2106009482.blk","md5":"6313421349621016458","fileSize":6777177,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1416291877.blk","md5":"16939632667910661669","fileSize":6726161,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/10132753.blk","md5":"2365140504533441809","fileSize":6808277,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4204297910.blk","md5":"13128371167169117878","fileSize":4451370,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2626210622.blk","md5":"14055521495170992958","fileSize":5887719,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1663840145.blk","md5":"7508362086505525137","fileSize":6870473,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2437989632.blk","md5":"17952776056323753216","fileSize":5327540,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1657489777.blk","md5":"7259819523149875569","fileSize":6546844,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2005383297.blk","md5":"7762819318379165825","fileSize":5430788,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3909134973.blk","md5":"17856458882151393917","fileSize":5320885,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/368963345.blk","md5":"7028012715192741649","fileSize":7303714,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3631023715.blk","md5":"3437336758108096099","fileSize":4455952,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3101037066.blk","md5":"16481736989169029642","fileSize":6557037,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1275469705.blk","md5":"10141578149855895433","fileSize":4691426,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1501417533.blk","md5":"714733184335335485","fileSize":5589539,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2821729646.blk","md5":"11770252234199149934","fileSize":5843611,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/803018240.blk","md5":"5522853298033202688","fileSize":4675222,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1013534624.blk","md5":"5577844131061387168","fileSize":4219841,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1654750113.blk","md5":"18123899080305376161","fileSize":4429186,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/58638168.blk","md5":"5150364205479542616","fileSize":4317973,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/114665247.blk","md5":"5368723684348765983","fileSize":4218258,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1566585692.blk","md5":"629542293335978844","fileSize":5745117,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2491541886.blk","md5":"13397899046388099454","fileSize":5337962,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2312919268.blk","md5":"2239181644464150756","fileSize":5957844,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/567209796.blk","md5":"8466357925215924036","fileSize":4533487,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2398029429.blk","md5":"12476393940124108405","fileSize":6660819,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2674138862.blk","md5":"15656990825666322158","fileSize":4380974,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4063152402.blk","md5":"4871891062725986578","fileSize":5611931,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/946657840.blk","md5":"7441793421299997232","fileSize":6855894,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2846159326.blk","md5":"3824056029266899422","fileSize":5568979,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/502597702.blk","md5":"1765883329035700294","fileSize":5853723,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/719488096.blk","md5":"11229302673123738720","fileSize":6315472,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2608588806.blk","md5":"8064545989911635974","fileSize":5212059,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/725637574.blk","md5":"9737359037409810886","fileSize":6329042,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/665367469.blk","md5":"1781740812311770029","fileSize":6174832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1623864181.blk","md5":"5353232511915406197","fileSize":5593948,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3447391212.blk","md5":"6392209656969364460","fileSize":6358439,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3354030377.blk","md5":"13500754979889770793","fileSize":5649846,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3274204106.blk","md5":"16777767232261874634","fileSize":6382732,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/280003260.blk","md5":"13859367140960797372","fileSize":6871233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/993094124.blk","md5":"9145865088089025004","fileSize":5030005,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1307058200.blk","md5":"17938241477841264664","fileSize":4666461,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3995741584.blk","md5":"5595979315623374224","fileSize":7578591,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2049809029.blk","md5":"13130600424839944837","fileSize":5301981,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3773817914.blk","md5":"18432494522751509562","fileSize":4314184,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4213678904.blk","md5":"11438010144146301752","fileSize":4649853,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3335327341.blk","md5":"18249084566776909421","fileSize":7416064,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3786316921.blk","md5":"14701995506959031417","fileSize":7310972,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1413490089.blk","md5":"2938217326522148265","fileSize":4560115,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/453674874.blk","md5":"539462542964721530","fileSize":4354189,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2504684463.blk","md5":"10212217327878566831","fileSize":4214162,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/319550605.blk","md5":"7877122591306806413","fileSize":4562159,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1668859092.blk","md5":"16851945628005614804","fileSize":5915200,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2413201231.blk","md5":"13377284788131891023","fileSize":4364049,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4194078639.blk","md5":"11216962213354704815","fileSize":4750992,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2157816282.blk","md5":"9620166522548627930","fileSize":7404791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/67746483.blk","md5":"11006319420846488243","fileSize":4504733,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/852696011.blk","md5":"13768577206547848139","fileSize":6554542,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1187652960.blk","md5":"11754600229277148512","fileSize":6136070,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/610807360.blk","md5":"10776254773715283520","fileSize":4982396,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1332498870.blk","md5":"1919772613671670198","fileSize":5711262,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3235799287.blk","md5":"14028910879141945591","fileSize":4301342,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1007795145.blk","md5":"5355296354754214857","fileSize":4441977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2372366075.blk","md5":"2904820546550591227","fileSize":4202071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3871502837.blk","md5":"17854062857298276853","fileSize":4601228,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3884186636.blk","md5":"17448211078021643276","fileSize":4670905,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/215286012.blk","md5":"14946932128159695100","fileSize":5813446,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/466647160.blk","md5":"9934376737570846840","fileSize":5225810,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2489153995.blk","md5":"12997749437477255627","fileSize":7138131,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/332944704.blk","md5":"5921164424245695808","fileSize":6287707,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3978129377.blk","md5":"7456911687738552289","fileSize":5282605,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2095121047.blk","md5":"6359819816884306583","fileSize":6623938,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/93416326.blk","md5":"3736708409032010630","fileSize":5390282,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2390485581.blk","md5":"1088138780104976973","fileSize":5216943,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4075854398.blk","md5":"13065426059085781566","fileSize":5426326,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3151380767.blk","md5":"15819109237223997727","fileSize":5078860,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4047187674.blk","md5":"2967643765008445146","fileSize":4595951,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3558786759.blk","md5":"13276849551745926855","fileSize":6382530,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/503654387.blk","md5":"13344355383633061875","fileSize":6036382,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1097620525.blk","md5":"2998503312534035501","fileSize":6099938,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3871040194.blk","md5":"5122229347414663874","fileSize":4642753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2455099042.blk","md5":"7503073835799140002","fileSize":5532968,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3846909527.blk","md5":"10255695974647934551","fileSize":4322700,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3396311240.blk","md5":"171303017355647176","fileSize":5694218,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/533676028.blk","md5":"4032658989338542076","fileSize":7512142,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2242910647.blk","md5":"3495162413981899191","fileSize":5537043,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3608305836.blk","md5":"4360744255595110572","fileSize":6442700,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3235263953.blk","md5":"13669855882393302481","fileSize":5016075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2374361829.blk","md5":"11425678689904747237","fileSize":5320127,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1632247071.blk","md5":"4077730385831271711","fileSize":6492038,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2726729639.blk","md5":"8562718946045106087","fileSize":7597942,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2099111092.blk","md5":"17232355726565696692","fileSize":6415221,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1452168879.blk","md5":"6679226509591205551","fileSize":4621633,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2947568159.blk","md5":"6115076062766453279","fileSize":6121465,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/898962492.blk","md5":"15925855793800614972","fileSize":4371600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1385289862.blk","md5":"7610310621125531782","fileSize":7444737,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3911711084.blk","md5":"11673570309548013932","fileSize":8119036,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3339426924.blk","md5":"12030140091617483884","fileSize":4461625,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2600405659.blk","md5":"6244102416203975323","fileSize":8320704,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1667553255.blk","md5":"10453381368504440807","fileSize":5975323,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3689282910.blk","md5":"15044815883713510750","fileSize":7687512,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1739326190.blk","md5":"14526411817307865838","fileSize":4769327,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3764964743.blk","md5":"15697649693010480519","fileSize":6105301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3915328477.blk","md5":"6394447524377078749","fileSize":4222465,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/538029569.blk","md5":"1309031772374281729","fileSize":6729922,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1403281375.blk","md5":"11307706313953533919","fileSize":4267961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1778998614.blk","md5":"6938873109915721046","fileSize":7172718,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3298497716.blk","md5":"10532373218937476276","fileSize":4401143,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/844452334.blk","md5":"4015199174496965102","fileSize":5305470,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4183238306.blk","md5":"9713136048088229538","fileSize":6374120,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2280785970.blk","md5":"12778691205931337778","fileSize":6816506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/724135141.blk","md5":"17009770926271196389","fileSize":5611532,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2400244359.blk","md5":"7052401822158344839","fileSize":5296334,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2644958696.blk","md5":"5074357748081548776","fileSize":4517609,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2723183375.blk","md5":"17529379975865596687","fileSize":6917445,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/9866925.blk","md5":"994592955498401453","fileSize":5894439,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3569641055.blk","md5":"2578735699943777887","fileSize":6072697,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/981761418.blk","md5":"2852004408903105930","fileSize":4292424,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3394287230.blk","md5":"10371185939682735742","fileSize":4655085,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/341707037.blk","md5":"7902648024350722333","fileSize":5184363,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1849398926.blk","md5":"44550555149506190","fileSize":4484782,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3986855239.blk","md5":"16697010594995410247","fileSize":4309820,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1735639989.blk","md5":"3825867752736015285","fileSize":4271426,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4087083245.blk","md5":"8981388755941978349","fileSize":5717424,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/743387636.blk","md5":"9573179484426678772","fileSize":5694771,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1195014318.blk","md5":"10662011195436464302","fileSize":4733834,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4214167071.blk","md5":"1933137996432741919","fileSize":6153168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3921633519.blk","md5":"15433064847146705135","fileSize":4717252,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1133484658.blk","md5":"12912969341499054706","fileSize":6556974,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2777720727.blk","md5":"14478677397199693719","fileSize":4257990,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/158416488.blk","md5":"176134555973009000","fileSize":5797302,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2535903965.blk","md5":"17319690859014705885","fileSize":5056232,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2229185796.blk","md5":"16074609693915262212","fileSize":4627374,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2650402963.blk","md5":"7336838939278962835","fileSize":4513333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/982403136.blk","md5":"2777117303296116800","fileSize":5630644,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/368357068.blk","md5":"9558686262940184268","fileSize":4932131,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2825770729.blk","md5":"11637079003594872553","fileSize":5496338,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/534334853.blk","md5":"16791417219704245637","fileSize":5614681,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2150551988.blk","md5":"8270652811334570420","fileSize":5586050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/23962682.blk","md5":"7019512635266540602","fileSize":6802899,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3817429178.blk","md5":"3893683115168192698","fileSize":4918040,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2626943421.blk","md5":"10346982256309172669","fileSize":5830904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/53689856.blk","md5":"355248139654086144","fileSize":4853314,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2541389298.blk","md5":"5777321397570930162","fileSize":6428981,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3613914599.blk","md5":"10608561051411150311","fileSize":7528628,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1266175830.blk","md5":"5810884199186976598","fileSize":5598502,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/852836862.blk","md5":"11308279408069263870","fileSize":4280590,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4246570645.blk","md5":"2628580393818621589","fileSize":6203101,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/272305558.blk","md5":"4664408116647628182","fileSize":4237402,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2837156237.blk","md5":"4150945406040904077","fileSize":4195263,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1241327498.blk","md5":"2507738939024811914","fileSize":4374868,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2853143936.blk","md5":"15781813463209182592","fileSize":8525667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/473264960.blk","md5":"555176698743976768","fileSize":7121398,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/322208603.blk","md5":"14338945676060427099","fileSize":4414567,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1779573758.blk","md5":"10043805569213670398","fileSize":4488493,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/987521917.blk","md5":"157843528039031677","fileSize":4860743,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/612296771.blk","md5":"8201050446698047555","fileSize":5371878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4073124192.blk","md5":"18370977199664066912","fileSize":8733335,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2103395103.blk","md5":"3820822545215472415","fileSize":4388073,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1023587694.blk","md5":"4606835815962817902","fileSize":4270172,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/261687964.blk","md5":"18301053109639121564","fileSize":4712549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3913869101.blk","md5":"15360543443877685037","fileSize":7413054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4104061739.blk","md5":"13316082102855205675","fileSize":6784407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1411465090.blk","md5":"13700578769480269698","fileSize":6025197,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/624499049.blk","md5":"253807051417393513","fileSize":4568989,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2632294803.blk","md5":"7211969753041445267","fileSize":4922520,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2342262538.blk","md5":"12296442244954330890","fileSize":5274857,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1973807218.blk","md5":"6265182561742743666","fileSize":4410290,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2305700380.blk","md5":"9312223681175237148","fileSize":5113616,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3756701663.blk","md5":"15066054140577363935","fileSize":5052981,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3477263593.blk","md5":"16522337732006171881","fileSize":5745701,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3247598127.blk","md5":"7658124299165919791","fileSize":5374237,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3873248803.blk","md5":"8776546677161793059","fileSize":7452402,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1404921259.blk","md5":"11997539445365368235","fileSize":8451259,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/719959600.blk","md5":"10264295097342998064","fileSize":4482388,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2803979695.blk","md5":"8560487878115808687","fileSize":4877881,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/876367354.blk","md5":"16901277149128576506","fileSize":5553533,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1657978364.blk","md5":"9779963602089983484","fileSize":4297490,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1971350262.blk","md5":"5900512625397099254","fileSize":4291035,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1008202284.blk","md5":"11075441680555962924","fileSize":4415058,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4281494341.blk","md5":"13885171574764628805","fileSize":4821610,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/504071843.blk","md5":"11110503070047110819","fileSize":4428384,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4269520123.blk","md5":"6053961514144740603","fileSize":4657158,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2505300459.blk","md5":"14577300411662981611","fileSize":4368937,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3523970796.blk","md5":"9889410679306946284","fileSize":6243199,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4081799495.blk","md5":"10420375401947418951","fileSize":5857567,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1325845363.blk","md5":"3808631155214175091","fileSize":5203406,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3693505767.blk","md5":"18161291741932973287","fileSize":6044860,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2294665727.blk","md5":"8471482256719204863","fileSize":4780681,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1277401026.blk","md5":"16560152056399370178","fileSize":5222196,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1040825276.blk","md5":"7468175558657555388","fileSize":6521600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1842397167.blk","md5":"12672571046169198575","fileSize":4376220,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1698681844.blk","md5":"12372372322596672500","fileSize":5086702,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3645058847.blk","md5":"1075519020687634207","fileSize":6613007,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/594718849.blk","md5":"12880096086478467201","fileSize":4660895,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3086228070.blk","md5":"11302064468071291494","fileSize":5749950,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2549697866.blk","md5":"8531745389781011786","fileSize":4375406,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3297915704.blk","md5":"17719458422754259768","fileSize":5730824,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2005775677.blk","md5":"16296585590802855229","fileSize":6534256,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/381253477.blk","md5":"11464501176473057125","fileSize":4653157,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1041126403.blk","md5":"17733576802633143299","fileSize":4755630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/576509724.blk","md5":"17496002889508509468","fileSize":7718674,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2287188715.blk","md5":"4342871160188549867","fileSize":6791249,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/326680545.blk","md5":"12290734441855762401","fileSize":6685940,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2103195167.blk","md5":"6796013688997033503","fileSize":5822448,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4225520670.blk","md5":"8698546064214217758","fileSize":5195561,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2040922009.blk","md5":"11901311936390102937","fileSize":5506532,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4283568852.blk","md5":"3093753698796573396","fileSize":4417377,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1050207632.blk","md5":"3572155199128135056","fileSize":7577415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/74214899.blk","md5":"4630310637374565875","fileSize":8336230,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2288098788.blk","md5":"5571209661994081764","fileSize":8330876,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3128234501.blk","md5":"10939376006342185477","fileSize":4415504,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3818041754.blk","md5":"6682378111714242970","fileSize":4701178,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1774271937.blk","md5":"12575772340199177665","fileSize":4682555,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3809235493.blk","md5":"15207947069677130277","fileSize":5777945,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/481343051.blk","md5":"7847504673089041995","fileSize":4844879,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/272761397.blk","md5":"15836857808738976309","fileSize":6725088,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/9546955.blk","md5":"7728697102591700171","fileSize":4250831,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2616962139.blk","md5":"16107042250780552283","fileSize":7393394,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/451684106.blk","md5":"18069622842943350538","fileSize":4255106,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3108721314.blk","md5":"1388042036271862434","fileSize":4285911,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1218714656.blk","md5":"10277955112477662240","fileSize":7967125,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1688745558.blk","md5":"6405167051851707990","fileSize":4407705,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/590706027.blk","md5":"7995810168807191915","fileSize":5482139,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1144032293.blk","md5":"10860630428980644901","fileSize":6546864,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/237782254.blk","md5":"1715305643569333486","fileSize":4986630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1982047707.blk","md5":"14224866669119120859","fileSize":5004531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4156497114.blk","md5":"4152569351674731738","fileSize":4292923,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/763360816.blk","md5":"2794224209356650032","fileSize":4684216,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2154268824.blk","md5":"16848544083112069272","fileSize":5916441,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1071376901.blk","md5":"12938943847649241605","fileSize":4330189,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3487366746.blk","md5":"7164748873399598682","fileSize":5899966,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/438775965.blk","md5":"8134124956153229469","fileSize":7459079,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3326599849.blk","md5":"3176986075227218601","fileSize":7315785,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/262519840.blk","md5":"8154789551171550240","fileSize":6532964,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1378850269.blk","md5":"13146536908910728669","fileSize":4810719,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/658551367.blk","md5":"14109918435123180103","fileSize":8189374,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1373064324.blk","md5":"16656759477438467204","fileSize":7606314,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4183523322.blk","md5":"17289635315180077050","fileSize":4198983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/985289475.blk","md5":"10380899229151941379","fileSize":5269426,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3907085970.blk","md5":"16671831989092968082","fileSize":4220329,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1448459277.blk","md5":"5884081776511794189","fileSize":4216565,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2195188853.blk","md5":"8767462682213739637","fileSize":5388761,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/208217054.blk","md5":"3424978067895428062","fileSize":6144084,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2887459395.blk","md5":"6888438770356134467","fileSize":4196424,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2058987183.blk","md5":"8407879808078948015","fileSize":6198573,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/294449586.blk","md5":"4850834367608320434","fileSize":5037049,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4060877005.blk","md5":"7491411240259686605","fileSize":4952514,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/32296255.blk","md5":"11194662296610458943","fileSize":4200918,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2339637960.blk","md5":"5298294984652622536","fileSize":4382710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/184677526.blk","md5":"7082767457768830102","fileSize":4317710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1457758075.blk","md5":"5588645939895312251","fileSize":4307128,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1750225942.blk","md5":"2882862061771183126","fileSize":4243164,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2273345432.blk","md5":"1293090221306445720","fileSize":6184836,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/238637165.blk","md5":"6868388404375670893","fileSize":4765138,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2717838003.blk","md5":"6597818721475947187","fileSize":4996665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2077579851.blk","md5":"12090623980186458699","fileSize":4702648,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/606100066.blk","md5":"11148520389781510754","fileSize":4307088,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/467640443.blk","md5":"11673349355806367867","fileSize":4254776,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/692910259.blk","md5":"6782901294165981363","fileSize":4611606,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1356233907.blk","md5":"4511777706019814579","fileSize":4511131,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2847593732.blk","md5":"908225332131845380","fileSize":6940588,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3206134400.blk","md5":"5799940113355618944","fileSize":4316276,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2490805227.blk","md5":"526748892049877995","fileSize":4212256,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2355300037.blk","md5":"16971025482464298693","fileSize":5660860,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/302838352.blk","md5":"16744889477977928272","fileSize":4293694,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2147303702.blk","md5":"15974159333721981206","fileSize":4887739,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/883636349.blk","md5":"4267916957198268541","fileSize":4227713,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/317554518.blk","md5":"14827141964208373590","fileSize":4294396,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3802791433.blk","md5":"18324987832049466889","fileSize":6204551,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3258670423.blk","md5":"17880099124527455575","fileSize":4376170,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3807131498.blk","md5":"722204763288778602","fileSize":4477847,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3483963815.blk","md5":"18069967302352769447","fileSize":4271758,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/424507784.blk","md5":"5912342793439508872","fileSize":4357255,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1118752380.blk","md5":"17824985449210236540","fileSize":4238045,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1477262648.blk","md5":"4643598674885950776","fileSize":4306880,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1078175520.blk","md5":"4603293584689702688","fileSize":4253603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3516096698.blk","md5":"5554542119211983034","fileSize":4269605,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/180098421.blk","md5":"4867337332652250485","fileSize":4282545,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3456113359.blk","md5":"11535445784350694095","fileSize":4310460,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1322677038.blk","md5":"738536524271219502","fileSize":4392384,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1091203171.blk","md5":"2822737153237872739","fileSize":4342404,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2945490367.blk","md5":"18168462790381051327","fileSize":4484020,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2361503956.blk","md5":"9970075279269408980","fileSize":4417535,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3597432813.blk","md5":"8061021360348755949","fileSize":4235619,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1845963833.blk","md5":"16608748052849044537","fileSize":4210285,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3459220547.blk","md5":"13479051273297691715","fileSize":4347061,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/850329417.blk","md5":"10371053308548677449","fileSize":4506897,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3950982245.blk","md5":"1962066653902484581","fileSize":4550748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1940096118.blk","md5":"528975531394434166","fileSize":4429550,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2592381677.blk","md5":"10722676690766830317","fileSize":4487954,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2313068911.blk","md5":"4031248631232110959","fileSize":4287183,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3595050861.blk","md5":"6889513363291250541","fileSize":4231868,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4217324299.blk","md5":"4229624427985191691","fileSize":4270094,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2989826736.blk","md5":"16785376372132750000","fileSize":4194685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3969231751.blk","md5":"11719034063147084679","fileSize":4307266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4181679730.blk","md5":"2860126397123223154","fileSize":4383732,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/102171458.blk","md5":"2839574927287714626","fileSize":4605904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1850075384.blk","md5":"13611911313281640696","fileSize":4900209,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3830317420.blk","md5":"3825008645407375724","fileSize":4379522,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2247816188.blk","md5":"1120590105446904828","fileSize":4365160,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4289213073.blk","md5":"10774280020150465169","fileSize":4249049,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/933044048.blk","md5":"11500176785998159696","fileSize":4393698,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2476720401.blk","md5":"8365738027474993425","fileSize":4270781,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1349576834.blk","md5":"11183084157019416706","fileSize":4260087,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/21318162.blk","md5":"10371331531406133778","fileSize":4215907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2100192481.blk","md5":"12647014659575932129","fileSize":4224365,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1003944688.blk","md5":"17850676302782593776","fileSize":4346792,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1594272744.blk","md5":"15180993506274880488","fileSize":4204748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4056096802.blk","md5":"5228512415033008162","fileSize":4543233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2216280307.blk","md5":"17873188963487432947","fileSize":4197577,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1332523467.blk","md5":"11067349116386062795","fileSize":4344275,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/685250169.blk","md5":"14051406330444912249","fileSize":4396511,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/760071333.blk","md5":"15550028116399080613","fileSize":4391994,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2730495388.blk","md5":"12612773952561876380","fileSize":4575394,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1292005685.blk","md5":"17067683192116506933","fileSize":4949956,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2664960877.blk","md5":"10529823888925791085","fileSize":4617600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2907338872.blk","md5":"7921899981597472888","fileSize":4308619,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1051551192.blk","md5":"3345016532285351384","fileSize":4298009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1161152877.blk","md5":"4708831191912270189","fileSize":4347420,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/242232710.blk","md5":"5699226812382457222","fileSize":4507654,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1380639611.blk","md5":"6250304596867736443","fileSize":4271072,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2710779989.blk","md5":"10518515832786729045","fileSize":4260408,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3120165859.blk","md5":"9037323316661711843","fileSize":4425828,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2150224442.blk","md5":"8848585633613599290","fileSize":4599334,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1288930739.blk","md5":"15713619461272733107","fileSize":4199120,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/92828070.blk","md5":"831496477368414630","fileSize":4342505,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3509243792.blk","md5":"5673228558268026768","fileSize":4409109,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/219635279.blk","md5":"10422553582159486543","fileSize":4866459,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3090494167.blk","md5":"17060367954076840663","fileSize":4236792,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1429814340.blk","md5":"15876192099645340740","fileSize":4239143,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/36685825.blk","md5":"2900674479140096001","fileSize":5704134,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2389199663.blk","md5":"5351890438479956783","fileSize":6208232,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/731575604.blk","md5":"1786587287834522932","fileSize":9293798,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1317967829.blk","md5":"5253195434726168533","fileSize":4455853,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2269808340.blk","md5":"18056360810385147604","fileSize":8570475,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1726898297.blk","md5":"18351311843444547705","fileSize":10791705,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4087466471.blk","md5":"11779940981604993511","fileSize":4443036,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2891086379.blk","md5":"1104162740946237995","fileSize":4645644,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/469168665.blk","md5":"6900011857964626457","fileSize":4620206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1537539292.blk","md5":"285119004595780828","fileSize":4995637,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/924089574.blk","md5":"11541603433481272550","fileSize":4250405,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2184193904.blk","md5":"7897939951762810736","fileSize":4929154,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2651281977.blk","md5":"11877994121463814713","fileSize":6466725,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/556126665.blk","md5":"17015679345108570569","fileSize":4201256,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1203636815.blk","md5":"18112592956404664911","fileSize":4232388,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4101889437.blk","md5":"11325722111025995165","fileSize":6445261,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2802062280.blk","md5":"10952890674663658440","fileSize":4241515,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1350780342.blk","md5":"12192784848951395766","fileSize":4292715,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3391672623.blk","md5":"6707782791304106287","fileSize":4567571,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2370663585.blk","md5":"4550485644522910881","fileSize":4407691,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1123531802.blk","md5":"7321232083160382490","fileSize":4410241,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3182615289.blk","md5":"12201514659575159545","fileSize":4206099,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1695757621.blk","md5":"7546815852156499253","fileSize":4298945,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/526794563.blk","md5":"3967382336905297731","fileSize":4267583,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1275632992.blk","md5":"9006626294494436704","fileSize":4305424,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/616628694.blk","md5":"195146731678138838","fileSize":4489029,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/675791424.blk","md5":"8754076062201659968","fileSize":4203421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1690579377.blk","md5":"5826705935711875505","fileSize":4195298,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3524828456.blk","md5":"7013760165729574184","fileSize":4299133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1530615962.blk","md5":"10452125446915709082","fileSize":4253801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3383210896.blk","md5":"6233687074049340304","fileSize":4270256,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/675370857.blk","md5":"309756834519013225","fileSize":4301802,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2857729863.blk","md5":"224762805462859591","fileSize":4220521,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1230023728.blk","md5":"17425868904601791536","fileSize":4225656,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/218890247.blk","md5":"5788508732787523591","fileSize":4253990,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2864151378.blk","md5":"1163269273393003346","fileSize":4417019,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3588490209.blk","md5":"12612966754501788641","fileSize":4210827,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1354588676.blk","md5":"16171656111181357572","fileSize":4315713,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1919775184.blk","md5":"11434793194167824848","fileSize":4293401,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1045095143.blk","md5":"13580518279818699495","fileSize":4306050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1484975296.blk","md5":"10476579547544480960","fileSize":4371144,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1194671830.blk","md5":"10612232103568686806","fileSize":4214554,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3055916690.blk","md5":"9007963830695073426","fileSize":4253191,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/154437384.blk","md5":"5729730297096079112","fileSize":4201667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3768323242.blk","md5":"469875395955264682","fileSize":4427731,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1218437550.blk","md5":"5978955903043363246","fileSize":4335977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2053023934.blk","md5":"17878962365737642174","fileSize":4248658,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/710313084.blk","md5":"13825404270886159484","fileSize":4341315,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1463078081.blk","md5":"16915406758895471809","fileSize":4195686,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2854503634.blk","md5":"7427735939413460178","fileSize":4195129,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2159839066.blk","md5":"16981248363426776922","fileSize":4217773,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1087911241.blk","md5":"8216376239105520969","fileSize":4433634,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/264358054.blk","md5":"11259698216351942822","fileSize":4827334,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1327491302.blk","md5":"161126906322741478","fileSize":4732529,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1295793759.blk","md5":"1677002340302601823","fileSize":4270173,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2308159927.blk","md5":"2422794318156904887","fileSize":4509298,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4031107851.blk","md5":"5528012411682280203","fileSize":4215691,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1375646805.blk","md5":"8719498853159449685","fileSize":4279507,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1464051977.blk","md5":"6880356331971389705","fileSize":4402476,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3518988037.blk","md5":"15154586477305757445","fileSize":4199537,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2450244921.blk","md5":"4147487806656857401","fileSize":4306845,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4268462544.blk","md5":"1516238723793785296","fileSize":4205993,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2265711390.blk","md5":"18232109171326321438","fileSize":4205004,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1849133918.blk","md5":"9880261207585688414","fileSize":4233009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2666388411.blk","md5":"10638554005387467707","fileSize":4330967,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1248903669.blk","md5":"3361074156777030133","fileSize":4436182,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2467078645.blk","md5":"6805070130415706613","fileSize":4405715,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1955433480.blk","md5":"7879312506572606472","fileSize":4331257,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3577641819.blk","md5":"12847027946543545179","fileSize":4215372,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1809184954.blk","md5":"5737955844022466746","fileSize":4237404,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3312365122.blk","md5":"12412445520133271106","fileSize":4326703,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/841392551.blk","md5":"5357919282525544871","fileSize":4208640,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3326157547.blk","md5":"8360003267731727083","fileSize":4233478,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/211606949.blk","md5":"11350462239747136933","fileSize":4301753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2006044304.blk","md5":"5875095653219159696","fileSize":4217865,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2798214954.blk","md5":"16452640642725142314","fileSize":4261192,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2368771828.blk","md5":"7625436955759646452","fileSize":4294380,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1430098667.blk","md5":"503696354107560683","fileSize":4422195,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1990827969.blk","md5":"6481483089085833153","fileSize":4216854,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1922628842.blk","md5":"17469169863629536490","fileSize":4201401,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1100421090.blk","md5":"5113761765080373218","fileSize":4356145,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3715025049.blk","md5":"7357185927001589913","fileSize":4270553,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3697980918.blk","md5":"14756629316236916214","fileSize":4257460,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2703737057.blk","md5":"14077790990872592609","fileSize":4210716,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2281226331.blk","md5":"18010865974176694363","fileSize":4238776,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3193979293.blk","md5":"3338311613737353629","fileSize":4398417,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3040480628.blk","md5":"10057034310264425844","fileSize":4229455,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3114125634.blk","md5":"12169872183738091842","fileSize":4222251,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2364378744.blk","md5":"14760559785504771704","fileSize":4369688,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3659272482.blk","md5":"4015152276268912930","fileSize":4231645,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1102827140.blk","md5":"7642105881483267716","fileSize":4307586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2431610901.blk","md5":"4017258776111312917","fileSize":4319406,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3539075904.blk","md5":"5114736287008555840","fileSize":4246812,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3438093425.blk","md5":"1206729755977393265","fileSize":4406206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3683151999.blk","md5":"9869737878119542911","fileSize":4196227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3364489166.blk","md5":"7619755277663471566","fileSize":4208572,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1923792762.blk","md5":"11568182199642144634","fileSize":4317416,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3651256071.blk","md5":"14968359332593385223","fileSize":4256071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1540851645.blk","md5":"2325761634554316733","fileSize":4295960,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2274801188.blk","md5":"12972094622646318628","fileSize":4214004,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3706270364.blk","md5":"5554130214858601116","fileSize":4889468,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3933405670.blk","md5":"9050897827901932006","fileSize":4208469,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3642689801.blk","md5":"13103596184631445769","fileSize":4213731,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2133519640.blk","md5":"3584964978826472728","fileSize":4253442,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2189065137.blk","md5":"18093460943965682609","fileSize":4744207,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3755860320.blk","md5":"2598133988641857888","fileSize":4458815,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/595473341.blk","md5":"5944197913209877437","fileSize":4235801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3445600741.blk","md5":"10573023319309660645","fileSize":4238139,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/969754399.blk","md5":"10675791606370354975","fileSize":4790670,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2846377609.blk","md5":"16535199852756747913","fileSize":4551248,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4059174780.blk","md5":"10202785091624769404","fileSize":4840837,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3822037795.blk","md5":"9893905693592759075","fileSize":4450686,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3543808957.blk","md5":"4154232989464279997","fileSize":4284592,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1310538729.blk","md5":"541908141149600745","fileSize":4195333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/707552911.blk","md5":"15839333634481612431","fileSize":4198961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2276469496.blk","md5":"4288180902056438520","fileSize":4197404,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3860813630.blk","md5":"14394226637457545022","fileSize":4206408,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1568171052.blk","md5":"13138631021064381484","fileSize":4271243,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/510927563.blk","md5":"5914287971329385163","fileSize":4406365,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3576289945.blk","md5":"5811242418949446297","fileSize":4311233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2312318559.blk","md5":"4059359428406881887","fileSize":4200999,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4071545143.blk","md5":"12563875214367054135","fileSize":4196959,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/566890283.blk","md5":"7169466857694039851","fileSize":4504732,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1971117909.blk","md5":"13142363253558271829","fileSize":4345531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4195349868.blk","md5":"4893993780607186284","fileSize":4504892,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/871588713.blk","md5":"6176121629164397417","fileSize":4322819,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/728521812.blk","md5":"16920828780709960788","fileSize":4502020,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2759217424.blk","md5":"6332967106488193296","fileSize":4205877,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1605646119.blk","md5":"4912197541635045159","fileSize":4219696,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/569249934.blk","md5":"4572337603099889806","fileSize":4212642,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3281245095.blk","md5":"8244775299499414439","fileSize":4457168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3962050972.blk","md5":"2801620159123954076","fileSize":4314062,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3448671095.blk","md5":"4179547337633205111","fileSize":4218384,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1303124566.blk","md5":"17525936836603288150","fileSize":4196211,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2842357432.blk","md5":"18088220337193545400","fileSize":4226039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/834752006.blk","md5":"2338507043788377606","fileSize":4412188,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3992200691.blk","md5":"8471027142207219187","fileSize":4282229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2986797869.blk","md5":"16330647139162450733","fileSize":4280238,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1001146977.blk","md5":"10918052406418492001","fileSize":4618035,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1959691943.blk","md5":"873531800902600359","fileSize":4255667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2598253256.blk","md5":"2371122846809076424","fileSize":4333512,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4172031052.blk","md5":"12211571249178747980","fileSize":4272866,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/272646828.blk","md5":"2481523067566703276","fileSize":4218821,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/308277276.blk","md5":"16166205092261785628","fileSize":4270843,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/687971820.blk","md5":"2580147461402238444","fileSize":4209357,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3573184300.blk","md5":"5306906661602621228","fileSize":4320702,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1457127519.blk","md5":"3903885953648427103","fileSize":4459838,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4058722648.blk","md5":"13481676645671317848","fileSize":4430407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1546079882.blk","md5":"1861768212969377418","fileSize":4314753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3281509461.blk","md5":"4358303567087918165","fileSize":4253809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1356148584.blk","md5":"6317765132765441896","fileSize":4312107,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2469064675.blk","md5":"608703100033363939","fileSize":4371326,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/340122018.blk","md5":"18025251527106877858","fileSize":4371898,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/416047569.blk","md5":"5293759123602301393","fileSize":4281394,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2873979398.blk","md5":"12760697170454999558","fileSize":4278916,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2884618094.blk","md5":"9398683550971053934","fileSize":4217415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1483725526.blk","md5":"13387421356697574102","fileSize":4243927,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4142800774.blk","md5":"10756804541105971078","fileSize":4225097,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2873772183.blk","md5":"9282455886184990871","fileSize":4407595,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1419336054.blk","md5":"13346600621652400502","fileSize":4319017,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3324648571.blk","md5":"10877448818717760635","fileSize":4199876,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4110539597.blk","md5":"6193097391856540493","fileSize":4224621,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/610562157.blk","md5":"985578846241976429","fileSize":4490294,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3682935341.blk","md5":"18061018390298173997","fileSize":4454384,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/378858262.blk","md5":"14090276905153784598","fileSize":4215783,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/557134250.blk","md5":"9097079632174592426","fileSize":4243043,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1575791404.blk","md5":"4592859602091813676","fileSize":4196678,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4270811515.blk","md5":"1561202586094102907","fileSize":4303784,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1020599067.blk","md5":"14785171295386802971","fileSize":4297370,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1253686969.blk","md5":"9956743137034092217","fileSize":4248983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/361933425.blk","md5":"14751960765054495345","fileSize":4460243,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2016445208.blk","md5":"6335166343749337880","fileSize":4252692,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1418317669.blk","md5":"15850700236076470117","fileSize":4224452,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1521725115.blk","md5":"14538866724032458427","fileSize":4259907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/251154038.blk","md5":"588799953077816950","fileSize":4346646,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4113127030.blk","md5":"12692186438958667382","fileSize":4386977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3918893429.blk","md5":"504981445171057013","fileSize":4330648,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2202231195.blk","md5":"8461251090476917147","fileSize":4215161,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2144444192.blk","md5":"1538829064235753248","fileSize":4210348,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/271285297.blk","md5":"2591756040327101489","fileSize":4369407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3269269646.blk","md5":"5058886056734955662","fileSize":4269464,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2322478040.blk","md5":"16505952525106426840","fileSize":4209797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4058945378.blk","md5":"7961227894471956322","fileSize":4207668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2332379342.blk","md5":"16213065438048110798","fileSize":4219818,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3029428807.blk","md5":"13621603711323302471","fileSize":4208506,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3760934820.blk","md5":"1602742676047482788","fileSize":4278512,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2352614652.blk","md5":"12992329192908131580","fileSize":4227099,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1278653757.blk","md5":"10617680527365682493","fileSize":4249037,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1366033050.blk","md5":"1283595370557604506","fileSize":4231240,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4101551753.blk","md5":"383882952657385097","fileSize":4206094,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/851143962.blk","md5":"7761577947122330906","fileSize":4315149,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4181154955.blk","md5":"18299530560537058443","fileSize":4287530,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2870923122.blk","md5":"5987190134391361394","fileSize":4310348,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3692038241.blk","md5":"7123787414020032609","fileSize":4283421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1666551534.blk","md5":"1364877167373422318","fileSize":4297006,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2548067336.blk","md5":"11103785949398592520","fileSize":4304445,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/585794273.blk","md5":"17805205328982868705","fileSize":4303040,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2554020994.blk","md5":"15962793626597803138","fileSize":4240719,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1061804981.blk","md5":"787014257966963637","fileSize":4317134,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3841266873.blk","md5":"11840411509546357945","fileSize":4203803,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3099737853.blk","md5":"4042115517752950525","fileSize":4304141,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1857870281.blk","md5":"522615170078136777","fileSize":4229892,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/320259082.blk","md5":"14706819559220233226","fileSize":4243588,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3022763643.blk","md5":"679363344195106427","fileSize":4334676,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1519382187.blk","md5":"15105125623335481003","fileSize":4196213,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/776751176.blk","md5":"11267150092497078344","fileSize":4303898,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4230136543.blk","md5":"6917757279318229727","fileSize":4198620,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/854712121.blk","md5":"15092888049663729465","fileSize":4337497,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/524274710.blk","md5":"16768605566053370902","fileSize":4207724,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1989709933.blk","md5":"6852652719696023661","fileSize":4281034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2739631581.blk","md5":"17510659978670339549","fileSize":4290079,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/557585857.blk","md5":"17299610218480276929","fileSize":4319734,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2494222464.blk","md5":"280966283278340224","fileSize":4275276,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/690255092.blk","md5":"7664834878065898740","fileSize":4408779,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3325557868.blk","md5":"198976926092098668","fileSize":4328344,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/396144429.blk","md5":"5727054897784598317","fileSize":4212267,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2916943945.blk","md5":"13928643132131182665","fileSize":4253137,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/497041712.blk","md5":"12218852950237266224","fileSize":4294406,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/173548458.blk","md5":"1176102220665988010","fileSize":4352556,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/427665969.blk","md5":"3661868995075484209","fileSize":4200804,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/497091229.blk","md5":"6874905257296593565","fileSize":4250135,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/612002305.blk","md5":"502202791297182209","fileSize":4265189,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1279339077.blk","md5":"15597423819764083269","fileSize":4470317,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3232660198.blk","md5":"18168079748304894694","fileSize":4385667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/30687528.blk","md5":"6636333318324633896","fileSize":4421863,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2475737617.blk","md5":"2937896072620589585","fileSize":4199663,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/859004377.blk","md5":"4279328075393752537","fileSize":4200602,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3151557546.blk","md5":"4242246605657928618","fileSize":4268803,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1168938765.blk","md5":"9714330269320517389","fileSize":4573552,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1614160779.blk","md5":"17244279719230579595","fileSize":4408477,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/786498950.blk","md5":"10441377127304594822","fileSize":4442423,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2427087697.blk","md5":"15092331487899052881","fileSize":4231774,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2717806757.blk","md5":"15610199197129535653","fileSize":4202605,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2313454062.blk","md5":"8660502590613914094","fileSize":4250514,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1592670475.blk","md5":"3427449483656313099","fileSize":4198853,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3589803102.blk","md5":"3527849362719247454","fileSize":4222340,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3957288980.blk","md5":"5527501950450364436","fileSize":4232730,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2551585429.blk","md5":"6052332843648293525","fileSize":4223213,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3335403591.blk","md5":"9236504959259654215","fileSize":4304623,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1677333909.blk","md5":"9398721878051919253","fileSize":4461238,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4075984470.blk","md5":"16095786336957666902","fileSize":4216432,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/30807062.blk","md5":"12329325259585360918","fileSize":4275071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3980269187.blk","md5":"6780365647546029699","fileSize":4227102,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4039392661.blk","md5":"4130136496852450709","fileSize":4265426,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/545900794.blk","md5":"11964840286523869434","fileSize":4199864,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2163104601.blk","md5":"14642544095578184537","fileSize":4220054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/13229716.blk","md5":"9661923111578754708","fileSize":4197857,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1443658389.blk","md5":"4609021503764986517","fileSize":4196068,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2420793100.blk","md5":"6616600544444833548","fileSize":4212607,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3122829905.blk","md5":"8559574321710930513","fileSize":4217002,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3448942269.blk","md5":"17427875859138784957","fileSize":4249047,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/254129891.blk","md5":"9715900143376905955","fileSize":4204823,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3415110123.blk","md5":"11984866506418581995","fileSize":4199195,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2923415945.blk","md5":"3689276386477853065","fileSize":4251424,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2211348491.blk","md5":"3668886513859330059","fileSize":4244226,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3942467794.blk","md5":"11621642896544712914","fileSize":4202033,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3224859069.blk","md5":"2312744921804009917","fileSize":4235482,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3945170460.blk","md5":"7383216590141425180","fileSize":4288206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1105541665.blk","md5":"8771872414241208865","fileSize":4439190,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/604547629.blk","md5":"6134063110111668781","fileSize":4210901,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1630868321.blk","md5":"4337581860062565217","fileSize":4318132,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4034507357.blk","md5":"4877716271006331485","fileSize":4224854,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3741354844.blk","md5":"11655135038432906076","fileSize":4199978,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3853760921.blk","md5":"15704375878172785049","fileSize":4351660,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2578855962.blk","md5":"6323603162774517786","fileSize":4212150,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/594339404.blk","md5":"5569740974758618700","fileSize":4333292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2578104786.blk","md5":"4015270227874595282","fileSize":4255879,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2519416952.blk","md5":"11880447471075934328","fileSize":4200040,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3838071532.blk","md5":"16500678229473121004","fileSize":4294225,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/177373814.blk","md5":"9439288572807119478","fileSize":4227890,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1491139081.blk","md5":"7287430270001674761","fileSize":4303912,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3411666009.blk","md5":"15671087819602388057","fileSize":4224878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2302444860.blk","md5":"17971665038888174908","fileSize":4363227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4023118586.blk","md5":"15686195243123469050","fileSize":4201801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1792141534.blk","md5":"17160843481398241502","fileSize":4305848,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1301257393.blk","md5":"1450184017894677681","fileSize":4345571,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3034950030.blk","md5":"5172623065445935502","fileSize":4207878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1333607090.blk","md5":"8906002026920229554","fileSize":4317849,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4124781422.blk","md5":"14848878651471768430","fileSize":4236182,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2296824785.blk","md5":"16231446772758004689","fileSize":4486879,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3641660136.blk","md5":"9046146859341402856","fileSize":4219076,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3476518016.blk","md5":"18439469489213371520","fileSize":4240677,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1612398955.blk","md5":"14468539946070917483","fileSize":4211201,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1055926415.blk","md5":"78058806867667087","fileSize":4256327,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1663332249.blk","md5":"17788495154204929945","fileSize":4220224,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2901253278.blk","md5":"14473801037484235934","fileSize":4318981,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4079433354.blk","md5":"7695738618553775754","fileSize":4211898,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2892336195.blk","md5":"8583475646978952259","fileSize":4228985,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1860552362.blk","md5":"8500384053292549802","fileSize":4367574,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1154268430.blk","md5":"6728785939353353486","fileSize":4361235,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/582517704.blk","md5":"12566612329111258056","fileSize":4214943,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3894300945.blk","md5":"11484480401479454993","fileSize":4200489,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2449545846.blk","md5":"12449047050178337398","fileSize":4338517,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2007154313.blk","md5":"14870609405755440777","fileSize":4194890,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2341036283.blk","md5":"8443098003317285115","fileSize":4244718,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2547004967.blk","md5":"881288117289498151","fileSize":4430812,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3378339541.blk","md5":"14052699513431088853","fileSize":4210696,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/406744399.blk","md5":"4987577145648639311","fileSize":4256138,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2033032161.blk","md5":"14068814770546252769","fileSize":4311800,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2379902950.blk","md5":"3238291668664479718","fileSize":4281889,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2894242823.blk","md5":"7507809179416044551","fileSize":4240075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1282338955.blk","md5":"15678079599029186699","fileSize":4233301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1773276836.blk","md5":"13207017161298677412","fileSize":4224439,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3123153142.blk","md5":"17465162930925832438","fileSize":4238361,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/650236525.blk","md5":"10002423446518223469","fileSize":4368501,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2389238780.blk","md5":"3028140636867453948","fileSize":4198015,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/460376661.blk","md5":"7157207865578539605","fileSize":4254017,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2104011734.blk","md5":"16791372845671820246","fileSize":4208858,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3312612019.blk","md5":"3374411196230955699","fileSize":4271727,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1063536970.blk","md5":"14821296853766916426","fileSize":4249977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/998018002.blk","md5":"13094978815438654418","fileSize":4201683,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2116610162.blk","md5":"3392189576501586034","fileSize":4200792,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1686783161.blk","md5":"4705691064538383545","fileSize":4209915,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3448017951.blk","md5":"14125915206815355935","fileSize":4196664,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2470064938.blk","md5":"13102605506302325546","fileSize":4197083,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2710550308.blk","md5":"12720104614038320932","fileSize":4546126,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1917053035.blk","md5":"11148098354721056875","fileSize":4207018,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2352747903.blk","md5":"2462571182855820671","fileSize":4194987,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3376660560.blk","md5":"861388555384242256","fileSize":8056539,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1368177104.blk","md5":"17734881283312237008","fileSize":14781971,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1256237970.blk","md5":"5732245607140076434","fileSize":4902867,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3044579169.blk","md5":"16468577922282198881","fileSize":4881153,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3436863253.blk","md5":"10747018401581522709","fileSize":4206828,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/288146966.blk","md5":"49125574226789910","fileSize":4310224,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1852174365.blk","md5":"1511393100619444253","fileSize":4730610,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2000148845.blk","md5":"15881045761152506221","fileSize":4688316,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/558943608.blk","md5":"14160245925495229816","fileSize":4348522,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1238606801.blk","md5":"3249817654643631057","fileSize":4198778,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2514977956.blk","md5":"1735097645420479652","fileSize":4201710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/16424693.blk","md5":"14161135348255203061","fileSize":9050207,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3062739923.blk","md5":"9684314763417203667","fileSize":4541609,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1377112130.blk","md5":"9797961052377649218","fileSize":4529112,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/537907035.blk","md5":"3156018673459646299","fileSize":4670627,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2439245613.blk","md5":"9630403027624259373","fileSize":4750710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1596256274.blk","md5":"15596095167653015570","fileSize":4776997,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3097085489.blk","md5":"13685738576826451505","fileSize":4223030,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4218183873.blk","md5":"12485789436307333313","fileSize":6417665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1320984780.blk","md5":"17136827445442027724","fileSize":4382062,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/83173435.blk","md5":"1599747469551673403","fileSize":10119646,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2500797979.blk","md5":"10389711867903682075","fileSize":15543117,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/14790163.blk","md5":"8349423359810973203","fileSize":14698193,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/259473131.blk","md5":"4785715005439295211","fileSize":4298922,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3951413386.blk","md5":"15527304366750288010","fileSize":8077353,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3527753611.blk","md5":"4896942760319598475","fileSize":7800363,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1876486874.blk","md5":"3782188416512879322","fileSize":4311082,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3481178310.blk","md5":"8335705327928250566","fileSize":4242785,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2161710086.blk","md5":"8975803926437237766","fileSize":7085564,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/601100769.blk","md5":"16750496115699487201","fileSize":18144896,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2523983756.blk","md5":"4717759657189371788","fileSize":15725862,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2945424819.blk","md5":"17251892666058120627","fileSize":6140043,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1294945341.blk","md5":"5297171849660025917","fileSize":4840028,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/165001432.blk","md5":"8305432170316806360","fileSize":8115033,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2846067516.blk","md5":"2478485961326168892","fileSize":4267251,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4093081115.blk","md5":"17175044346386806299","fileSize":4222732,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4131679071.blk","md5":"9273884489929747295","fileSize":7552477,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2438960550.blk","md5":"15357577445362341286","fileSize":7942119,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3605778572.blk","md5":"16081385203769790604","fileSize":5610146,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1343845786.blk","md5":"10704374017098872218","fileSize":10014706,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1347242575.blk","md5":"18079724306271390287","fileSize":12087679,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1949000729.blk","md5":"707044982869681177","fileSize":4740791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1629552910.blk","md5":"15949217341424861454","fileSize":4847641,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1374755905.blk","md5":"4222788391985552449","fileSize":5694814,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2034467139.blk","md5":"14120842428118434115","fileSize":4492831,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/933215024.blk","md5":"17716759596084738864","fileSize":4367610,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3683498547.blk","md5":"16821642002932021811","fileSize":4461890,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/525677222.blk","md5":"16296609628254712486","fileSize":4363387,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1721993222.blk","md5":"10928053195538401286","fileSize":4614479,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2532808170.blk","md5":"9224753073236710890","fileSize":5814875,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4117149866.blk","md5":"2907882520675006634","fileSize":4201196,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1898619466.blk","md5":"4089987419601543754","fileSize":5618490,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4169676362.blk","md5":"3953437827278583370","fileSize":20615130,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1658698132.blk","md5":"2730328218012596628","fileSize":4419297,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3020314987.blk","md5":"2282550717393033579","fileSize":9616670,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3117589344.blk","md5":"14046926282555564896","fileSize":12837786,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2996516133.blk","md5":"11534379837432739109","fileSize":16750634,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/775343396.blk","md5":"2111423318106492196","fileSize":4750861,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2175577517.blk","md5":"15814959408782028205","fileSize":11381443,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2832200032.blk","md5":"12277695512061145440","fileSize":15147798,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2233434493.blk","md5":"8417686940872049021","fileSize":4377825,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1113777365.blk","md5":"20007822794351829","fileSize":4360005,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1028908196.blk","md5":"658415360769516708","fileSize":8364214,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2280595193.blk","md5":"17353001684509335289","fileSize":7358096,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3478608530.blk","md5":"16400548355166919314","fileSize":4228833,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1643304859.blk","md5":"6272306361673111451","fileSize":4260436,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1613244522.blk","md5":"6625571364519028842","fileSize":9550026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2194376628.blk","md5":"11841853998435633076","fileSize":13992573,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3695409832.blk","md5":"16092786941870963368","fileSize":17813512,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/468049022.blk","md5":"12337806866949463166","fileSize":4254585,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1806724920.blk","md5":"7305462364092002104","fileSize":5020313,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4274570718.blk","md5":"4253812296579073502","fileSize":4359554,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3285250923.blk","md5":"1374801395304166251","fileSize":8162824,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2971707011.blk","md5":"2165893959566534275","fileSize":4952660,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1838650413.blk","md5":"13009042052604204077","fileSize":4353053,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2438233165.blk","md5":"10457868072501148749","fileSize":6083165,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3820796292.blk","md5":"10623280145059592580","fileSize":7061822,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2080260445.blk","md5":"12220259914387177821","fileSize":6830955,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4082980462.blk","md5":"13245885638384637550","fileSize":6625212,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2320233399.blk","md5":"9860302052650644407","fileSize":6608631,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1527763558.blk","md5":"4965717884946862694","fileSize":6105434,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2113492036.blk","md5":"6579379958118437956","fileSize":4411420,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1477363628.blk","md5":"9361904335858878380","fileSize":18597123,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/884380747.blk","md5":"8628494092008330315","fileSize":13596878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1960075951.blk","md5":"13317621339680694959","fileSize":14509725,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2689009289.blk","md5":"6673018711127295625","fileSize":17853443,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/137570003.blk","md5":"7989925625071871699","fileSize":5546034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/392609613.blk","md5":"17379275964666003277","fileSize":5295998,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3474070391.blk","md5":"14998620198810033015","fileSize":5417344,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1382876125.blk","md5":"11447903044431053789","fileSize":4267476,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3722630593.blk","md5":"10702485835890218433","fileSize":6456497,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2620867983.blk","md5":"10836786962463409551","fileSize":9818472,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1836630204.blk","md5":"9454189044376846524","fileSize":7959674,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2743172925.blk","md5":"5166305730902458173","fileSize":14848744,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4167564678.blk","md5":"18304076980974779782","fileSize":15686133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1739685270.blk","md5":"10330566246171508118","fileSize":18350793,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4121461673.blk","md5":"8603130651210187689","fileSize":4372790,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/212359652.blk","md5":"2984550663711119844","fileSize":5389221,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/950841966.blk","md5":"17989693347445125742","fileSize":7814667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3987504602.blk","md5":"5575478204055715290","fileSize":10379598,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/515404672.blk","md5":"8928934965324313472","fileSize":16272297,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/744397645.blk","md5":"14659506208501570381","fileSize":17786572,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2511059570.blk","md5":"9560914262187817586","fileSize":5566392,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1575650193.blk","md5":"3481885140394345361","fileSize":4389186,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2224291109.blk","md5":"11849578089125510437","fileSize":4198187,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/466469587.blk","md5":"3656858353122788051","fileSize":5489846,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2403926293.blk","md5":"13480273740193923349","fileSize":8223870,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/650976397.blk","md5":"13869853939640114317","fileSize":5217904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1986694619.blk","md5":"4246109334870330843","fileSize":6414053,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2104724039.blk","md5":"17342884248917609031","fileSize":8759681,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2018436361.blk","md5":"18403548773588329737","fileSize":5141076,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2362738921.blk","md5":"4856481822174120169","fileSize":7949449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3722638414.blk","md5":"16612089311648740430","fileSize":6043964,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/696534126.blk","md5":"10510089001858516078","fileSize":4670907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2296406272.blk","md5":"7032761168538132736","fileSize":4522305,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1578207945.blk","md5":"12789447937936689865","fileSize":7583883,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1784864929.blk","md5":"9876832977510654113","fileSize":4273815,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/69630226.blk","md5":"4494246361195510034","fileSize":4370809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3460286647.blk","md5":"1573498879083530423","fileSize":7164408,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1322609569.blk","md5":"15741841188897254305","fileSize":5892376,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2522048638.blk","md5":"6598019695684839550","fileSize":7370982,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/255563559.blk","md5":"10799554958055937831","fileSize":4718630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3967442842.blk","md5":"17781615666872868762","fileSize":5998859,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1609996555.blk","md5":"2550336854531938571","fileSize":8205791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2797005087.blk","md5":"2397897359598479647","fileSize":4928120,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/909137279.blk","md5":"3927952308422333823","fileSize":4900922,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2482311737.blk","md5":"9235915362476036665","fileSize":6382913,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2406175725.blk","md5":"10053234874185896941","fileSize":4221229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1654904320.blk","md5":"9910749664102307328","fileSize":6413657,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/309183398.blk","md5":"448207381272052646","fileSize":4226260,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1193795579.blk","md5":"18150352616644141051","fileSize":6261254,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2782580476.blk","md5":"15436010356054085372","fileSize":4670588,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3951930372.blk","md5":"5407566328734002180","fileSize":4432621,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1574758578.blk","md5":"7443381898402654386","fileSize":6922378,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2306856568.blk","md5":"17504098221692016248","fileSize":4369301,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/354852423.blk","md5":"9891863381636718151","fileSize":4589150,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1863908037.blk","md5":"14737517869576813253","fileSize":5255732,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3301363474.blk","md5":"9058204331144564498","fileSize":4471950,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1662787784.blk","md5":"12794174927487639752","fileSize":4615723,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3168805695.blk","md5":"10194538663331767103","fileSize":4198425,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1462778437.blk","md5":"4297606572046039621","fileSize":5025391,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1116672811.blk","md5":"6978828051841749803","fileSize":7000926,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1178844913.blk","md5":"121000637340303089","fileSize":4640220,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1589029973.blk","md5":"6389611835552083029","fileSize":4949572,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3820563473.blk","md5":"15042817925188234257","fileSize":4223233,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/950318027.blk","md5":"17540723051440944075","fileSize":7693008,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2654607899.blk","md5":"18402161998004099611","fileSize":4614652,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3160331279.blk","md5":"15571731958640595983","fileSize":6649986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/253015961.blk","md5":"9281851427046864793","fileSize":7571494,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/356441265.blk","md5":"3943513090347162801","fileSize":5123147,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/442267879.blk","md5":"8960721236524824807","fileSize":5140408,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1063757730.blk","md5":"15001021529794783138","fileSize":4607525,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1757598904.blk","md5":"17319030330920981688","fileSize":5040073,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3314002297.blk","md5":"11364087438185572729","fileSize":4394798,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2979872456.blk","md5":"3920922939383168712","fileSize":5230671,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/586190543.blk","md5":"14136197673487732431","fileSize":5799624,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2161351092.blk","md5":"10203288966700177844","fileSize":4578838,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/527563512.blk","md5":"7484789651286391544","fileSize":5712183,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3773383502.blk","md5":"7317824463052555086","fileSize":4870944,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3225384150.blk","md5":"550726385232999638","fileSize":8353863,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3765406324.blk","md5":"6502158595271920244","fileSize":5260338,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3014226545.blk","md5":"13277417938583384689","fileSize":5943441,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/565692121.blk","md5":"10375377069020792537","fileSize":4232096,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1536008293.blk","md5":"1903821685158420581","fileSize":4704547,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3415672279.blk","md5":"11593198130775393751","fileSize":7567232,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3980798554.blk","md5":"11215841016223771226","fileSize":4243050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/836104098.blk","md5":"15988899617220980642","fileSize":4211406,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/752797640.blk","md5":"18337976153699960776","fileSize":4646099,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2301117392.blk","md5":"16465575614844781520","fileSize":4198989,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2956270476.blk","md5":"217840705554684812","fileSize":4394904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3809599329.blk","md5":"9175862400926211937","fileSize":4234231,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1516376136.blk","md5":"7058111112711114824","fileSize":4801292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3165841148.blk","md5":"7582064353872111356","fileSize":6170767,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2419206996.blk","md5":"9145741974277598036","fileSize":4282072,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1689944817.blk","md5":"11528149887279071985","fileSize":7760303,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2096697437.blk","md5":"13442636249982111837","fileSize":5189593,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3053707924.blk","md5":"7914689298589541012","fileSize":4309224,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3911074000.blk","md5":"10828572997713805520","fileSize":7026117,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/684700644.blk","md5":"14745947613594366948","fileSize":9217785,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1034278259.blk","md5":"5330536980715787635","fileSize":7096221,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/800155116.blk","md5":"6095195318430819820","fileSize":5044344,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1078438754.blk","md5":"6827160288291695458","fileSize":4271015,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/590556023.blk","md5":"4080912143807097719","fileSize":5817667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2909277590.blk","md5":"17226512909700959638","fileSize":8550234,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1339550565.blk","md5":"2273372671248427877","fileSize":5043754,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4264440010.blk","md5":"8953861644999340234","fileSize":8030493,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1134827893.blk","md5":"1660501827409680757","fileSize":7723421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3806408311.blk","md5":"9794253566022594167","fileSize":6741850,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3598013358.blk","md5":"3530304456228164526","fileSize":4964135,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3027015778.blk","md5":"1783721314287917154","fileSize":4942838,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/160587551.blk","md5":"10732115690716815135","fileSize":4392512,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3623717306.blk","md5":"2858680087803169210","fileSize":4287873,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1308964979.blk","md5":"15728871590240532595","fileSize":8476268,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/971028755.blk","md5":"3955461762993666323","fileSize":5219113,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/909079274.blk","md5":"11456335877235503850","fileSize":5509403,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3352983849.blk","md5":"1270218404843387177","fileSize":5038570,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3841270539.blk","md5":"3809747419729830667","fileSize":6639338,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3617170515.blk","md5":"5687033957654832211","fileSize":7196734,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1753169740.blk","md5":"2984379351891394380","fileSize":5086524,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4198524498.blk","md5":"7381145655948895826","fileSize":5211997,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1155298686.blk","md5":"3560149983956858238","fileSize":6168707,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2830085041.blk","md5":"16005941147502357425","fileSize":4600455,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4184336599.blk","md5":"12251056597235132631","fileSize":7589948,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2570513864.blk","md5":"8466322227451063752","fileSize":5374265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/295990313.blk","md5":"8681609960559506473","fileSize":5371351,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2627612781.blk","md5":"5993125040216748141","fileSize":5735583,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2588572965.blk","md5":"17754175158094560549","fileSize":4250298,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1053435601.blk","md5":"16584544820421863121","fileSize":4235996,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2386435746.blk","md5":"4357105729878761122","fileSize":7446599,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/372344678.blk","md5":"16858805174812116838","fileSize":4210651,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3472419906.blk","md5":"11735297424468012098","fileSize":4643185,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1491081179.blk","md5":"1165072574168700891","fileSize":5573043,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3523963780.blk","md5":"11054361042985118596","fileSize":5201267,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2203678754.blk","md5":"6814255540485060642","fileSize":4920554,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/402863480.blk","md5":"17737924142122087800","fileSize":4594082,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3255628015.blk","md5":"11182738156360102127","fileSize":4852678,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2243593513.blk","md5":"4974306149512414505","fileSize":4704633,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1629280777.blk","md5":"15185391282238052873","fileSize":4837305,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4132416020.blk","md5":"13883657160557046292","fileSize":8905597,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3530747097.blk","md5":"15394725859842780377","fileSize":4788034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1603950539.blk","md5":"4878429864507103179","fileSize":5096758,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1995510720.blk","md5":"1070281808931787712","fileSize":5188158,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3584768791.blk","md5":"8446582648967215895","fileSize":4745758,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3040064631.blk","md5":"8213809774760014967","fileSize":4336766,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2018275951.blk","md5":"1607776547774427759","fileSize":10173977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4197158633.blk","md5":"6143257345899859689","fileSize":11756459,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4006284752.blk","md5":"7496187119284194768","fileSize":6837416,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2161366828.blk","md5":"6953680542626993964","fileSize":4474399,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2851609458.blk","md5":"1280070479498451826","fileSize":4956431,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2015975732.blk","md5":"14277453750509066548","fileSize":6092615,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4019470513.blk","md5":"15494999340804751537","fileSize":4569765,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/969709905.blk","md5":"11647969522678012241","fileSize":8966010,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3738517065.blk","md5":"4909353545273523785","fileSize":4394505,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3076716445.blk","md5":"15474744553266935709","fileSize":5294138,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3829477221.blk","md5":"11306765396419358565","fileSize":5443918,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2200363084.blk","md5":"9471840630182699084","fileSize":4620126,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4084798893.blk","md5":"7986710845998044589","fileSize":6438292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2153215038.blk","md5":"2910384251261645886","fileSize":18262296,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2220372664.blk","md5":"11459647053518877368","fileSize":4338857,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2914232376.blk","md5":"5648686697931843640","fileSize":20686195,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/688896899.blk","md5":"319129831856913283","fileSize":8061949,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2573698349.blk","md5":"3260108470634382637","fileSize":7768204,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2916733876.blk","md5":"6443847644511589300","fileSize":6943174,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2371501061.blk","md5":"8667787714199436293","fileSize":7507109,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1653516500.blk","md5":"5296348766780958932","fileSize":5113034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1185680865.blk","md5":"7006300672780668385","fileSize":16814730,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3600352284.blk","md5":"13390428574655775772","fileSize":4653854,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2801418826.blk","md5":"6241049016780079690","fileSize":4201007,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/331674253.blk","md5":"13753122255838442125","fileSize":4196295,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3895648225.blk","md5":"2686118236381175777","fileSize":4248382,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/129754011.blk","md5":"10468108118334890907","fileSize":4246613,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2453953073.blk","md5":"11107877244956334641","fileSize":6222002,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1984468595.blk","md5":"11337079840685201011","fileSize":5362582,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3191914542.blk","md5":"976857647145861166","fileSize":4584728,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1644892615.blk","md5":"5750611626420801991","fileSize":4774613,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2012247600.blk","md5":"16846964862150014512","fileSize":6680974,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/576001223.blk","md5":"9254083218260694215","fileSize":6224873,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3565092087.blk","md5":"4691910891480743159","fileSize":5033484,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3506700220.blk","md5":"9616483555081453500","fileSize":4207131,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/664207009.blk","md5":"2615395081155706529","fileSize":5470983,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3216193786.blk","md5":"15293521234440173818","fileSize":6440221,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4047091282.blk","md5":"15496222478798796370","fileSize":4488749,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1878593798.blk","md5":"921589753264541958","fileSize":5343401,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3159803540.blk","md5":"5485389138185602708","fileSize":5053633,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1328054658.blk","md5":"51471542238347650","fileSize":12423965,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1382360785.blk","md5":"16240311361004185297","fileSize":14852424,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2277881269.blk","md5":"3902981421471741365","fileSize":4212453,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/856591860.blk","md5":"16967761438964616692","fileSize":4493220,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3099220226.blk","md5":"3560301422152669442","fileSize":8854168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3415662470.blk","md5":"3667526535144202118","fileSize":9034522,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/218586584.blk","md5":"14347342620488326616","fileSize":4529949,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1973726577.blk","md5":"13197624939901136241","fileSize":4277467,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2080809840.blk","md5":"12780935725575480176","fileSize":4399916,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3063606566.blk","md5":"17189307064163953958","fileSize":4210855,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1670243223.blk","md5":"6922761454824055703","fileSize":4679414,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2222791914.blk","md5":"1279728410494311658","fileSize":4260466,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2796182442.blk","md5":"6071935237840591786","fileSize":5195748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4163712943.blk","md5":"16045460392761964463","fileSize":4275781,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/308219224.blk","md5":"13526235995608911192","fileSize":8336029,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2393888551.blk","md5":"14493531176136857383","fileSize":4687494,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1282687990.blk","md5":"9582235659732796406","fileSize":5055614,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3400378967.blk","md5":"11656006950812756567","fileSize":4664054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1966881578.blk","md5":"2308741358191131434","fileSize":7254525,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/278238679.blk","md5":"8805480863217587671","fileSize":4331356,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/272082164.blk","md5":"2812786086856074484","fileSize":4653863,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2083015113.blk","md5":"11320955850654763465","fileSize":5027071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1920264011.blk","md5":"12442883419391977291","fileSize":6123514,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2040254580.blk","md5":"7719784368878375028","fileSize":4770116,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3827356719.blk","md5":"12043868770383483951","fileSize":4544883,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1045788275.blk","md5":"12383454578813007475","fileSize":6600856,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4034628142.blk","md5":"2257133810619222574","fileSize":18187260,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2786725800.blk","md5":"11706702029741756328","fileSize":22360970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3852970401.blk","md5":"4768063780072958369","fileSize":4280302,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1732247842.blk","md5":"2708802881380679970","fileSize":7072894,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2429917580.blk","md5":"12339675673606330764","fileSize":5610821,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2694606876.blk","md5":"4984715363982536732","fileSize":5747534,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/483100070.blk","md5":"5815433706936698278","fileSize":5645626,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3553594660.blk","md5":"11224757552586657060","fileSize":5276831,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2186623626.blk","md5":"7864971568052779658","fileSize":4820955,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2609486394.blk","md5":"1458365102973098554","fileSize":4458561,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3599544.blk","md5":"12346379376394693816","fileSize":5841905,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1255183781.blk","md5":"8380868375698511269","fileSize":4663176,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2698873550.blk","md5":"4783911078664702670","fileSize":6669919,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2033669239.blk","md5":"13913389726694855799","fileSize":5668715,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3306831362.blk","md5":"8443057421137100290","fileSize":8409322,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/847225619.blk","md5":"4873832268763734803","fileSize":4628843,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3640887338.blk","md5":"8045176358453872682","fileSize":20541261,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1739174208.blk","md5":"17650223114592301376","fileSize":4619700,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1956762046.blk","md5":"13524433210504761790","fileSize":8016002,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4167034959.blk","md5":"4663231776244623439","fileSize":4262960,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2302991552.blk","md5":"12537244121850764480","fileSize":4814010,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1303142304.blk","md5":"1227024140035973024","fileSize":5155481,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2936490657.blk","md5":"3732950959736179361","fileSize":4971626,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2443205045.blk","md5":"7812856795916949941","fileSize":18370973,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3989483775.blk","md5":"13569451852848345343","fileSize":10972486,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2274400003.blk","md5":"1014477711450609411","fileSize":8670774,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4121690677.blk","md5":"9148572788924875317","fileSize":19322965,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/45485539.blk","md5":"3326269329744727523","fileSize":8451509,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2206412154.blk","md5":"4687164118036327802","fileSize":4839714,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2315532423.blk","md5":"15854257148499605639","fileSize":5664966,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2414314996.blk","md5":"16241055855962195444","fileSize":5252131,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2474189098.blk","md5":"821919325449953578","fileSize":4909328,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1196201982.blk","md5":"11120714376960317438","fileSize":4562538,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1511477886.blk","md5":"5286664053473104510","fileSize":5076691,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3938685338.blk","md5":"8442845709946032538","fileSize":4641163,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/394960350.blk","md5":"6367016256226893278","fileSize":5033460,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1485829492.blk","md5":"17010839373162214772","fileSize":4204906,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1237688736.blk","md5":"10081401174055297440","fileSize":6043588,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/544800640.blk","md5":"15810881924114218880","fileSize":7046832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4288842247.blk","md5":"5853523649681852935","fileSize":4491332,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2933759312.blk","md5":"4511080973707615568","fileSize":4792203,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4229518230.blk","md5":"8334393645664392086","fileSize":6632230,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/805004699.blk","md5":"10727915127446398363","fileSize":4666675,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3566915919.blk","md5":"8753128071321276751","fileSize":7320105,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4254254964.blk","md5":"1945742583025289076","fileSize":5602951,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/896401580.blk","md5":"1408264629874720940","fileSize":8795565,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/251121175.blk","md5":"263248282513821207","fileSize":5020168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2569432585.blk","md5":"9005700519882550793","fileSize":5049360,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2465780777.blk","md5":"4686777657138402345","fileSize":5203050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4259923987.blk","md5":"129247016284407827","fileSize":8524967,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1866050815.blk","md5":"15717330412377844991","fileSize":4198046,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2896416491.blk","md5":"15529228700022460139","fileSize":4224106,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/119458252.blk","md5":"1833128240036628940","fileSize":5720103,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3338422863.blk","md5":"15753526637284313679","fileSize":4607279,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1909804223.blk","md5":"17439166428972666047","fileSize":5191763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/822398896.blk","md5":"6185855846074077104","fileSize":20253560,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/643112733.blk","md5":"11850482087965826845","fileSize":20824292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2017515222.blk","md5":"4659854907598231254","fileSize":4672691,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3000595099.blk","md5":"4375402548871918235","fileSize":5048089,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2609977760.blk","md5":"13216332740041972128","fileSize":5150767,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1241209741.blk","md5":"10614313440471899021","fileSize":6500510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3972627521.blk","md5":"10680458525132028993","fileSize":4528470,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1197907814.blk","md5":"8793093035994292070","fileSize":5751174,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/576118048.blk","md5":"11615674851436977440","fileSize":4642706,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1105796572.blk","md5":"621580763538202076","fileSize":4263181,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2583898464.blk","md5":"16638988321317661024","fileSize":5333972,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4085192444.blk","md5":"6428436637302068988","fileSize":4692338,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/938704858.blk","md5":"10203726523860746202","fileSize":6019779,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3990065135.blk","md5":"16859351953536421871","fileSize":6573291,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1119523135.blk","md5":"5162337420015472959","fileSize":4654859,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1565332011.blk","md5":"9527664479862329899","fileSize":7488002,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1997359687.blk","md5":"9798812100767599175","fileSize":4227677,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/495507926.blk","md5":"11514640895383755222","fileSize":5939637,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1712173367.blk","md5":"1181103518347276599","fileSize":4942379,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2880985378.blk","md5":"5661250121484491042","fileSize":7652456,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3399155533.blk","md5":"5217107704247156557","fileSize":4530861,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1061014894.blk","md5":"773512465630481774","fileSize":6305092,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3700739598.blk","md5":"14574045660871708174","fileSize":4509697,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3346609521.blk","md5":"7328598091735053681","fileSize":5836311,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4092168738.blk","md5":"16908246316602722850","fileSize":8718439,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4028276176.blk","md5":"15335688034458443216","fileSize":5981107,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2525971035.blk","md5":"16143756958280663643","fileSize":4511697,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/51235438.blk","md5":"13900987401054833262","fileSize":6009454,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/576411909.blk","md5":"10922147661605460229","fileSize":4713833,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/541001129.blk","md5":"3285568502156428713","fileSize":7195160,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2195727588.blk","md5":"3825213865900123364","fileSize":4969054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/924149806.blk","md5":"7298642260086057006","fileSize":5523903,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2662901807.blk","md5":"6538023374977280047","fileSize":8926370,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2947997278.blk","md5":"9311450746618043998","fileSize":7127095,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/622136215.blk","md5":"17919338956719459223","fileSize":5094319,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4255351034.blk","md5":"12998659435439292666","fileSize":6165653,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3885300142.blk","md5":"8089181378137356718","fileSize":8643125,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3659893647.blk","md5":"14830887509745306511","fileSize":4463583,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/136859579.blk","md5":"7308436266497363899","fileSize":5107600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4023196708.blk","md5":"207111749467184164","fileSize":4610375,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1641891327.blk","md5":"16381131467609949695","fileSize":4625979,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2557827303.blk","md5":"9908412743234705639","fileSize":5169146,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/343384511.blk","md5":"6329467843892453823","fileSize":4704013,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3051324949.blk","md5":"9751641141729527317","fileSize":5192488,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2754149703.blk","md5":"11121495942307052871","fileSize":5797584,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2860234860.blk","md5":"640659250539640940","fileSize":7803417,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3271128036.blk","md5":"12409101312526480356","fileSize":5965657,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2354800463.blk","md5":"6132728918926124879","fileSize":4646126,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4071774975.blk","md5":"6406029586746989311","fileSize":8364665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3870323872.blk","md5":"759671532601504928","fileSize":8586977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2256942090.blk","md5":"7914397798362395658","fileSize":4488374,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1564799158.blk","md5":"1348590466601644214","fileSize":7599663,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3759278672.blk","md5":"1263725999541062224","fileSize":8734625,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1714307287.blk","md5":"11329274476088934615","fileSize":7591641,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1680860401.blk","md5":"10600046285403710705","fileSize":4853700,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4208355952.blk","md5":"15152737722207464048","fileSize":9280400,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/301128853.blk","md5":"15371560319141993621","fileSize":6685310,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2554396482.blk","md5":"7357649387171938114","fileSize":5137012,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/606928072.blk","md5":"1677252706142321864","fileSize":4814784,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2081645361.blk","md5":"7704608673210000177","fileSize":4197744,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2605282688.blk","md5":"17143285617250628992","fileSize":4568442,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1486349774.blk","md5":"2737987480263845326","fileSize":5091183,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2778300551.blk","md5":"13176135548581544071","fileSize":4474933,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4096769696.blk","md5":"16008011993020612256","fileSize":6549145,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/722730601.blk","md5":"18372492168717925993","fileSize":5011685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3338569170.blk","md5":"1824567097829524946","fileSize":5063330,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1272053486.blk","md5":"1866236542051286766","fileSize":7066360,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1239549047.blk","md5":"8914147574036956279","fileSize":4728966,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2604176805.blk","md5":"17715138436580021669","fileSize":6358169,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3511437201.blk","md5":"10042441424907814801","fileSize":5307772,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2647262948.blk","md5":"2236429605848876772","fileSize":6159165,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4218342483.blk","md5":"17581889556031917139","fileSize":6065143,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1180870938.blk","md5":"7707328232716151066","fileSize":4961986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/605916138.blk","md5":"14723155051004398570","fileSize":5798470,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2060783169.blk","md5":"5079097394232364609","fileSize":4277256,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1592295782.blk","md5":"4345454298854359398","fileSize":5059495,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/906161715.blk","md5":"8550565329238158899","fileSize":4885830,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1398749154.blk","md5":"12852644443032860642","fileSize":5741435,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1932187543.blk","md5":"16662417908431509399","fileSize":4419994,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3655795183.blk","md5":"1427889115598619119","fileSize":4724526,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2065077732.blk","md5":"15344717294996985316","fileSize":5022242,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/125403598.blk","md5":"11510080485853856206","fileSize":5905840,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1015773809.blk","md5":"13948592213937846897","fileSize":7031571,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3867711306.blk","md5":"8994889504381245258","fileSize":7368946,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3150692383.blk","md5":"2027242335142395935","fileSize":6189421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3511701817.blk","md5":"5490962584453534009","fileSize":4650599,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3053631105.blk","md5":"4507645141724608129","fileSize":5317964,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3460984291.blk","md5":"18431684869563772387","fileSize":8426008,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1133558202.blk","md5":"2409544849680284090","fileSize":4804611,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4183483339.blk","md5":"13910949148038456267","fileSize":5172831,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1407085718.blk","md5":"16627110098457488534","fileSize":5780855,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1774179334.blk","md5":"14139186997683540998","fileSize":5438866,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3758500548.blk","md5":"12529655856692079300","fileSize":4452536,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2559050446.blk","md5":"8880434500149445326","fileSize":4919012,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1791191770.blk","md5":"424697595064183514","fileSize":8948563,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1874111499.blk","md5":"1637240938108857355","fileSize":4754310,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4043942885.blk","md5":"16499580474692840421","fileSize":5267818,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2357695888.blk","md5":"4711228828537034128","fileSize":8287197,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1565662980.blk","md5":"6847785378864307972","fileSize":4242128,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/27315712.blk","md5":"18262556368342928896","fileSize":4527087,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1973211720.blk","md5":"228365642189558344","fileSize":5160852,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3749820450.blk","md5":"12339200097492514850","fileSize":5986668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1782572951.blk","md5":"2604044265394792343","fileSize":4984391,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2712946326.blk","md5":"12715343440929638038","fileSize":9040547,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/53140992.blk","md5":"14403363377708195328","fileSize":6907610,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3816620977.blk","md5":"3827625822370202545","fileSize":6177061,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2066840625.blk","md5":"15879669937165401137","fileSize":4460968,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2649749374.blk","md5":"14518785541143525246","fileSize":6672608,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/508325541.blk","md5":"14533793048087522981","fileSize":4895272,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3312165447.blk","md5":"18038312675949912647","fileSize":4287621,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3129081318.blk","md5":"5973857207543004646","fileSize":4676728,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/511073647.blk","md5":"10568304813764140399","fileSize":4199155,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1898906099.blk","md5":"13589624208340484595","fileSize":22588478,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3942101488.blk","md5":"14804632907523011056","fileSize":4421502,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3853676037.blk","md5":"5952511946655952389","fileSize":13490350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/240267889.blk","md5":"8151898913605038705","fileSize":4679039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1850868803.blk","md5":"8784109043100812355","fileSize":4672449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3182360051.blk","md5":"15475318438312736243","fileSize":8059784,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3490120924.blk","md5":"9320155627961910492","fileSize":4909358,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3918626827.blk","md5":"6320779373441024011","fileSize":8174630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3986158846.blk","md5":"5301786597142295806","fileSize":4622005,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1200271544.blk","md5":"10504121729420013752","fileSize":4653630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3788440909.blk","md5":"6054293596240020813","fileSize":5119879,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4246130611.blk","md5":"6414887188170198963","fileSize":4212217,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2634449045.blk","md5":"2601178397778804885","fileSize":4325969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2672574667.blk","md5":"3070061639673594059","fileSize":4621679,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1909831071.blk","md5":"14901770295333729695","fileSize":6175897,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3318110014.blk","md5":"9796074305250285374","fileSize":5758335,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1768013822.blk","md5":"2654423849510223870","fileSize":6234339,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3896368230.blk","md5":"5403870973176700006","fileSize":4774509,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2649165858.blk","md5":"1886996229198909474","fileSize":8043247,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1206094718.blk","md5":"15643394731560635262","fileSize":4521711,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1420609189.blk","md5":"229695917562578597","fileSize":7900009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2408716831.blk","md5":"5729924689570175519","fileSize":7523680,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3786724376.blk","md5":"225667987929355288","fileSize":4954743,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2083238533.blk","md5":"14082056618626495109","fileSize":5689262,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3893778709.blk","md5":"13761193589576456469","fileSize":5553670,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1179917451.blk","md5":"12952579862116441227","fileSize":4697677,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1283883057.blk","md5":"3292323915225268273","fileSize":6597568,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2217964814.blk","md5":"8117259334325597454","fileSize":4682170,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3508975200.blk","md5":"5086757182090163808","fileSize":5419187,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3928138316.blk","md5":"12924130095985238604","fileSize":6484839,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2195309913.blk","md5":"8156448514287191385","fileSize":4605418,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2212639900.blk","md5":"8198590969636074652","fileSize":5269746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2030972205.blk","md5":"2504853108338601261","fileSize":4872673,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2945128604.blk","md5":"2219736056109668508","fileSize":7657662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2857105281.blk","md5":"3324851911744288641","fileSize":4236418,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3399036893.blk","md5":"4705046524803493853","fileSize":6863752,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/948193143.blk","md5":"6900328693886109559","fileSize":5291599,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1431725498.blk","md5":"7277560233232590266","fileSize":4816637,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1591511456.blk","md5":"9047305179906214304","fileSize":5362272,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1504672242.blk","md5":"16271144265624549874","fileSize":5723209,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/857905552.blk","md5":"16198952427442051472","fileSize":8203815,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/917246586.blk","md5":"15173555399630262906","fileSize":9237714,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1738059039.blk","md5":"6580981250399972639","fileSize":4290480,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1447089357.blk","md5":"8414721789153825997","fileSize":7233265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2098870332.blk","md5":"772871163626534972","fileSize":8597740,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3997852053.blk","md5":"2672801217935729045","fileSize":6003682,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/317564114.blk","md5":"12587007131375215826","fileSize":8477288,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3764505621.blk","md5":"18097390810552192021","fileSize":5904727,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/692102405.blk","md5":"450656951827735813","fileSize":4960769,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3765269059.blk","md5":"1512580540730798659","fileSize":8596328,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1790417383.blk","md5":"5203472560158120423","fileSize":4532406,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1930682988.blk","md5":"8326621071114756716","fileSize":5194732,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/746381967.blk","md5":"11963293510087271055","fileSize":4637124,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3616830771.blk","md5":"17674319442073646387","fileSize":6204887,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3876575768.blk","md5":"5950525391160465944","fileSize":6721005,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/641471575.blk","md5":"3297580159984211031","fileSize":8195759,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/641725055.blk","md5":"5182137296081646207","fileSize":4970052,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3148546775.blk","md5":"15643032723594609367","fileSize":4493527,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3943164738.blk","md5":"3258572565928995650","fileSize":6770987,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3159710763.blk","md5":"40321061645278251","fileSize":4775755,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2546478715.blk","md5":"1012139806404652667","fileSize":9749668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/340930901.blk","md5":"9888022753147236693","fileSize":5283501,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3562376892.blk","md5":"1300062818532691644","fileSize":9714093,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2497584297.blk","md5":"4154328491310849193","fileSize":4305304,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1460014445.blk","md5":"13701938096613231981","fileSize":4503440,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3175294289.blk","md5":"10599976712722916689","fileSize":4876879,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1103122980.blk","md5":"7312481194648556068","fileSize":8165748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4115554430.blk","md5":"17409716746667843710","fileSize":8670550,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/897675699.blk","md5":"14774164101538083251","fileSize":5432261,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1530629690.blk","md5":"14004465439711399482","fileSize":4731759,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1048495958.blk","md5":"13472995736366794582","fileSize":8993041,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2661825826.blk","md5":"11488713004617841954","fileSize":4194512,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4287754014.blk","md5":"6046943593435885342","fileSize":5327071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3081808758.blk","md5":"823883582105758582","fileSize":6620612,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3854607950.blk","md5":"15997708533739071054","fileSize":5033792,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2102806917.blk","md5":"11718972278176106885","fileSize":5888588,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3111273170.blk","md5":"12029571832856330962","fileSize":5447664,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2959603095.blk","md5":"9230118870795679127","fileSize":4629407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/588796400.blk","md5":"8682676143533871600","fileSize":4983366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/533438075.blk","md5":"12258125190630448763","fileSize":6359165,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4082697053.blk","md5":"14639580746157196125","fileSize":4459059,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4067906528.blk","md5":"13866202464941200352","fileSize":5745203,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/32005236.blk","md5":"2869343813697559668","fileSize":6593058,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4034218197.blk","md5":"5993699583693506773","fileSize":4682218,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1713355384.blk","md5":"12464045633585527416","fileSize":4861641,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/569814123.blk","md5":"9339590304811363435","fileSize":5862819,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3528816443.blk","md5":"898738359941560123","fileSize":7620648,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2221688189.blk","md5":"3417517801910060413","fileSize":4979093,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3403661341.blk","md5":"1276441383009239069","fileSize":5326056,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/170417247.blk","md5":"18401113709967072351","fileSize":7164421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/975606103.blk","md5":"483274372571107671","fileSize":8977420,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/86437190.blk","md5":"17487829055153040710","fileSize":6365969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3706197146.blk","md5":"16494210450975102106","fileSize":6501976,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3664247820.blk","md5":"17212980387629235212","fileSize":5866527,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1740171726.blk","md5":"5510339971883002318","fileSize":4514113,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/726009692.blk","md5":"4325434536298415964","fileSize":5699572,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/753146062.blk","md5":"8837571673917233358","fileSize":4265408,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/90893050.blk","md5":"14556544052077718266","fileSize":4399491,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3184859709.blk","md5":"10374259778847578685","fileSize":7837879,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2481461489.blk","md5":"1023491705550674161","fileSize":4354987,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2870411873.blk","md5":"8704490619719320161","fileSize":8666422,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1957171556.blk","md5":"5909159816183943524","fileSize":4923088,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3277731702.blk","md5":"7635445862555858806","fileSize":6076472,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2714687441.blk","md5":"16675882335334225873","fileSize":5406325,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3865120902.blk","md5":"3629879764264751238","fileSize":8646005,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4162093517.blk","md5":"3596964956271313357","fileSize":7415353,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/236767215.blk","md5":"14512276103476594671","fileSize":4403024,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1775669377.blk","md5":"11467986286130139265","fileSize":6544804,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2650266697.blk","md5":"16570737898026425417","fileSize":4377239,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/212205609.blk","md5":"4616385902567358505","fileSize":7145844,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3848511067.blk","md5":"2258439695239454299","fileSize":7772178,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1453111492.blk","md5":"7943494839484332228","fileSize":4882503,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4036651011.blk","md5":"5451579727738988547","fileSize":5227492,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/843077816.blk","md5":"12535058248325159096","fileSize":8784167,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1800792030.blk","md5":"17587634669373220830","fileSize":4783977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3502821969.blk","md5":"5371836336435679825","fileSize":8249175,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2044267333.blk","md5":"14655551854886849349","fileSize":4765631,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3387979671.blk","md5":"1279544531224655767","fileSize":6769892,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1169528545.blk","md5":"26731924864472801","fileSize":6635167,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1288032828.blk","md5":"16670460680725713468","fileSize":8540055,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1922670080.blk","md5":"2496547736696495616","fileSize":5413453,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2622929437.blk","md5":"18363350611901463069","fileSize":6400331,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3856661425.blk","md5":"8633762203081636785","fileSize":5401503,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1203641443.blk","md5":"8022472810997619811","fileSize":8375866,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2881847911.blk","md5":"4538023256258871911","fileSize":4719719,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2494304349.blk","md5":"13299803354854854749","fileSize":5751697,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1929751888.blk","md5":"15924373507128274256","fileSize":5869253,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/7819529.blk","md5":"10338345027213152521","fileSize":7951187,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1339792751.blk","md5":"3793004054160579951","fileSize":5299659,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3794671644.blk","md5":"11588709551027656732","fileSize":4212283,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3745521114.blk","md5":"5714891055535496666","fileSize":4296420,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1314692982.blk","md5":"3118792457515212662","fileSize":4203760,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/6225399.blk","md5":"9314958683985083895","fileSize":4238995,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1894765873.blk","md5":"9788551660018062641","fileSize":4198621,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3814527771.blk","md5":"2866830797755454235","fileSize":4259975,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1643863451.blk","md5":"13042505237829213595","fileSize":4212033,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3992288347.blk","md5":"2957025832703720539","fileSize":4240124,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2433261169.blk","md5":"7548241159266016881","fileSize":4254089,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/229106917.blk","md5":"9981424487698523365","fileSize":4439884,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3740921164.blk","md5":"14779275914327485772","fileSize":4236305,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3357568364.blk","md5":"9439682647826656620","fileSize":4199698,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1641870805.blk","md5":"17771411603936048597","fileSize":4434622,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3799749277.blk","md5":"9444300897753207453","fileSize":4195670,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1262156334.blk","md5":"2284452299520277038","fileSize":5267098,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/499052150.blk","md5":"9751522516475506294","fileSize":4222356,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1733482216.blk","md5":"11240514389911197416","fileSize":4685620,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3301236976.blk","md5":"10583721537238786288","fileSize":4675443,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4077824701.blk","md5":"4868168777793972925","fileSize":4675093,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/276937547.blk","md5":"16041651706366376779","fileSize":22715237,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3157984621.blk","md5":"103812382064313709","fileSize":20642050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3644169500.blk","md5":"16880701187646922012","fileSize":6511248,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2709790824.blk","md5":"7415557791429173352","fileSize":8366639,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1600812240.blk","md5":"4431036886649828560","fileSize":4224488,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2580532069.blk","md5":"11991042505346894693","fileSize":8336917,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/653241065.blk","md5":"8471853198518233833","fileSize":8336215,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3619384573.blk","md5":"14506443992242810109","fileSize":8334415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1431581986.blk","md5":"6392734160654710050","fileSize":4196369,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1193430386.blk","md5":"2915158312609795442","fileSize":21082015,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2496106876.blk","md5":"13288919027260297596","fileSize":19651454,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/552246381.blk","md5":"12644514016399105133","fileSize":5244933,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2853340295.blk","md5":"10062430841995428999","fileSize":7312246,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/754261403.blk","md5":"8085305248626056603","fileSize":7311846,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3996197406.blk","md5":"9737467729122763294","fileSize":7312622,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3980053938.blk","md5":"2191694610806001074","fileSize":24432148,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/886118067.blk","md5":"18149783159507588787","fileSize":20061746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1061283925.blk","md5":"2219848483584731221","fileSize":7222472,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/999666964.blk","md5":"14441841483853444372","fileSize":4212756,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3420238998.blk","md5":"406280171337594006","fileSize":7369875,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3565189419.blk","md5":"10868447027067386155","fileSize":4212651,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2950595228.blk","md5":"592526823454048924","fileSize":7369424,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2238111664.blk","md5":"6634911231090548656","fileSize":4212563,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4198992620.blk","md5":"15293136930339261164","fileSize":7369756,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2812459498.blk","md5":"6065583032765692394","fileSize":4212772,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1756965219.blk","md5":"4677843188151036259","fileSize":22734861,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1366170052.blk","md5":"14045498139753716164","fileSize":19943327,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1183685363.blk","md5":"17512072583268113139","fileSize":10138621,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3731773541.blk","md5":"15375979629171857509","fileSize":4216525,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3093869716.blk","md5":"9792697344039892116","fileSize":8427172,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1166692801.blk","md5":"9584612357079454145","fileSize":4216637,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/912641349.blk","md5":"13722817783222619461","fileSize":8427045,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3907064947.blk","md5":"16850720456462898291","fileSize":4216688,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2539502153.blk","md5":"17513734608118463049","fileSize":8427842,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2300640696.blk","md5":"11027276758949887416","fileSize":4216713,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3493391048.blk","md5":"7705896537745320648","fileSize":6206534,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1204106047.blk","md5":"14419053989608108863","fileSize":4443490,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4205848445.blk","md5":"15434074018716591997","fileSize":5233468,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3070389461.blk","md5":"7884034970258402517","fileSize":20355072,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/717681395.blk","md5":"5006666192531157747","fileSize":20136558,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1545460476.blk","md5":"1683360743281253116","fileSize":11685861,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3500656433.blk","md5":"14855085797713364785","fileSize":4206411,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1717118872.blk","md5":"5299678264147126168","fileSize":4208175,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2991889859.blk","md5":"4861856673726504387","fileSize":9458900,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3520561389.blk","md5":"2075844576275824877","fileSize":4208225,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2611449578.blk","md5":"18138550168191471338","fileSize":4206249,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1475571841.blk","md5":"16480838995781316737","fileSize":9458160,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4005474106.blk","md5":"3654620601391165242","fileSize":4206945,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3480724155.blk","md5":"9654050667625947835","fileSize":4208407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3480080192.blk","md5":"2002008204311908160","fileSize":9460343,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2454045613.blk","md5":"114255143369032621","fileSize":4208682,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3996584736.blk","md5":"7423493565134080800","fileSize":4207235,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1454389540.blk","md5":"7989094747785410852","fileSize":24585182,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2616749353.blk","md5":"8260111982803840297","fileSize":20455738,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2464846015.blk","md5":"14515538262215004351","fileSize":5207346,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1134223986.blk","md5":"17473499627962163826","fileSize":5257104,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/882252723.blk","md5":"17954876590128503731","fileSize":4208804,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2665740327.blk","md5":"6732470928315512871","fileSize":6306948,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2367150096.blk","md5":"1711865445614082064","fileSize":4205398,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/337893623.blk","md5":"7604400375711652087","fileSize":6311490,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/23714679.blk","md5":"14261112231179180919","fileSize":4209370,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1132455229.blk","md5":"8794133959907730749","fileSize":6310961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2720515233.blk","md5":"3019538771187582113","fileSize":4209720,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3309597410.blk","md5":"14268478580119073506","fileSize":20341668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2142454937.blk","md5":"13787004464373384345","fileSize":19568716,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3222450891.blk","md5":"12634367283386561227","fileSize":8536212,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3913026362.blk","md5":"6963066005698120506","fileSize":4205453,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3492194725.blk","md5":"12931407389351389605","fileSize":9440026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1542814882.blk","md5":"9982246043241512098","fileSize":4205286,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2627882992.blk","md5":"17105629246692413424","fileSize":9439359,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/553108547.blk","md5":"14057444727913432131","fileSize":4204748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1279251816.blk","md5":"2399119143132452200","fileSize":9439367,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1465310147.blk","md5":"4960952313726819267","fileSize":4205246,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3222146342.blk","md5":"13775081451555786022","fileSize":23667581,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2697818955.blk","md5":"16667132941474558795","fileSize":20970797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/666102431.blk","md5":"2509542966447827615","fileSize":7888279,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/664063446.blk","md5":"18300266851853454806","fileSize":4201240,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/77073044.blk","md5":"5607952928906676884","fileSize":7357453,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2909893312.blk","md5":"14921711588970951360","fileSize":4201825,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1904771498.blk","md5":"5306343383563272618","fileSize":7357304,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3511294008.blk","md5":"3397491500274817080","fileSize":4201305,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2384262719.blk","md5":"4863237208751797823","fileSize":7357580,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/347794021.blk","md5":"14493839106066016869","fileSize":4202000,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1704821738.blk","md5":"11767842309752587242","fileSize":23070467,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/336909937.blk","md5":"17997433431949366897","fileSize":20331604,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/911062285.blk","md5":"3807474477156906253","fileSize":12747358,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3394894218.blk","md5":"7028929491872905610","fileSize":4201597,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/899031085.blk","md5":"7006134268281102381","fileSize":4716258,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3718008379.blk","md5":"12599058946152222267","fileSize":12061926,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/268428316.blk","md5":"12981499164499108892","fileSize":4202350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3162145021.blk","md5":"8643854396280176893","fileSize":4716959,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3318205711.blk","md5":"13750089247409818895","fileSize":12061485,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2593970342.blk","md5":"4165626926865373350","fileSize":4201858,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4129075281.blk","md5":"427171983895867473","fileSize":4716270,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/93447100.blk","md5":"7202991031175996348","fileSize":12061583,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3268626022.blk","md5":"7733676287206835814","fileSize":4202142,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2107723080.blk","md5":"9022867336199228744","fileSize":4716806,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2671832434.blk","md5":"13571424585844321650","fileSize":22248750,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3109831007.blk","md5":"12494250808534909279","fileSize":19509125,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1746270492.blk","md5":"17778411206732019996","fileSize":10404700,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1844862597.blk","md5":"2717740592472153733","fileSize":4696289,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4291191291.blk","md5":"15666077612282110459","fileSize":10982883,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1670429453.blk","md5":"17489262283028740877","fileSize":4693977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4114585360.blk","md5":"10771619206131586832","fileSize":10984133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/791008080.blk","md5":"8908145107684152144","fileSize":4696475,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1468949229.blk","md5":"6219158683831395053","fileSize":10987156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/318000133.blk","md5":"1506250069021838341","fileSize":4696405,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4041027406.blk","md5":"7215111548797005646","fileSize":4256089,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3751924671.blk","md5":"5212068131708720063","fileSize":21784817,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1391806126.blk","md5":"7185722450740856494","fileSize":21054021,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1655430.blk","md5":"14910191590421643910","fileSize":8156177,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/789982216.blk","md5":"12220016435695856648","fileSize":4216763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3489435383.blk","md5":"8521270373507698423","fileSize":7372534,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4157328493.blk","md5":"12890114337482198125","fileSize":4216731,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3009789046.blk","md5":"12841251756128451702","fileSize":7370920,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3360178536.blk","md5":"8324031714070905192","fileSize":4215845,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1639456464.blk","md5":"397639846408494800","fileSize":7372142,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2054911304.blk","md5":"5492974727930279240","fileSize":4216968,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/208295453.blk","md5":"18166777163304031773","fileSize":23096705,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3285069149.blk","md5":"8723008182652120413","fileSize":21136779,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/565136629.blk","md5":"12646848378382011637","fileSize":7522409,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/815056808.blk","md5":"4425112725803550632","fileSize":4203031,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3844261374.blk","md5":"12632502997618968062","fileSize":5253727,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3441435619.blk","md5":"1528433913236562915","fileSize":4204056,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2399607084.blk","md5":"9124239366519462188","fileSize":5253437,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/440008142.blk","md5":"13112426011419082190","fileSize":4203671,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3826211837.blk","md5":"1251036540206799869","fileSize":5254049,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2691314488.blk","md5":"16553475045820347192","fileSize":4204566,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1868323809.blk","md5":"10250944824011938785","fileSize":22292003,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1906972805.blk","md5":"12417182064496482437","fileSize":21332109,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3851443878.blk","md5":"5742812066802065062","fileSize":5683178,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2549506185.blk","md5":"16060329507796967561","fileSize":4216157,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2937093366.blk","md5":"4090530119822638326","fileSize":21312073,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/429155000.blk","md5":"11028738635096941240","fileSize":18497466,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3783797721.blk","md5":"11134755950488464345","fileSize":4221709,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/268547641.blk","md5":"7284658816577287737","fileSize":5001343,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1307534246.blk","md5":"15242569906650047398","fileSize":9040122,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3160174379.blk","md5":"15754633329919160107","fileSize":11379067,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3171951805.blk","md5":"6470893294347887805","fileSize":4241704,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2701997124.blk","md5":"4286071154416628804","fileSize":4211915,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3166186145.blk","md5":"6660819630094297761","fileSize":17307985,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2432076388.blk","md5":"1191353037612288612","fileSize":7867056,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3830819953.blk","md5":"2138761685649173617","fileSize":4674471,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1945979442.blk","md5":"12211929064973093426","fileSize":7832739,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2075801908.blk","md5":"17108051706479524148","fileSize":4679174,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4095951015.blk","md5":"18064716907308859559","fileSize":7832654,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3882634305.blk","md5":"6475688372641483841","fileSize":4678515,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/125936618.blk","md5":"9743970606386357226","fileSize":7831970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/848673215.blk","md5":"10989777148928440767","fileSize":4677349,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3334091157.blk","md5":"5145496808217784725","fileSize":21786272,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1740754715.blk","md5":"14869946863833960219","fileSize":20908913,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2107436086.blk","md5":"3486793304997948470","fileSize":5710509,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3474311708.blk","md5":"3516829369875417628","fileSize":4672449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1959246138.blk","md5":"8664707045414910266","fileSize":4676523,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2850866339.blk","md5":"1916559021874922659","fileSize":4618696,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/973205032.blk","md5":"3852612332937145896","fileSize":19378906,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1306486852.blk","md5":"15504754918217967684","fileSize":20456104,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4249404144.blk","md5":"7184039453483647728","fileSize":7308401,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/768942422.blk","md5":"4245290931929293142","fileSize":8091486,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2550571222.blk","md5":"2357362956955984086","fileSize":8163895,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2378730021.blk","md5":"9112758128642394661","fileSize":8617123,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/980863541.blk","md5":"12517109288075184693","fileSize":4278224,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3933045238.blk","md5":"10372036240666886646","fileSize":8002896,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4260818482.blk","md5":"13157520697946730034","fileSize":4873096,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3363015281.blk","md5":"10502318322059807345","fileSize":6253824,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3824665428.blk","md5":"10392977045099889492","fileSize":7076944,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2432701081.blk","md5":"2810010161458975385","fileSize":8639857,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1133296094.blk","md5":"9487136695578835422","fileSize":4331437,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2265458045.blk","md5":"3207258846209254781","fileSize":4568568,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/670862210.blk","md5":"1135013424388672386","fileSize":5754736,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/814784791.blk","md5":"13216312766648852759","fileSize":4255717,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4291488508.blk","md5":"6169433835928480508","fileSize":6577360,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/104102091.blk","md5":"10941892785434032331","fileSize":4498590,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1082574956.blk","md5":"896791221186775148","fileSize":6028526,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1376514741.blk","md5":"9633105123631428277","fileSize":4348781,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/470676702.blk","md5":"2823225340075046110","fileSize":4724013,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1791423960.blk","md5":"5395275891108935128","fileSize":5064491,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1904141069.blk","md5":"16746040590944101133","fileSize":4370123,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2789054917.blk","md5":"11729766223166937541","fileSize":7698667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3837901220.blk","md5":"11392798805456959908","fileSize":7877872,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1207318272.blk","md5":"6844391430924154624","fileSize":6149300,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2238293126.blk","md5":"13762320823562642566","fileSize":7071243,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3420909551.blk","md5":"12963670195765178351","fileSize":4218819,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1650394904.blk","md5":"8180008153117558552","fileSize":5418044,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3199426710.blk","md5":"8828273875326558358","fileSize":5160323,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3515201988.blk","md5":"12342062555521726916","fileSize":4341250,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/856817931.blk","md5":"3199144238534230283","fileSize":5034927,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4249284541.blk","md5":"1091250004733390781","fileSize":4525729,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3738003631.blk","md5":"16273314111105624239","fileSize":4552801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3867471732.blk","md5":"14018194975024803700","fileSize":6359987,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/928924008.blk","md5":"4244026811544912232","fileSize":4564892,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3784796582.blk","md5":"14091163973925169574","fileSize":5510115,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2483988905.blk","md5":"17116101695371127209","fileSize":4512961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2543717563.blk","md5":"578033168144010427","fileSize":5557586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2143245783.blk","md5":"3296213206539654615","fileSize":4563358,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2027317729.blk","md5":"11920517359381932513","fileSize":5564562,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/538544898.blk","md5":"7085108803709537026","fileSize":4562739,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/261614088.blk","md5":"12491249856202402312","fileSize":22327501,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1492293233.blk","md5":"18185832641695225457","fileSize":17155750,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2073913005.blk","md5":"12047813519997757101","fileSize":4687193,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3959310432.blk","md5":"8823250984848214112","fileSize":4738220,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2700641443.blk","md5":"10268191905971471523","fileSize":8383395,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1498236013.blk","md5":"18206304401454089325","fileSize":4558699,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1967502604.blk","md5":"14856301284809880844","fileSize":9808231,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2506888292.blk","md5":"7786393393641034852","fileSize":4643718,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/653638821.blk","md5":"1290360802329869477","fileSize":9842750,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3056015072.blk","md5":"16607821599548577504","fileSize":4636872,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3800814741.blk","md5":"7242083784261883029","fileSize":9855033,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3432179510.blk","md5":"6808386408774035254","fileSize":4645445,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4196670896.blk","md5":"392002317842652592","fileSize":6574053,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/947004886.blk","md5":"8310944933421917654","fileSize":4472829,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4223756344.blk","md5":"1412652560770230328","fileSize":22118090,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2645439635.blk","md5":"12065946202478097555","fileSize":20482419,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3979785169.blk","md5":"16009916372812739537","fileSize":4281401,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/405531826.blk","md5":"5106473539891621042","fileSize":4343052,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1186308517.blk","md5":"7957070273062478245","fileSize":5143494,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2123218707.blk","md5":"9432189792676593427","fileSize":7057657,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1217995250.blk","md5":"5746520351816884722","fileSize":5647415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3622591200.blk","md5":"12515935965781187296","fileSize":4707151,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/303596252.blk","md5":"9067914918490571484","fileSize":5223464,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4172557835.blk","md5":"1014581531298246155","fileSize":5019509,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2026762223.blk","md5":"12734235644168892399","fileSize":4196127,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2264344446.blk","md5":"15341869903677695870","fileSize":5900315,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3667743063.blk","md5":"1295315015760171351","fileSize":6108736,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2402138128.blk","md5":"13395624315654617104","fileSize":6085480,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1133594848.blk","md5":"10548763752571947232","fileSize":4514114,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3066947117.blk","md5":"17314018255719753261","fileSize":4313865,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4244424758.blk","md5":"17187581987435366454","fileSize":4813695,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1869534752.blk","md5":"5236252455014946336","fileSize":6095632,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1189245731.blk","md5":"11192816698780709667","fileSize":4440047,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3883629867.blk","md5":"12845552754432376107","fileSize":6602812,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4102400697.blk","md5":"15063997792186116793","fileSize":6865520,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3942229511.blk","md5":"13386045354713654791","fileSize":4588634,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/86552969.blk","md5":"13152680016521769353","fileSize":6180007,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/140624517.blk","md5":"11512774950782091909","fileSize":6784372,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2547612728.blk","md5":"17940177010388728888","fileSize":4594030,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2714067631.blk","md5":"18407653392924369583","fileSize":8607768,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1711942977.blk","md5":"14428875047018573121","fileSize":4593095,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2576391497.blk","md5":"18083254117782822217","fileSize":7017655,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3122132212.blk","md5":"4029356737601991924","fileSize":10323665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3751918269.blk","md5":"16593625423366175421","fileSize":4593551,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1203795974.blk","md5":"10535068815627155462","fileSize":6833244,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2211913763.blk","md5":"1791136291041517603","fileSize":4676889,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3952639161.blk","md5":"17192931420450356409","fileSize":4769760,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1650498576.blk","md5":"12230389070339021840","fileSize":6490768,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3953865661.blk","md5":"10918673109454894013","fileSize":4206075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1503285541.blk","md5":"3637659592648446245","fileSize":4666337,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2235031728.blk","md5":"14151207069712638128","fileSize":6316100,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2497902862.blk","md5":"7694475076248467726","fileSize":17922992,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/80170773.blk","md5":"4869019984774778645","fileSize":17317946,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1940344676.blk","md5":"11511886426927484772","fileSize":5283791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1709947393.blk","md5":"176366996859632129","fileSize":7392160,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1188008152.blk","md5":"6321586163137089752","fileSize":4792443,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/986466662.blk","md5":"12548346817152829798","fileSize":5049576,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2909430243.blk","md5":"4472783179801584099","fileSize":4419917,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2237306647.blk","md5":"16361680905646544663","fileSize":4766520,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2003886755.blk","md5":"14771805340965069475","fileSize":4762853,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1420229637.blk","md5":"12343581245272685573","fileSize":5689227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1901776551.blk","md5":"8308523891376705191","fileSize":5424888,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2371397026.blk","md5":"15805631379961062818","fileSize":4940995,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1777572348.blk","md5":"11423639498965359100","fileSize":4327095,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1586396505.blk","md5":"10493003459636133209","fileSize":4478957,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/340194416.blk","md5":"7994777731433165936","fileSize":5036986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1303228934.blk","md5":"2173766637246591494","fileSize":7618825,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/13937459.blk","md5":"15232647319721913139","fileSize":4756461,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3771306569.blk","md5":"18323571059745985097","fileSize":6352284,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2666908897.blk","md5":"13829624370268851425","fileSize":8615220,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/490399008.blk","md5":"11627984665708258592","fileSize":4628139,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3230780980.blk","md5":"9831042876620000820","fileSize":4613006,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3388062672.blk","md5":"1990092350033083344","fileSize":6733160,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1108330375.blk","md5":"13684269700317431687","fileSize":6778956,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2216656902.blk","md5":"10172853866423353350","fileSize":6815744,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3146863541.blk","md5":"15991141704129401781","fileSize":5418300,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/863231197.blk","md5":"17248707391675161821","fileSize":7490490,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3193043960.blk","md5":"12030432411240233976","fileSize":5228733,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1809968225.blk","md5":"16187131007653244001","fileSize":6925669,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3246800693.blk","md5":"13347806607346908981","fileSize":5045511,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/498130188.blk","md5":"15410153160294063372","fileSize":4582774,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1624713353.blk","md5":"9287491858644543625","fileSize":4648282,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3566879517.blk","md5":"12335700360388297501","fileSize":5715748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/217281006.blk","md5":"2831020198657749486","fileSize":7575406,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3473182435.blk","md5":"14231918938190810851","fileSize":19144458,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1810745366.blk","md5":"1000785338067437590","fileSize":18971961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1180268789.blk","md5":"14887286105808926965","fileSize":4779384,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3553995074.blk","md5":"1816484931666553154","fileSize":5982320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4120493311.blk","md5":"5186084357325569279","fileSize":4552661,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/482664262.blk","md5":"16932560565237505862","fileSize":5287600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2338943226.blk","md5":"13940496992182038778","fileSize":4307099,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/924083555.blk","md5":"1202773173755733347","fileSize":6355853,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2631997787.blk","md5":"12979981694787459419","fileSize":4230208,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1028303281.blk","md5":"15033753204939205041","fileSize":5791450,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4174230436.blk","md5":"7632722789762184100","fileSize":8256880,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/743646043.blk","md5":"13732795138111120219","fileSize":5954667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3994857261.blk","md5":"10038175268735856429","fileSize":5221383,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3197712393.blk","md5":"8755243522733979657","fileSize":5164199,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3168089817.blk","md5":"4033197305993967321","fileSize":6248339,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1614979767.blk","md5":"287259315725836983","fileSize":5081395,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2937035743.blk","md5":"10168222870196427743","fileSize":4657018,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/40768676.blk","md5":"13763562685388952740","fileSize":4663484,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3621854659.blk","md5":"1369460384764861891","fileSize":5455486,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2360928750.blk","md5":"16269555601027688942","fileSize":4244410,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3456322057.blk","md5":"14414175883969645065","fileSize":5228131,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1447242091.blk","md5":"5237306843294017899","fileSize":5307230,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3854499863.blk","md5":"16755174536634105879","fileSize":5842786,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3970447642.blk","md5":"4464721389809056026","fileSize":4236547,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3168590174.blk","md5":"12261617371044436318","fileSize":4339410,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/440689849.blk","md5":"9737835121364722873","fileSize":11542766,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/72060058.blk","md5":"12423359896375495834","fileSize":4712935,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/729460705.blk","md5":"7402053149549834209","fileSize":4662704,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3639160123.blk","md5":"1122073210585165115","fileSize":9369239,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3170589844.blk","md5":"8967090078752660628","fileSize":4714004,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2569104933.blk","md5":"10775039987123580453","fileSize":4662662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2778966745.blk","md5":"6142415298963417817","fileSize":9355411,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3216490214.blk","md5":"4716979532907134694","fileSize":4701148,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2132986543.blk","md5":"18283389457210198703","fileSize":4662235,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3585390597.blk","md5":"17819612808366831621","fileSize":9365867,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1630768582.blk","md5":"6780106259236621766","fileSize":4707508,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2403892106.blk","md5":"2290192399899065226","fileSize":4664816,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3826970725.blk","md5":"8544675252663939173","fileSize":7682664,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/770748059.blk","md5":"18120912006976417435","fileSize":7333998,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/923063458.blk","md5":"8972887792728462498","fileSize":4592538,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/987643836.blk","md5":"17844550395206975420","fileSize":6853540,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1893231896.blk","md5":"15485443388632231192","fileSize":4262909,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2921479683.blk","md5":"15773776681818537475","fileSize":6695938,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/645932008.blk","md5":"12608511921285506024","fileSize":6410799,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2289424692.blk","md5":"4119755490428574004","fileSize":5710914,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4183185770.blk","md5":"16302820846111971690","fileSize":7845636,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/719053597.blk","md5":"676174723811107613","fileSize":5709170,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3794814284.blk","md5":"7148831149382452556","fileSize":4528815,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1097342510.blk","md5":"6114605899436269102","fileSize":5261003,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2933692122.blk","md5":"7187006265252157146","fileSize":4378952,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3863979182.blk","md5":"16254221113290106030","fileSize":4487036,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1679407328.blk","md5":"9882370538869471456","fileSize":6186777,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/891522696.blk","md5":"5657213554611424904","fileSize":4980169,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3881934677.blk","md5":"1444650496280338261","fileSize":6865956,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3162164566.blk","md5":"17520034329331944790","fileSize":9150431,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3118660684.blk","md5":"8367485968137256012","fileSize":4352085,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4217319649.blk","md5":"15761788274045038817","fileSize":9207534,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/541840258.blk","md5":"2591633006964495234","fileSize":6272342,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2837374247.blk","md5":"17863468387965789479","fileSize":7050690,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3765372563.blk","md5":"6760371960387929747","fileSize":5296724,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3182710798.blk","md5":"16660624412943601678","fileSize":5497800,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3713905352.blk","md5":"1281928131025679048","fileSize":4803170,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3047321333.blk","md5":"14385250923794558709","fileSize":5215297,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/536022484.blk","md5":"2197027762742693332","fileSize":7821797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2107034408.blk","md5":"17949357296384920360","fileSize":6536596,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1282950492.blk","md5":"17355228357766694236","fileSize":4825088,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1174217088.blk","md5":"17901996021064212864","fileSize":19943449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2687951296.blk","md5":"11130452860313461184","fileSize":19437412,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3928722932.blk","md5":"1694544136128663028","fileSize":10732898,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1745794172.blk","md5":"13802473544607511676","fileSize":8868374,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2308543764.blk","md5":"10871764398420628756","fileSize":4505466,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/619292247.blk","md5":"18437064386274764375","fileSize":8260909,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3195494899.blk","md5":"3008349930884915699","fileSize":10359604,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3920814391.blk","md5":"13320060200165761335","fileSize":4510066,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1591727857.blk","md5":"12357893420799219441","fileSize":8910341,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2347034827.blk","md5":"4344748803986090187","fileSize":11534264,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/877728741.blk","md5":"17120901723445072869","fileSize":4448251,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4052098374.blk","md5":"5075612558543953222","fileSize":8645553,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4287010272.blk","md5":"13571818680773678560","fileSize":10280885,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/594021143.blk","md5":"18059490817665927959","fileSize":8334825,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2689371737.blk","md5":"1374789055267245657","fileSize":4673039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2326918687.blk","md5":"6651250781421958687","fileSize":7830219,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/683981015.blk","md5":"1729256496656857303","fileSize":4703106,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1899263950.blk","md5":"11626761945762527182","fileSize":7849909,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3299564195.blk","md5":"6678835068119243427","fileSize":4704797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2010572321.blk","md5":"9325626414090085921","fileSize":7848763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/68731134.blk","md5":"1597730239362416894","fileSize":4704156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1599307877.blk","md5":"4372065993536798821","fileSize":21588064,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2673218541.blk","md5":"18242491172840149997","fileSize":4954282,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1066091584.blk","md5":"13757700287983469632","fileSize":20595809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2675354977.blk","md5":"2306043582566804833","fileSize":5219541,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2864598662.blk","md5":"1145071157657882246","fileSize":6678092,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2175576048.blk","md5":"498169178619684848","fileSize":4954320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1376838571.blk","md5":"15942192166245295019","fileSize":4837201,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2384965708.blk","md5":"14324176904794910796","fileSize":7419598,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2368953087.blk","md5":"2429962511260539647","fileSize":4637935,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3513403884.blk","md5":"4427944825641912812","fileSize":7326343,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2403662943.blk","md5":"5499284181265742943","fileSize":4206261,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3837823529.blk","md5":"18336681408828836393","fileSize":6535064,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3598917271.blk","md5":"9736882517956566679","fileSize":4401105,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1776318976.blk","md5":"10329682062765750784","fileSize":5559971,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/629242554.blk","md5":"5129001485396441786","fileSize":4224279,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1496142297.blk","md5":"4509683381321945561","fileSize":4452267,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3093396753.blk","md5":"11415792242844073233","fileSize":4698502,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/402671034.blk","md5":"10347601094447744442","fileSize":8490501,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4094776774.blk","md5":"17332427809428166086","fileSize":6378043,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1418575149.blk","md5":"6278818386567609645","fileSize":6853848,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2788417597.blk","md5":"14992958189982703677","fileSize":4852310,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1555600552.blk","md5":"10696727055673365672","fileSize":5247398,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/617746206.blk","md5":"16817423014836703006","fileSize":8076685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/528483158.blk","md5":"12434339327889113942","fileSize":5620221,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4152769629.blk","md5":"16514144361010052189","fileSize":6390444,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2233654898.blk","md5":"4926277931118026354","fileSize":7950039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1500438572.blk","md5":"2335589043673161772","fileSize":7531402,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4190172874.blk","md5":"10000462144652506826","fileSize":5776367,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3510330795.blk","md5":"11631522235721409963","fileSize":4501856,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/338371570.blk","md5":"3662276565907743730","fileSize":5208993,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1922964792.blk","md5":"16163904546183978296","fileSize":4355787,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1778595962.blk","md5":"1851141983075252346","fileSize":5354990,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1384812888.blk","md5":"12656080716347117912","fileSize":4865904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/847227595.blk","md5":"13313763530223102667","fileSize":6448970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4095148188.blk","md5":"13933050237906518172","fileSize":7629187,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3020383522.blk","md5":"14472401883287217442","fileSize":4272206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3096056140.blk","md5":"17602304797187903820","fileSize":8090245,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/287561095.blk","md5":"4469573926076536199","fileSize":5318007,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3023069213.blk","md5":"1214182984109809693","fileSize":4873059,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3120858289.blk","md5":"8369427211752866993","fileSize":5722732,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/742725725.blk","md5":"17594210018432194653","fileSize":4865097,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3810165269.blk","md5":"1777136533205844501","fileSize":7521969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2175449676.blk","md5":"10947441846597106252","fileSize":4251089,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1821743150.blk","md5":"7354403138487818286","fileSize":4869260,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/386654516.blk","md5":"79693457866350900","fileSize":4740640,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1996476741.blk","md5":"10281661382269063493","fileSize":8940489,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2327478527.blk","md5":"5231408703025611007","fileSize":4597137,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3050831526.blk","md5":"14824633405393075878","fileSize":7569260,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4208275797.blk","md5":"6472528943484580181","fileSize":7523361,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2430359370.blk","md5":"11612232394053801802","fileSize":4932323,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2263481447.blk","md5":"17508278289979538535","fileSize":5365055,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4208597097.blk","md5":"2022585779902617705","fileSize":7188247,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/290710976.blk","md5":"15823007209242224064","fileSize":4259080,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2648493033.blk","md5":"3199606812598651881","fileSize":7801546,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1844722451.blk","md5":"1879554192531798803","fileSize":4476087,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/732731995.blk","md5":"3503510540404955739","fileSize":5147537,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2697476616.blk","md5":"15339868509480434184","fileSize":4632133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2431175244.blk","md5":"8638704300264573516","fileSize":9205730,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1576725553.blk","md5":"10447972359615474737","fileSize":4335342,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1356725943.blk","md5":"8119643684558732983","fileSize":4275179,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/504242219.blk","md5":"14906598185061195819","fileSize":4807883,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3323125059.blk","md5":"16985747772329352515","fileSize":4208047,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4157389747.blk","md5":"7742094832017652659","fileSize":4360227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/197474659.blk","md5":"3123296464047257955","fileSize":4261666,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/274398314.blk","md5":"12808196486787169386","fileSize":8275320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/718457002.blk","md5":"16135456824799447210","fileSize":5098586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1720563140.blk","md5":"13524616360558966212","fileSize":8353447,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4248690978.blk","md5":"1655590780233703714","fileSize":5155191,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1511894907.blk","md5":"2678158341042974587","fileSize":8297860,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4206011685.blk","md5":"9677706686792639781","fileSize":5273744,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/529461170.blk","md5":"3147859433884676018","fileSize":4317921,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1759075478.blk","md5":"2632707403931016342","fileSize":4362046,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/329934724.blk","md5":"8787127505940801412","fileSize":4222684,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/158606846.blk","md5":"13186243463730177534","fileSize":5012161,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1552386884.blk","md5":"4492308245801044804","fileSize":5305216,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3111261568.blk","md5":"4640115561122108800","fileSize":6594895,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4232439863.blk","md5":"16014041195231963191","fileSize":8104771,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2341667807.blk","md5":"17105026632429798367","fileSize":5224590,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1403206554.blk","md5":"17445261184627587994","fileSize":8174130,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3578068845.blk","md5":"17374094295967268717","fileSize":7699236,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/264044720.blk","md5":"15160460748066193584","fileSize":4721651,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3214123124.blk","md5":"74184276078469236","fileSize":4630850,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3154076979.blk","md5":"9873719673051112755","fileSize":4307289,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4206479367.blk","md5":"8345793764450224135","fileSize":6665281,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3907720435.blk","md5":"3365925075888575731","fileSize":4920479,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/105443651.blk","md5":"16278997719300239683","fileSize":6728920,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1639612332.blk","md5":"637344492344213420","fileSize":4703177,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3796563121.blk","md5":"18163623574270309553","fileSize":5871746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3975650054.blk","md5":"17139154547277011718","fileSize":4454742,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3583514878.blk","md5":"14979101685683067134","fileSize":5474741,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3776094243.blk","md5":"8944448326033645603","fileSize":5157125,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2180869774.blk","md5":"5076282855038742158","fileSize":6206699,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3083365915.blk","md5":"11688936241415876123","fileSize":4449480,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1169919787.blk","md5":"4965477091542535979","fileSize":4692333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4074792034.blk","md5":"5849990849888281698","fileSize":6104845,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1614704798.blk","md5":"13381123891095564446","fileSize":9213042,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/838921342.blk","md5":"11697265589507648638","fileSize":7936969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2040458258.blk","md5":"7183440908927298578","fileSize":4365449,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/290454242.blk","md5":"12845636811939117794","fileSize":6261287,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1645359810.blk","md5":"9600148259290100418","fileSize":5689972,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/499639751.blk","md5":"6496244404859692487","fileSize":4601025,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3084593229.blk","md5":"17576188144726517837","fileSize":6639898,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3002001791.blk","md5":"588411557641120127","fileSize":4599558,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2941293741.blk","md5":"4377823540272993453","fileSize":6641468,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/900345517.blk","md5":"9133948125707906733","fileSize":4601502,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1268060354.blk","md5":"334497298435608770","fileSize":6636087,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1799495260.blk","md5":"14261225903559417436","fileSize":4599943,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3760129161.blk","md5":"16530439024156804233","fileSize":8979912,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/223618316.blk","md5":"17961060242864481548","fileSize":6299199,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2133982282.blk","md5":"212853758075468874","fileSize":9316177,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4078313217.blk","md5":"2865292418043223809","fileSize":6133765,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3159830813.blk","md5":"7931036498275021085","fileSize":8770390,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2574674472.blk","md5":"1913174020433799720","fileSize":4361881,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/310706216.blk","md5":"7702023101126869032","fileSize":4832770,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3724220350.blk","md5":"11902167925055494078","fileSize":4414797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/957714796.blk","md5":"18283348473456988524","fileSize":4530966,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2921198115.blk","md5":"8298766285045363235","fileSize":4553018,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4104979058.blk","md5":"2144618990522925682","fileSize":5891623,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/832363750.blk","md5":"16024077533970226406","fileSize":8485820,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1633320439.blk","md5":"3215255086839791095","fileSize":6629160,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/178574475.blk","md5":"5764429118861268107","fileSize":4863332,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4278009244.blk","md5":"10197219711876152732","fileSize":19810743,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4098413785.blk","md5":"7452620384169940185","fileSize":4719042,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1915505126.blk","md5":"3289118062072842726","fileSize":4666969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/537369866.blk","md5":"10914490808619474186","fileSize":19953014,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4195079330.blk","md5":"7584605420762420386","fileSize":5011097,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2680618069.blk","md5":"14316446780001549397","fileSize":5199068,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/334635883.blk","md5":"7681067393072898923","fileSize":4726585,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2107819303.blk","md5":"3969747972113220903","fileSize":20572920,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2223926444.blk","md5":"861526439861578924","fileSize":5645504,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/507587535.blk","md5":"16396840094612401103","fileSize":7288287,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4059073044.blk","md5":"5447245860946610708","fileSize":7293196,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/473672400.blk","md5":"3218094054767831760","fileSize":7335390,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/574759195.blk","md5":"12113837967680872731","fileSize":4536551,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1093856528.blk","md5":"13802277057791716624","fileSize":15904531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/621261529.blk","md5":"15921643607426577113","fileSize":20514404,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3668414095.blk","md5":"9610942115423424143","fileSize":6176531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3422071139.blk","md5":"16382650423229065571","fileSize":4408354,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1992794386.blk","md5":"7587715378609365266","fileSize":4562013,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/896402609.blk","md5":"6823975032988763313","fileSize":8921199,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2203609823.blk","md5":"14704444521498307295","fileSize":4808520,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/956025875.blk","md5":"59331606895905811","fileSize":4770182,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/531883913.blk","md5":"7069353094134622089","fileSize":4336598,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4290991645.blk","md5":"15323898139040241181","fileSize":4929969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4262855889.blk","md5":"8099043491009922257","fileSize":6272061,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/806826652.blk","md5":"4907094969364722332","fileSize":8316600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2016511880.blk","md5":"10543866206542202760","fileSize":6556698,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4103484019.blk","md5":"4381461803936658035","fileSize":4427598,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2806357693.blk","md5":"6167402246192864957","fileSize":7378630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3359236138.blk","md5":"14660975356219613226","fileSize":4439538,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2834229820.blk","md5":"14401237174109268540","fileSize":7377898,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1660981816.blk","md5":"9767319549086044728","fileSize":4668162,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3583094931.blk","md5":"1508934830573858963","fileSize":7660435,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1285649203.blk","md5":"12371957393983107891","fileSize":6318829,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/250361434.blk","md5":"9319307896962168410","fileSize":8321273,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/57098200.blk","md5":"16004376956294873048","fileSize":7549848,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1117010532.blk","md5":"13717247051930286692","fileSize":6370468,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/312034189.blk","md5":"261548609396884365","fileSize":6922413,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/40824167.blk","md5":"2065272643940969831","fileSize":4456710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3284617300.blk","md5":"3636035254978299988","fileSize":9288248,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2039602469.blk","md5":"8496002791692688677","fileSize":9161373,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1771050759.blk","md5":"11855937346099746567","fileSize":5446170,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4074009154.blk","md5":"1396219208292135490","fileSize":5374461,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3395556126.blk","md5":"17755336165871063838","fileSize":5760192,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1191972425.blk","md5":"6387515702136016457","fileSize":4958254,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2583730335.blk","md5":"3788934445042538655","fileSize":6854159,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2336757954.blk","md5":"11693092145514158274","fileSize":4975756,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4179148197.blk","md5":"5580691916587580837","fileSize":4232325,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3778096173.blk","md5":"8218465562996583469","fileSize":8104956,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3977919289.blk","md5":"6891647150671412025","fileSize":4831552,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3321214561.blk","md5":"6619039386689713761","fileSize":6455985,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/397568777.blk","md5":"12838031472937036553","fileSize":4677641,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3473637593.blk","md5":"8037015087200567513","fileSize":4352135,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3328497719.blk","md5":"11504865793169217591","fileSize":4273746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3840690158.blk","md5":"14833417791124293614","fileSize":5009029,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1393748092.blk","md5":"8201866615819790460","fileSize":4219408,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2948656486.blk","md5":"9186848054530076006","fileSize":5286005,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/915900402.blk","md5":"743786193670866930","fileSize":4975801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2809025669.blk","md5":"3924828679392089221","fileSize":6723064,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/437163239.blk","md5":"18181444378064491751","fileSize":4970060,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2679199933.blk","md5":"16404561262571247805","fileSize":6238498,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1296616489.blk","md5":"118209020384824361","fileSize":5009116,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1511981600.blk","md5":"12075988904329544224","fileSize":6757058,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1802324804.blk","md5":"5089674635703569220","fileSize":4944715,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1903969620.blk","md5":"9745932330181870932","fileSize":6551239,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3095348030.blk","md5":"1272282883695788862","fileSize":6169229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1391700216.blk","md5":"7237388334626220280","fileSize":4300326,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1335846633.blk","md5":"2102645977472001769","fileSize":7611289,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/128604065.blk","md5":"2242600921578756001","fileSize":6036203,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3610397049.blk","md5":"14465120548510910841","fileSize":8311035,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/516386400.blk","md5":"10539907726958882400","fileSize":4965909,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/438997861.blk","md5":"9503979821452661605","fileSize":7503419,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1186582119.blk","md5":"9224285830988287591","fileSize":7168407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/511197701.blk","md5":"12225124633295733253","fileSize":4485292,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3028428453.blk","md5":"15677895346678277797","fileSize":6369023,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2276680012.blk","md5":"5790805060584956236","fileSize":4414288,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2003993533.blk","md5":"17530781607658685373","fileSize":7427192,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1674242020.blk","md5":"7149771422977157092","fileSize":4777078,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3556671670.blk","md5":"11601251800186781878","fileSize":5645147,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2897131453.blk","md5":"11273738084823250877","fileSize":4753077,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/623994228.blk","md5":"7453929108770219380","fileSize":4694611,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/253352115.blk","md5":"2426989610092058803","fileSize":4831005,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3703077086.blk","md5":"3782370512067918046","fileSize":4740219,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1861405975.blk","md5":"4569962878319381783","fileSize":7580811,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1115861211.blk","md5":"1543004836570771675","fileSize":7336570,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4058493611.blk","md5":"11505343445802136235","fileSize":4709268,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2760709082.blk","md5":"11362344003032650714","fileSize":7027581,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1142085053.blk","md5":"2949691395806516669","fileSize":8680797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/677171779.blk","md5":"15991101066974122563","fileSize":7351864,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2117240544.blk","md5":"3594911457347798752","fileSize":4785540,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2552969084.blk","md5":"12581552671173588860","fileSize":5286703,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2456837503.blk","md5":"4465076547731086719","fileSize":7926671,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1001160143.blk","md5":"10353664055564860879","fileSize":5050056,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/757048976.blk","md5":"8848981980392433296","fileSize":4837716,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3566899920.blk","md5":"475140089355866832","fileSize":6080876,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1924390066.blk","md5":"15856212784157285554","fileSize":7789263,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/971690124.blk","md5":"8085568830986440844","fileSize":4776581,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1644127975.blk","md5":"5533568258730321639","fileSize":6410923,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3465190651.blk","md5":"12443640524886940923","fileSize":4486367,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4140723830.blk","md5":"10957300580918128246","fileSize":4587638,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3512337507.blk","md5":"8913780837642273891","fileSize":4951738,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3803568122.blk","md5":"13694048785199912954","fileSize":8407229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1893247158.blk","md5":"14108974965186930870","fileSize":7606344,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1345380217.blk","md5":"930029934698618745","fileSize":5156346,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1516715935.blk","md5":"2843645183309332383","fileSize":4309418,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1956865898.blk","md5":"8289212580302645098","fileSize":4213765,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1099540112.blk","md5":"5601144144044598928","fileSize":4341008,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1230279249.blk","md5":"17849516670428942929","fileSize":4199929,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3217730091.blk","md5":"9757675330428643883","fileSize":4408348,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1756029033.blk","md5":"623633204505141353","fileSize":4242445,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/946893847.blk","md5":"8793353203387233303","fileSize":4304222,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/835721160.blk","md5":"4130175058160129992","fileSize":4205719,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2129764974.blk","md5":"15688588173669147246","fileSize":8829157,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1299758208.blk","md5":"5258509481779182720","fileSize":4201373,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/29789432.blk","md5":"14699771032265723128","fileSize":7353088,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3746503269.blk","md5":"266608634061855333","fileSize":4200560,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4185701843.blk","md5":"9453177916935159251","fileSize":7356160,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1634590665.blk","md5":"10215111842908200905","fileSize":4202072,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3915728367.blk","md5":"15763294346975462895","fileSize":7354386,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1846645655.blk","md5":"6377560342260716439","fileSize":4201794,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2978336676.blk","md5":"9039485939927601060","fileSize":22977336,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1065850703.blk","md5":"15039356947592091471","fileSize":16114132,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3330130643.blk","md5":"4306029550241694419","fileSize":10999452,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2277168864.blk","md5":"5207003423194142432","fileSize":4213311,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2351543929.blk","md5":"7546626105452115577","fileSize":4208333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3848220325.blk","md5":"14881288294022196901","fileSize":9461877,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3338031069.blk","md5":"17469746116512075741","fileSize":4210531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/33078871.blk","md5":"13340014043104591447","fileSize":4205078,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1459970199.blk","md5":"325184160262348951","fileSize":9471476,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1533853130.blk","md5":"14758904242285362634","fileSize":4212409,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/321171857.blk","md5":"11621605165930688913","fileSize":4211647,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1988415899.blk","md5":"7823982474450751899","fileSize":9471634,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2249953868.blk","md5":"5370038448987804236","fileSize":4214136,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3507577679.blk","md5":"14875192249029845839","fileSize":4212195,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/947313193.blk","md5":"16493540446202944041","fileSize":20636495,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1075300749.blk","md5":"8533833803269392781","fileSize":18034542,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1851625747.blk","md5":"8274353947563364627","fileSize":6363121,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3462475072.blk","md5":"7718251071270890816","fileSize":4211268,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2821952219.blk","md5":"6987251884573823707","fileSize":4206753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2328498805.blk","md5":"896733416467862133","fileSize":4211337,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3437682803.blk","md5":"3954386297059467379","fileSize":4208111,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/776986041.blk","md5":"12107456071683005881","fileSize":4210720,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/348909003.blk","md5":"2892021322941722059","fileSize":4207476,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3497270692.blk","md5":"4197462406482632100","fileSize":4212891,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3934712924.blk","md5":"17508078532721833052","fileSize":20535890,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2577980142.blk","md5":"4891598089181780718","fileSize":6985363,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2390515945.blk","md5":"12115587481474982121","fileSize":4720029,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1966406119.blk","md5":"13248428016389126631","fileSize":4717757,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4162131278.blk","md5":"7048990653519566158","fileSize":4195542,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2823183780.blk","md5":"27900325126364580","fileSize":5243786,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/332528537.blk","md5":"12194384607286786969","fileSize":4720339,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1679716718.blk","md5":"14989705455521919342","fileSize":4717954,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/136135204.blk","md5":"6789534265007489572","fileSize":4720156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3484409426.blk","md5":"10004685007331778130","fileSize":21687987,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3768088132.blk","md5":"743970545109333572","fileSize":17129329,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/626617774.blk","md5":"4482092025211612590","fileSize":9555558,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3617206037.blk","md5":"5885904167663972117","fileSize":4714849,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2365473545.blk","md5":"9685255077089919753","fileSize":9902369,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3541999327.blk","md5":"7547300377853337311","fileSize":4701618,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2978850764.blk","md5":"5430431002773006284","fileSize":9901623,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4016511432.blk","md5":"4708993840884160968","fileSize":4703716,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4009902873.blk","md5":"16861332728048665369","fileSize":9902971,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2965922116.blk","md5":"6286530933902827844","fileSize":4704395,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2009150477.blk","md5":"14759239666821575693","fileSize":23880073,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4082498764.blk","md5":"15281595889241947340","fileSize":5641946,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2426248037.blk","md5":"5548497290955430757","fileSize":4916234,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3567229384.blk","md5":"8356568638460762568","fileSize":5390249,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/844334151.blk","md5":"12231688344384537671","fileSize":9145443,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3740101279.blk","md5":"4589791301094697631","fileSize":4704975,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/921004200.blk","md5":"1254923413984995496","fileSize":4216028,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3436724414.blk","md5":"11952602488774344894","fileSize":6846331,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1513307370.blk","md5":"8743598082298690794","fileSize":4238131,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3051586501.blk","md5":"13469427840317621189","fileSize":4213075,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4129713630.blk","md5":"8884237836994637278","fileSize":7713859,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3666101024.blk","md5":"6227575769661719328","fileSize":4818627,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/92447838.blk","md5":"2528087822909482078","fileSize":5450161,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2360057238.blk","md5":"13390366446713544086","fileSize":19263084,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1719970253.blk","md5":"11694232604743346637","fileSize":20458557,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/498941210.blk","md5":"8952445946998635802","fileSize":8365559,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/382182490.blk","md5":"1900806689977246810","fileSize":4706396,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3375206305.blk","md5":"6797134062552977313","fileSize":5759548,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/876401363.blk","md5":"6124204343668036307","fileSize":4198667,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1870408435.blk","md5":"3080544125032606451","fileSize":6279206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2929082530.blk","md5":"13910262669276233890","fileSize":4718419,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3540762431.blk","md5":"3016658820342202175","fileSize":5789071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/949543226.blk","md5":"5430702674605039930","fileSize":4216707,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2760082473.blk","md5":"10685925566315725865","fileSize":21145679,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3296558000.blk","md5":"3981809684578139056","fileSize":18395294,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/207200857.blk","md5":"8802804136448467545","fileSize":4634004,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2020373303.blk","md5":"16746543853853242167","fileSize":8003022,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2351507207.blk","md5":"1415948495326095111","fileSize":11233850,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/427191960.blk","md5":"3039280199523266200","fileSize":6500241,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3447414028.blk","md5":"5243212219167759628","fileSize":4799577,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3682605061.blk","md5":"15045588612747892741","fileSize":9658461,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1634808234.blk","md5":"4621836758654464426","fileSize":5021419,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/315929335.blk","md5":"5526554257980175095","fileSize":4803824,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1736667684.blk","md5":"9021281805701181988","fileSize":5808601,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/598307330.blk","md5":"14389519332858753538","fileSize":8391648,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/695084051.blk","md5":"9710531271489102867","fileSize":9904212,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3321297086.blk","md5":"11626604635417409726","fileSize":4470743,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2104636025.blk","md5":"17301982858745885305","fileSize":4416032,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1914964314.blk","md5":"935875424412764506","fileSize":4237321,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3829315372.blk","md5":"3347535889864505132","fileSize":4256586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/395779622.blk","md5":"15618148917279399462","fileSize":4204720,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2977007773.blk","md5":"15496158190658226333","fileSize":10605505,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2154576432.blk","md5":"4197371588056463920","fileSize":9600270,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/790849133.blk","md5":"13296321848366294637","fileSize":4996520,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3595327857.blk","md5":"13815289230652103025","fileSize":4385341,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1970170.blk","md5":"14178203509620346874","fileSize":11046933,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/55699643.blk","md5":"11337132971796850875","fileSize":4308997,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3531447384.blk","md5":"2873733303838284888","fileSize":4613222,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/577806717.blk","md5":"6953332910685462909","fileSize":6086788,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3876275196.blk","md5":"5515916052750091260","fileSize":4444406,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2327885205.blk","md5":"4737245850600781205","fileSize":10074550,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1998578356.blk","md5":"17324682735756763828","fileSize":4425522,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/194493271.blk","md5":"2064928810487757655","fileSize":8427195,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2024217173.blk","md5":"11025177095191337557","fileSize":7493852,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3977105746.blk","md5":"10856863006760751442","fileSize":4271984,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/707778512.blk","md5":"4129456351089776592","fileSize":6126653,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2244991898.blk","md5":"1032118945992137626","fileSize":4465993,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1201832069.blk","md5":"5782476069951144069","fileSize":7015278,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2651196520.blk","md5":"5514041976905141352","fileSize":6391577,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3013916738.blk","md5":"11978029970349144130","fileSize":4277846,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3306136624.blk","md5":"3290509826140906544","fileSize":6053420,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/386583570.blk","md5":"9869058969342495762","fileSize":4443865,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2611714277.blk","md5":"2156883585970968805","fileSize":5395363,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1875682860.blk","md5":"5560458757144356396","fileSize":4256372,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3717193694.blk","md5":"4978312672573382622","fileSize":4194990,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2727628879.blk","md5":"13533843188268421199","fileSize":4525084,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1486231744.blk","md5":"12611121213542373568","fileSize":10487790,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3886086840.blk","md5":"11601628555047402168","fileSize":5592538,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1425266745.blk","md5":"8035161042259793977","fileSize":4835318,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/955726452.blk","md5":"16690504966346324596","fileSize":7606448,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/177432158.blk","md5":"9145991389376636510","fileSize":4448141,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1944001438.blk","md5":"4546898650619386782","fileSize":8598168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3240004744.blk","md5":"344511411795168392","fileSize":10996484,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1984879908.blk","md5":"14484782155547204900","fileSize":4246249,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3816706832.blk","md5":"16976973824652104464","fileSize":6518549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3156215247.blk","md5":"16023245918956422607","fileSize":4390026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3375868874.blk","md5":"5837035917859597258","fileSize":4557524,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/224182933.blk","md5":"8537264051063669397","fileSize":9064639,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1993442354.blk","md5":"1479665777913201714","fileSize":4537996,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3814360641.blk","md5":"4954500978844534337","fileSize":5763543,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1409029767.blk","md5":"16445050016784717447","fileSize":7090170,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/194802818.blk","md5":"5475414150985053314","fileSize":5746825,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3426862834.blk","md5":"7364628752850077426","fileSize":5310523,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2312205045.blk","md5":"1111914116954551029","fileSize":4269219,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/828068689.blk","md5":"627257674938667857","fileSize":5515652,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2125736125.blk","md5":"9413964266462259389","fileSize":5554340,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/920299142.blk","md5":"8202152183426885254","fileSize":5153927,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3345975953.blk","md5":"9676264234051144337","fileSize":4421962,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3565026284.blk","md5":"6098790127218064364","fileSize":4436606,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4145033463.blk","md5":"5474185725569151223","fileSize":4591252,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2534661871.blk","md5":"3964018194109423343","fileSize":5816018,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/875036126.blk","md5":"13060162917061098974","fileSize":4775429,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/690717993.blk","md5":"13115644977988994345","fileSize":5288537,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/282810216.blk","md5":"13565056263646828392","fileSize":4295144,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3526302851.blk","md5":"2990932593289927811","fileSize":5431633,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2545302103.blk","md5":"14677718203077376599","fileSize":6387711,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1249867313.blk","md5":"12999756079318398513","fileSize":7804584,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1384091707.blk","md5":"9629584745104904251","fileSize":6220241,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2944577372.blk","md5":"15001836003503812444","fileSize":6704904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2314680748.blk","md5":"4564838415852845484","fileSize":8667870,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2778082898.blk","md5":"10789244054065786450","fileSize":5593958,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2593373182.blk","md5":"11041164269706263550","fileSize":6175847,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/712304936.blk","md5":"9570835123741714728","fileSize":4641946,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3498810281.blk","md5":"15990202403723647913","fileSize":4547863,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3964381351.blk","md5":"13530040717519071399","fileSize":5332392,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2685589730.blk","md5":"5525336770265405666","fileSize":4265007,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3245973134.blk","md5":"15822531840922197646","fileSize":5035916,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/642678671.blk","md5":"13015646156331319183","fileSize":5530830,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2200816433.blk","md5":"3414759874539408177","fileSize":5585095,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4130922894.blk","md5":"16867372826577396110","fileSize":6156144,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/906136725.blk","md5":"3053110333997747349","fileSize":7256570,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2160174645.blk","md5":"11406422491581752885","fileSize":5763510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1728029067.blk","md5":"7967438964606869899","fileSize":4944803,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/929916217.blk","md5":"18255019401720718649","fileSize":5009205,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3925605525.blk","md5":"14808266239385533589","fileSize":7163121,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4253312120.blk","md5":"17132106686610564216","fileSize":5694051,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4059005363.blk","md5":"10470466368547291571","fileSize":4471674,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2916670166.blk","md5":"8902230506051525334","fileSize":4239031,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3967173839.blk","md5":"4347625072189916367","fileSize":4216242,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/16250247.blk","md5":"15677563063521244551","fileSize":5102214,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/995344059.blk","md5":"13478648201037987515","fileSize":4508634,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3947638428.blk","md5":"14211521726659702428","fileSize":4832441,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3138408744.blk","md5":"7732147008136302888","fileSize":4472734,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1620020025.blk","md5":"2547844403415714617","fileSize":7518407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3105332543.blk","md5":"4543394409438747967","fileSize":4242218,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/853435121.blk","md5":"10616223957501502193","fileSize":5527830,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/883878186.blk","md5":"8610779744208611626","fileSize":4761618,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/287640351.blk","md5":"357906492716026655","fileSize":4273421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/915833964.blk","md5":"16406970333734012012","fileSize":12514858,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1839365391.blk","md5":"15527693840862575887","fileSize":5783972,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3674359720.blk","md5":"4342181428482688936","fileSize":5339799,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/149630810.blk","md5":"10612808414120324954","fileSize":4214074,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1903788527.blk","md5":"12970469724478079471","fileSize":4207721,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/565282856.blk","md5":"10766085669797333032","fileSize":8086379,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/156078765.blk","md5":"1676729909387301549","fileSize":6080704,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1205665270.blk","md5":"3430455333311282678","fileSize":12927563,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/793295698.blk","md5":"14826827216595762002","fileSize":4535938,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/299880920.blk","md5":"10789927681532088792","fileSize":4212490,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3520934596.blk","md5":"2999320307931361988","fileSize":4920039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3649637947.blk","md5":"3258002163913788987","fileSize":4681265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4242784325.blk","md5":"7241051137126940741","fileSize":6066034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/611761774.blk","md5":"9984209022753357422","fileSize":6350877,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3760933602.blk","md5":"5895142294569044706","fileSize":7678236,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2220836314.blk","md5":"2773874157549471194","fileSize":4523554,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1034151062.blk","md5":"12269005507228066966","fileSize":4400183,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2279370325.blk","md5":"15687163404317650517","fileSize":7900834,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/257209946.blk","md5":"15619634297220413018","fileSize":5072870,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1849569410.blk","md5":"15867232368788910210","fileSize":6195443,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2275169875.blk","md5":"18162989803079751251","fileSize":5179174,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/904128037.blk","md5":"10737463170557011493","fileSize":6741423,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4177210222.blk","md5":"11813481532360436590","fileSize":4401938,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1558562175.blk","md5":"4389533951906399615","fileSize":4209384,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3678526297.blk","md5":"11142945512418827097","fileSize":4443073,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2834175353.blk","md5":"18270319180939924857","fileSize":4246498,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/396381560.blk","md5":"16971417022608985464","fileSize":4292549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1032365244.blk","md5":"5660354228112630972","fileSize":4405621,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3376327519.blk","md5":"5292370911528135519","fileSize":4308927,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/90516715.blk","md5":"3941259799913901291","fileSize":4218840,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2915420782.blk","md5":"8476690317503220334","fileSize":4434391,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1831197899.blk","md5":"13171656128672947403","fileSize":4208504,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1817687631.blk","md5":"14720959108452169295","fileSize":4685119,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2987697387.blk","md5":"11143595065401976043","fileSize":4254014,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2634968451.blk","md5":"6195461271661211011","fileSize":4238036,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3571492558.blk","md5":"3355948463524193998","fileSize":4225715,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1879644246.blk","md5":"17514766997337479254","fileSize":4224907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/720629792.blk","md5":"4578399481438138400","fileSize":4361956,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1395806875.blk","md5":"7186913947687211675","fileSize":4359575,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/254427175.blk","md5":"7077361648791076903","fileSize":4254326,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1520006784.blk","md5":"7574486861685028480","fileSize":4488026,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/771477520.blk","md5":"2347758669568659472","fileSize":4304662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1915540542.blk","md5":"17062501056999380030","fileSize":4272349,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1057229472.blk","md5":"10960100896511625888","fileSize":4564558,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2567803322.blk","md5":"4809868546610663866","fileSize":5346377,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1073302059.blk","md5":"7446199971972991531","fileSize":5303738,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1579060504.blk","md5":"13700700609280118040","fileSize":4212407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3344599306.blk","md5":"18432767978595059978","fileSize":5334313,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/285765963.blk","md5":"17522356310329815371","fileSize":21561108,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2226851153.blk","md5":"2048726641101442385","fileSize":15816404,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/824902453.blk","md5":"15098934285549896501","fileSize":5045159,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/790842310.blk","md5":"6512106161756654534","fileSize":4304557,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4136512782.blk","md5":"10727921169501924622","fileSize":4687133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1455968396.blk","md5":"16755498941705375884","fileSize":4216100,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2669884249.blk","md5":"6681584344775209817","fileSize":7330573,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/146691014.blk","md5":"5453770513652274118","fileSize":17891571,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3043009936.blk","md5":"17508166849242637712","fileSize":18634412,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3023939381.blk","md5":"6325337569797973813","fileSize":4851192,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1676420944.blk","md5":"8225214517885019984","fileSize":4708673,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3062127503.blk","md5":"13776252482818956175","fileSize":4943179,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1726963373.blk","md5":"137605844743184045","fileSize":4256639,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3910754462.blk","md5":"11461043735624245406","fileSize":6846111,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3021912383.blk","md5":"5625038599517813055","fileSize":7371558,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1739894725.blk","md5":"1487939851766771653","fileSize":7371430,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/704670548.blk","md5":"12641674343089204052","fileSize":4210156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/383494399.blk","md5":"4245864206598646015","fileSize":4269164,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3286454880.blk","md5":"12541960885983466080","fileSize":18791050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1740026638.blk","md5":"9737187871092552462","fileSize":21943939,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2032947056.blk","md5":"11260176836391096176","fileSize":5521853,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/147826893.blk","md5":"4245209855210531021","fileSize":6567161,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3001486401.blk","md5":"13353991931238485057","fileSize":4213829,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3348078522.blk","md5":"9466545666798886842","fileSize":6814975,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4191706644.blk","md5":"11008651974464265748","fileSize":7311877,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3306064675.blk","md5":"10615643065627347747","fileSize":7320299,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3293420441.blk","md5":"1775256543899261849","fileSize":4359227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1312205552.blk","md5":"15662191222245993200","fileSize":17801536,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/96996827.blk","md5":"18235726871650635227","fileSize":4486231,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1372150225.blk","md5":"14682819240072403409","fileSize":20791282,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/597400171.blk","md5":"15039593324943743595","fileSize":4247684,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2853324288.blk","md5":"14542654542921745920","fileSize":7263013,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2892127841.blk","md5":"14555660743314923105","fileSize":8311221,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/192918157.blk","md5":"4773281740770751117","fileSize":4322208,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3365462401.blk","md5":"5013143276444246401","fileSize":6767328,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2071818443.blk","md5":"15571390670860808395","fileSize":7276763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3424859295.blk","md5":"10401038182918599839","fileSize":7345208,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/532578429.blk","md5":"1475140792182800509","fileSize":4839501,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3622250054.blk","md5":"14032027286323537478","fileSize":19551288,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/85987658.blk","md5":"7114308022454718794","fileSize":19756878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2799983993.blk","md5":"15162006474972224889","fileSize":8866379,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2515706686.blk","md5":"5623713545766216510","fileSize":4313954,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2324529834.blk","md5":"917707249303782058","fileSize":4215515,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3242845379.blk","md5":"9345440263394944195","fileSize":4453847,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3775844468.blk","md5":"3941203092851052660","fileSize":4766999,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/638851252.blk","md5":"14907096259668220084","fileSize":22280105,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3930363671.blk","md5":"14579745559444494103","fileSize":16133787,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/392203721.blk","md5":"16476424794814844361","fileSize":5793350,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1037600129.blk","md5":"15647130360802215297","fileSize":4660370,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/572710762.blk","md5":"5652730828206301034","fileSize":4657720,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3781274210.blk","md5":"3456913670165080674","fileSize":4229199,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/544286264.blk","md5":"576962662725920312","fileSize":4576039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/439377596.blk","md5":"15164995250158591676","fileSize":5069476,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/281274090.blk","md5":"3909440809770149610","fileSize":20715492,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3184157923.blk","md5":"16533956984048346339","fileSize":22049787,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/839055194.blk","md5":"9746493320565290842","fileSize":7304059,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3002736591.blk","md5":"1588018552441020367","fileSize":8306426,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3573272525.blk","md5":"13205156840964083661","fileSize":8332679,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2185650791.blk","md5":"15871381835813904999","fileSize":4216407,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/322463080.blk","md5":"14415714217862129000","fileSize":4707200,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4225623890.blk","md5":"16404652819935520594","fileSize":5714874,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2249453364.blk","md5":"10968411436083310388","fileSize":6310567,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1411131189.blk","md5":"16971491992277886773","fileSize":4584493,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1465553940.blk","md5":"18027102865295315988","fileSize":20896800,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2797847714.blk","md5":"11427183307566335138","fileSize":16638646,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/206153334.blk","md5":"2698744182411470454","fileSize":4653438,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/955100199.blk","md5":"16173239270086913063","fileSize":4218489,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/617390523.blk","md5":"3450789077996839355","fileSize":4251558,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/992063895.blk","md5":"4531318939269050775","fileSize":4215465,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2240135401.blk","md5":"18142183916311003369","fileSize":4817206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3902769920.blk","md5":"16087940183153937152","fileSize":19468855,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3908825033.blk","md5":"2313175419944955849","fileSize":15711986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/603026916.blk","md5":"16201867820922926564","fileSize":6327357,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1926261343.blk","md5":"8999800587089373791","fileSize":8318996,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3825326856.blk","md5":"4513758354132294408","fileSize":8389988,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1716340911.blk","md5":"4430680821091616943","fileSize":4216919,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/775219345.blk","md5":"2518742047770601617","fileSize":4652949,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/360235719.blk","md5":"10159317248636404423","fileSize":4491984,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2421258895.blk","md5":"4175304905349757583","fileSize":4244503,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1101715215.blk","md5":"14479470976630970127","fileSize":4697748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3234514655.blk","md5":"11391112952880482015","fileSize":20264397,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3491822028.blk","md5":"1510266154380229068","fileSize":4261260,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2725949535.blk","md5":"3491764146146029663","fileSize":18231611,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/770329506.blk","md5":"11702473323184802722","fileSize":7732052,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1089482702.blk","md5":"15737722430991380430","fileSize":4749876,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3033492014.blk","md5":"4495292377674508846","fileSize":4876576,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1516802414.blk","md5":"2556388287265149294","fileSize":6125898,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/289408838.blk","md5":"11857114732592891718","fileSize":4225267,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/782550127.blk","md5":"18048314711654843503","fileSize":4240097,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/222635483.blk","md5":"6011277961901450715","fileSize":4214376,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1095159606.blk","md5":"8620789663919427382","fileSize":20230038,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1989636172.blk","md5":"6683924233687887948","fileSize":23709981,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2410507803.blk","md5":"7721633417094065691","fileSize":9046076,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3988694832.blk","md5":"17772056650241189680","fileSize":4406624,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/623462469.blk","md5":"15584872563164661829","fileSize":4534989,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/118439935.blk","md5":"8954928991766003711","fileSize":4269262,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2131195055.blk","md5":"17948246458952545455","fileSize":5264028,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3744800372.blk","md5":"2198476737593286260","fileSize":6320203,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/156575987.blk","md5":"17478852066768398579","fileSize":6316593,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3973157653.blk","md5":"2084188431169196821","fileSize":4331643,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3236493978.blk","md5":"674246809998654106","fileSize":8027615,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4124272536.blk","md5":"7343676971069695896","fileSize":20171844,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3529502364.blk","md5":"5298402497463840412","fileSize":19641882,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3938317028.blk","md5":"17863213727570850532","fileSize":4576576,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/777141134.blk","md5":"6080060467837025166","fileSize":6418145,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1760761696.blk","md5":"16187226720950228832","fileSize":7382415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2286689884.blk","md5":"7252577564672925276","fileSize":7373381,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2129302045.blk","md5":"17398169961329496605","fileSize":7377509,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/242595232.blk","md5":"3303061173510190496","fileSize":4504150,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1976046136.blk","md5":"12515285456977924664","fileSize":17366691,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4033428347.blk","md5":"2211727626818108283","fileSize":18283550,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/382557016.blk","md5":"6464715685477833560","fileSize":4202285,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/726863428.blk","md5":"2687808749519965764","fileSize":6662255,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2853994593.blk","md5":"3898654985526476897","fileSize":17893660,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/516097416.blk","md5":"3937568117034780040","fileSize":18710452,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2106791072.blk","md5":"13680815125975733408","fileSize":4543178,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4041745710.blk","md5":"16706440500691346734","fileSize":4593330,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4030884664.blk","md5":"11980643377361349432","fileSize":4197571,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2460833305.blk","md5":"5628349176928359961","fileSize":4753141,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2915198177.blk","md5":"4319469979964695777","fileSize":6334140,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3376475675.blk","md5":"15710549794399251995","fileSize":20829656,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1282110933.blk","md5":"11953647984738792917","fileSize":4487332,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/7288425.blk","md5":"12903915665277007465","fileSize":19795115,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2774513614.blk","md5":"9019504141250049998","fileSize":4748819,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/477114977.blk","md5":"2222457508129157729","fileSize":4207982,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/38526422.blk","md5":"5516389788100058582","fileSize":6797427,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/726185560.blk","md5":"16757292618102650456","fileSize":7314547,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3407406952.blk","md5":"1291170625462265704","fileSize":7324822,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/30204313.blk","md5":"4734230205735690649","fileSize":20413756,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2971779386.blk","md5":"8715082430079418682","fileSize":20008974,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1799106113.blk","md5":"9556069160408854081","fileSize":4590267,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/716190951.blk","md5":"6348391908258100455","fileSize":15534799,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/364359934.blk","md5":"382909606251704574","fileSize":4317690,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/576589104.blk","md5":"11007425865060322608","fileSize":11217362,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3160476714.blk","md5":"11941686580007210026","fileSize":8939027,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1088321952.blk","md5":"9679724772843223456","fileSize":11752474,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2580606720.blk","md5":"10171819849115823872","fileSize":14963304,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3462497741.blk","md5":"11438587481488983501","fileSize":5941242,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1507830167.blk","md5":"13418584789017930135","fileSize":8273428,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/644518287.blk","md5":"4249210433059852687","fileSize":6228799,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1545746176.blk","md5":"10389253267520632576","fileSize":7300448,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1063925019.blk","md5":"8118540539095823643","fileSize":6287421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/50421910.blk","md5":"10905269478988275862","fileSize":8528481,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1720636440.blk","md5":"9614577992270271512","fileSize":10214668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/15271068.blk","md5":"16113027766142174364","fileSize":5200892,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4084830526.blk","md5":"9119438565430366526","fileSize":5295748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1130275566.blk","md5":"3714602758857204462","fileSize":4714768,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/918208360.blk","md5":"528797632827146088","fileSize":4900484,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2133775673.blk","md5":"10411705961267778873","fileSize":5675668,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3171219808.blk","md5":"4631226709751167328","fileSize":4772632,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2378427915.blk","md5":"5318289221390429707","fileSize":4504442,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/926079501.blk","md5":"4722016255944612365","fileSize":6340244,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1360030008.blk","md5":"2953118453509155128","fileSize":4930336,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/493864784.blk","md5":"6704282239736203088","fileSize":4273549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1827273459.blk","md5":"1551088481129331443","fileSize":4673745,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/838832901.blk","md5":"2645879526541726469","fileSize":4892995,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3314649395.blk","md5":"6993988683004217651","fileSize":4986214,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1477120042.blk","md5":"17299520561957507114","fileSize":7447402,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/754300568.blk","md5":"16447290760697853592","fileSize":5555521,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1745166471.blk","md5":"2705881526243238023","fileSize":8839074,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3795714990.blk","md5":"7208127497936700334","fileSize":4228921,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1508858577.blk","md5":"11429080492116237009","fileSize":4323104,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/828089613.blk","md5":"12744337547784332557","fileSize":8262770,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2287862075.blk","md5":"10422058735275737403","fileSize":4744772,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/951971162.blk","md5":"16552892229903838554","fileSize":5642974,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2577475057.blk","md5":"14589740299176715761","fileSize":8375025,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3939074658.blk","md5":"6720109571329327714","fileSize":4923046,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1046686188.blk","md5":"3774792125517081068","fileSize":5161101,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/303546153.blk","md5":"13646635203200270121","fileSize":7616162,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/194384804.blk","md5":"9885228296954057636","fileSize":6424312,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1504146609.blk","md5":"2298846122445599921","fileSize":5333565,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2725937766.blk","md5":"17614617080780980838","fileSize":11484085,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1281523301.blk","md5":"13530263838387240549","fileSize":9839293,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1938525159.blk","md5":"4507229516624268263","fileSize":4414045,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4187575334.blk","md5":"3445283706587665446","fileSize":11796730,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1815182166.blk","md5":"9474269231939943254","fileSize":9394283,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1251335472.blk","md5":"11532179240473976112","fileSize":4883112,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/96668300.blk","md5":"2931569098083207820","fileSize":4236941,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2715046131.blk","md5":"4560119917937185011","fileSize":4780206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3834850295.blk","md5":"12243354371904187383","fileSize":11558654,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/409591809.blk","md5":"12407237023275540481","fileSize":11473687,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2035548963.blk","md5":"11117527791238906659","fileSize":14952410,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3952283651.blk","md5":"3825397842580803587","fileSize":8086943,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3391830375.blk","md5":"12798662280982772071","fileSize":5393105,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2413516696.blk","md5":"2384422419014834072","fileSize":4829489,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1544266909.blk","md5":"4582272808323359901","fileSize":7829213,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1909797068.blk","md5":"6188267509952884940","fileSize":8289891,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/757862850.blk","md5":"9504045113864360386","fileSize":4600353,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2332666493.blk","md5":"9859090566942927485","fileSize":5872905,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3644540796.blk","md5":"2031900236258690940","fileSize":4662583,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2963182753.blk","md5":"2951000258846299297","fileSize":5513093,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2740287129.blk","md5":"17094653853016880793","fileSize":5529641,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3270913487.blk","md5":"17983220984373980623","fileSize":8072209,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2765767173.blk","md5":"14136106059719918085","fileSize":8589868,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/238434275.blk","md5":"12089756343413913571","fileSize":6371342,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/962871225.blk","md5":"8040372245876719545","fileSize":9184891,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3444414323.blk","md5":"10930314184009553779","fileSize":10023014,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2750547202.blk","md5":"10824740829163291906","fileSize":9796899,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/336493228.blk","md5":"14917872070318521004","fileSize":5205842,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2901668439.blk","md5":"14861109969783353943","fileSize":4583410,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1435580653.blk","md5":"16323501733664864493","fileSize":11294841,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2266725198.blk","md5":"13076352033170881358","fileSize":12161024,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/52508491.blk","md5":"13284990899267385163","fileSize":17428801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2518110020.blk","md5":"15146016607800086340","fileSize":6737386,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/684967675.blk","md5":"15286030675800737531","fileSize":4964187,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2936991199.blk","md5":"4867031907399822815","fileSize":5372379,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3829158964.blk","md5":"17705014461153956916","fileSize":4653846,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3773702481.blk","md5":"15674560434167226705","fileSize":5002081,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2829816545.blk","md5":"18354326885819454177","fileSize":4873910,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4121617662.blk","md5":"3695733965494871294","fileSize":9388245,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2258155712.blk","md5":"16992095904726563008","fileSize":4645907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3045601549.blk","md5":"9475563744903311629","fileSize":5216398,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1103380944.blk","md5":"16172430923030348240","fileSize":4932967,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3397512308.blk","md5":"5429244505591245940","fileSize":4863269,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/404455456.blk","md5":"5367942112259833888","fileSize":4722664,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/274271862.blk","md5":"12604706012953906806","fileSize":4502958,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4120645228.blk","md5":"16211241710823149164","fileSize":6581674,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/831836974.blk","md5":"7979488653373395758","fileSize":8737894,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/688518599.blk","md5":"4410853442844227015","fileSize":9312439,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3843813044.blk","md5":"4941715758881959604","fileSize":4475104,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1671876863.blk","md5":"2169994896120140031","fileSize":6029857,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3627306655.blk","md5":"9125063039395319455","fileSize":5075990,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/93105895.blk","md5":"14895662643863662311","fileSize":6055767,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2739417343.blk","md5":"11894213202256867583","fileSize":4332737,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/900494645.blk","md5":"11672199640738723125","fileSize":5933134,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1135191015.blk","md5":"10204207504559809511","fileSize":5047293,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/765095069.blk","md5":"3117814093480357021","fileSize":5087807,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3498542227.blk","md5":"3409278526904829075","fileSize":4266911,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1506315899.blk","md5":"4289682967313813115","fileSize":5076339,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3490292412.blk","md5":"7523864983240286908","fileSize":5130750,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/470318522.blk","md5":"7289913314128723386","fileSize":4247810,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3156956745.blk","md5":"14033634527044916809","fileSize":5021527,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/689084605.blk","md5":"10554854277746170045","fileSize":7755794,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/624622153.blk","md5":"11773874010419034697","fileSize":8921211,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3948874740.blk","md5":"10284782030149323764","fileSize":17786565,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/883032125.blk","md5":"5322974273300725821","fileSize":4558642,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1328752712.blk","md5":"4619919983163680840","fileSize":17019033,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1694047050.blk","md5":"14063430710874151754","fileSize":6450409,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3736121247.blk","md5":"2525658593050537887","fileSize":4397346,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2826304945.blk","md5":"18046545363266305457","fileSize":5069563,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/544365614.blk","md5":"16276119125283200046","fileSize":6650037,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/547206909.blk","md5":"8166589385691477757","fileSize":7786867,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3692200755.blk","md5":"9621961751693263667","fileSize":5258021,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2216807000.blk","md5":"4458267989239777880","fileSize":5988195,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2143513090.blk","md5":"8896810750472055298","fileSize":7780152,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/816310458.blk","md5":"7764646864429246650","fileSize":9669363,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3298044056.blk","md5":"5962432023473957016","fileSize":10936505,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/827027157.blk","md5":"4841041022367264469","fileSize":9855976,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3068886791.blk","md5":"5144533030176259847","fileSize":5084682,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2313739872.blk","md5":"172718744868019808","fileSize":5347489,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/386573049.blk","md5":"17140017656020771577","fileSize":7001079,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/555956192.blk","md5":"16352063119274751968","fileSize":8529046,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/526549523.blk","md5":"12003172586153476627","fileSize":8674970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2531419892.blk","md5":"5885210696863606516","fileSize":10023711,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2727659996.blk","md5":"12674281981636561372","fileSize":10352968,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3515250023.blk","md5":"10156684256450344295","fileSize":5253968,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3754301850.blk","md5":"17464317956871035290","fileSize":6766978,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3299470150.blk","md5":"10758171250395835206","fileSize":8054632,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/724366943.blk","md5":"4504788298948736607","fileSize":4532457,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/250655831.blk","md5":"6549281194812421207","fileSize":10103104,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3889836143.blk","md5":"9598924616762011759","fileSize":7777339,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/828848140.blk","md5":"11898096980358281228","fileSize":6080429,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/265871690.blk","md5":"15326050888587993418","fileSize":4290145,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2509215139.blk","md5":"1602665485643519395","fileSize":6058908,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4091946409.blk","md5":"7000472271922275753","fileSize":7702764,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2656468101.blk","md5":"10940506235104296069","fileSize":6854294,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2158149858.blk","md5":"16117512663329849570","fileSize":4438054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1989323587.blk","md5":"11036187364078824259","fileSize":4305204,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1217178383.blk","md5":"4058337499973200655","fileSize":4217437,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1187542585.blk","md5":"5856713948288022073","fileSize":4256316,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/640261296.blk","md5":"15400180319389326512","fileSize":4315685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2706220697.blk","md5":"4160190980144604825","fileSize":4219050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1856329967.blk","md5":"749046069260015855","fileSize":4232398,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/369561699.blk","md5":"5840124382886170723","fileSize":4213855,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/605467134.blk","md5":"17541171673315062270","fileSize":4198672,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2576002394.blk","md5":"1659685613265923418","fileSize":4194796,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/646258623.blk","md5":"18032756488841535423","fileSize":4398878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2041609089.blk","md5":"15076624590248639361","fileSize":4742176,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4115454711.blk","md5":"9712584277866896119","fileSize":9207584,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1311891690.blk","md5":"16045352161029251306","fileSize":19918678,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3093814914.blk","md5":"14702419114595966594","fileSize":18589064,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1426029992.blk","md5":"10840972205035060648","fileSize":5269366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1937209090.blk","md5":"1183530166504617730","fileSize":4368533,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2446213846.blk","md5":"18002705089802683094","fileSize":4292309,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/755154715.blk","md5":"13356169919792856859","fileSize":5233813,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1977302084.blk","md5":"8886299590942997572","fileSize":4320205,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/28678700.blk","md5":"11768085983045982764","fileSize":4199415,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/554800873.blk","md5":"3594859997782185705","fileSize":7335950,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2340834349.blk","md5":"5250681763189378093","fileSize":19388885,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3214907313.blk","md5":"2795218067240490929","fileSize":4496086,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2067831170.blk","md5":"17988515174608312706","fileSize":11899752,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3328986603.blk","md5":"15253346643042127339","fileSize":11076388,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3070252942.blk","md5":"8746256307834607502","fileSize":4216753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/80802894.blk","md5":"6038047346159318094","fileSize":4195641,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/708708863.blk","md5":"11091975753862875647","fileSize":4731220,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/324204105.blk","md5":"8360178074193688137","fileSize":18225665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3892447403.blk","md5":"1043320368376449195","fileSize":5081711,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1536880193.blk","md5":"11230332160422112833","fileSize":20201862,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3150980882.blk","md5":"14850123332020348690","fileSize":6018128,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1343451370.blk","md5":"2656021323516702954","fileSize":5582360,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2279571687.blk","md5":"16355325440717455591","fileSize":18367639,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1298797697.blk","md5":"7959993939017733249","fileSize":24090626,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3075615414.blk","md5":"2986615695440226998","fileSize":4883780,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2906958416.blk","md5":"3618584063742618192","fileSize":4213758,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2322947137.blk","md5":"12577711381043043393","fileSize":20947939,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1321415843.blk","md5":"13840077894120060067","fileSize":20745050,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/531321832.blk","md5":"4226928997313500136","fileSize":6089570,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1517913958.blk","md5":"16694579331799287654","fileSize":6698327,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3063551796.blk","md5":"326684522791442228","fileSize":5263711,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/260914915.blk","md5":"11727110105488768739","fileSize":5860736,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3733517694.blk","md5":"11760928032910013822","fileSize":4237924,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1753762463.blk","md5":"4035558286756956831","fileSize":7144371,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4059583186.blk","md5":"14099102053015507666","fileSize":5238665,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3843913203.blk","md5":"5940258422130570739","fileSize":4769214,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3713975329.blk","md5":"17382084107799807009","fileSize":6577054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1539408727.blk","md5":"1384902508098454359","fileSize":7675200,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1617430009.blk","md5":"1491013059658384889","fileSize":5241174,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/724213107.blk","md5":"4210561826329107827","fileSize":5425021,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2744876066.blk","md5":"3626457546087955490","fileSize":7866809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/28252313.blk","md5":"7273588980513183897","fileSize":5576074,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1782897325.blk","md5":"4631734270418016941","fileSize":4583913,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3279592638.blk","md5":"5712687719666851006","fileSize":4382982,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2697804361.blk","md5":"2632477125903202889","fileSize":6019747,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/62543654.blk","md5":"14200894783978362662","fileSize":5092185,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/263054780.blk","md5":"18367045758884898236","fileSize":5085586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3270718639.blk","md5":"1479341036713227439","fileSize":4810646,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3295198926.blk","md5":"4319819294329847502","fileSize":6491584,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/909847024.blk","md5":"7537799190302894576","fileSize":4453821,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1565556193.blk","md5":"5264191680827915745","fileSize":4626444,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2579493439.blk","md5":"9915281001553064511","fileSize":4290585,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2559225549.blk","md5":"1587965096834543309","fileSize":4500774,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4233176683.blk","md5":"18031411978686244459","fileSize":6230427,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/775530386.blk","md5":"12274233491485992850","fileSize":4451372,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2310961935.blk","md5":"12747518243132832527","fileSize":4373433,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2874138535.blk","md5":"12573602747159404455","fileSize":4904710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1119135820.blk","md5":"10211795479100172364","fileSize":5624441,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2769262855.blk","md5":"6457007836475922695","fileSize":5060221,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3537026742.blk","md5":"15504330564794760886","fileSize":4821055,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1570668150.blk","md5":"14329383512444927606","fileSize":4801155,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1906269573.blk","md5":"14293807040242343301","fileSize":4332109,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/435917160.blk","md5":"6996980184976691560","fileSize":4366899,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2428034582.blk","md5":"4930434669380951574","fileSize":4500072,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1553031212.blk","md5":"1794674982657286188","fileSize":5079228,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2718910865.blk","md5":"5343523095192750481","fileSize":5560878,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3104946503.blk","md5":"7897154944331004231","fileSize":4334044,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3159563331.blk","md5":"7698256318872886339","fileSize":5572775,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2208251309.blk","md5":"12825857548860997037","fileSize":4696774,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1993775213.blk","md5":"8364990676912740461","fileSize":4941275,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3956278044.blk","md5":"16960065217152156444","fileSize":6863743,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3327760844.blk","md5":"7490934283408349644","fileSize":4547583,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/628929005.blk","md5":"12226390514894418413","fileSize":4351098,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4163845718.blk","md5":"18214460083158335062","fileSize":5574009,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2645670984.blk","md5":"11316410057831332936","fileSize":4488957,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3956525403.blk","md5":"4998023901231696219","fileSize":4246589,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2596667565.blk","md5":"14779319683194945709","fileSize":6155224,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3326797927.blk","md5":"3982136084943005799","fileSize":9217547,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2673493710.blk","md5":"17711467386367526606","fileSize":4905801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/330843555.blk","md5":"9382566194012767651","fileSize":4342284,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3456008789.blk","md5":"5305375398270239317","fileSize":6068097,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3852552254.blk","md5":"12156079193358157886","fileSize":4260268,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1889655347.blk","md5":"7023967841068112435","fileSize":5032535,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3417752919.blk","md5":"6008097958425707863","fileSize":4578614,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1825189022.blk","md5":"8478828986788097182","fileSize":4621043,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4162479870.blk","md5":"3662348299980662526","fileSize":4343246,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3798465201.blk","md5":"674794144012958385","fileSize":4509827,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1918093206.blk","md5":"17098349714502567830","fileSize":5955068,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1936209649.blk","md5":"15943904523020941041","fileSize":7470280,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1475669955.blk","md5":"6824203328259682243","fileSize":6148682,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/183552266.blk","md5":"6409767041924909322","fileSize":4924674,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2447103411.blk","md5":"6723158799049020851","fileSize":7920648,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/985293869.blk","md5":"12790646413607986221","fileSize":5488603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/392585491.blk","md5":"11310491032298610963","fileSize":5852797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1825899140.blk","md5":"10500982177671742084","fileSize":4278194,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2805137877.blk","md5":"11463356179270533589","fileSize":4864998,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4071650338.blk","md5":"4161754770512573474","fileSize":7876081,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/792530746.blk","md5":"6398363131268894522","fileSize":4652791,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2065005410.blk","md5":"9108362396804938594","fileSize":5312689,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3844481675.blk","md5":"11719087513890333323","fileSize":5988254,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2185230465.blk","md5":"5404670556937123969","fileSize":5095687,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3732802178.blk","md5":"15861338941102623362","fileSize":5889588,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2108345499.blk","md5":"13883676567490186395","fileSize":6724865,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3056027278.blk","md5":"6692619632268232334","fileSize":5151194,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2969775804.blk","md5":"13722361560968670908","fileSize":4706623,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3666692402.blk","md5":"9678097210449676594","fileSize":4470901,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4165554742.blk","md5":"9666371653877715510","fileSize":4317710,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/783405654.blk","md5":"16998850598318232150","fileSize":4217949,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4222603970.blk","md5":"18441731524680209090","fileSize":4206386,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2784360571.blk","md5":"4297962999818614907","fileSize":4297586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4002947472.blk","md5":"664866164103979408","fileSize":4199316,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1210371049.blk","md5":"10993895644969880553","fileSize":4208386,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/894678170.blk","md5":"14627157816353469594","fileSize":4219229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1235810100.blk","md5":"1706079874426926900","fileSize":4195532,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/907435883.blk","md5":"1479163914193624939","fileSize":4491963,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3758291617.blk","md5":"7465828082574883489","fileSize":9114660,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4033551017.blk","md5":"12858273099093318313","fileSize":4717531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/117289448.blk","md5":"7270166432833188328","fileSize":5768801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3900339956.blk","md5":"9942200337466816244","fileSize":4197746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1043064872.blk","md5":"11393619665401669672","fileSize":6290334,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2244368920.blk","md5":"13000686640812153368","fileSize":4195171,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3877273300.blk","md5":"4808303783960018644","fileSize":6283616,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3338898291.blk","md5":"16521280955164625779","fileSize":4712423,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4104456302.blk","md5":"15492409479905216622","fileSize":18634248,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/503458120.blk","md5":"3799959499457046856","fileSize":18702157,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1267314659.blk","md5":"12752053044653961187","fileSize":7270000,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2006493643.blk","md5":"3273270938511649227","fileSize":15027231,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/967223462.blk","md5":"8353115559464183974","fileSize":4676216,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/412837131.blk","md5":"7710467801501885707","fileSize":4672816,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2621915534.blk","md5":"5115241696367952270","fileSize":4666220,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1646040677.blk","md5":"11554036488351815269","fileSize":15650412,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/594835865.blk","md5":"2516915410884131225","fileSize":4694392,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2993577128.blk","md5":"3378790318797118632","fileSize":4715245,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4054547401.blk","md5":"5515761949501782985","fileSize":4695068,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/575640368.blk","md5":"6309248894736765744","fileSize":15680928,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/630481443.blk","md5":"14960930419129999907","fileSize":4709231,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4001387946.blk","md5":"993872345582032298","fileSize":4714568,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1562535871.blk","md5":"13835453498778609599","fileSize":4692947,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1766102292.blk","md5":"4094257089407653140","fileSize":15258754,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2018395979.blk","md5":"17241141906722670411","fileSize":4483268,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3209352718.blk","md5":"17888460425076069902","fileSize":4638584,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/720056026.blk","md5":"16295905593114963674","fileSize":4617924,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4213650384.blk","md5":"8724996856517964752","fileSize":19738742,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/885639744.blk","md5":"7825176740544236096","fileSize":19923993,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2504568277.blk","md5":"4969689858794106325","fileSize":6897830,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3555936881.blk","md5":"15137530994706565745","fileSize":16561089,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/808428558.blk","md5":"5398457412920255502","fileSize":4667620,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3271732210.blk","md5":"2210197964864007154","fileSize":4651746,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1051606176.blk","md5":"7006702694470401184","fileSize":4686168,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/947692667.blk","md5":"6669997912857814139","fileSize":18937071,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3903091070.blk","md5":"6654762812115808638","fileSize":4641011,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/348317849.blk","md5":"9084965298750285977","fileSize":4530362,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/484872944.blk","md5":"1599296816214872816","fileSize":4612984,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1351475049.blk","md5":"11330781476671053673","fileSize":16070719,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1303288053.blk","md5":"17178617842286631157","fileSize":4638361,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1756383342.blk","md5":"9356715418643875950","fileSize":4698097,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1404583153.blk","md5":"1335912921279511793","fileSize":17361179,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3345268683.blk","md5":"2205003721684074443","fileSize":4500871,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/402199588.blk","md5":"3963705428163499044","fileSize":4658491,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4146515512.blk","md5":"17390876696561241656","fileSize":7119174,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1073289060.blk","md5":"181206556782172004","fileSize":5236561,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3546072773.blk","md5":"9373363448112268997","fileSize":7967612,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2319011696.blk","md5":"11064179830940061552","fileSize":6555968,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1102211603.blk","md5":"15108685510856567315","fileSize":19514735,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/265151362.blk","md5":"2056859670815826818","fileSize":18025572,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/215244349.blk","md5":"17069083758400134717","fileSize":4852774,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1879883093.blk","md5":"9263034360906169685","fileSize":17396133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/915793449.blk","md5":"15198284717512582697","fileSize":4673849,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/736112151.blk","md5":"4163401440458452503","fileSize":4574172,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/479382525.blk","md5":"17035365847324085245","fileSize":4570481,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2370799470.blk","md5":"11728753430805579630","fileSize":20971066,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3193559464.blk","md5":"9259267581411973544","fileSize":4669604,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/594836723.blk","md5":"5812238320099687667","fileSize":4567254,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2875328731.blk","md5":"18442371267301607643","fileSize":4576183,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4048126898.blk","md5":"8829895033055970226","fileSize":20982537,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1603134528.blk","md5":"4007822246802220096","fileSize":4674012,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3630188635.blk","md5":"6491963652741023835","fileSize":4574149,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2565878470.blk","md5":"13709203838059164358","fileSize":4568123,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3170811694.blk","md5":"16617833439013289774","fileSize":20955251,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3853808681.blk","md5":"2792942083104863273","fileSize":4667630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2586243695.blk","md5":"8250873628378722927","fileSize":4560824,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1542915914.blk","md5":"14967858103506634570","fileSize":4570894,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1934286831.blk","md5":"4832440596277420015","fileSize":7807288,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/289444482.blk","md5":"9104492423337251458","fileSize":5430767,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1787420406.blk","md5":"565073902435950326","fileSize":20134188,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2829946496.blk","md5":"4231797967812398720","fileSize":18740797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2881737622.blk","md5":"17243659651774665622","fileSize":4668685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1166984048.blk","md5":"9905525523093570416","fileSize":4582429,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2456197791.blk","md5":"5913461965164288671","fileSize":4625941,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4131799207.blk","md5":"5761314330927055015","fileSize":24663536,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3763403894.blk","md5":"469785343371050102","fileSize":18941464,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1658803687.blk","md5":"11994202895980385767","fileSize":4274132,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2407171992.blk","md5":"11953798060611110808","fileSize":4660724,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2430124551.blk","md5":"7394337856683557383","fileSize":4635636,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4128183128.blk","md5":"17471187899168789336","fileSize":19465134,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2232774972.blk","md5":"3743263441798132028","fileSize":18155126,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3992753445.blk","md5":"17989585976304637221","fileSize":7106585,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2230456537.blk","md5":"8804856703342481625","fileSize":4640394,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3259307255.blk","md5":"6954799348345804023","fileSize":5608110,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2215012534.blk","md5":"13186072405829118134","fileSize":4624731,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1740403386.blk","md5":"7414826658176987834","fileSize":5654516,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/501698199.blk","md5":"18136882971446562455","fileSize":4671807,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/836125011.blk","md5":"9051730580308640083","fileSize":5648054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4075245745.blk","md5":"3952132612392702129","fileSize":4664768,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3817342986.blk","md5":"12060438900230326282","fileSize":10393908,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1782960427.blk","md5":"11098422402064175403","fileSize":20731629,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4006081275.blk","md5":"804023452389864187","fileSize":19698534,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3386213922.blk","md5":"8737083988878132770","fileSize":4454657,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/851941357.blk","md5":"15492999295921526765","fileSize":4244140,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1206403437.blk","md5":"8179123526849544557","fileSize":19183987,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3883254261.blk","md5":"5746385230516044277","fileSize":17858068,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2646670241.blk","md5":"5494369068179848097","fileSize":4355809,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3662741852.blk","md5":"6199933261357056348","fileSize":5726496,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2215384625.blk","md5":"11439157216243619377","fileSize":4683586,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2384022399.blk","md5":"14591197963638885247","fileSize":6776552,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1837659199.blk","md5":"5449141816203441215","fileSize":4681639,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2281991892.blk","md5":"9519324062112050900","fileSize":6776863,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3382432680.blk","md5":"1510379988084052904","fileSize":4681229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/93343176.blk","md5":"13178800427074866632","fileSize":6776193,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4135828787.blk","md5":"13000484010441555251","fileSize":4682173,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3686810217.blk","md5":"15943085538932703849","fileSize":19710633,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2771274869.blk","md5":"8779958855777799285","fileSize":20570781,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3841030782.blk","md5":"4440918036680112766","fileSize":12312265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1618315449.blk","md5":"11875073091698002105","fileSize":4698158,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/846578783.blk","md5":"3482356009814836319","fileSize":4668834,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4139842922.blk","md5":"14892337720453037418","fileSize":9320986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3912374232.blk","md5":"1115501863650858968","fileSize":4700860,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3641044067.blk","md5":"3732211985547652195","fileSize":4630199,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/983138440.blk","md5":"6915165495236329608","fileSize":9379422,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1935205086.blk","md5":"9117641746532590302","fileSize":4699352,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3205797404.blk","md5":"4766691249611904540","fileSize":4686448,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/871711887.blk","md5":"5249122980649583759","fileSize":9332499,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2386195792.blk","md5":"671292387044783440","fileSize":4701180,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3888365335.blk","md5":"6190324522093362967","fileSize":4641054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/405240841.blk","md5":"827201798147636233","fileSize":20553961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/949638503.blk","md5":"7771179501229856103","fileSize":19966362,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3938749460.blk","md5":"2692032260361980948","fileSize":9232563,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/30889953.blk","md5":"5294491969191892961","fileSize":4685119,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1334449897.blk","md5":"3811718485089326825","fileSize":7794938,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2074005885.blk","md5":"9559791518644883837","fileSize":4686210,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3397129746.blk","md5":"5017419187002021394","fileSize":7791974,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/938339220.blk","md5":"10495604405283187604","fileSize":4684365,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3696203069.blk","md5":"7410281545351533885","fileSize":7786837,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2188906844.blk","md5":"16948659444398952796","fileSize":4679229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1919144845.blk","md5":"8248612228646032269","fileSize":4194940,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2246153115.blk","md5":"2329436495177421723","fileSize":20303254,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/596771613.blk","md5":"11666462139653161757","fileSize":19829935,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3305334499.blk","md5":"5226252789038147299","fileSize":17613296,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1058905988.blk","md5":"5442756796783370116","fileSize":4682743,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/170247488.blk","md5":"5324887577439094080","fileSize":4636607,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/361350949.blk","md5":"12666042183297124133","fileSize":4499101,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2702374743.blk","md5":"4261281715581024087","fileSize":14848195,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/544011799.blk","md5":"5334353574064092695","fileSize":4682633,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3682791324.blk","md5":"5605691872749219740","fileSize":4637497,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1348660875.blk","md5":"11067877856941108875","fileSize":4496204,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4287608081.blk","md5":"15617028368498668817","fileSize":14861232,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1963711237.blk","md5":"158299714671598341","fileSize":4683501,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2556995370.blk","md5":"13507743251660580650","fileSize":4639510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3762712645.blk","md5":"12885231775315816517","fileSize":4514921,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3932575069.blk","md5":"13985094662867015005","fileSize":14856240,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2427460973.blk","md5":"7182545146640080237","fileSize":4682270,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2632146364.blk","md5":"16481410227588259260","fileSize":4639547,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3681270978.blk","md5":"1078950905751780546","fileSize":4505395,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/580214880.blk","md5":"10282203568934314080","fileSize":21597510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/983262983.blk","md5":"17427982573725509383","fileSize":20384901,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/758081763.blk","md5":"1464031352691058915","fileSize":4884584,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3931329449.blk","md5":"10944641886158279593","fileSize":17859081,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/20743121.blk","md5":"3036414438023136209","fileSize":4598788,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3418670135.blk","md5":"7937395382299182135","fileSize":4600529,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3006306674.blk","md5":"6399091714554894706","fileSize":4598091,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1570277264.blk","md5":"10760101720502077328","fileSize":21934967,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2101606715.blk","md5":"8166126591634831675","fileSize":4599159,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3229409774.blk","md5":"9563653739076444654","fileSize":4597509,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4255958734.blk","md5":"8460111105131071182","fileSize":4598531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2873494656.blk","md5":"7213190833959734400","fileSize":21938560,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/899081647.blk","md5":"16125383610547496367","fileSize":4598594,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3031551985.blk","md5":"18329323282935959537","fileSize":4611799,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1930414871.blk","md5":"8352701181982657303","fileSize":4591976,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/420148920.blk","md5":"18009435898529904312","fileSize":21899762,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/952994250.blk","md5":"14912060928643926474","fileSize":4585582,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/172974943.blk","md5":"15844580838442230623","fileSize":4592551,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3819928628.blk","md5":"8281143648581549108","fileSize":4584611,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3146610663.blk","md5":"14422867123645544423","fileSize":4195920,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2207267580.blk","md5":"10498055634582256380","fileSize":19255895,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1052969257.blk","md5":"17980753003753441577","fileSize":21030995,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/490051692.blk","md5":"5626017948313688172","fileSize":5045214,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1742679695.blk","md5":"17391196621976317583","fileSize":4627798,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2519060271.blk","md5":"1686085308298678063","fileSize":22512175,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1989119104.blk","md5":"3839594034675813504","fileSize":18148118,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3468900727.blk","md5":"8920520272646453623","fileSize":7468771,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1872358132.blk","md5":"10274887510049549044","fileSize":4617736,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2843453043.blk","md5":"271421521971095155","fileSize":6134507,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3537364923.blk","md5":"2555676647564502971","fileSize":4598766,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1770014178.blk","md5":"12610005145099453922","fileSize":6162132,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2082029951.blk","md5":"12956086922859069823","fileSize":4627327,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2158302355.blk","md5":"556652442601985171","fileSize":6147100,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4292033673.blk","md5":"14837748084977646729","fileSize":4608141,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1894722791.blk","md5":"11806970497096166631","fileSize":19613388,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4160991562.blk","md5":"3675165221124813130","fileSize":19441173,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1365289694.blk","md5":"10897423026024917726","fileSize":9017889,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4282301696.blk","md5":"6774367305112403200","fileSize":4204246,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3072843212.blk","md5":"10772574388636605900","fileSize":4590697,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1108482346.blk","md5":"5912788783527500074","fileSize":6108246,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2371238329.blk","md5":"21937973764700601","fileSize":18987779,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/898342982.blk","md5":"6666934540269494342","fileSize":11491615,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1104980111.blk","md5":"11233127122842986639","fileSize":17898105,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2509130756.blk","md5":"9528443209916500996","fileSize":6899294,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1403784993.blk","md5":"12837011311836270369","fileSize":4988246,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2875748345.blk","md5":"8628376742608269305","fileSize":4843609,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1383920209.blk","md5":"12642684790659412561","fileSize":4309685,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3263287966.blk","md5":"13973511178350088862","fileSize":4800366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3181594714.blk","md5":"18163364926429808730","fileSize":4446007,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/973480939.blk","md5":"10592329173358224363","fileSize":4891056,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1952988083.blk","md5":"13515607112837249971","fileSize":7271993,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2373269505.blk","md5":"8540815720583608321","fileSize":4216560,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4087779771.blk","md5":"16422795212627546555","fileSize":4595339,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2363864209.blk","md5":"3304648432335303825","fileSize":7948502,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2965810784.blk","md5":"9944113272016252512","fileSize":5058392,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2906969859.blk","md5":"8273524328440846083","fileSize":4243238,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3299839506.blk","md5":"4419709049544609298","fileSize":4738298,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3777302614.blk","md5":"4457419635975065686","fileSize":4439775,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2549594678.blk","md5":"10291778912727317046","fileSize":4851514,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/472390480.blk","md5":"11196501908852841296","fileSize":4498879,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1008498639.blk","md5":"8764987349640443855","fileSize":4298154,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/677606954.blk","md5":"3546778642185156138","fileSize":5590738,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2890473527.blk","md5":"7734896388253229111","fileSize":5457949,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3799455865.blk","md5":"5233327622870997113","fileSize":4436812,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3965389759.blk","md5":"9076074157423922111","fileSize":8420365,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1541404554.blk","md5":"8808555884971030410","fileSize":4257922,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2382263400.blk","md5":"15404137429119956072","fileSize":5004548,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3076675822.blk","md5":"12432679385706944750","fileSize":8176605,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1114572561.blk","md5":"1399142841110693649","fileSize":6655686,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4205742013.blk","md5":"10897552307380979645","fileSize":5270578,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2265872194.blk","md5":"10519387255436375874","fileSize":5116777,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3845201444.blk","md5":"12138192196456226340","fileSize":8717539,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2907348320.blk","md5":"6033778937472654688","fileSize":4441035,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3800548530.blk","md5":"1823917664876610738","fileSize":5802034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1255451717.blk","md5":"3580633018099084357","fileSize":4544986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3916361815.blk","md5":"3775351895769411671","fileSize":4836662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1592315322.blk","md5":"1101320957356199354","fileSize":7304107,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3941999483.blk","md5":"7947460222068859771","fileSize":5979135,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4062565520.blk","md5":"13465510689420727440","fileSize":6172704,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1045126133.blk","md5":"18150836397316725749","fileSize":4815066,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2752303330.blk","md5":"2210748123885392098","fileSize":4933564,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3298898085.blk","md5":"7479592026370027685","fileSize":4479453,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3844716738.blk","md5":"2899982323198572738","fileSize":5510385,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/210545485.blk","md5":"2249921040581700429","fileSize":4811161,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3935426033.blk","md5":"4004206526621406705","fileSize":4350889,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2718789369.blk","md5":"2629682614042980089","fileSize":7587423,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2527680244.blk","md5":"17448570797356046068","fileSize":6320456,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1799204582.blk","md5":"4314340499407089382","fileSize":4196676,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/165746856.blk","md5":"12494141588867455144","fileSize":4928726,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2575744176.blk","md5":"468853085172055216","fileSize":4534980,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/376246517.blk","md5":"8145292515305394421","fileSize":5147382,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1820315566.blk","md5":"7293004562355441582","fileSize":4705156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3595785608.blk","md5":"11897646093163517320","fileSize":4248395,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2422142549.blk","md5":"6195134342832780885","fileSize":5084504,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2324781250.blk","md5":"10319931937796479170","fileSize":5018265,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3908186692.blk","md5":"1621856131065459268","fileSize":5768564,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1001764135.blk","md5":"9652603424376993063","fileSize":5147659,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3602398805.blk","md5":"5282480426705239637","fileSize":4994288,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1711632428.blk","md5":"9309288938017746988","fileSize":5351933,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2354277548.blk","md5":"13398420450985602220","fileSize":4775436,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3672795592.blk","md5":"7611506471157262792","fileSize":7030378,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2807531082.blk","md5":"10778046344210122314","fileSize":4286753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1907597963.blk","md5":"4942513345257513611","fileSize":4243646,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1676338614.blk","md5":"5971796317572883894","fileSize":4359421,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/293299677.blk","md5":"3477401030046213597","fileSize":4658202,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2160351948.blk","md5":"9964287063312587468","fileSize":8665660,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1116187627.blk","md5":"9928436751205379051","fileSize":8480852,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3665106385.blk","md5":"5926018870198736337","fileSize":6942409,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1960119506.blk","md5":"9682125488634793170","fileSize":4391915,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2050756430.blk","md5":"2100066815965925198","fileSize":6520141,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3058624208.blk","md5":"10108213746172094160","fileSize":4663868,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/461135504.blk","md5":"16075465176618131088","fileSize":7218141,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1525920992.blk","md5":"3643394890134697184","fileSize":4687813,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2112184187.blk","md5":"13187918408439914363","fileSize":4704382,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3390968587.blk","md5":"826956494076252939","fileSize":4337074,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1417776186.blk","md5":"9224314903853108282","fileSize":4292835,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1246593690.blk","md5":"4640222877605266074","fileSize":7587357,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1730843978.blk","md5":"10456122313616823626","fileSize":4837187,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4252088501.blk","md5":"13505402758172358837","fileSize":4266860,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/428252990.blk","md5":"12597850201626419006","fileSize":4864376,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1297756562.blk","md5":"2549771666588316050","fileSize":7490280,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4287168487.blk","md5":"7231946493698572263","fileSize":4486904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4021262775.blk","md5":"17135559788544891319","fileSize":6309492,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1331282186.blk","md5":"967446774939238666","fileSize":4703504,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1540393743.blk","md5":"16234632972015274767","fileSize":5242577,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3182042799.blk","md5":"16262653275871518383","fileSize":4316549,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2954846810.blk","md5":"15250299135738208858","fileSize":7748083,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1921368027.blk","md5":"6558341911030382555","fileSize":4616326,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3993489956.blk","md5":"747353768383205924","fileSize":4307430,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2621649252.blk","md5":"8109816495707730276","fileSize":5100687,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2100778914.blk","md5":"4511279645176846242","fileSize":7892527,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/272091411.blk","md5":"12465975644418197779","fileSize":4836634,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1768713463.blk","md5":"8387398023582084343","fileSize":4643229,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2320401486.blk","md5":"12248852589953582158","fileSize":9405642,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/686488007.blk","md5":"13985735408611948999","fileSize":5151217,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1297434042.blk","md5":"12912600172044043706","fileSize":4557763,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1403762772.blk","md5":"9472852682594826324","fileSize":5830023,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1560680470.blk","md5":"1608476949108627478","fileSize":4828863,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/324949419.blk","md5":"9419135302206641579","fileSize":4774867,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3456737709.blk","md5":"10237451266716967341","fileSize":4415337,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1575052398.blk","md5":"7020461614136648814","fileSize":8163054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3329445097.blk","md5":"3327871188326370537","fileSize":4835967,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2582716375.blk","md5":"768309092798242775","fileSize":4899441,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1970639801.blk","md5":"12728983324311524281","fileSize":8709400,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4180276384.blk","md5":"9232346864826315936","fileSize":5178414,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2087244280.blk","md5":"18136921838191170040","fileSize":4779160,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2677507863.blk","md5":"7470909113704613655","fileSize":4229297,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1005931318.blk","md5":"297912869825366838","fileSize":4468919,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3919457300.blk","md5":"8605221290764020756","fileSize":7028385,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2253328371.blk","md5":"16502097718874673139","fileSize":4622038,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1062245169.blk","md5":"392414189187011377","fileSize":4765707,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3127745930.blk","md5":"4473767191387151754","fileSize":8225447,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1020021035.blk","md5":"7948823716644538667","fileSize":5062125,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1075974662.blk","md5":"10043260854987788806","fileSize":7452514,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/869815298.blk","md5":"2536920118988395522","fileSize":4622902,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2627230160.blk","md5":"13473324444677593552","fileSize":4682238,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/331352860.blk","md5":"1622321658993838876","fileSize":4268060,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1899617549.blk","md5":"7548892408918433037","fileSize":4204857,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1911267947.blk","md5":"11953073658046161515","fileSize":4473341,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/336671674.blk","md5":"40352132910625722","fileSize":4356479,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1947741638.blk","md5":"11410543168892448198","fileSize":4234357,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2430254020.blk","md5":"5300419073704377284","fileSize":4205473,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1521069671.blk","md5":"5225796069021560423","fileSize":4271490,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3357517814.blk","md5":"7519948264991336438","fileSize":4274767,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1972129278.blk","md5":"3038959646184066558","fileSize":4194630,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/189529751.blk","md5":"8306706822145506967","fileSize":4200692,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2186906073.blk","md5":"401906080920734169","fileSize":4343516,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1467730046.blk","md5":"42241155147745406","fileSize":4273066,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/203698387.blk","md5":"13092321544148103379","fileSize":4776413,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1675647318.blk","md5":"16983416531153082710","fileSize":4764294,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1981841615.blk","md5":"17519705239167467727","fileSize":4659087,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1450400374.blk","md5":"4463079983932463734","fileSize":4706440,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1740838916.blk","md5":"1290475062432045060","fileSize":4911457,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1760604340.blk","md5":"1723268523048874164","fileSize":4795837,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1582440556.blk","md5":"4692540394264731756","fileSize":16193291,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1509156714.blk","md5":"2987937229540943722","fileSize":16675611,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4150118044.blk","md5":"5428791623517324956","fileSize":4378803,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1598422285.blk","md5":"9981639709879041293","fileSize":4618736,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2231321131.blk","md5":"14345280389658919467","fileSize":4647133,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3774808296.blk","md5":"5510159125729706216","fileSize":13250435,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2589878263.blk","md5":"10598445259943733239","fileSize":16712399,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1723256776.blk","md5":"11306245415507513288","fileSize":4293731,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2637971823.blk","md5":"2232394853432181103","fileSize":4628790,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/742979981.blk","md5":"14756819464369011085","fileSize":4620126,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1045917378.blk","md5":"1169136342929993410","fileSize":15024086,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3606171707.blk","md5":"4689526450233135163","fileSize":16733829,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/558007746.blk","md5":"14015402804886275522","fileSize":4392802,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1123492590.blk","md5":"8731196106143638254","fileSize":4633870,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2855690503.blk","md5":"686787714690212103","fileSize":17773447,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/101835054.blk","md5":"30424891296702766","fileSize":18197495,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2714105945.blk","md5":"11930835585205663833","fileSize":4421829,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3240035257.blk","md5":"9544831233890911161","fileSize":4609832,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/144192789.blk","md5":"4866185117444879637","fileSize":4597234,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4137314476.blk","md5":"1962613158612461740","fileSize":16456428,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/96727034.blk","md5":"12086546636902494202","fileSize":18885898,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4184330771.blk","md5":"8434546467576205843","fileSize":4326543,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3012988213.blk","md5":"5429099700384337205","fileSize":4689797,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1573375644.blk","md5":"16313224422524178076","fileSize":4593128,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4138663078.blk","md5":"9338491320738446502","fileSize":15913783,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3834280951.blk","md5":"1194008741847661559","fileSize":19173175,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2417766407.blk","md5":"10944964453868515335","fileSize":4331662,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4075868925.blk","md5":"2268189086545138429","fileSize":4738466,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3835166931.blk","md5":"13110708268414009555","fileSize":4673262,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/204892601.blk","md5":"16463091708607228345","fileSize":16256320,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3505156235.blk","md5":"8448223055811735691","fileSize":16356156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1905474587.blk","md5":"8874590212942150683","fileSize":5706952,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3028033209.blk","md5":"15371081020698533561","fileSize":4650428,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/296579822.blk","md5":"1071187903598392046","fileSize":7422978,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2532448041.blk","md5":"13414194470177609513","fileSize":15149531,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/621472497.blk","md5":"15677003687585835761","fileSize":4365237,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4235011108.blk","md5":"4816005004276868132","fileSize":4697670,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2887048305.blk","md5":"2402276508343524465","fileSize":4647597,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/148572336.blk","md5":"6426771633458579632","fileSize":15401312,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3619564421.blk","md5":"2541282103408864133","fileSize":14271583,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1265419313.blk","md5":"10055320431854666801","fileSize":6872340,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1165158134.blk","md5":"5895713587048146678","fileSize":4640408,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3624089773.blk","md5":"494405508816648365","fileSize":5649346,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/382758382.blk","md5":"7426214303043186158","fileSize":4652550,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/306251093.blk","md5":"14236540629072020821","fileSize":5639386,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2903627843.blk","md5":"5955697153582159939","fileSize":4646302,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2996177830.blk","md5":"521413022755195814","fileSize":5638969,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2311262604.blk","md5":"15879503520312005004","fileSize":4650192,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3534185125.blk","md5":"13881815284708762277","fileSize":7106645,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4035092693.blk","md5":"11963302073245802709","fileSize":16325149,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/154793180.blk","md5":"9561944008305538268","fileSize":16292036,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2444778044.blk","md5":"222894069074385468","fileSize":7963840,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/586312877.blk","md5":"3249497794891902125","fileSize":4461247,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3306103445.blk","md5":"16624371410165244565","fileSize":8607028,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/738888674.blk","md5":"4870781205492698082","fileSize":4461480,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2660048807.blk","md5":"15669100653447028647","fileSize":8606986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1420815977.blk","md5":"16495030546925088361","fileSize":4461131,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3903407274.blk","md5":"8376303953392518314","fileSize":8605616,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2642900404.blk","md5":"2355004014980462004","fileSize":4458356,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3021155434.blk","md5":"3470871260849974378","fileSize":22994928,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1925081612.blk","md5":"15027108397507832332","fileSize":18756696,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3370505682.blk","md5":"5833798904082453970","fileSize":4509924,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3465675749.blk","md5":"1769882736825336805","fileSize":6033321,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2883313889.blk","md5":"13098090237662060769","fileSize":4517887,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3218159887.blk","md5":"5595921362852067599","fileSize":4479277,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1924749626.blk","md5":"16698182062443157818","fileSize":22154467,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/986122477.blk","md5":"132040760387635437","fileSize":19493164,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2970701499.blk","md5":"11000145094728830651","fileSize":4449002,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1962651669.blk","md5":"9284920779889946645","fileSize":4215790,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1722686108.blk","md5":"14426304582117104284","fileSize":4211369,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3393195814.blk","md5":"7218904927689510694","fileSize":4207600,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/848761423.blk","md5":"2682566767826899535","fileSize":20959143,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2574603183.blk","md5":"3084291360148509615","fileSize":19499160,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3192280278.blk","md5":"9105878614049969366","fileSize":6547836,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1595349992.blk","md5":"8274874514523233256","fileSize":4217699,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2602224723.blk","md5":"7833928038774131795","fileSize":4214227,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2636849758.blk","md5":"13375639274715292254","fileSize":4740801,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3614954202.blk","md5":"12789646741124666074","fileSize":5268450,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/848385694.blk","md5":"15823984538198038174","fileSize":6187778,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2545822003.blk","md5":"10380052568104380723","fileSize":18340468,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3457946635.blk","md5":"7364449038564594699","fileSize":19043234,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/527462078.blk","md5":"5809674473664704190","fileSize":4998516,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2811016925.blk","md5":"9785800270524757725","fileSize":5182626,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3797427164.blk","md5":"9464519245843407836","fileSize":17679000,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1132606902.blk","md5":"2339164526269838774","fileSize":20657047,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4167816987.blk","md5":"3478304381507196699","fileSize":4284302,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1033714001.blk","md5":"17868209922682730833","fileSize":4214961,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3153482828.blk","md5":"13039685777992602700","fileSize":4214817,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1200646325.blk","md5":"12879497566211827893","fileSize":4233328,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1064211581.blk","md5":"1976105524716803197","fileSize":20382748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1852911413.blk","md5":"1392820203312721717","fileSize":18685732,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/727209440.blk","md5":"8526777429352011232","fileSize":5484816,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3122898448.blk","md5":"15122686986003129872","fileSize":6230400,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2995852585.blk","md5":"16794842570253473065","fileSize":6231164,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/939819570.blk","md5":"1134388631470113330","fileSize":6228915,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3189351549.blk","md5":"9423406345104237693","fileSize":21056090,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2210770915.blk","md5":"6412609680941887459","fileSize":19784274,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3340047571.blk","md5":"16476355769048306899","fileSize":6409111,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4207772402.blk","md5":"6187984160373441266","fileSize":6319179,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2073957111.blk","md5":"2269342450765927159","fileSize":6316782,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/216149272.blk","md5":"15772894514305445144","fileSize":6316982,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/269259833.blk","md5":"14208981979970180153","fileSize":5196247,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2117780440.blk","md5":"6418767216547382232","fileSize":18911508,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2630641925.blk","md5":"13440482062424107269","fileSize":18662516,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3403014486.blk","md5":"1010626793362022742","fileSize":4231366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3150155598.blk","md5":"11046096013705318222","fileSize":5129748,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4188349398.blk","md5":"14038798959961777110","fileSize":19330818,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4258341903.blk","md5":"12002090953911378959","fileSize":21268142,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2576048519.blk","md5":"3215489511392502151","fileSize":5212753,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/459702495.blk","md5":"17747336378324517087","fileSize":4609957,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3137194632.blk","md5":"5129759708545927816","fileSize":4613625,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2113809680.blk","md5":"16869113596280188176","fileSize":4594705,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1448777082.blk","md5":"5875230759448122746","fileSize":20941483,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/505790745.blk","md5":"6034306485904064793","fileSize":19682231,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3189251774.blk","md5":"15516773844912709310","fileSize":5469333,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2168414619.blk","md5":"11784955405543629211","fileSize":4606904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/178950682.blk","md5":"17985505122199441946","fileSize":4606623,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2754901044.blk","md5":"17264462458889991220","fileSize":21732429,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1920502965.blk","md5":"1512110489075223733","fileSize":19992266,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/90632011.blk","md5":"10901726152484122443","fileSize":4983037,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2937809902.blk","md5":"10383732736993749998","fileSize":4680114,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3158479283.blk","md5":"14028991813428351411","fileSize":4700451,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2917426104.blk","md5":"10986694781817873336","fileSize":4700262,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3083962865.blk","md5":"7828875920765192689","fileSize":22199398,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1019514449.blk","md5":"905525878933720657","fileSize":19681184,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/35696810.blk","md5":"8066171168603812010","fileSize":7212330,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1640741782.blk","md5":"491458450598640534","fileSize":4236394,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/413433976.blk","md5":"12812464941389086840","fileSize":4212215,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3930597142.blk","md5":"14766324401981368086","fileSize":4214158,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/68553767.blk","md5":"13052798636479876135","fileSize":4214507,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4287067617.blk","md5":"9582966610336380385","fileSize":17243340,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3674439079.blk","md5":"16952988609710095783","fileSize":19084691,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3200933916.blk","md5":"12255186735587811356","fileSize":12967171,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/25580489.blk","md5":"9761529794096681929","fileSize":4688761,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1767364115.blk","md5":"7984414663969854995","fileSize":4629540,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/339857860.blk","md5":"16972880979335172548","fileSize":12426379,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1366211592.blk","md5":"17899321214408506376","fileSize":4689747,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1912558902.blk","md5":"14500783919424558390","fileSize":4630102,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1338083903.blk","md5":"723558397072476735","fileSize":12427074,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1138812549.blk","md5":"5349127261429753477","fileSize":4691482,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1587675578.blk","md5":"1457556737566572986","fileSize":4631453,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3655439303.blk","md5":"16352682890450015175","fileSize":12425780,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1785269584.blk","md5":"13453393244371619152","fileSize":4690941,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3280074699.blk","md5":"16538464075580045259","fileSize":4630264,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1482954484.blk","md5":"5272983083663234804","fileSize":22799610,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1839494209.blk","md5":"10091602194431505473","fileSize":20023822,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4263706990.blk","md5":"15265364860119220590","fileSize":6061108,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2779564357.blk","md5":"12104872234245212485","fileSize":4542655,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/323593362.blk","md5":"9635387373710320786","fileSize":4532022,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1549683414.blk","md5":"4473797392019114710","fileSize":4536268,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1836042338.blk","md5":"5862211283737102434","fileSize":4290547,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/633285178.blk","md5":"17740803015981345338","fileSize":4215173,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2177002236.blk","md5":"4444738021878819580","fileSize":4463590,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2210627521.blk","md5":"6552422132125761473","fileSize":16770800,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2695957502.blk","md5":"8264055939681815550","fileSize":19761625,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3714113494.blk","md5":"4305083459524681686","fileSize":11719566,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2085736496.blk","md5":"5016691579575980080","fileSize":4546435,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/950195258.blk","md5":"3826957995038921786","fileSize":4618469,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2466989812.blk","md5":"10344476735437489908","fileSize":9170174,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1993291759.blk","md5":"4050914384217585647","fileSize":4552357,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2202783457.blk","md5":"12862920625538977505","fileSize":4627361,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4071559788.blk","md5":"11957167842076332652","fileSize":9218341,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/67936562.blk","md5":"11731890378126434610","fileSize":4589931,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2772465985.blk","md5":"2575492084010088769","fileSize":4636585,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1368104918.blk","md5":"8296394516652072918","fileSize":9195893,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1923157128.blk","md5":"13668525557910932616","fileSize":4564516,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3882717461.blk","md5":"717420350185246997","fileSize":4638984,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3502157838.blk","md5":"14520893730988142606","fileSize":20866757,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4240197423.blk","md5":"10541441966015268655","fileSize":19747501,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3077794797.blk","md5":"9089253005986065389","fileSize":4811535,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1722975538.blk","md5":"889182420974339378","fileSize":6281268,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2122196740.blk","md5":"11580719694708877060","fileSize":4705784,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2800643919.blk","md5":"2652875510537678671","fileSize":7852489,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/119774548.blk","md5":"15707844008990711124","fileSize":4695510,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3483940722.blk","md5":"18431351279476848498","fileSize":7854366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1135391606.blk","md5":"10461175780131779446","fileSize":4698302,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2566482730.blk","md5":"17440637627726916394","fileSize":7856798,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4110049797.blk","md5":"6564012893547422213","fileSize":4701611,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2046225188.blk","md5":"8003954407508470564","fileSize":18731353,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2986295050.blk","md5":"7380549831103561482","fileSize":19781839,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2712164719.blk","md5":"11273366806190381423","fileSize":5318273,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2029967289.blk","md5":"7082793040439334841","fileSize":10496089,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/349104882.blk","md5":"12501382702048406258","fileSize":4668945,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2740352796.blk","md5":"6416370771447674652","fileSize":9852707,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1578928680.blk","md5":"5489858848940132904","fileSize":4668727,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2422290737.blk","md5":"7442099606699194673","fileSize":9865366,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4049460010.blk","md5":"2428098793487325994","fileSize":4668818,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3848592133.blk","md5":"76606689807489797","fileSize":4622391,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3755870690.blk","md5":"9228163995752335842","fileSize":21548364,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3716643619.blk","md5":"6184717455001615139","fileSize":19937257,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3556141486.blk","md5":"12654178383013767598","fileSize":5879297,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2720628568.blk","md5":"1320418347038900056","fileSize":5618162,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3344733277.blk","md5":"10365218645216105565","fileSize":4600918,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1845921603.blk","md5":"13654302842352469827","fileSize":6640904,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2730648156.blk","md5":"2353543511439204956","fileSize":4600482,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2752197351.blk","md5":"7707228835859346151","fileSize":6640565,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4089184059.blk","md5":"10068823738842611515","fileSize":4600172,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3105094884.blk","md5":"6941465746775211236","fileSize":6641409,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/321461498.blk","md5":"1689911443356982522","fileSize":4602016,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3760114408.blk","md5":"15968435110296865512","fileSize":8065954,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3996355584.blk","md5":"1137255241728887808","fileSize":5212567,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3534544001.blk","md5":"17390336994653822081","fileSize":19912467,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1681873387.blk","md5":"12975971190815283691","fileSize":4888909,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3439445299.blk","md5":"15973994644493157683","fileSize":4932039,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1052862556.blk","md5":"5936071599320033372","fileSize":19119434,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2995650007.blk","md5":"13955111469466910167","fileSize":4598977,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2266011198.blk","md5":"15236879410948773438","fileSize":4635056,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1490176684.blk","md5":"8459764223626594988","fileSize":4634966,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1856921219.blk","md5":"13606012652448800387","fileSize":4635170,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3686497082.blk","md5":"8525921750271884090","fileSize":21564900,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3483162103.blk","md5":"555046370971276791","fileSize":20640761,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/344003679.blk","md5":"9489852802042762335","fileSize":8173497,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2397494366.blk","md5":"12156837485559077982","fileSize":4545236,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3385124263.blk","md5":"16756439369673663911","fileSize":4542037,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/393306104.blk","md5":"2241856449392238584","fileSize":4546120,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2498485618.blk","md5":"2542503436367945074","fileSize":4541942,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2719463390.blk","md5":"15816810179453237214","fileSize":4546053,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1324338199.blk","md5":"14420750145327975447","fileSize":4541403,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2203716704.blk","md5":"8856527943025429600","fileSize":4546659,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/142069422.blk","md5":"3965743750662573742","fileSize":23709376,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3051175701.blk","md5":"14382445429685829397","fileSize":19888979,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1354438080.blk","md5":"3928938390409123264","fileSize":4963693,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/545737594.blk","md5":"10730107360099388282","fileSize":4631503,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1876291515.blk","md5":"12747753568251277243","fileSize":4635779,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4229197182.blk","md5":"4240510413450800510","fileSize":4630603,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2782039051.blk","md5":"10089751549800778763","fileSize":4636221,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2681310792.blk","md5":"18346497903319682632","fileSize":4631076,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4243856285.blk","md5":"9989059719499881373","fileSize":4635231,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3661166450.blk","md5":"12358489027458430834","fileSize":4630877,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/338129564.blk","md5":"15429934946275783324","fileSize":4634636,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/30000123.blk","md5":"17246440661721924603","fileSize":8579711,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2873174899.blk","md5":"13398730737121831795","fileSize":19296117,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/588430420.blk","md5":"6308594264424234068","fileSize":16063040,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/318964648.blk","md5":"8009880889419039656","fileSize":7875489,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1752541567.blk","md5":"4617278342477228415","fileSize":4647970,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3006115452.blk","md5":"11857409765203095164","fileSize":7799206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/426308097.blk","md5":"1941321249668526593","fileSize":4647570,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2392885933.blk","md5":"9736351353850071725","fileSize":7800397,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2894092312.blk","md5":"17104079446664566808","fileSize":4647661,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4034215297.blk","md5":"18356575809209449857","fileSize":7798617,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2488322760.blk","md5":"16251134112760384200","fileSize":4648096,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/76008504.blk","md5":"4168015634833591352","fileSize":4582711,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2749330745.blk","md5":"15035720155652912441","fileSize":20002254,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3689345021.blk","md5":"11883155036809129981","fileSize":18960316,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1341224332.blk","md5":"3921943314599867788","fileSize":7251212,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3073778332.blk","md5":"1830036343279198876","fileSize":6153436,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3062755704.blk","md5":"3812819312705401208","fileSize":6153937,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1039592433.blk","md5":"3331288979276753905","fileSize":6151006,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3510620307.blk","md5":"15043161827204649107","fileSize":4565907,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2206924643.blk","md5":"6979553713426464611","fileSize":25039096,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2003741507.blk","md5":"8643755499204815683","fileSize":19747339,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2209247987.blk","md5":"9693865343900873459","fileSize":7789116,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2597186961.blk","md5":"11004547891100249489","fileSize":4568466,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3377641243.blk","md5":"17660984972834682651","fileSize":4564604,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1343677000.blk","md5":"6657047397150417480","fileSize":4568771,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2396965128.blk","md5":"9591007547433601288","fileSize":4563583,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3418367700.blk","md5":"960120125460063956","fileSize":4565589,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2747170891.blk","md5":"6039266028616056907","fileSize":4561671,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3216311625.blk","md5":"12356884019209897289","fileSize":4566054,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4074149636.blk","md5":"2562060197863790340","fileSize":22691447,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1485078821.blk","md5":"12594280625298768165","fileSize":20658633,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3752598737.blk","md5":"11413476895353478353","fileSize":6838286,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2959734698.blk","md5":"13552310194958628778","fileSize":4616485,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/595977464.blk","md5":"7495997007736464632","fileSize":4621171,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/192434496.blk","md5":"7030232409949360448","fileSize":4617622,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2835284767.blk","md5":"10842044354835448607","fileSize":4621188,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3639348221.blk","md5":"15577717558687304701","fileSize":4618535,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3099431192.blk","md5":"16232783818354692376","fileSize":4622267,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1774929229.blk","md5":"10699092406051751245","fileSize":4617994,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3346776259.blk","md5":"8801889122575433923","fileSize":4621930,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/538094272.blk","md5":"14577576503078464192","fileSize":20905800,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3551869821.blk","md5":"8270457958659603325","fileSize":20735330,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1443202744.blk","md5":"1780616970472097464","fileSize":4707023,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2391407914.blk","md5":"8389854766972927274","fileSize":21672171,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/905095691.blk","md5":"4371345877150902795","fileSize":19022972,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1981058807.blk","md5":"15284912521016020727","fileSize":4218153,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/520218319.blk","md5":"9891508449999709903","fileSize":4641217,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2289664755.blk","md5":"12858854202129613555","fileSize":5755160,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4080476635.blk","md5":"4556128932611957211","fileSize":4702058,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1177686027.blk","md5":"3724001886810017803","fileSize":17313156,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3548228174.blk","md5":"6254887994860087886","fileSize":19752035,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2447455046.blk","md5":"9165925885350589254","fileSize":5856881,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/120044072.blk","md5":"15774636668908714536","fileSize":8322532,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3338713260.blk","md5":"12236775727051094188","fileSize":8322538,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1998326018.blk","md5":"4376234942596385026","fileSize":8320986,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2300643729.blk","md5":"17674798690388216209","fileSize":4196206,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2417998341.blk","md5":"14733535258626472453","fileSize":20950609,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/231500403.blk","md5":"4818203838845315699","fileSize":20061785,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1688773886.blk","md5":"2513880558021944574","fileSize":5502049,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/960495867.blk","md5":"6592970912822198523","fileSize":7277776,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2582061113.blk","md5":"1460000695211466809","fileSize":7278355,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/637944598.blk","md5":"13152490261123056406","fileSize":7279772,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1548289756.blk","md5":"16935283768842323676","fileSize":5117558,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2708645415.blk","md5":"15937060871364322855","fileSize":17508462,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2725825526.blk","md5":"9592514935254469622","fileSize":18938059,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1413923237.blk","md5":"15547099786875683237","fileSize":4774855,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3487845572.blk","md5":"9354442884459547844","fileSize":9548908,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2451853043.blk","md5":"14103538834228924147","fileSize":4639283,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3644497869.blk","md5":"3959897393142079437","fileSize":8735514,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3295633073.blk","md5":"13891465625012756145","fileSize":4638194,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/713047962.blk","md5":"1276150237370531738","fileSize":8733724,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3668682364.blk","md5":"17302654150813394556","fileSize":4637034,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3307258958.blk","md5":"10223791110197658702","fileSize":24104169,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1724534972.blk","md5":"9499564583473008828","fileSize":19383291,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4274844054.blk","md5":"3834620692466037142","fileSize":11079524,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/10536791.blk","md5":"8062035239626655575","fileSize":4652007,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/4153630756.blk","md5":"10129926945842094116","fileSize":11865900,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2401429807.blk","md5":"15739051063256475951","fileSize":4654051,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/409923451.blk","md5":"5445352090252537723","fileSize":11865431,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1981401713.blk","md5":"17112945258978200177","fileSize":4652744,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2797282262.blk","md5":"9666418995933946838","fileSize":11865607,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1432271127.blk","md5":"6587758983365179671","fileSize":4653725,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/876901158.blk","md5":"7934680599649088294","fileSize":22807423,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/2665439374.blk","md5":"6319483163942805646","fileSize":4610929,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1466218054.blk","md5":"4259561060251776582","fileSize":16325610,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/3155395890.blk","md5":"6946662820462429490","fileSize":8303863,"isPatch":false,"tags":[3]},{"remoteName":"Blocks/1116427270.blk","md5":"10207176357734732806","fileSize":2365992,"isPatch":false,"tags":[3]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/ClassicMovement.usm","md5":"12227869454294544813","fileSize":1792608,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialAbyssBossrush01_01.usm","md5":"15255572167488360470","fileSize":5641536,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialAbyssBossrush01_02.usm","md5":"5612445888935015738","fileSize":1952288,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialAbyssBossrush01_03.usm","md5":"16738874225837021212","fileSize":5331456,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialAbyssBossrush01_04.usm","md5":"12670217525278924202","fileSize":4303168,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollowRechallenge.usm","md5":"9301305282014162271","fileSize":7379072,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_20003_01.usm","md5":"2764026964998542858","fileSize":4149824,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_20003_02.usm","md5":"9843639943154360945","fileSize":6567200,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_20003_04.usm","md5":"2117061239384459186","fileSize":3786720,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_Accelerate2.usm","md5":"15754863780518272822","fileSize":1099584,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_Bangboo.usm","md5":"14182165143927828044","fileSize":1928576,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_BigWorld1_1.usm","md5":"5549201393093548613","fileSize":2622496,"isPatch":false,"tags":[3,5],"packages":[71100]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_BigWorld1_2.usm","md5":"6023805744639332310","fileSize":2751904,"isPatch":false,"tags":[3,5],"packages":[71100]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_BigWorld1_3.usm","md5":"11770266429623916434","fileSize":1465056,"isPatch":false,"tags":[3,5],"packages":[71100]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_BigWorld2.usm","md5":"18101137275783898600","fileSize":2194240,"isPatch":false,"tags":[3,5],"packages":[71100]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_BigWorld3_1.usm","md5":"1346025578703879021","fileSize":775520,"isPatch":false,"tags":[3,5],"packages":[71100]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_BigWorld3_2.usm","md5":"5800513096019603879","fileSize":1186848,"isPatch":false,"tags":[3,5],"packages":[71100]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_BigWorld3_3.usm","md5":"12065056977106020654","fileSize":1548928,"isPatch":false,"tags":[3,5],"packages":[71100]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_Card1.usm","md5":"409164251670535547","fileSize":1493600,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_Card2.usm","md5":"8097932876633607963","fileSize":2610528,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_CardShop2.usm","md5":"858419919243698759","fileSize":3163200,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_Curse1.usm","md5":"7697192248032157559","fileSize":2056864,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_Curse2.usm","md5":"15891656236680069937","fileSize":1847872,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_Dig.usm","md5":"9314196319530306456","fileSize":1215616,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_HollowItem1.usm","md5":"4956877955339135272","fileSize":2499136,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_HollowItem2.usm","md5":"13436581955135355378","fileSize":2652864,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/TutorialHollow_Movement2.usm","md5":"15019283241802811414","fileSize":4504640,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Hollow/VirtualJoyStick.usm","md5":"2572787061572048278","fileSize":1883264,"isPatch":false,"tags":[3,5],"packages":[31004]},{"remoteName":"Video/HD/AllroundGeneralTutorial/LimboClueSystem_Clue.usm","md5":"7009529906459960616","fileSize":3291424,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/LimboClueSystem_Clue_02.usm","md5":"2630335075034632302","fileSize":1453024,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/LimboClueSystem_SpecialArea.usm","md5":"11934839675440419612","fileSize":3955072,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/MainCityShops/MainCityShop01.usm","md5":"16025724340873227147","fileSize":2750720,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/MainCityShops/MainCityShop03.usm","md5":"2582497546528588820","fileSize":3514720,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/MainCityShops/MainCityShop04.usm","md5":"5170794959780599504","fileSize":3004960,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/MainCityShops/MainCityShop05.usm","md5":"8768911784373950011","fileSize":4120608,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/MainCityShops/MainCityShop10.usm","md5":"9485891436258349307","fileSize":3447904,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/RallyTutorial_Exiled.usm","md5":"11817489426527586820","fileSize":4203936,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/RallyTutorial_Intro.usm","md5":"13115846053608879786","fileSize":3585472,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/RallyTutorial_Revive.usm","md5":"8565803701920024117","fileSize":3801376,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/RallyTutorial_SideEtherTreasure.usm","md5":"17362537376524229397","fileSize":4346752,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/RallyTutorial_SideQuest.usm","md5":"17969788436457604599","fileSize":2452064,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/RallyTutorial_TarotCard.usm","md5":"3180265000439889608","fileSize":2764544,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Shop_Abyss_Challenge1.usm","md5":"17283135149351238384","fileSize":3022656,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Shop_Abyss_Challenge2.usm","md5":"9129041673603656854","fileSize":2607456,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TheGunActivityTutorialVideo_1.usm","md5":"11550217332805970432","fileSize":3142624,"isPatch":false,"tags":[3,5],"packages":[71300]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TheGunActivityTutorialVideo_2.usm","md5":"16410195677619696963","fileSize":4920160,"isPatch":false,"tags":[3,5],"packages":[71300]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TheGunActivityTutorialVideo_3.usm","md5":"17025394425298744763","fileSize":4670624,"isPatch":false,"tags":[3,5],"packages":[71300]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TheGunActivityTutorialVideo_4.usm","md5":"11587010665099007255","fileSize":3136672,"isPatch":false,"tags":[3,5],"packages":[71300]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TheGunActivityTutorialVideo_5.usm","md5":"18390692865066122887","fileSize":5163296,"isPatch":false,"tags":[3,5],"packages":[71300]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TheGunActivityTutorialVideo_6.usm","md5":"18102475546189457352","fileSize":6116832,"isPatch":false,"tags":[3,5],"packages":[71300]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TrustTutorial/TrustTutorial01.usm","md5":"10050979163000944834","fileSize":1766208,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TrustTutorial/TrustTutorial02.usm","md5":"14504399307484457586","fileSize":1344128,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TrustTutorial/TrustTutorial04.usm","md5":"14457120426477579864","fileSize":1590432,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialActivityBattleYCL.usm","md5":"9424660222761853146","fileSize":3891552,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialActivity_RoamingTheEther01.usm","md5":"3190662639196216991","fileSize":2984608,"isPatch":false,"tags":[3,5],"packages":[71200]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialActivity_RoamingTheEther02.usm","md5":"13517930526696686394","fileSize":2856480,"isPatch":false,"tags":[3,5],"packages":[71200]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialActivity_RoamingTheEther03.usm","md5":"1966546049764727699","fileSize":3584000,"isPatch":false,"tags":[3,5],"packages":[71200]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialActivity_RoamingTheEther04.usm","md5":"2658189494963775879","fileSize":2475776,"isPatch":false,"tags":[3,5],"packages":[71200]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialActivity_RoamingTheEther05.usm","md5":"10900559060162688920","fileSize":3481152,"isPatch":false,"tags":[3,5],"packages":[71200]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialActivity_RoamingTheEther06.usm","md5":"16896826171643034489","fileSize":3076672,"isPatch":false,"tags":[3,5],"packages":[71200]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialBabelTower1.usm","md5":"696868705426902433","fileSize":1340480,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialBabelTower2.usm","md5":"13023843035925941685","fileSize":3573728,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialBabelTower3.usm","md5":"14125560011662968467","fileSize":614816,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialBabelTower4.usm","md5":"1800202661227190734","fileSize":572128,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialBabelTower5.usm","md5":"13031632126681958566","fileSize":572128,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialBattleVideo05.usm","md5":"407198699700637708","fileSize":3719424,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialBattleVideo08.usm","md5":"17764374483012714318","fileSize":4286048,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialBoxReward01.usm","md5":"7594386259365632402","fileSize":1770336,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialCampIdlePage1.usm","md5":"1321446105211423669","fileSize":1029312,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialCampIdlePage2.usm","md5":"15754068605520710939","fileSize":666496,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialCampIdlePage3.usm","md5":"12852122120672223326","fileSize":978688,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialCampIdlePage4.usm","md5":"16476580419982730530","fileSize":818080,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialCampIdlePage5.usm","md5":"8116340736331289216","fileSize":888032,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialCampIdlePage6.usm","md5":"4838839679769346285","fileSize":910656,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialCampIdlePage7.usm","md5":"1337595608064291386","fileSize":847968,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialCharacter_HollowReplay.usm","md5":"15035202368289653068","fileSize":1754336,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialCharacter_Leave.usm","md5":"8019648075443609465","fileSize":1002080,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialDataCorrect1.usm","md5":"17503255019085505991","fileSize":1290272,"isPatch":false,"tags":[3,5],"packages":[71100]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialDataCorrect2.usm","md5":"7124971906216958289","fileSize":1173184,"isPatch":false,"tags":[3,5],"packages":[71100]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialDataCorrect3.usm","md5":"7707387088578555184","fileSize":1275872,"isPatch":false,"tags":[3,5],"packages":[71100]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialDataFix1.usm","md5":"14880354610672516852","fileSize":877600,"isPatch":false,"tags":[3,5],"packages":[31007]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialDataFix2.usm","md5":"10265032700119213578","fileSize":1091040,"isPatch":false,"tags":[3,5],"packages":[31007]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialDataFix3.usm","md5":"11199965984773558199","fileSize":1044256,"isPatch":false,"tags":[3,5],"packages":[31007]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialDestory_Battery.usm","md5":"13381309888191145276","fileSize":1490176,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialDestory_Box_mux.usm","md5":"13960579400162630215","fileSize":1348416,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialGamePlayVideo01.usm","md5":"8824747357156924175","fileSize":6131840,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialGoldenBomb_Death.usm","md5":"2023267193131340883","fileSize":620416,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialGoldenBomb_Escape.usm","md5":"17396313274452515202","fileSize":147200,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialHollow_QuickManual01.usm","md5":"17355503401989437407","fileSize":1388224,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialHollow_QuickManual02.usm","md5":"5585986207179179756","fileSize":1474656,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialHollow_VRtrainingPortal.usm","md5":"5793023552065114529","fileSize":1138432,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialLimitTime_mux.usm","md5":"1068151764527372802","fileSize":4315584,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialMaincityVideo07.usm","md5":"18173817534101332946","fileSize":4565920,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialOvaTempLeave1.usm","md5":"14724151796419120548","fileSize":2189888,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialOvaTempLeave2.usm","md5":"6828835291174618879","fileSize":1874592,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialOverlord1.usm","md5":"174889457859868149","fileSize":730976,"isPatch":false,"tags":[3,5],"packages":[31007]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialOverlord2.usm","md5":"3806092184062994757","fileSize":949728,"isPatch":false,"tags":[3,5],"packages":[31007]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialPO2.usm","md5":"15997607019393974468","fileSize":2208448,"isPatch":false,"tags":[3,5],"packages":[31007]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialSignatureWeapon.usm","md5":"6790254234899892795","fileSize":3722400,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialTeleport01.usm","md5":"15781622168325920609","fileSize":2849632,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/TutorialVideoTest.usm","md5":"14665453382842149047","fileSize":558656,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Tutorial_Deathrattle.usm","md5":"15961115653556271292","fileSize":2792992,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Tutorial_NotoriousHunt.usm","md5":"2502547871432699985","fileSize":2413248,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Tutorial_RoutineCleanup.usm","md5":"6165460198624343486","fileSize":1931392,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Tutorial_Tutorial_VR_DailyChallenge.usm","md5":"5442788749533780377","fileSize":2535648,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Tutorial_VR_ProfessionalChallenge.usm","md5":"17923507049448005997","fileSize":2722624,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/AllroundGeneralTutorial/Tutorialinvitation.usm","md5":"6583576514141670757","fileSize":956768,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/ArcadeScreen/ArcadeCompanionIntro_1.usm","md5":"3034591939673991393","fileSize":4970976,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/ArcadeScreen/ArcadeCompanionStart.usm","md5":"6594096492311074618","fileSize":9035584,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/ArcadeScreen/ArcadeHoundIntro_1.usm","md5":"16924310137511544132","fileSize":13810528,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/ArcadeScreen/ArcadeHoundIntro_2.usm","md5":"9578552095545002375","fileSize":12592160,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/ArcadeScreen/ArcadeHoundStart.usm","md5":"9337717367475588966","fileSize":2053120,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/ArcadeScreen/ArcadeSnakeIntro_1.usm","md5":"12154273700434506187","fileSize":10847296,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/ArcadeScreen/ArcadeSnakeIntro_2.usm","md5":"2298918409093896983","fileSize":11347392,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/ArcadeScreen/ArcadeSnakeStart2.usm","md5":"10742040490115581654","fileSize":2045344,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Abyss_Intro.usm","md5":"10589657309864506673","fileSize":2769504,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Arcade_Companion_Guide_1.usm","md5":"15342238913598342437","fileSize":1777728,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Arcade_Companion_Guide_2.usm","md5":"14581332545126023234","fileSize":1650208,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Arcade_Companion_Guide_3.usm","md5":"7363879874267693367","fileSize":1688448,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Arcade_Hound_Guide_1.usm","md5":"9595983541508599696","fileSize":1800864,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Arcade_Hound_Guide_2.usm","md5":"15489910251989498130","fileSize":2016928,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Arcade_Hound_Guide_3.usm","md5":"11830465205007683805","fileSize":1061152,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Arcade_Hound_Guide_4.usm","md5":"1187008039152010402","fileSize":1406816,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Arcade_Hound_Guide_OL.usm","md5":"11007165875959344606","fileSize":5511072,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Arcade_Snake_Guide_2.usm","md5":"3086117077955479837","fileSize":1494016,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Arcade_Snake_Guide_3.usm","md5":"104533756454577770","fileSize":1352416,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Arcade_Snake_Guide_4.usm","md5":"15148103871976956833","fileSize":1713184,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/Arcade_Snake_Guide_OL.usm","md5":"1658669674979572751","fileSize":3815840,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/GachaBangboo_Intro.usm","md5":"4837761066353779421","fileSize":1248352,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/TutorialChangeRoles.usm","md5":"8916509295143336668","fileSize":969568,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/TutorialHollow_TeamCaptain1.usm","md5":"6866531624180664131","fileSize":1458272,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Arcade/Guide/TutorialHollow_TeamCaptain2.usm","md5":"15436064487045432499","fileSize":1608768,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Arcade/Guide/TutorialPlotMode.usm","md5":"2176325964123629181","fileSize":1769440,"isPatch":false,"tags":[3,5],"packages":[31007]},{"remoteName":"Video/HD/Arcade/Guide/TutorialShortCutMenu01.usm","md5":"3495583105706585696","fileSize":1663936,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/TutorialTimeAdvance.usm","md5":"2111970939928627652","fileSize":1371872,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/TutorialTimeButton.usm","md5":"5474712238230059975","fileSize":734080,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/TutorialTimePeriodVideo02.usm","md5":"15277390407576095819","fileSize":2479456,"isPatch":false,"tags":[3,5],"packages":[31007]},{"remoteName":"Video/HD/Arcade/Guide/TutorialWorldlevel01.usm","md5":"17280668498635337657","fileSize":2067584,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/TutorialWorldlevel02.usm","md5":"13308449198364217153","fileSize":2509824,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/Guide/TutorialWorldlevel03.usm","md5":"5446579931003343702","fileSize":866336,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/Arcade/SoulHoundsIII/Arcade_Game01_03.usm","md5":"997809674877867524","fileSize":2045408,"isPatch":false,"tags":[3,5],"packages":[31006]},{"remoteName":"Video/HD/BabelTower/Battle_Background_Connect_01.usm","md5":"1264072458795450944","fileSize":2079872,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Battle_Background_Connect_02.usm","md5":"9370308857228505810","fileSize":2141120,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Battle_Background_Connect_03.usm","md5":"1177004804218699980","fileSize":2014400,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Battle_Background_Connect_04.usm","md5":"2684041820651130329","fileSize":1708128,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Battle_Background_Connect_05.usm","md5":"9098673955899332102","fileSize":2138528,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Battle_Background_Video_01.usm","md5":"9202125537567294985","fileSize":13140992,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Battle_Background_Video_02.usm","md5":"16504901733079818332","fileSize":12557856,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Battle_Background_Video_03.usm","md5":"2518372468260558802","fileSize":12949472,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Battle_Background_Video_04.usm","md5":"4291527286366169702","fileSize":11013600,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Battle_Background_Video_05.usm","md5":"16638663335477679229","fileSize":12853344,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Count_Down_green_vOne.usm","md5":"5296288569539881046","fileSize":2614752,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Count_Down_orange_vThree.usm","md5":"5528080006936639156","fileSize":2537056,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Count_Down_red_vFour.usm","md5":"9453002208329256743","fileSize":3001696,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Count_Down_white_vFive.usm","md5":"2661436798082249106","fileSize":3077440,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BabelTower/Count_Down_yellow_vTwo.usm","md5":"11922283373918108582","fileSize":3068032,"isPatch":false,"tags":[3,5],"packages":[30800]},{"remoteName":"Video/HD/BackFlow/ReturnPlayer_CharacterExperience.usm","md5":"3682614433338709130","fileSize":4952896,"isPatch":false,"tags":[3,5],"packages":[30300]},{"remoteName":"Video/HD/BackFlow/SC0010B_1.usm","md5":"11319516239411702871","fileSize":30753536,"isPatch":false,"tags":[3,5],"packages":[30300]},{"remoteName":"Video/HD/BackFlow/SC0010G_1.usm","md5":"5090014838072508329","fileSize":24775648,"isPatch":false,"tags":[3,5],"packages":[30300]},{"remoteName":"Video/HD/Battle/BangbooActiveSkillTutorial_Intro.usm","md5":"7253345154365320023","fileSize":1756992,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/BangbooQTETutorial_Intro.usm","md5":"12007489908597198609","fileSize":7769440,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/HBTraining101.usm","md5":"17344055241246964296","fileSize":4489760,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/HBTraining103.usm","md5":"10572678755354340327","fileSize":3623552,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/HBTraining104.usm","md5":"2204493426008836090","fileSize":1538592,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/ManualQTEDialog_AutoMode.usm","md5":"2395936277297241677","fileSize":6029312,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/ManualQTEDialog_ManualMode.usm","md5":"12668262143316465252","fileSize":7450560,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1021_1.usm","md5":"14720882641964064678","fileSize":1900608,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1021_2.usm","md5":"11231889793572794363","fileSize":3452768,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1041_1.usm","md5":"15920935162675111305","fileSize":2737280,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1041_2.usm","md5":"10022632997559046574","fileSize":4036448,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1061_1.usm","md5":"12007793750077087377","fileSize":3723840,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1061_2.usm","md5":"6866119585155693507","fileSize":3196288,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1071_1.usm","md5":"14864329417197296292","fileSize":2237856,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1071_2.usm","md5":"2084131364451610271","fileSize":2353984,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1071_3.usm","md5":"2555338889048994678","fileSize":1512416,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1101_1.usm","md5":"14675966848671240529","fileSize":3702496,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1101_2.usm","md5":"16644410639811643437","fileSize":3537920,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1111_1.usm","md5":"2007498385402276531","fileSize":4878304,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1121_1.usm","md5":"15138495299652814611","fileSize":2972864,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1121_2.usm","md5":"9116263667391825034","fileSize":4571360,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1131_1.usm","md5":"4998561595849531115","fileSize":3167872,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1131_2.usm","md5":"11190993346187065741","fileSize":3891712,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1131_3.usm","md5":"10009547409056290267","fileSize":4420960,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1141_1.usm","md5":"13965333420422859865","fileSize":3086752,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1141_2.usm","md5":"6460914534363724112","fileSize":4266400,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1151_1.usm","md5":"14504281241075317761","fileSize":1773952,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1151_2.usm","md5":"14317197734015524022","fileSize":2527328,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1161_1.usm","md5":"13843936522429869154","fileSize":4053824,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1161_2.usm","md5":"12953176719998489012","fileSize":3337216,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1171_1.usm","md5":"14220436561842131239","fileSize":2160128,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1171_2.usm","md5":"841028146554768470","fileSize":3659872,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1181_1.usm","md5":"7533680942264592425","fileSize":3421312,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1191_1.usm","md5":"1608602696153830958","fileSize":3603808,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1191_2.usm","md5":"1771719105305209167","fileSize":3853952,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1191_3.usm","md5":"8164177157942020828","fileSize":3035488,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1211_1.usm","md5":"13454513199130937138","fileSize":3069408,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1221_1.usm","md5":"8644868525467250452","fileSize":4481248,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1221_2.usm","md5":"11003033176402572804","fileSize":1159168,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1221_3.usm","md5":"9211135644854698467","fileSize":3326848,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1241_1.usm","md5":"16573520515684280463","fileSize":1983520,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1241_2.usm","md5":"9489745838839009603","fileSize":3692704,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1241_3.usm","md5":"6302879533282322486","fileSize":4924224,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1251_1.usm","md5":"3598985952574802868","fileSize":4280512,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1251_2.usm","md5":"13092398813838227434","fileSize":2856512,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1261_1.usm","md5":"4697781823327158371","fileSize":3093408,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1261_2.usm","md5":"4507581260789430377","fileSize":4353888,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1261_3.usm","md5":"14143397407398701194","fileSize":2982464,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1271_1.usm","md5":"2178424386391487058","fileSize":4570208,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1271_2.usm","md5":"15518686969273756617","fileSize":3126912,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1281_1.usm","md5":"7277431959736496486","fileSize":6043104,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialAvatarVideo1281_2.usm","md5":"12286486312658130277","fileSize":4477248,"isPatch":false,"tags":[3,5],"packages":[31002]},{"remoteName":"Video/HD/Battle/TutorialElementAbnormal_Disorder.usm","md5":"8564840829857477652","fileSize":3256288,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialElementAbnormal_Electric.usm","md5":"18040434079701096624","fileSize":2655584,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialElementAbnormal_Ether.usm","md5":"12503905028906671079","fileSize":1035648,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialElementAbnormal_Fire.usm","md5":"7921463601604316616","fileSize":2653184,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialElementAbnormal_Ice.usm","md5":"14481246026327218884","fileSize":4733568,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialElementAbnormal_Physics.usm","md5":"4526971181288937712","fileSize":831808,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialHpShield.usm","md5":"4293770485934738512","fileSize":2959136,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialMotorVideo1000_1.usm","md5":"9563241281567082215","fileSize":1513152,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialMotorVideo1000_2.usm","md5":"13914935156597624983","fileSize":1802144,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialMotorVideo1000_3.usm","md5":"15785416626331455599","fileSize":3026176,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialPartDestroy.usm","md5":"4168609940555549239","fileSize":1901664,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialShowDamage_1.usm","md5":"5530267972115987178","fileSize":5494496,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialShowDamage_2.usm","md5":"14355693598734894232","fileSize":1963328,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/TutorialShowDamage_3.usm","md5":"15034687177381243815","fileSize":1351200,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Battle/Tutorial_ActivityBattle_1.usm","md5":"14282928556848073291","fileSize":5117888,"isPatch":false,"tags":[3,5],"packages":[71100]},{"remoteName":"Video/HD/DailyChallenge/DailyChallengePageBg.usm","md5":"10324570556872272241","fileSize":10521120,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/DailyChallenge/DailyChallengePageBg02.usm","md5":"9196152930223646792","fileSize":12211328,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/DailyChallenge/TrainningRoomLayerEnd.usm","md5":"242257400746951926","fileSize":1498944,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/DailyChallenge/TrainningRoomLayerLoop.usm","md5":"13062336222378890511","fileSize":11771040,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/DailyChallenge/TrainningRoomLayerStart.usm","md5":"875895737574713609","fileSize":1850496,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Gacha/Gacha_Anbi.usm","md5":"10110210659502863515","fileSize":4082912,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Anton.usm","md5":"2069722637263532935","fileSize":5781024,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Bangboo_Default.usm","md5":"11711310973299156323","fileSize":4984000,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_Ben.usm","md5":"4823215639981068687","fileSize":7707008,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Billy.usm","md5":"14953130108123338812","fileSize":6392224,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Burnice.usm","md5":"13271857325164591794","fileSize":6988640,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Caesar.usm","md5":"5980867030656927661","fileSize":6442624,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Corin.usm","md5":"7810052786248422356","fileSize":5896352,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Ellen.usm","md5":"5621236553567301139","fileSize":6238496,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Grace.usm","md5":"7064989816342715564","fileSize":2925600,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Jane.usm","md5":"10836732666292089591","fileSize":4617504,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Koleda.usm","md5":"12998066887827382798","fileSize":8093824,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Lighter.usm","md5":"12236335954734243222","fileSize":5482208,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Lucy.usm","md5":"7223579880338662253","fileSize":6343680,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Lycaon.usm","md5":"8371593126566618641","fileSize":6094784,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Nekomata.usm","md5":"15695861893889603198","fileSize":6096864,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Nicole.usm","md5":"5032930757070935058","fileSize":4877536,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_OP_1.usm","md5":"3438306188329213850","fileSize":1981504,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_OP_1_Bangboo.usm","md5":"4731800289135647893","fileSize":1947648,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_OP_1_Base.usm","md5":"10279670348492391592","fileSize":1938528,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_OP_2.usm","md5":"3063770584578533099","fileSize":2037472,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_OP_2_Bangboo.usm","md5":"16325635040192329209","fileSize":1995072,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_OP_2_Base.usm","md5":"18319656837780200322","fileSize":1969344,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_OP_3.usm","md5":"15213520780268911308","fileSize":2033760,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_OP_3_Bangboo.usm","md5":"3184741454867502311","fileSize":1925184,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_OP_3_Base.usm","md5":"11395395264056956596","fileSize":1694848,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_OP_4.usm","md5":"11026010128195267247","fileSize":1925824,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_OP_4_Bangboo.usm","md5":"13625091938089895168","fileSize":1929792,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_OP_4_Base.usm","md5":"8704601804539067641","fileSize":1936160,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_Piper.usm","md5":"8064414224349158795","fileSize":6745376,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_QingYi.usm","md5":"2245484414304341203","fileSize":5460288,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Rina.usm","md5":"14413569434939294117","fileSize":6013536,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Seth.usm","md5":"657470952314354283","fileSize":5429248,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Soldier11.usm","md5":"7795624088859122815","fileSize":6012288,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Soukaku.usm","md5":"3059047608161171437","fileSize":5520128,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_Weapon_Default.usm","md5":"1025336156305477037","fileSize":5759456,"isPatch":false,"tags":[3,5],"packages":[40200]},{"remoteName":"Video/HD/Gacha/Gacha_Yanagi.usm","md5":"4890068824121998001","fileSize":6207648,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Gacha/Gacha_ZhuYuan.usm","md5":"1992397484259817737","fileSize":10590144,"isPatch":false,"tags":[3,5],"packages":[40100]},{"remoteName":"Video/HD/Hollow/AnimFlow/Black_Switch.usm","md5":"4243120522365577367","fileSize":10528,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/AnimFlow/WhiteNoise01.usm","md5":"3547999545881385833","fileSize":10381440,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/AnimFlow/WhiteNoise05.usm","md5":"7100447330728033867","fileSize":1395072,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoAnbi_Chat.usm","md5":"16762916555663142549","fileSize":8218048,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoAnton_Chat.usm","md5":"6120032113400305061","fileSize":9098624,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoAokaku_Chat.usm","md5":"3965824821392191898","fileSize":9216544,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoAvatar_ExtraTalent.usm","md5":"2453116495492038823","fileSize":13597472,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoBen_Chat.usm","md5":"359013041241857710","fileSize":6297920,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoBilly_Chat.usm","md5":"1749929485454449759","fileSize":9674976,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoChat_Tsubaki.usm","md5":"2735144784455210352","fileSize":9138368,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoCorin_Chat.usm","md5":"1315144446080991740","fileSize":9430752,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoEllen_Chat.usm","md5":"8034530078368720719","fileSize":9465120,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoGrace_Chat.usm","md5":"10491515823054698167","fileSize":9380512,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoKoleda_Chat.usm","md5":"12705844237239924221","fileSize":9343328,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoLongnius_Chat.usm","md5":"3076820942481184065","fileSize":9808896,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoLycaon_Chat.usm","md5":"3483209908552030398","fileSize":8419456,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoNostradamus_Chat.usm","md5":"9050325750321274570","fileSize":9695552,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoRina_Chat.usm","md5":"9949094332052555835","fileSize":8907232,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoTsubaki_Chat.usm","md5":"17940641940204138717","fileSize":9138368,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideoZhuYuan_Chat.usm","md5":"17907398630780191527","fileSize":8710528,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideo_ClaraChat.usm","md5":"16531307017349562456","fileSize":9758144,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideo_HarumasaChat.usm","md5":"16653746522093117650","fileSize":9820736,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideo_JaneChat.usm","md5":"10623198958809451017","fileSize":9461248,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideo_LighterChat.usm","md5":"13985195929227841405","fileSize":9445504,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideo_LucyChat.usm","md5":"3735627013506372570","fileSize":9676128,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideo_QingYiChat.usm","md5":"4396978357977900127","fileSize":8399712,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideo_SethChat.usm","md5":"11212899212582294669","fileSize":9619840,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Chat/EventVideo_YanagiChat.usm","md5":"10151521733289938210","fileSize":9347232,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner.usm","md5":"14649437143317447181","fileSize":2248608,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Anbi.usm","md5":"5939636038718553157","fileSize":8393632,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Anton.usm","md5":"7933921548196937549","fileSize":9227072,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Aokaku.usm","md5":"18380868071890579224","fileSize":9407904,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Ben.usm","md5":"8538921655493717973","fileSize":5328544,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Billy.usm","md5":"2073151057971052020","fileSize":9556960,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Corin.usm","md5":"14976201441263144913","fileSize":8222624,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Ellen.usm","md5":"13370384450800052191","fileSize":8229536,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Harumasa.usm","md5":"4732232192858651559","fileSize":7683552,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Light.usm","md5":"2278060037668114442","fileSize":7048864,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Lisa.usm","md5":"13979585161637363258","fileSize":8322720,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Longinus.usm","md5":"13967796154584719550","fileSize":7698144,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Lucy.usm","md5":"16228249782652260948","fileSize":9366400,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Lycaon.usm","md5":"15700313863862603118","fileSize":8939776,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Nostradamus.usm","md5":"6845885852210430692","fileSize":9069664,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_OokumaMari.usm","md5":"17109337743716805827","fileSize":9113120,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Piper.usm","md5":"11601869765882223355","fileSize":9708736,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_QingYi.usm","md5":"5256088626546477636","fileSize":9690080,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Rina.usm","md5":"11061004029081342768","fileSize":8596032,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Tsubaki.usm","md5":"17909525053322226602","fileSize":9423424,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_Yanagi.usm","md5":"13236943010810114210","fileSize":7839008,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideoPartner_ZhuYuan.usm","md5":"6516115484095735368","fileSize":8890240,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideo_Magnetiboo_Idle.usm","md5":"5028138470028029729","fileSize":12163328,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideo_Plugboo_Idle.usm","md5":"532042523561215939","fileSize":12129984,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Partner/EventVideo_Resonaboo_Idle.usm","md5":"2264495625313349786","fileSize":11576480,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar.usm","md5":"11939792300876102548","fileSize":8920480,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Anbi.usm","md5":"6780611872609405322","fileSize":8784512,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Anton.usm","md5":"5570766648127091401","fileSize":9323104,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Aokaku.usm","md5":"12980725357920678512","fileSize":9854144,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Ben.usm","md5":"16893774611617911431","fileSize":8995104,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Billy.usm","md5":"15392456307811775090","fileSize":9202816,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Burnice.usm","md5":"8925117626182422481","fileSize":9346272,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Caesar.usm","md5":"8356045606456154201","fileSize":9330688,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Corin.usm","md5":"4530505121964294083","fileSize":9324576,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Ellen.usm","md5":"15082201030496885288","fileSize":8731936,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Grace.usm","md5":"17464051284794005740","fileSize":9473248,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Harumasa.usm","md5":"4215999501261712894","fileSize":9480288,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Jane.usm","md5":"5387968414330463901","fileSize":9347520,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Light.usm","md5":"523516918347733798","fileSize":8901920,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Longinus.usm","md5":"8501362914367796457","fileSize":8833600,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Lucy.usm","md5":"4314401295577876730","fileSize":9451136,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Lycaon.usm","md5":"8458968167916856940","fileSize":8970496,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Nostradamus.usm","md5":"9769112329768743884","fileSize":8987712,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_OokumaMari.usm","md5":"7183875962960542799","fileSize":9815488,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Piper.usm","md5":"8898644639419801547","fileSize":9345440,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_QingYi.usm","md5":"16227284199943089657","fileSize":9723040,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Rina.usm","md5":"2062308475786683355","fileSize":8751008,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Seth.usm","md5":"6176903970812543298","fileSize":9026432,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Tsubaki.usm","md5":"11736624470408135830","fileSize":9025440,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Unagi.usm","md5":"10441729758040313061","fileSize":9725824,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_Yanagi.usm","md5":"14436762367871377184","fileSize":9822432,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Avatar/Telephone/EventVideoTelephoneAvatar_ZhuYuan.usm","md5":"8977850391468882175","fileSize":8723808,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Background/Boss/ChallengeDeadEndButcherBackground.usm","md5":"9945135690326862047","fileSize":25961248,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/ConstructionSite/ConstructionSiteBackground.usm","md5":"11931527845222482198","fileSize":32513120,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/ConstructionSite/ConstructionSiteBackground_0.usm","md5":"15091449840409360372","fileSize":29942016,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/GoldenWeek/GoldenWeekBackground.usm","md5":"7391878059946027696","fileSize":32554816,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/Metro/MetroBackground_0.usm","md5":"11628301633062100464","fileSize":29698496,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/OuterRing/OuterRingBackGround_MRL4Cloudy.usm","md5":"6230609729239022727","fileSize":24572480,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/OuterRing/OuterRingBackGround_UnderGround.usm","md5":"18208235204799962152","fileSize":21822176,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/OuterRing/OuterRingBackGround_UpGround.usm","md5":"390708259149484858","fileSize":24593728,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/Skyscraper/SkyscraperBackground.usm","md5":"6253911312016561808","fileSize":36239968,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/Skyscraper/SkyscraperBackground_0.usm","md5":"10439555999881742580","fileSize":31255904,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/Special/EMP_RepairBackGround.usm","md5":"1363451239162009974","fileSize":21215712,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/Special/MindSpace.usm","md5":"979244451974579682","fileSize":24585984,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/Special/NightMode.usm","md5":"13051759361446314719","fileSize":10333120,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Background/Special/RoamingTheEther_Background.usm","md5":"5467127003179144104","fileSize":16867232,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/Special/RoamingTheEther_Background_Fever.usm","md5":"17567369584111070921","fileSize":12916640,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/Special/RoamingTheEther_partB_Background.usm","md5":"16276164314388805638","fileSize":16916032,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/Special/TimeRewind.usm","md5":"314875848870139963","fileSize":20277312,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/Special/TimeRewind_Pause.usm","md5":"12928751613944892699","fileSize":21767520,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/Special/UnderProphecyNormal.usm","md5":"18170601396165991084","fileSize":24553184,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Background/Special/UnderProphecyTrueEnd.usm","md5":"1412541225730744256","fileSize":24616576,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Background/Zero/ChallengeZeroBackground.usm","md5":"553637869964305281","fileSize":24502752,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/Background/Zero/ChallengeZeroNinevehBackground.usm","md5":"10479529531789482029","fileSize":22163552,"isPatch":false,"tags":[3,5],"packages":[20102]},{"remoteName":"Video/HD/Hollow/BigTvGame/BigTV_Sokoban_GmaeOver.usm","md5":"15802657592128756008","fileSize":2035648,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/BigTvGame/BigTV_Sokoban_GmaeStart.usm","md5":"13180541376585528765","fileSize":2030176,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/BigTvGame/EventIcon_LargeTV_Game01.usm","md5":"11504685204733014969","fileSize":4360352,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/BigTvGame/EventIcon_LargeTV_Game02.usm","md5":"8699741627119122817","fileSize":3986848,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/BigWorld/EventVideo_Bangboo_Reset.usm","md5":"15432746213433606309","fileSize":411872,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/BigWorld/EventVideo_EtherFlag_Empty.usm","md5":"14764591275130858712","fileSize":6249632,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/BigWorld/EventVideo_LockedDoor_CenterGate.usm","md5":"12078248690446073736","fileSize":2357504,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/BigWorld/EventVideo_UnlockDoor_CenterGate.usm","md5":"18424265392560232792","fileSize":4227008,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/BigWorld/EventVideo_UnlockedDoor_CenterGate.usm","md5":"9682052799910333648","fileSize":3011744,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/BigWorld/EventVideo_VirusTrapLeft_Loop.usm","md5":"1685263434493198526","fileSize":552032,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/BigWorld/EventVideo_VirusTrapLeft_Start.usm","md5":"3441377320140076358","fileSize":141728,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/BigWorld/EventVideo_VirusTrap_End.usm","md5":"1614519953282724234","fileSize":161664,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/BigWorld/EventVideo_VirusTrap_LOOP.usm","md5":"13573358353032603794","fileSize":1714848,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/Bomberman_Idel0.usm","md5":"941760546352838681","fileSize":262624,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/Bomberman_Idel1.usm","md5":"17495533806963632501","fileSize":2078752,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/Bomberman_Idel2.usm","md5":"3895280177431382460","fileSize":2725696,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/Bomberman_Idel3.usm","md5":"11872390087500253287","fileSize":3464224,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/Bomberman_MonsterIdle.usm","md5":"7769784926822715774","fileSize":4016192,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/Box_Normal_Loop.usm","md5":"9143234701787159763","fileSize":1782784,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventState_Bangboo_BigTVIn_B_L.usm","md5":"4313095690266568270","fileSize":1131936,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventState_Bangboo_BigTVIn_B_R.usm","md5":"4610645200939206177","fileSize":1146624,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventState_Bangboo_BigTVIn_L_B.usm","md5":"10151073526986633649","fileSize":1183008,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventState_Bangboo_BigTVIn_L_T.usm","md5":"9843001993717622127","fileSize":1260608,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventState_Bangboo_BigTVIn_Loop.usm","md5":"18019295319996162295","fileSize":4592768,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventState_Bangboo_BigTVIn_Loop_Event.usm","md5":"5767767255315538988","fileSize":2378304,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventState_Bangboo_BigTVIn_Loop_PassiveTrigger.usm","md5":"8691277407656016208","fileSize":6617248,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventState_Bangboo_BigTVIn_R_B.usm","md5":"8664665780739130967","fileSize":1152928,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventState_Bangboo_BigTVIn_R_T.usm","md5":"16369725644359832434","fileSize":1283424,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventState_Bangboo_BigTVIn_T_L.usm","md5":"15282176545081675608","fileSize":1294208,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventState_Bangboo_BigTVIn_T_R.usm","md5":"18257133900107269781","fileSize":1305248,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooAllied.usm","md5":"14502059727037548595","fileSize":8896960,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooAllied_Error.usm","md5":"3933912902517080262","fileSize":5479072,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooAllied_Mild.usm","md5":"7542204991432615445","fileSize":8036640,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooAllied_Sleep.usm","md5":"10000734030127828799","fileSize":7808544,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooEvil01.usm","md5":"9037665161998046205","fileSize":3369216,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooEvil01_Sleep.usm","md5":"1413570525844222279","fileSize":3625568,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooEvil02.usm","md5":"3244476273329311337","fileSize":4513536,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooEvil02_Sleep.usm","md5":"4604079002443997708","fileSize":4377952,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooEvil03.usm","md5":"1733605419355786986","fileSize":4161920,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooEvil03_Sleep.usm","md5":"1315177066228334727","fileSize":6247264,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooGhost_Allied_Die.usm","md5":"9501823666889064846","fileSize":2212320,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooGhost_Allied_Idle.usm","md5":"8984227107807279286","fileSize":4589216,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooGhost_Allied_ToDie.usm","md5":"5191574464815977221","fileSize":860288,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooGhost_Die.usm","md5":"5640277488943315124","fileSize":2317760,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooGhost_Idle.usm","md5":"5123123529930861697","fileSize":4579328,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooGhost_ToDie.usm","md5":"14968386932577622800","fileSize":973120,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooNeutral.usm","md5":"10681107147376754077","fileSize":9124096,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooNeutral_Error.usm","md5":"14632630599139723887","fileSize":5483328,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoBangbooNeutral_Sleep.usm","md5":"16789042512280649407","fileSize":7779808,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideoChat_Enzo.usm","md5":"16720341242449717235","fileSize":9774688,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Amillion_Idle.usm","md5":"17893271582812964960","fileSize":12202976,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Avocaboo_Idle.usm","md5":"17843251768491983216","fileSize":11177696,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Baddieboo_Idle.usm","md5":"2711305978064020921","fileSize":11869376,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_BagbooChat_Error.usm","md5":"10463656261043192298","fileSize":8712960,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Bagboo_Idle.usm","md5":"2157259283300989738","fileSize":12179968,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Bangvolver_Idle.usm","md5":"11294184344850414401","fileSize":11693888,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Boollseye_Idle.usm","md5":"15201976461533230092","fileSize":11385408,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Booressure_Idle.usm","md5":"4382151102928796909","fileSize":12151328,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_BurniceChat.usm","md5":"12366864036752565085","fileSize":9666880,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_ButlerChat_Error.usm","md5":"6895888537220085379","fileSize":9000000,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Butler_Idle.usm","md5":"17725162170958323732","fileSize":11557152,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_CaesarChat.usm","md5":"2078780122004852990","fileSize":9715744,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Car.usm","md5":"12617646004627514897","fileSize":9710816,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Cryboo_Idle.usm","md5":"12607627027463134179","fileSize":10614144,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_DanChat.usm","md5":"334262092001943610","fileSize":8339872,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Devilboo_Idle.usm","md5":"9004274138585828702","fileSize":11368896,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Electroboo_Error.usm","md5":"12980422054969197646","fileSize":9689280,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Electroboo_Idle.usm","md5":"3794824857109384208","fileSize":12022272,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_EltonChat.usm","md5":"13354155484113761048","fileSize":8053536,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_EmmieChat.usm","md5":"7677853951849624380","fileSize":8830304,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Exploreboo_Idle.usm","md5":"15929560436270116994","fileSize":11078784,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_GanChat.usm","md5":"10450722083988814719","fileSize":8637504,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_GoldenCar.usm","md5":"17211865414050233683","fileSize":9684928,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_LishaChat.usm","md5":"4664696446759275703","fileSize":8592192,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Luckyboo_Idle.usm","md5":"8435972953657136354","fileSize":11726240,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_MerchantChat_Error.usm","md5":"8789812089187672443","fileSize":8529408,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_MerchantChat_Normal.usm","md5":"7443638254010311389","fileSize":9326240,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Monster_11341_Idle.usm","md5":"15027492051145732667","fileSize":9012704,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Monster_11351_Idle.usm","md5":"14665579959171436457","fileSize":9103552,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_MysteriousBuddy.usm","md5":"3910544851543601663","fileSize":868576,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_OfficerCu_Idle.usm","md5":"2220222241677583540","fileSize":11474272,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Paperboo_Idle.usm","md5":"15175650617205561492","fileSize":11631552,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_PenguinbooChat_Error.usm","md5":"11264236014218124792","fileSize":9322848,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Penguinboo_Idle.usm","md5":"18278471862766423233","fileSize":10757888,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_RedMoccus_Idle.usm","md5":"16653234342155642256","fileSize":11306560,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Rocketboo_Idle.usm","md5":"6581887417541089443","fileSize":11985824,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Safety_Idle.usm","md5":"8293083834948909607","fileSize":11051648,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_SafetybooChat_Error.usm","md5":"2920705258493583058","fileSize":9418080,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_SharkbooChat_Error.usm","md5":"16307245543939978106","fileSize":8901152,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Sharkboo_Idle.usm","md5":"14898947454431842337","fileSize":11175584,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_SumobooChat_Error.usm","md5":"11836434977803636419","fileSize":9446432,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_Sumoboo_Idle.usm","md5":"12411632461757792167","fileSize":12094656,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/EventVideo_TeddyChat_Error.usm","md5":"2264514916630261869","fileSize":9390080,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/GuardianMecha_Angry_Attack.usm","md5":"848515891076933478","fileSize":1474720,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/GuardianMecha_Angry_Idle.usm","md5":"11790448181604416527","fileSize":6235904,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Actor/GuardianMecha_Normal_Idle.usm","md5":"9107803882785775688","fileSize":6238304,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Clue/EventVideoClue_Detective.usm","md5":"2871547355511703802","fileSize":2655744,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Clue/EventVideoClue_Scavengers.usm","md5":"4495554541719966845","fileSize":2646944,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Clue/EventVideoClue_StrangeCrystal.usm","md5":"15933148898656174150","fileSize":892672,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Clue/EventVideoClue_Student.usm","md5":"9868199320188508968","fileSize":1710880,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/EventIcon_BangbooShop_Evil.usm","md5":"5198061417880375008","fileSize":4413216,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Hollow/Event/EventIcon_BangbooShop_Goodness.usm","md5":"715849463646966941","fileSize":4460416,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Hollow/Event/EventIcon_BangbooShop_Normal.usm","md5":"17993839328039625849","fileSize":4314784,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Hollow/Event/EventIcon_HollowItem_Evil.usm","md5":"3959623093441756346","fileSize":3860608,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Hollow/Event/EventIcon_HollowItem_Goodness.usm","md5":"4539356007155730426","fileSize":3123776,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Hollow/Event/EventIcon_HollowItem_Normal.usm","md5":"8193299290448475612","fileSize":2777088,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Hollow/Event/EventIcon_PiggyBank_Evil.usm","md5":"1979437365829277805","fileSize":9347840,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Hollow/Event/EventIcon_PiggyBank_Goodness.usm","md5":"13273416592982375425","fileSize":9303136,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Hollow/Event/EventIcon_PiggyBank_Normal.usm","md5":"15475845913897231309","fileSize":9315680,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Hollow/Event/EventIcon_WeaponRobot_Evil.usm","md5":"7268136425644194223","fileSize":10360288,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Hollow/Event/EventIcon_WeaponRobot_Goodness.usm","md5":"16219509458154093436","fileSize":10137600,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Hollow/Event/EventIcon_WeaponRobot_Normal.usm","md5":"7642311115193725699","fileSize":9958976,"isPatch":false,"tags":[3,5],"packages":[31005]},{"remoteName":"Video/HD/Hollow/Event/EventVideoStory04_BangbooKnows.usm","md5":"8786433050095789478","fileSize":9157056,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_CyberFairy_IDLE_Loop.usm","md5":"17856289802098560192","fileSize":5393376,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_IDLE_End.usm","md5":"9310223548375478574","fileSize":310400,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_IDLE_LOOP.usm","md5":"13787878096453158061","fileSize":998368,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_IDLE_Start.usm","md5":"15285074914110371343","fileSize":430496,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_Negative_End.usm","md5":"7700071403362221654","fileSize":298784,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_Negative_LOOP.usm","md5":"15794609612386700443","fileSize":905792,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_Negative_Start.usm","md5":"18274195265435239682","fileSize":433184,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_Positive_End.usm","md5":"1536524525021919028","fileSize":316032,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_Positive_LOOP.usm","md5":"16576136791507086780","fileSize":916224,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_Positive_Start.usm","md5":"17903505208008159954","fileSize":439744,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_Transition_Idle2Negative.usm","md5":"5014609901663178167","fileSize":223648,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_Transition_Idle2Positive.usm","md5":"11946578571068826393","fileSize":226720,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_Transition_Negative2Idle.usm","md5":"18280363642027588876","fileSize":217888,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_Transition_Negative2Positive.usm","md5":"9786851284751339423","fileSize":237312,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_Transition_Positive2Idle.usm","md5":"1785180729799186766","fileSize":241216,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventIcon_Fairy_Transition_Positive2Negative.usm","md5":"9668538731932916321","fileSize":246848,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventVideo_Fairy_Warning_Loop.usm","md5":"8188891120197711065","fileSize":4170112,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Fairy/EventVideo_SoundOnly.usm","md5":"10214391428979902923","fileSize":6139968,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EvenVideo_SignBoard_Down.usm","md5":"852598223928723454","fileSize":9636320,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EvenVideo_SignBoard_Left.usm","md5":"8551574826614782714","fileSize":9540448,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EvenVideo_SignBoard_Right.usm","md5":"14791773553256688510","fileSize":9549376,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EvenVideo_SignBoard_Up.usm","md5":"7881590511404007549","fileSize":9619616,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventIcon_Bangboo_Battle_01.usm","md5":"2564165866309407392","fileSize":2029568,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventIcon_CowOut.usm","md5":"2887377870730009346","fileSize":6236672,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_EMPDevice_Release.usm","md5":"16790896967316234817","fileSize":699744,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_Precious_A.usm","md5":"9643880967881621512","fileSize":769472,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_Precious_B.usm","md5":"6857264227535053910","fileSize":815936,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_Precious_S.usm","md5":"16709256307274215910","fileSize":830624,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_UnlockDoor_BattleEvaluationS.usm","md5":"10553414726949774951","fileSize":2401568,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_UnlockDoor_Hp.usm","md5":"2673145610717407649","fileSize":1754240,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_UnlockDoor_Key.usm","md5":"16656343124404278681","fileSize":2051136,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_UnlockDoor_Password.usm","md5":"11133107335009631948","fileSize":2379968,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_UnlockDoor_Question.usm","md5":"16670195846843960396","fileSize":2137888,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_UnlockDoor_Stamina.usm","md5":"17033642125665951006","fileSize":2012192,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_UnlockDoor_Trick.usm","md5":"7117451275435171877","fileSize":2050944,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventStateVideo_resetButton.usm","md5":"5767929013014312671","fileSize":7565536,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideoBangbooEnhancedBullet_Idle.usm","md5":"9874512987679341805","fileSize":3827328,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideoBangbooEnhancedBullet_Idle2.usm","md5":"9877723309698257555","fileSize":3821856,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideoBangbooEnhancedBullet_Idle3.usm","md5":"48344069428472774","fileSize":3834528,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideoBangbooEnhancedBullet_Idle4.usm","md5":"10525976057438312776","fileSize":3816448,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideoDirectionalTrigger.usm","md5":"11737282401716060757","fileSize":7698944,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideoFindClue.usm","md5":"9226652665906524519","fileSize":9730528,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideoItemShop.usm","md5":"10127212750372829583","fileSize":7810912,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideoLampBulb_Off.usm","md5":"12259606449448737777","fileSize":6448736,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideoLampBulb_On.usm","md5":"10465858088921373362","fileSize":6456288,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideoLampBulb_Switch_Off.usm","md5":"13591261969789682048","fileSize":594976,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideoLampBulb_Switch_On.usm","md5":"10879739438221189856","fileSize":1043072,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideoLampBulb_Unstable.usm","md5":"1392848602108843324","fileSize":6461536,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_BangbooCard.usm","md5":"6285213497042997869","fileSize":11029472,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_BidirectionShuttleDown.usm","md5":"13724662388753900859","fileSize":6269600,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_BidirectionShuttleUp.usm","md5":"2295740585704311351","fileSize":6252704,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_BigTv_CountDownBackground.usm","md5":"5654247188820056733","fileSize":2877696,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_CowChallenge.usm","md5":"1872989127187232054","fileSize":2838240,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_CowDemon.usm","md5":"9800913524675397575","fileSize":2848704,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_CowFunction.usm","md5":"14384588491063230937","fileSize":2850464,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_CowRandom.usm","md5":"17248911557573321928","fileSize":2837184,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_CowReward.usm","md5":"3441931998176619845","fileSize":2843456,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_CowSuperRandom.usm","md5":"2385388316276474585","fileSize":3767296,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_DigShuttleDown.usm","md5":"17094626028855597306","fileSize":6255520,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_DigShuttleUp.usm","md5":"4920420598182594123","fileSize":6258752,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_EMPDevice_Idle.usm","md5":"4548105328941877373","fileSize":7046944,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_Generator_Charged.usm","md5":"10277677550534574446","fileSize":4070240,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_Generator_UnCharged.usm","md5":"13315323115690141932","fileSize":1866784,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_HollowStar.usm","md5":"8303453607734647763","fileSize":6127968,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_HollowStar_Empty.usm","md5":"18327319526604103053","fileSize":5475328,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_LandReviveRescue.usm","md5":"8349677207952713494","fileSize":11705984,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_LandReviveRescueBattle.usm","md5":"7404184324940649394","fileSize":11721344,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_LockedDoor_BattleEvaluationS.usm","md5":"7038299555814366120","fileSize":3512000,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_LockedDoor_GoldenWeek.usm","md5":"9142254849981485757","fileSize":4991872,"isPatch":false,"tags":[3,5],"packages":[71100]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_LockedDoor_Hp.usm","md5":"12455709601012171372","fileSize":3064736,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_LockedDoor_Key.usm","md5":"3505522662870731367","fileSize":3427360,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_LockedDoor_Password.usm","md5":"13468581400902824752","fileSize":3763680,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_LockedDoor_Question.usm","md5":"12166583717164161254","fileSize":3363456,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_LockedDoor_Stamina.usm","md5":"12457651439072903551","fileSize":3524800,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_LockedDoor_Trick.usm","md5":"18350605648377846041","fileSize":3376832,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_Precious_A.usm","md5":"12810409075811367963","fileSize":2436160,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_Precious_B.usm","md5":"17597210007134616874","fileSize":2489216,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_Precious_S.usm","md5":"4654618712415022851","fileSize":2630880,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_ShuttleDown.usm","md5":"13400555949950463786","fileSize":6265760,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_ShuttleDownBattle.usm","md5":"8175298309910517168","fileSize":6262784,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_ShuttleUp.usm","md5":"12351740467212420062","fileSize":6264224,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_ShuttleUpBattle.usm","md5":"14171378440666558172","fileSize":6264128,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_StreesOut_01_Loop.usm","md5":"16417088577676838765","fileSize":1112800,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_Teleport_Blue.usm","md5":"5302518480929873295","fileSize":5681472,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_Teleport_Green.usm","md5":"11771061865476890396","fileSize":5675424,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_Teleport_Magenta.usm","md5":"17660357170572110584","fileSize":5513856,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_Teleport_Orange.usm","md5":"588538330399888286","fileSize":5614880,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_Teleport_Yellow.usm","md5":"1067491600661283253","fileSize":5510720,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_TimeLeaper.usm","md5":"17203659264729306135","fileSize":6017504,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_Trick.usm","md5":"7240463173719164480","fileSize":2604864,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_UnlockedDoor.usm","md5":"12753967337545019955","fileSize":1601280,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/EventVideo_resetButton.usm","md5":"7987160218388315637","fileSize":2289696,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventIconJoyStick_Off_Down.usm","md5":"8580236777757391679","fileSize":7443680,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventIconJoyStick_Off_Left.usm","md5":"3100952301056683535","fileSize":7469408,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventIconJoyStick_Off_Right.usm","md5":"16467761067486100248","fileSize":7507072,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventIconJoyStick_Off_Up.usm","md5":"18364118246555666886","fileSize":7513184,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventIconJoyStick_On_Down.usm","md5":"10965477040811158476","fileSize":7518752,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventIconJoyStick_On_Left.usm","md5":"1460315988461157644","fileSize":7475104,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventIconJoyStick_On_Right.usm","md5":"15903965373003902686","fileSize":7449920,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventIconJoyStick_On_Up.usm","md5":"10098387319331671407","fileSize":7511136,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventStateJoyStick_Off_Down.usm","md5":"1198148698306295669","fileSize":1012992,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventStateJoyStick_Off_Left.usm","md5":"4881776039422633612","fileSize":1010944,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventStateJoyStick_Off_Right.usm","md5":"5416504253319314283","fileSize":1004544,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventStateJoyStick_Off_Up.usm","md5":"14761056631085545197","fileSize":976128,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventStateJoyStick_On_Down.usm","md5":"16749063581611937817","fileSize":983200,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventStateJoyStick_On_Left.usm","md5":"17019492732258292745","fileSize":1015808,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventStateJoyStick_On_Right.usm","md5":"2510856987824783638","fileSize":1016832,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/General/JoyStick/EventStateJoyStick_On_Up.usm","md5":"8911433977774022268","fileSize":1004320,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem.usm","md5":"1257793689533744809","fileSize":3747040,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem01.usm","md5":"6313370361894344655","fileSize":2368864,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem02.usm","md5":"15105006581364981965","fileSize":1710528,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem03.usm","md5":"8840368639652659862","fileSize":1777984,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem04.usm","md5":"16465285281450795288","fileSize":1930336,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem05.usm","md5":"7480030216161855259","fileSize":2296128,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem06.usm","md5":"4089614675237568071","fileSize":2716256,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem07.usm","md5":"17358052613625697332","fileSize":2249056,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem08.usm","md5":"17031318681529803154","fileSize":2268736,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem09.usm","md5":"12508494291086356892","fileSize":2315456,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem10.usm","md5":"10513802225839742289","fileSize":2857568,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem11.usm","md5":"17073645947314163293","fileSize":2209280,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem12.usm","md5":"14014441899770840307","fileSize":2302912,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem13.usm","md5":"65187476714351072","fileSize":2417312,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem14.usm","md5":"13839700371395620625","fileSize":2512960,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem15.usm","md5":"7423510115259180682","fileSize":2730112,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem16.usm","md5":"9529900867761763359","fileSize":2792192,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem17.usm","md5":"2118417057448421039","fileSize":2090720,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem18.usm","md5":"11997084274129042229","fileSize":2626848,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem19.usm","md5":"17565381501275560496","fileSize":1778592,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem20.usm","md5":"1007392128421665570","fileSize":2954144,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem21.usm","md5":"15018813438215813381","fileSize":2364896,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem22.usm","md5":"12882240452334799570","fileSize":2631072,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem23.usm","md5":"12293167229274939723","fileSize":2138592,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem24.usm","md5":"2983825262468664146","fileSize":2471424,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem32.usm","md5":"628280637174870438","fileSize":2796608,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem33.usm","md5":"12544334397262985146","fileSize":2602752,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem34.usm","md5":"17423997584031435510","fileSize":2742240,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem_400028.usm","md5":"6034272940420211769","fileSize":3116896,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem_400029.usm","md5":"2659983492530288247","fileSize":2820256,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem_400035.usm","md5":"9267657265016799612","fileSize":2619072,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem_40003501.usm","md5":"14207443608979165861","fileSize":2709696,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem_400036.usm","md5":"17986241059004098272","fileSize":2587392,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem_400048.usm","md5":"18161257579176075457","fileSize":2523456,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowItem_Enhance.usm","md5":"14396871844777876927","fileSize":2292320,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowProp_Key.usm","md5":"8271443845086084461","fileSize":1722944,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/HollowItem/EventVideoHollowProp_Note.usm","md5":"6043077553350642842","fileSize":3316416,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_AilledMachine_Hit_Blue.usm","md5":"7037391793737712215","fileSize":2513120,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_AilledMachine_Hit_Pink.usm","md5":"5225725644530574944","fileSize":2581344,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_AilledMachine_Hit_Yellow.usm","md5":"6684431348762112260","fileSize":2574656,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_AilledMachine_Idle_Blue.usm","md5":"12183546891036574325","fileSize":5773632,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_AilledMachine_Idle_Pink.usm","md5":"2621346807183862756","fileSize":5835872,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_AilledMachine_Idle_Yellow.usm","md5":"6294027400355657777","fileSize":5828928,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_AlliedMachine_Hit.usm","md5":"235563417186969610","fileSize":2639040,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_AlliedMachine_Idle.usm","md5":"3593917900810798482","fileSize":5934464,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_AlliedMachine_Rest.usm","md5":"14050779007604633085","fileSize":4993440,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_AlliedYellowMachine_off.usm","md5":"6236420992895859711","fileSize":4934784,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_EnemyMachine_End.usm","md5":"14476330027729223292","fileSize":2323648,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_EnemyMachine_Idle.usm","md5":"3156902837978212104","fileSize":6120896,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_EnemyMachine_Start.usm","md5":"10846364257738291198","fileSize":4630400,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_EnemyYellowMachine_Idle.usm","md5":"9421535569310493282","fileSize":5238464,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/BigTV_NeutralMachine_Idle.usm","md5":"8743907669598707793","fileSize":6121024,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/DeadEndButcher_Idle.usm","md5":"4813544129108804537","fileSize":5086496,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBrick.usm","md5":"2658523379734903703","fileSize":2587488,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBrick0_1.usm","md5":"8449321493450871051","fileSize":2587488,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBrick0_2.usm","md5":"1096058787076354579","fileSize":7133472,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBrick1_1.usm","md5":"7279903028469492697","fileSize":2432960,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBrick1_2.usm","md5":"15535153542550848251","fileSize":6866784,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBrick2.usm","md5":"13467484094868379716","fileSize":7133472,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBrick2_1.usm","md5":"8378093860942364939","fileSize":2432960,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBrick2_2.usm","md5":"4759708925566228649","fileSize":6866784,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBrick3.usm","md5":"1795970083678038616","fileSize":4480704,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBurst.usm","md5":"8617813346968875390","fileSize":666816,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBurst0_1.usm","md5":"7292349457281395210","fileSize":666816,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBurst0_2.usm","md5":"11128501049775892438","fileSize":1068992,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBurst1_1.usm","md5":"9615038790312768300","fileSize":586848,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBurst1_2.usm","md5":"115836696638138799","fileSize":838816,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBurst2.usm","md5":"5116554579513485939","fileSize":1068992,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBurst2WithBoom.usm","md5":"14337442183499862878","fileSize":617440,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBurst2_1.usm","md5":"3211199746626571617","fileSize":586848,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Metro/EventVideoBurst2_2.usm","md5":"16554701929762145363","fileSize":849664,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/RPGLike/EventVideo_RPG_ArtificialHuman.usm","md5":"10575304884421039377","fileSize":5885376,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/RPGLike/EventVideo_RPG_DarkProphet_Born.usm","md5":"5675207442322489479","fileSize":2487648,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/RPGLike/EventVideo_RPG_DarkProphet_Idle.usm","md5":"10992120025507253517","fileSize":5024480,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/RPGLike/EventVideo_RPG_Dog.usm","md5":"1024072073744016582","fileSize":9181312,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/RPGLike/EventVideo_RPG_FinalBattle.usm","md5":"16277260428965044987","fileSize":5098944,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/RPGLike/EventVideo_RPG_HolyArmor.usm","md5":"15087000409585558897","fileSize":4986592,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/RPGLike/EventVideo_RPG_HolyHolySword.usm","md5":"2898828864824618487","fileSize":4953888,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/RPGLike/EventVideo_RPG_HolyHolySword_Draw.usm","md5":"15984541759185818586","fileSize":4943872,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/RPGLike/EventVideo_RPG_HolyShield.usm","md5":"3161589092216195682","fileSize":4947488,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/RPGLike/EventVideo_RPG_HolySword.usm","md5":"2316852544803556630","fileSize":4932096,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/RPGLike/EventVideo_RPG_Prophet.usm","md5":"3407279357268764294","fileSize":4979360,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Skyscraper/EventVideo_BangbooAllied_Sit.usm","md5":"17379925855068106307","fileSize":3896256,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Skyscraper/EventVideo_BangbooGhost_Allied_Dance.usm","md5":"4154770003664484374","fileSize":3015200,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Skyscraper/EventVideo_BangbooGhost_Allied_Sit.usm","md5":"12511222333054245810","fileSize":501440,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Skyscraper/EventVideo_TheatreChair.usm","md5":"3271492481849698322","fileSize":1786976,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventIconVideo01_Forklift_Unmaned.usm","md5":"744573414466427355","fileSize":9730560,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_AceBangbooAss.usm","md5":"10621676903221269248","fileSize":10026432,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_ActivatedCrystal.usm","md5":"266804269909372114","fileSize":9852256,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_AirTaskForce.usm","md5":"2031632248619811557","fileSize":9965312,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_Ambush.usm","md5":"7542058845260481798","fileSize":8845440,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_AssociationSupport.usm","md5":"11778766884722716025","fileSize":10829824,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_CollapsedHouses.usm","md5":"17117917493962169835","fileSize":13808704,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_DefenseForce.usm","md5":"10343185258846198057","fileSize":11071328,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_EliteBangbooAss.usm","md5":"1017274738649929973","fileSize":6196224,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_EvacuationPoint.usm","md5":"14493917437984428135","fileSize":7498496,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_Fissure.usm","md5":"16675457226850007600","fileSize":7485248,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_LimboBuddies1.usm","md5":"8241744541750044017","fileSize":19014016,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_LimboBuddies2.usm","md5":"400019260094542353","fileSize":18046880,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_LimboBuddies3.usm","md5":"8594231078005217506","fileSize":19441792,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_LimboBuddies4.usm","md5":"4891521234041123842","fileSize":15210944,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_Observatory.usm","md5":"7756928039315440743","fileSize":1502784,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_PaidRestStop.usm","md5":"2857022862880733103","fileSize":11260192,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_ResRecoveryTeam.usm","md5":"11997410893661571738","fileSize":9999552,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_ResearchStation.usm","md5":"7986514608151007765","fileSize":10813184,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_SOS.usm","md5":"5989186077629946697","fileSize":11692448,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory01_SheriffTeam.usm","md5":"13692967380436888392","fileSize":9610656,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory03_Anastella_Drusilla.usm","md5":"6233254235706860024","fileSize":9922688,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory03_BuddysEmbrace.usm","md5":"1929615128979714345","fileSize":5537152,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory03_HospitalInHollow.usm","md5":"11601305014781909448","fileSize":11154400,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory03_PairedDolls.usm","md5":"383506573302200172","fileSize":7795680,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory03_SingleDoll.usm","md5":"987874694590844734","fileSize":7737152,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Story/EventVideoStory04_UndergroundMap.usm","md5":"11737047081441602844","fileSize":6828000,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount00.usm","md5":"9537039102273889066","fileSize":10378912,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount01.usm","md5":"986408712812182907","fileSize":10380064,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount02.usm","md5":"2744876651735137404","fileSize":10381120,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount03.usm","md5":"1207116558672991120","fileSize":10379264,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount04.usm","md5":"15044494114075673508","fileSize":10381824,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount05.usm","md5":"16398982680599216065","fileSize":10378688,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount06.usm","md5":"7395372376637222174","fileSize":10377664,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount07.usm","md5":"10460716715345380270","fileSize":10379584,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount08.usm","md5":"18214032832046577821","fileSize":10376032,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount09.usm","md5":"11524861214300558369","fileSize":10372736,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount10.usm","md5":"17738758472460834955","fileSize":10378976,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount11.usm","md5":"7090182483181026392","fileSize":10374336,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount12.usm","md5":"8886198982132499466","fileSize":10380704,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/Event/Zero/EventVideo_BigTv_ZeroLayerCount13.usm","md5":"10773760763572752606","fileSize":10379360,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoBattleChallenge.usm","md5":"4270042415051086850","fileSize":4389920,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoBattleTimeLimited.usm","md5":"14440670644976044516","fileSize":6889024,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoChaos2.usm","md5":"14821031673671170388","fileSize":3207744,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoDarkShop.usm","md5":"1788129311580672991","fileSize":9229952,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoDataBase.usm","md5":"17343042184019372181","fileSize":7402144,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoDinyDig.usm","md5":"15907201326579876524","fileSize":8223264,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoDualEliteBattle.usm","md5":"5988346574222782295","fileSize":6304224,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoGashapon.usm","md5":"5415650572680229765","fileSize":1572704,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoGashapon_Curse.usm","md5":"14435389863026838221","fileSize":6024352,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoGetInfo_0.usm","md5":"15483178963255121359","fileSize":7439136,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoGlitch.usm","md5":"4961188765516309129","fileSize":3265088,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoGoldenBuddy.usm","md5":"13671518632850790917","fileSize":5951968,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoGrave.usm","md5":"2093152389185289921","fileSize":4185920,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoInnerBackground.usm","md5":"7272906583196527235","fileSize":3817248,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoItemBox.usm","md5":"12919521294931467345","fileSize":925984,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoLevelEndBattle.usm","md5":"9406736160642664842","fileSize":1750528,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoLevelFin.usm","md5":"13143100355191710924","fileSize":2999200,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoLevelend.usm","md5":"9716293419734396970","fileSize":3257568,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoLightBackground.usm","md5":"16591553725277935821","fileSize":3364416,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoLighthouse.usm","md5":"9783307328601217726","fileSize":991520,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoLongStageBattle.usm","md5":"7364757262868623183","fileSize":6965664,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoQuestion.usm","md5":"4429913531823557764","fileSize":1267104,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoRevive.usm","md5":"12582777381394088372","fileSize":2932320,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoShop.usm","md5":"2620674323515752274","fileSize":9002016,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoSlotmachine.usm","md5":"5924501195271402822","fileSize":7003264,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoSpecialEvent.usm","md5":"1939542278717678835","fileSize":2299936,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoStart.usm","md5":"17907661019491207602","fileSize":7462464,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoStory01_BadExplorer.usm","md5":"17831550940693359733","fileSize":2115520,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoStory01_Cargo.usm","md5":"16785691533645363673","fileSize":4217120,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoStory01_EtherFuel.usm","md5":"13574471826750022894","fileSize":5485504,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoStory01_Explorer.usm","md5":"13312953059047564528","fileSize":3120096,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoStory01_Lifter.usm","md5":"14824574140581461187","fileSize":10585824,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoStory01_Newspaper.usm","md5":"15130123039380077627","fileSize":2259424,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoStory01_VendingMachine.usm","md5":"9783528545860340278","fileSize":6226688,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoStory03_LampasVeil.usm","md5":"15714539912729109082","fileSize":11173984,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoTarget.usm","md5":"2646131503094796382","fileSize":7457024,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoTeleport.usm","md5":"7937595416480587528","fileSize":2352320,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoTreasure.usm","md5":"9797848497605677403","fileSize":1447616,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideoZeroEndBattle.usm","md5":"2247653646106910086","fileSize":7059744,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideo_BangbooEvil025.usm","md5":"3123681690871608104","fileSize":4386304,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideo_Battle_DoubleElite.usm","md5":"9429635653317756056","fileSize":4260096,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideo_Battle_DoubleMiniBoss.usm","md5":"9823913192862706246","fileSize":4393344,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideo_Battle_Elite.usm","md5":"17640658517840555071","fileSize":4381280,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideo_Battle_MajorBoss.usm","md5":"10960764674516025391","fileSize":4276576,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideo_Battle_MajorBossWithElite.usm","md5":"8444076142680151381","fileSize":4288960,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideo_Battle_MajorBossWithMinions.usm","md5":"13170213363278400242","fileSize":4099008,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideo_Battle_MiniBoss.usm","md5":"13478854127328197251","fileSize":4451008,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideo_Battle_MiniBossWithElite.usm","md5":"16594976387520202931","fileSize":4321536,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/EventVideo_Battle_MinorEnemy.usm","md5":"3456186465472815172","fileSize":4173920,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/Hollow/HollowToBattleBangboo.usm","md5":"99477276541841922","fileSize":174720,"isPatch":false,"tags":[3,5],"packages":[20101]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_1020.usm","md5":"9625637819789754285","fileSize":9902336,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_1021.usm","md5":"1391272242949086722","fileSize":12262784,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_1022.usm","md5":"10458863010767336981","fileSize":6053408,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_1023.usm","md5":"11863312918182677984","fileSize":7509440,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_1024.usm","md5":"6257815408664760135","fileSize":3026208,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_11004.usm","md5":"14868412077931725757","fileSize":2624288,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_11005.usm","md5":"4665943569120551230","fileSize":2708160,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_11006.usm","md5":"9246043797889666338","fileSize":2219584,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_11007.usm","md5":"232385741299337653","fileSize":2303264,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_12011.usm","md5":"1210916491697492811","fileSize":8724960,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_12012.usm","md5":"9436745710000091026","fileSize":9332384,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_13004.usm","md5":"14858351963021304625","fileSize":6164416,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2007.usm","md5":"3773619890443349703","fileSize":2571520,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2012.usm","md5":"15345963774854040592","fileSize":3641952,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2013.usm","md5":"16263721925686530099","fileSize":12057312,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2015.usm","md5":"14576493398760475228","fileSize":8695808,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2016.usm","md5":"6020058123961932867","fileSize":2415552,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2017.usm","md5":"2815919968498950105","fileSize":10703808,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2019.usm","md5":"11234423822724945215","fileSize":11466624,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2506.usm","md5":"11612273956447963112","fileSize":10695424,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2507.usm","md5":"14304976552535912998","fileSize":7463456,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2508.usm","md5":"7268146996603426317","fileSize":2471744,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2509.usm","md5":"8473340740209432409","fileSize":2454944,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2511.usm","md5":"7549154230818771315","fileSize":8095648,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2512.usm","md5":"1766623104350513762","fileSize":3626080,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2515.usm","md5":"34143939985722488","fileSize":10397536,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_2516.usm","md5":"11179731242833805712","fileSize":9018528,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_3011.usm","md5":"2861162703059619489","fileSize":7404576,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_3012.usm","md5":"6085194594491862429","fileSize":7807520,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_3015.usm","md5":"7804456209758302139","fileSize":3734112,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_3016.usm","md5":"18388967584620050328","fileSize":4687008,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_3018.usm","md5":"6002018982185471570","fileSize":6149088,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_3019.usm","md5":"3438225126538438333","fileSize":8913312,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_3020.usm","md5":"15739834778143783423","fileSize":4556352,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_3021.usm","md5":"8885714708564960491","fileSize":10346528,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/InterKnotPost/InterKnotPostVid_3024.usm","md5":"17528840153893952422","fileSize":6456448,"isPatch":false,"tags":[3,5],"packages":[30200]},{"remoteName":"Video/HD/Launch/LogoPerform_CHS.usm","md5":"2078039498321077251","fileSize":5508384,"isPatch":false,"tags":[3,5],"packages":[30400]},{"remoteName":"Video/HD/MainCity/BoxGalaxy/BoxGalaxy_Ad01.usm","md5":"9236478256554497312","fileSize":1385568,"isPatch":false,"tags":[3,5],"packages":[50200]},{"remoteName":"Video/HD/MainCity/BoxGalaxy/BoxGalaxy_Ad02.usm","md5":"12211254938974455703","fileSize":1415168,"isPatch":false,"tags":[3,5],"packages":[50200]},{"remoteName":"Video/HD/MainCity/BoxGalaxy/BoxGalaxy_Ad03.usm","md5":"13441656790084616023","fileSize":1313056,"isPatch":false,"tags":[3,5],"packages":[50200]},{"remoteName":"Video/HD/MainCity/HelloCar/KeyCar_UI01.usm","md5":"4222220382176523450","fileSize":4871232,"isPatch":false,"tags":[3,5],"packages":[50100]},{"remoteName":"Video/HD/MainCity/KeyCar/KeyCar_Affairs.usm","md5":"9128537808067925248","fileSize":740320,"isPatch":false,"tags":[3,5],"packages":[71300]},{"remoteName":"Video/HD/MainCity/KeyCar/KeyCar_DailyQuest.usm","md5":"12591415842571455422","fileSize":1128512,"isPatch":false,"tags":[3,5],"packages":[71300]},{"remoteName":"Video/HD/MainCity/KeyCar/KeyCar_Idle.usm","md5":"2215186915747766541","fileSize":785344,"isPatch":false,"tags":[3,5],"packages":[71300]},{"remoteName":"Video/HD/MainCity/KeyCar/KeyCar_Transition.usm","md5":"18139898981965766516","fileSize":341376,"isPatch":false,"tags":[3,5],"packages":[71300]},{"remoteName":"Video/HD/MainCity/KeyCar/KeyCar_WeeklyTarget.usm","md5":"9426877816957715262","fileSize":719136,"isPatch":false,"tags":[3,5],"packages":[71300]},{"remoteName":"Video/HD/MainCity/Studio/Galgame_Video_SoundOnly_Green.usm","md5":"661213672092964871","fileSize":10732192,"isPatch":false,"tags":[3,5],"packages":[30900]},{"remoteName":"Video/HD/MainCity/Studio/Galgame_Video_SoundOnly_Red.usm","md5":"10484410299087824711","fileSize":10732192,"isPatch":false,"tags":[3,5],"packages":[30900]},{"remoteName":"Video/HD/MainCity/Studio/Galgame_Video_SoundOnly_WhiteNoise.usm","md5":"6574685032142597088","fileSize":10732192,"isPatch":false,"tags":[3,5],"packages":[30900]},{"remoteName":"Video/HD/MainCity/Studio/MainCityStudioLCDFairy03.usm","md5":"7626910908040650075","fileSize":8886112,"isPatch":false,"tags":[3,5],"packages":[30900]},{"remoteName":"Video/HD/MainStory/Chapter/CHS/MainStoryChapter02Interlude_CHS.usm","md5":"4577723825155322651","fileSize":5193728,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/CHS/MainStoryChapter04_CHS.usm","md5":"2641288458884787488","fileSize":5723584,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/CHS/SpecialEpisodesChapter01_CHS.usm","md5":"16364273556089777799","fileSize":5185472,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/CHS/SpecialEpisodesChapter02_CHS.usm","md5":"12810569519528222186","fileSize":5344576,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/Chapter/CHT/MainStoryChapter02Interlude_CHT.usm","md5":"7350036240153342840","fileSize":5143328,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/CHT/MainStoryChapter04_CHT.usm","md5":"4667418414267887633","fileSize":4994464,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/CHT/SpecialEpisodesChapter01_CHT.usm","md5":"4580762990551011292","fileSize":5114816,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/CHT/SpecialEpisodesChapter02_CHT.usm","md5":"18228004898069174516","fileSize":5168416,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/Chapter/Chinese/MainStoryChapter00.usm","md5":"419865125744707839","fileSize":6238624,"isPatch":false,"tags":[3,5],"packages":[10100]},{"remoteName":"Video/HD/MainStory/Chapter/Chinese/MainStoryChapter01.usm","md5":"8502732750555514258","fileSize":5714592,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/Chinese/MainStoryChapter01_Cn.usm","md5":"8590219718639673085","fileSize":5147584,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/Chinese/MainStoryChapter02_Cn.usm","md5":"10116921793951240190","fileSize":5825088,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/Chinese/MainStoryChapter03_Cn.usm","md5":"34836048340728595","fileSize":5918016,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/DE/MainStoryChapter01_De.usm","md5":"2575461518247391632","fileSize":5678688,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/DE/MainStoryChapter02Interlude_DE.usm","md5":"11202398498903267438","fileSize":5736320,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/DE/MainStoryChapter02_De.usm","md5":"3672393761195221013","fileSize":5911584,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/DE/MainStoryChapter03_De.usm","md5":"8403382994514615246","fileSize":5579840,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/DE/MainStoryChapter04_DE.usm","md5":"3834682144427443842","fileSize":5970336,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/DE/SpecialEpisodesChapter01_DE.usm","md5":"12643435062299106171","fileSize":6066048,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/DE/SpecialEpisodesChapter02_DE.usm","md5":"11910325573647740111","fileSize":5896864,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/Chapter/EN/MainStoryChapter02Interlude_EN.usm","md5":"10864110668842577575","fileSize":5687360,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/EN/MainStoryChapter04_EN.usm","md5":"6389862264240705474","fileSize":5844960,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/EN/SpecialEpisodesChapter01_EN.usm","md5":"10309973706614869262","fileSize":5835840,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/EN/SpecialEpisodesChapter02_EN.usm","md5":"1824342710230267555","fileSize":5929920,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/Chapter/ES/MainStoryChapter02Interlude_ES.usm","md5":"4467798223295333711","fileSize":5593568,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/ES/MainStoryChapter04_ES.usm","md5":"9068207250602996964","fileSize":5902656,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/ES/SpecialEpisodesChapter01_ES.usm","md5":"16894814446957989352","fileSize":6225408,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/ES/SpecialEpisodesChapter02_ES.usm","md5":"2968594349656084100","fileSize":5972224,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/Chapter/English/MainStoryChapter01_En.usm","md5":"4029112121761322997","fileSize":5747840,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/English/MainStoryChapter02_En.usm","md5":"3302300786928801017","fileSize":5979584,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/English/MainStoryChapter03_En.usm","md5":"899103377397170880","fileSize":5834624,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/FR/MainStoryChapter01_Fr.usm","md5":"16236674752528220718","fileSize":5627584,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/FR/MainStoryChapter02Interlude_FR.usm","md5":"7396104008475312483","fileSize":5859712,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/FR/MainStoryChapter02_Fr.usm","md5":"7365861992714010379","fileSize":5794368,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/FR/MainStoryChapter03_Fr.usm","md5":"4512823132956345846","fileSize":5640800,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/FR/MainStoryChapter04_FR.usm","md5":"9322823124113938843","fileSize":5458048,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/FR/SpecialEpisodesChapter01_FR.usm","md5":"5772690008236251058","fileSize":6086976,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/FR/SpecialEpisodesChapter02_FR.usm","md5":"7023804243274316039","fileSize":6039424,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/Chapter/ID/MainStoryChapter02Interlude_ID.usm","md5":"9110520743554962338","fileSize":5352288,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/ID/MainStoryChapter04_ID.usm","md5":"8301051861130699689","fileSize":5820544,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/ID/SpecialEpisodesChapter01_ID.usm","md5":"2101943309787122011","fileSize":5962336,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/ID/SpecialEpisodesChapter02_ID.usm","md5":"1923533014272925598","fileSize":6006208,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/Chapter/Indonesia/MainStoryChapter01_INa.usm","md5":"8366556520989083026","fileSize":5871552,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/Indonesia/MainStoryChapter02_INa.usm","md5":"3733247614100974967","fileSize":5754336,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/Indonesia/MainStoryChapter03_INa.usm","md5":"18045449584980945037","fileSize":6014304,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/JA/MainStoryChapter02Interlude_JA.usm","md5":"15791129013302987225","fileSize":5972064,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/JA/MainStoryChapter04_JA.usm","md5":"9324912438998717728","fileSize":5725792,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/JA/SpecialEpisodesChapter01_JA.usm","md5":"2440696716005827381","fileSize":5859584,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/JA/SpecialEpisodesChapter02_JA.usm","md5":"11078303715190910836","fileSize":6112160,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/Chapter/Japanese/MainStoryChapter01_Jp.usm","md5":"3822477923473371412","fileSize":5734080,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/Japanese/MainStoryChapter02_Jp.usm","md5":"12067304060468146695","fileSize":5896672,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/Japanese/MainStoryChapter03_Jp.usm","md5":"3052422816272324884","fileSize":5827584,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/KO/MainStoryChapter02Interlude_KO.usm","md5":"12829619610560008760","fileSize":4881856,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/KO/MainStoryChapter04_KO.usm","md5":"15576044357574120788","fileSize":5850048,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/KO/SpecialEpisodesChapter01_KO.usm","md5":"13825793117832441861","fileSize":5974880,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/KO/SpecialEpisodesChapter02_KO.usm","md5":"8436703361888791562","fileSize":5885568,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/Chapter/Korean/MainStoryChapter01_Kr.usm","md5":"136777497239849643","fileSize":5538272,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/Korean/MainStoryChapter02_Kr.usm","md5":"9738770403837391311","fileSize":5906080,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/Korean/MainStoryChapter03_Kr.usm","md5":"4984758822993303395","fileSize":5907008,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/PT/MainStoryChapter01_Pt.usm","md5":"6365790997118447845","fileSize":5805728,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/PT/MainStoryChapter02Interlude_PT.usm","md5":"12894068279514809314","fileSize":5883680,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/PT/MainStoryChapter02_Pt.usm","md5":"7889923417845811449","fileSize":6019488,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/PT/MainStoryChapter03_Pt.usm","md5":"15947664022126297412","fileSize":5977952,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/PT/MainStoryChapter04_PT.usm","md5":"17497961258965752580","fileSize":5956192,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/PT/SpecialEpisodesChapter01_PT.usm","md5":"4784544115880253827","fileSize":5867648,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/PT/SpecialEpisodesChapter02_PT.usm","md5":"3789407693043885644","fileSize":5918272,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/Chapter/RU/MainStoryChapter01_Ru.usm","md5":"9666911337473036181","fileSize":5561056,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/RU/MainStoryChapter02Interlude_RU.usm","md5":"3304910035638030554","fileSize":6183808,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/RU/MainStoryChapter02_Ru.usm","md5":"17957654831767721333","fileSize":5555616,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/RU/MainStoryChapter03_Ru.usm","md5":"11485238096753939694","fileSize":5765824,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/RU/MainStoryChapter04_RU.usm","md5":"18102537170722746528","fileSize":5513728,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/RU/SpecialEpisodesChapter01_RU.usm","md5":"16758853952182101673","fileSize":6122656,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/RU/SpecialEpisodesChapter02_RU.usm","md5":"901023857969884981","fileSize":5998752,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/Chapter/Spanish/MainStoryChapter01_Es.usm","md5":"1289695909337436034","fileSize":6014496,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/Spanish/MainStoryChapter02_Es.usm","md5":"3910779949725810745","fileSize":5837568,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/Spanish/MainStoryChapter03_Es.usm","md5":"15205823082515138278","fileSize":5944064,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/TH/MainStoryChapter02Interlude_TH.usm","md5":"17643139613185979379","fileSize":5994592,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/TH/MainStoryChapter04_TH.usm","md5":"12847534922273954781","fileSize":5413280,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/TH/SpecialEpisodesChapter01_TH.usm","md5":"1054280850890391297","fileSize":5597952,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/TH/SpecialEpisodesChapter02_TH.usm","md5":"3836249037714467505","fileSize":5207904,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/Chapter/ThaiLanguage/MainStoryChapter01_Th.usm","md5":"8361775132791995120","fileSize":5925632,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/ThaiLanguage/MainStoryChapter02_Th.usm","md5":"475610167399616996","fileSize":6019232,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/ThaiLanguage/MainStoryChapter03_Th.usm","md5":"13861024348717596492","fileSize":5883776,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/TraditionalChinese/MainStoryChapter01_TCh.usm","md5":"5514516343267351763","fileSize":5431424,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/TraditionalChinese/MainStoryChapter02_TCh.usm","md5":"16466228060915482501","fileSize":5849504,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/TraditionalChinese/MainStoryChapter03_TCh.usm","md5":"6325044343796836848","fileSize":5960416,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/VI/MainStoryChapter01_Vi.usm","md5":"16954342296233254057","fileSize":5391264,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/Chapter/VI/MainStoryChapter02Interlude_VI.usm","md5":"5049064715781719047","fileSize":6050400,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/Chapter/VI/MainStoryChapter02_Vi.usm","md5":"5296593544114326772","fileSize":5347456,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/MainStory/Chapter/VI/MainStoryChapter03_Vi.usm","md5":"5513758367338101669","fileSize":5201728,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/MainStory/Chapter/VI/MainStoryChapter04_VI.usm","md5":"4931320414918794935","fileSize":5872288,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/MainStory/Chapter/VI/SpecialEpisodesChapter01_VI.usm","md5":"1663176504160491807","fileSize":6004384,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/MainStory/Chapter/VI/SpecialEpisodesChapter02_VI.usm","md5":"16027842669959207108","fileSize":6068224,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter00/Chapter00M1.usm","md5":"17881484339270174217","fileSize":7486592,"isPatch":false,"tags":[3,5],"packages":[30101000]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter00/Chapter00M2.usm","md5":"15984309176052616458","fileSize":7416032,"isPatch":false,"tags":[3,5],"packages":[30101000]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter00/Chapter00M3.usm","md5":"16064332670803005166","fileSize":7469472,"isPatch":false,"tags":[3,5],"packages":[30101000]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter00/Chapter00M4.usm","md5":"7941357251996348088","fileSize":6957728,"isPatch":false,"tags":[3,5],"packages":[30101000]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter00/Chapter00M5.usm","md5":"13538404422258517447","fileSize":7450496,"isPatch":false,"tags":[3,5],"packages":[30101000]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter00/Chapter00M6.usm","md5":"15951986549131865654","fileSize":7451520,"isPatch":false,"tags":[3,5],"packages":[30101000]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter00/Chapter00M7.usm","md5":"2583010214594534135","fileSize":6638016,"isPatch":false,"tags":[3,5],"packages":[30101000]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter00/Chapter00M8.usm","md5":"5458812242115059510","fileSize":6932992,"isPatch":false,"tags":[3,5],"packages":[30101000]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter01/Chapter01M1.usm","md5":"7413472595622521558","fileSize":6593696,"isPatch":false,"tags":[3,5],"packages":[30101001]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter01/Chapter01M2.usm","md5":"10201068763899676789","fileSize":7409568,"isPatch":false,"tags":[3,5],"packages":[30101001]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter01/Chapter01M3.usm","md5":"4667825545107239185","fileSize":7253600,"isPatch":false,"tags":[3,5],"packages":[30101001]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter01/Chapter01M4.usm","md5":"6082492867499020194","fileSize":6580320,"isPatch":false,"tags":[3,5],"packages":[30101001]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter01/Chapter01M5.usm","md5":"13115252095887126946","fileSize":7386304,"isPatch":false,"tags":[3,5],"packages":[30101001]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter01/Chapter01M6.usm","md5":"1143347356501664533","fileSize":7388384,"isPatch":false,"tags":[3,5],"packages":[30101001]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter01/Chapter01M7.usm","md5":"10896440467213510082","fileSize":7381216,"isPatch":false,"tags":[3,5],"packages":[30101001]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter01/Chapter01M8.usm","md5":"17807027031889800669","fileSize":6447264,"isPatch":false,"tags":[3,5],"packages":[30101001]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter01/Chapter01M9.usm","md5":"10107733432798797567","fileSize":7434592,"isPatch":false,"tags":[3,5],"packages":[30101001]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter02/Chapter02M1.usm","md5":"11501302481778009279","fileSize":7390944,"isPatch":false,"tags":[3,5],"packages":[30101002]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter02/Chapter02M10.usm","md5":"991657121851488914","fileSize":7404256,"isPatch":false,"tags":[3,5],"packages":[30101002]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter02/Chapter02M2.usm","md5":"15830620571966119775","fileSize":7418656,"isPatch":false,"tags":[3,5],"packages":[30101002]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter02/Chapter02M3.usm","md5":"4928081988631850303","fileSize":7419904,"isPatch":false,"tags":[3,5],"packages":[30101002]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter02/Chapter02M4.usm","md5":"6516611496968627861","fileSize":7439680,"isPatch":false,"tags":[3,5],"packages":[30101002]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter02/Chapter02M5.usm","md5":"18341030639233711019","fileSize":7419456,"isPatch":false,"tags":[3,5],"packages":[30101002]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter02/Chapter02M6.usm","md5":"623329825346169400","fileSize":7413120,"isPatch":false,"tags":[3,5],"packages":[30101002]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter02/Chapter02M7.usm","md5":"4340354110307650017","fileSize":7427040,"isPatch":false,"tags":[3,5],"packages":[30101002]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter02/Chapter02M8.usm","md5":"15162769831144903499","fileSize":7276480,"isPatch":false,"tags":[3,5],"packages":[30101002]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter02/Chapter02M9.usm","md5":"8533874677282198064","fileSize":7408608,"isPatch":false,"tags":[3,5],"packages":[30101002]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter03/Chapter03M1.usm","md5":"13192582629237201112","fileSize":7368800,"isPatch":false,"tags":[3,5],"packages":[30101004]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter03/Chapter03M10.usm","md5":"9190710028105389216","fileSize":7379936,"isPatch":false,"tags":[3,5],"packages":[30101004]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter03/Chapter03M11.usm","md5":"1879171097019082072","fileSize":7399328,"isPatch":false,"tags":[3,5],"packages":[30101004]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter03/Chapter03M2.usm","md5":"10665667199938122595","fileSize":7201024,"isPatch":false,"tags":[3,5],"packages":[30101004]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter03/Chapter03M3.usm","md5":"17502504655891028151","fileSize":7391712,"isPatch":false,"tags":[3,5],"packages":[30101004]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter03/Chapter03M4.usm","md5":"7813401757396606617","fileSize":7396928,"isPatch":false,"tags":[3,5],"packages":[30101004]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter03/Chapter03M5.usm","md5":"8665205209267612194","fileSize":7381504,"isPatch":false,"tags":[3,5],"packages":[30101004]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter03/Chapter03M6.usm","md5":"3312329597439327399","fileSize":7367040,"isPatch":false,"tags":[3,5],"packages":[30101004]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter03/Chapter03M7.usm","md5":"5212899183785786822","fileSize":7400928,"isPatch":false,"tags":[3,5],"packages":[30101004]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter03/Chapter03M8.usm","md5":"73618728886180427","fileSize":7252160,"isPatch":false,"tags":[3,5],"packages":[30101004]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter03/Chapter03M9.usm","md5":"6924883616208090555","fileSize":7419072,"isPatch":false,"tags":[3,5],"packages":[30101004]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter04/Chapter04M1.usm","md5":"1544959483378526377","fileSize":7425856,"isPatch":false,"tags":[3,5],"packages":[30101005]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter04/Chapter04M10.usm","md5":"1106748742611673155","fileSize":7429792,"isPatch":false,"tags":[3,5],"packages":[30101005]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter04/Chapter04M2.usm","md5":"17263875055834773816","fileSize":7416448,"isPatch":false,"tags":[3,5],"packages":[30101005]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter04/Chapter04M3.usm","md5":"17801837578710755634","fileSize":7217312,"isPatch":false,"tags":[3,5],"packages":[30101005]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter04/Chapter04M4.usm","md5":"11409885643728892242","fileSize":7405120,"isPatch":false,"tags":[3,5],"packages":[30101005]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter04/Chapter04M5.usm","md5":"1630274768889991824","fileSize":7156768,"isPatch":false,"tags":[3,5],"packages":[30101005]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter04/Chapter04M6.usm","md5":"17124341770058773618","fileSize":7402144,"isPatch":false,"tags":[3,5],"packages":[30101005]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter04/Chapter04M7.usm","md5":"13942250027050738244","fileSize":7406688,"isPatch":false,"tags":[3,5],"packages":[30101005]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter04/Chapter04M8.usm","md5":"12275797502307119582","fileSize":7305504,"isPatch":false,"tags":[3,5],"packages":[30101005]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter04/Chapter04M9.usm","md5":"2870182388657474929","fileSize":7392512,"isPatch":false,"tags":[3,5],"packages":[30101005]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter1_5/Chapter1_5M1.usm","md5":"13562589604139909045","fileSize":7388384,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter1_5/Chapter1_5M2.usm","md5":"16648825435428962058","fileSize":6786016,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter1_5/Chapter1_5M3.usm","md5":"12169178633103736743","fileSize":7415392,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter2_5/Chapter2_5M1.usm","md5":"202909582020680719","fileSize":7382720,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter2_5/Chapter2_5M2.usm","md5":"4659473077864815282","fileSize":7344224,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter2_5/Chapter2_5M3.usm","md5":"6031275396815433968","fileSize":7395328,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter2_5/Chapter2_5M4.usm","md5":"12586610072356833008","fileSize":7376704,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter2_5/Chapter2_5M5.usm","md5":"7688982271214134754","fileSize":7374784,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter2_5/Chapter2_5M6.usm","md5":"4543950111113321856","fileSize":7395168,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/PageVideo/Chapter2_5/Chapter2_5M7.usm","md5":"3295089656321863654","fileSize":7425568,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAJane/ChapterOVAJaneM1.usm","md5":"15941911781465069297","fileSize":7357664,"isPatch":false,"tags":[3,5],"packages":[30102011]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAJane/ChapterOVAJaneM2.usm","md5":"16747708077388924712","fileSize":7360768,"isPatch":false,"tags":[3,5],"packages":[30102011]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAJane/ChapterOVAJaneM3.usm","md5":"9888044257414397612","fileSize":7356640,"isPatch":false,"tags":[3,5],"packages":[30102011]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAJane/ChapterOVAJaneM4.usm","md5":"4669757410662153053","fileSize":7402688,"isPatch":false,"tags":[3,5],"packages":[30102011]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAJane/ChapterOVAJaneM5.usm","md5":"6810984024855981591","fileSize":7379008,"isPatch":false,"tags":[3,5],"packages":[30102011]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAYanagi/ChapterOVAYanagiM1.usm","md5":"4337272919955473420","fileSize":7342208,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAYanagi/ChapterOVAYanagiM2.usm","md5":"13863734353514094036","fileSize":7452960,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAYanagi/ChapterOVAYanagiM3.usm","md5":"9345710382144234991","fileSize":7068736,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAYanagi/ChapterOVAYanagiM4.usm","md5":"13136296562596611530","fileSize":7211776,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAYanagi/ChapterOVAYanagiM5.usm","md5":"2939892417059112289","fileSize":7368544,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAYanagi/ChapterOVAYanagiM6.usm","md5":"12919890507609366156","fileSize":7427296,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAYanagi/ChapterOVAYanagiM7.usm","md5":"14528310094674272711","fileSize":7436992,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAYanagi/ChapterOVAYanagiM8.usm","md5":"16550086360219400002","fileSize":7400416,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterOVAYanagi/ChapterOVAYanagiM9.usm","md5":"146545793936040600","fileSize":7288064,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterPersonal/ChapterBurniceM1.usm","md5":"4554735098593662345","fileSize":12335008,"isPatch":false,"tags":[3,5],"packages":[30102008]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterPersonal/ChapterGeminiM1.usm","md5":"16689071835136658238","fileSize":12315680,"isPatch":false,"tags":[3,5],"packages":[10107]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterPersonal/ChapterGraceM1.usm","md5":"13570781831247118393","fileSize":12323872,"isPatch":false,"tags":[3,5],"packages":[30102003]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterPersonal/ChapterKoledaM1.usm","md5":"14608858012395227860","fileSize":12333792,"isPatch":false,"tags":[3,5],"packages":[30102005]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterPersonal/ChapterLighterM1.usm","md5":"3340876825409421661","fileSize":12341952,"isPatch":false,"tags":[3,5],"packages":[10209]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterPersonal/ChapterLycaonM1.usm","md5":"10697046147851881047","fileSize":12382080,"isPatch":false,"tags":[3,5],"packages":[30102004]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterPersonal/ChapterNekomiyaM1.usm","md5":"4616813309375693078","fileSize":12316320,"isPatch":false,"tags":[3,5],"packages":[30102002]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterPersonal/ChapterQingYiM1.usm","md5":"3129006822738961296","fileSize":12310272,"isPatch":false,"tags":[3,5],"packages":[30102007]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterPersonal/ChapterRinaM1.usm","md5":"9908056368446030384","fileSize":12360352,"isPatch":false,"tags":[3,5],"packages":[30102006]},{"remoteName":"Video/HD/MainStory/PageVideo/ChapterPersonal/ChapterSoldier11M1.usm","md5":"4371699927557339738","fileSize":12320640,"isPatch":false,"tags":[3,5],"packages":[30102001]},{"remoteName":"Video/HD/Procedure/C025_EP010.usm","md5":"2994146767107968391","fileSize":56688288,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/Procedure/C025_EP020.usm","md5":"10234116440700344420","fileSize":62613440,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/Procedure/C025_EP025.usm","md5":"15019851122846238786","fileSize":45794432,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/Procedure/C025_EP030.usm","md5":"7987919203299226794","fileSize":114390208,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/Procedure/C028_EP020.usm","md5":"10271618530662972416","fileSize":92871584,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/Procedure/C028_EP030.usm","md5":"18101905647913664296","fileSize":73234144,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/Procedure/C030_EP010.usm","md5":"6840489787860801778","fileSize":131955840,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/Procedure/C030_EP020.usm","md5":"6535127899014512579","fileSize":176051456,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/Procedure/C030_EP030.usm","md5":"5364443497790122973","fileSize":90392000,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/Procedure/C030_EP040.usm","md5":"3868117383461199435","fileSize":103626240,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/Procedure/C030_EP050.usm","md5":"3990272004801472492","fileSize":104884096,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/Procedure/C030_EP060.usm","md5":"7415768973658056159","fileSize":92328928,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/Procedure/C030_EP070.usm","md5":"4620425097669659152","fileSize":75180640,"isPatch":false,"tags":[3,5],"packages":[10104]},{"remoteName":"Video/HD/Procedure/C035_EP015.usm","md5":"15846671794782087645","fileSize":30688704,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/Procedure/C035_EP020.usm","md5":"13347806321889530793","fileSize":32698976,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/Procedure/C035_EP030.usm","md5":"7214421810340411095","fileSize":154491232,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/Procedure/C035_EP040.usm","md5":"8850246027116007483","fileSize":222129984,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/Procedure/C035_EP050.usm","md5":"10926848535123411490","fileSize":112320032,"isPatch":false,"tags":[3,5],"packages":[10301]},{"remoteName":"Video/HD/Procedure/C040_EP010B.usm","md5":"15012197850709488070","fileSize":96620288,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/Procedure/C040_EP010G.usm","md5":"3169974050807102568","fileSize":96140640,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/Procedure/C040_EP020B.usm","md5":"1548644128461959664","fileSize":90063200,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/Procedure/C040_EP020G.usm","md5":"9970399668268534764","fileSize":90237760,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/Procedure/C040_EP030.usm","md5":"1704292513070259504","fileSize":26613984,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/Procedure/C040_EP040.usm","md5":"1444558640159962585","fileSize":52768832,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/Procedure/C040_EP050.usm","md5":"13643266455504997357","fileSize":65705696,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/Procedure/C040_EP060.usm","md5":"908404698381536189","fileSize":59490400,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/Procedure/C040_EP070.usm","md5":"16071567752807519879","fileSize":76745248,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/Procedure/C040_EP080.usm","md5":"17497435745619058271","fileSize":136518560,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/Procedure/C040_EP085.usm","md5":"5081139635982768163","fileSize":28214816,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/Procedure/C040_EP090.usm","md5":"1935101674367999041","fileSize":247957440,"isPatch":false,"tags":[3,5],"packages":[10105]},{"remoteName":"Video/HD/Procedure/C045_EP015.usm","md5":"1965866609584957319","fileSize":68083520,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/Procedure/C045_EP025.usm","md5":"13096129237252722708","fileSize":67356448,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/Procedure/C045_EP035.usm","md5":"15191924765185636676","fileSize":171477920,"isPatch":false,"tags":[3,5],"packages":[10302]},{"remoteName":"Video/HD/Procedure/C777_EP040.usm","md5":"7129169031067737222","fileSize":48290368,"isPatch":false,"tags":[3,5],"packages":[10204]},{"remoteName":"Video/HD/Procedure/C777_EP045.usm","md5":"3128169913618646201","fileSize":46027968,"isPatch":false,"tags":[3,5],"packages":[10204]},{"remoteName":"Video/HD/Procedure/C777_EP050.usm","md5":"4127984507143369792","fileSize":93583936,"isPatch":false,"tags":[3,5],"packages":[10206]},{"remoteName":"Video/HD/Procedure/C777_EP060B.usm","md5":"3006634066439913285","fileSize":44187840,"isPatch":false,"tags":[3,5],"packages":[10207]},{"remoteName":"Video/HD/Procedure/C777_EP060G.usm","md5":"14126151947962994943","fileSize":44188960,"isPatch":false,"tags":[3,5],"packages":[10207]},{"remoteName":"Video/HD/Procedure/C777_EP065.usm","md5":"11648363231371290750","fileSize":61955584,"isPatch":false,"tags":[3,5],"packages":[10207]},{"remoteName":"Video/HD/Procedure/C777_EP070.usm","md5":"5176808074358482678","fileSize":76195648,"isPatch":false,"tags":[3,5],"packages":[10208]},{"remoteName":"Video/HD/Procedure/C777_EP080.usm","md5":"710817568704935787","fileSize":61468448,"isPatch":false,"tags":[3,5],"packages":[10209]},{"remoteName":"Video/HD/Procedure/C888_EP015.usm","md5":"6976909200715655953","fileSize":11023040,"isPatch":false,"tags":[3,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/C888_EP190.usm","md5":"12655454013694042772","fileSize":33000896,"isPatch":false,"tags":[3,5],"packages":[10103]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_04.usm","md5":"14651894868230068597","fileSize":32910752,"isPatch":false,"tags":[3,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_07.usm","md5":"5607760836017357691","fileSize":62216576,"isPatch":false,"tags":[3,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_07F.usm","md5":"5780579051661179966","fileSize":62161920,"isPatch":false,"tags":[3,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_08.usm","md5":"9315458350040971136","fileSize":97838528,"isPatch":false,"tags":[3,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_08F.usm","md5":"8927204009412194508","fileSize":97410112,"isPatch":false,"tags":[3,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_09.usm","md5":"16480533226210528473","fileSize":65851264,"isPatch":false,"tags":[3,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter0_09F.usm","md5":"1966669750302614286","fileSize":65767232,"isPatch":false,"tags":[3,5],"packages":[10100]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter1_01.usm","md5":"14520149792786032602","fileSize":85599712,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter1_03.usm","md5":"7952418703863600778","fileSize":26259488,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter1_04.usm","md5":"4426954710455074853","fileSize":71022944,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter1_05.usm","md5":"12863414120764805415","fileSize":54877824,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter1_06.usm","md5":"7806858792683718732","fileSize":35363072,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter2_01.usm","md5":"10923045815075568513","fileSize":134659968,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter2_01F.usm","md5":"9874537156348677465","fileSize":134634400,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter2_02.usm","md5":"565500372298929808","fileSize":51859936,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter2_03.usm","md5":"11639842786538317496","fileSize":59678016,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter2_04.usm","md5":"8321242111272572665","fileSize":41539520,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter2_05.usm","md5":"5513284248353163663","fileSize":179301824,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter2_05F.usm","md5":"13865798575877485808","fileSize":180102752,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter2_06.usm","md5":"6147299061953373268","fileSize":38356672,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/Procedure/CutScene_Chapter2_07.usm","md5":"16464699490636551239","fileSize":244104320,"isPatch":false,"tags":[3,5],"packages":[10102]},{"remoteName":"Video/HD/Procedure/CutScene_ChapterGrace_01.usm","md5":"13815296669487746887","fileSize":150527296,"isPatch":false,"tags":[3,5],"packages":[10203]},{"remoteName":"Video/HD/Procedure/CutScene_ChapterNekomiya_01.usm","md5":"12737030678404027970","fileSize":105465536,"isPatch":false,"tags":[3,5],"packages":[10202]},{"remoteName":"Video/HD/Procedure/CutScene_ChapterSoldier11_01.usm","md5":"5234928212977323665","fileSize":129551616,"isPatch":false,"tags":[3,5],"packages":[10201]},{"remoteName":"Video/HD/Procedure/CutScene_TGSED03.usm","md5":"7472363152045386690","fileSize":97944448,"isPatch":false,"tags":[3,5],"packages":[10107]},{"remoteName":"Video/HD/Procedure/CutScene_TGSOP.usm","md5":"9529126412188632188","fileSize":171171872,"isPatch":false,"tags":[3,5],"packages":[10107]},{"remoteName":"Video/HD/Procedure/Cutscene_MonsterMetalGorilla_01.usm","md5":"3281054940267770486","fileSize":33840992,"isPatch":false,"tags":[3,5],"packages":[10201]},{"remoteName":"Video/HD/Procedure/Cutscene_MonsterNineveh_01.usm","md5":"17122304020640285302","fileSize":28298048,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/Procedure/Cutscene_MonsterNineveh_02.usm","md5":"13123823954409965302","fileSize":12105664,"isPatch":false,"tags":[3,5],"packages":[10101]},{"remoteName":"Video/HD/Transfer/BattleLoading/ConstructionSite/ConstructionSiteChessboardtoBattle.usm","md5":"12616074746074133259","fileSize":539872,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/BattleLoading/Metro/MetroChessboardtoBattle.usm","md5":"6640966619271826206","fileSize":539872,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/BattleLoading/Skyscraper/SkyscraperChessboardtoBattle.usm","md5":"10214347017280582194","fileSize":539872,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/BattleLoading/Zero/ChallengeZeroChessboardtoBattle.usm","md5":"14262278529320784859","fileSize":539872,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/General/BattleToHollowLoadingFinal.usm","md5":"6347795110748129702","fileSize":706048,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/General/Sequence_Zooming_01.usm","md5":"1728794800221501038","fileSize":7859200,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/General/TransferExitBattleToChessboard.usm","md5":"7914679796211629725","fileSize":1188256,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/General/TransferNoiseLoadingNoSub.usm","md5":"9606078424579977780","fileSize":3791328,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/ConstructionSite/ConstructionSiteDayFoggy.usm","md5":"8243843665803519500","fileSize":7483616,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/ConstructionSite/ConstructionSiteDaySunny.usm","md5":"10022240532608142989","fileSize":7506848,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/ConstructionSite/ConstructionSiteDayThunderstorm.usm","md5":"6376872342247195064","fileSize":7716224,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/ConstructionSite/ConstructionSiteEveningFoggy.usm","md5":"489192369428566217","fileSize":7720608,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/ConstructionSite/ConstructionSiteEveningSunny.usm","md5":"8817880777221528114","fileSize":7675584,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/ConstructionSite/ConstructionSiteEveningThunderstorm.usm","md5":"18099490062503515961","fileSize":7392480,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/ConstructionSite/ConstructionSiteMaptoChessboard.usm","md5":"2898195112813746460","fileSize":3349408,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/ConstructionSite/ConstructionSiteMaptoChessboardNext.usm","md5":"2772293415820042346","fileSize":1932032,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/ConstructionSite/ConstructionSiteNightFoggy.usm","md5":"752636462327845418","fileSize":7690656,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/ConstructionSite/ConstructionSiteNightSunny.usm","md5":"17400737261628303729","fileSize":7694208,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/ConstructionSite/ConstructionSiteNightThunderstorm.usm","md5":"13723417242295012513","fileSize":7603968,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/GoldenWeek/GoldenWeek_AfternoonFoggy.usm","md5":"5500961745440521886","fileSize":7656224,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/GoldenWeek/GoldenWeek_AfternoonRainy.usm","md5":"4185753360283466765","fileSize":7498464,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/GoldenWeek/GoldenWeek_AfternoonSunny.usm","md5":"10322456507006331223","fileSize":7721760,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/GoldenWeek/GoldenWeek_DayFoggy.usm","md5":"2881412746521917300","fileSize":7642272,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/GoldenWeek/GoldenWeek_DayRainy.usm","md5":"15673134129048648923","fileSize":7561216,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/GoldenWeek/GoldenWeek_DaySunny.usm","md5":"15225247938065515714","fileSize":7454048,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/GoldenWeek/GoldenWeek_NightFoggy.usm","md5":"5140153137480193441","fileSize":7565344,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/GoldenWeek/GoldenWeek_NightRainy.usm","md5":"6357307337664887951","fileSize":7448960,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/GoldenWeek/GoldenWeek_NightSunny.usm","md5":"5732118655973156959","fileSize":8118304,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Metro/MetroDayFoggy.usm","md5":"11296300940493882537","fileSize":7633152,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Metro/MetroDaySunny.usm","md5":"9016401430585030517","fileSize":7551712,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Metro/MetroDayThunderstorm.usm","md5":"10702401657441584449","fileSize":7611744,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Metro/MetroEveningFoggy.usm","md5":"15407488344611248441","fileSize":7631136,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Metro/MetroEveningSunny.usm","md5":"14263076418078844263","fileSize":7664352,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Metro/MetroEveningThunderstorm.usm","md5":"3926846013379004884","fileSize":7499008,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Metro/MetroMaptoChessboard.usm","md5":"14264072450868528753","fileSize":3872928,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Metro/MetroMaptoChessboardNext.usm","md5":"10961681457458901270","fileSize":1932032,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Metro/MetroNightFoggy.usm","md5":"1288531650113696523","fileSize":7484096,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Metro/MetroNightSunny.usm","md5":"12378875349375555200","fileSize":7680384,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Metro/MetroNightThunderstorm.usm","md5":"4102394828376825315","fileSize":7604000,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/HollowLoading_OuterRing_AfternoonFoggy.usm","md5":"10119867874837676351","fileSize":7530624,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/HollowLoading_OuterRing_AfternoonRainy.usm","md5":"2485935045161415371","fileSize":7574432,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/HollowLoading_OuterRing_AfternoonSunny.usm","md5":"2841790876504874137","fileSize":7622496,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/HollowLoading_OuterRing_DayFoggy.usm","md5":"4153295112181429934","fileSize":7731968,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/HollowLoading_OuterRing_DayRainy.usm","md5":"13734684510898418925","fileSize":7632320,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/HollowLoading_OuterRing_DaySunny.usm","md5":"3987831189944492519","fileSize":7669440,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/HollowLoading_OuterRing_ExtremeCloudy.usm","md5":"10118004342755925659","fileSize":7592800,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/HollowLoading_OuterRing_ExtremeRainy.usm","md5":"4277753826266248136","fileSize":7509248,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/HollowLoading_OuterRing_NightFoggy.usm","md5":"2354736192925637463","fileSize":7684160,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/HollowLoading_OuterRing_NightRainy.usm","md5":"17410345495718680017","fileSize":7698688,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/HollowLoading_OuterRing_NightSunny.usm","md5":"3816869356871240705","fileSize":7581536,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/MaptoChessboardNext.usm","md5":"15151274160293917702","fileSize":2382240,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/OuterRing/OuterRingMaptoChessboard.usm","md5":"1170712089318331466","fileSize":3366464,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Skyscraper/SkyscraperDayFoggy.usm","md5":"5031280748110609051","fileSize":7512608,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Skyscraper/SkyscraperDaySunny.usm","md5":"10848321109671707260","fileSize":7597408,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Skyscraper/SkyscraperDayThunderstorm.usm","md5":"11608463989494633363","fileSize":7648640,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Skyscraper/SkyscraperEveningFoggy.usm","md5":"3542188257950286674","fileSize":7684832,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Skyscraper/SkyscraperEveningSunny.usm","md5":"766536064371036560","fileSize":7612320,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Skyscraper/SkyscraperEveningThunderstorm.usm","md5":"4379922699032794166","fileSize":7676800,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Skyscraper/SkyscraperMaptoChessboard.usm","md5":"15988648334875339666","fileSize":3548128,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Skyscraper/SkyscraperMaptoChessboardNext.usm","md5":"13241337671630765256","fileSize":1932032,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Skyscraper/SkyscraperNightFoggy.usm","md5":"11854045911312191798","fileSize":7555904,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Skyscraper/SkyscraperNightSunny.usm","md5":"2635504489935722704","fileSize":7706368,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Skyscraper/SkyscraperNightThunderstorm.usm","md5":"16313714665811540685","fileSize":7568896,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Special/RoamingTheEther_HollowLoading.usm","md5":"15639804510385986060","fileSize":7193088,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Special/RoamingTheEther_MaptoChessboard.usm","md5":"1333475901422664653","fileSize":3503168,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Zero/ChallengeZero.usm","md5":"10778023749602668620","fileSize":7567008,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Zero/ChallengeZero02.usm","md5":"15986448953895345018","fileSize":7561408,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Zero/ChallengeZero03.usm","md5":"15589143875330472182","fileSize":7586336,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Zero/ChallengeZeroMaptoChessboard.usm","md5":"15115842856884024180","fileSize":3786112,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowLoading/Zero/ChallengeZeroMaptoChessboardNext.usm","md5":"13192485696873676686","fileSize":1932032,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/ConstructionSite/ConstructionSiteLayerEnd.usm","md5":"6622968766451168649","fileSize":1610880,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/ConstructionSite/ConstructionSiteLayerLoop.usm","md5":"4340424474338764743","fileSize":13428320,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/ConstructionSite/ConstructionSiteLayerStart.usm","md5":"17240095454106810134","fileSize":1520672,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Metro/MetroLayerEnd.usm","md5":"6008410133062325289","fileSize":1625344,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/OuterRing/OuterRingLayerEnd.usm","md5":"9904475980551190440","fileSize":1589376,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/OuterRing/OuterRingLayerLoop.usm","md5":"291117266305314474","fileSize":11187520,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/OuterRing/OuterRingLayerStart.usm","md5":"13074450191735108688","fileSize":1377888,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Skyscraper/SkyscraperLayerEnd.usm","md5":"16806433368236124703","fileSize":1629408,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Skyscraper/SkyscraperLayerLoop.usm","md5":"18324372896526642565","fileSize":13398304,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Skyscraper/SkyscraperLayerStart.usm","md5":"16431898902166591692","fileSize":1611776,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/AttributeShieldTeaching.usm","md5":"904549179831175854","fileSize":1904928,"isPatch":false,"tags":[3,5],"packages":[31001]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/BattleCommission01.usm","md5":"11650284233183555706","fileSize":1949888,"isPatch":false,"tags":[3,5],"packages":[71000]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/BattleCommission02.usm","md5":"8189031023378257894","fileSize":2391104,"isPatch":false,"tags":[3,5],"packages":[71000]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/BattleCommission03.usm","md5":"9375103087437335969","fileSize":3156608,"isPatch":false,"tags":[3,5],"packages":[71000]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/ChallengeZeroLayerEnd.usm","md5":"13891093881838714291","fileSize":1486240,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/ChallengeZeroLayerLoop.usm","md5":"7501305028935350650","fileSize":12894016,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/ChallengeZeroLayerStart.usm","md5":"17642539895480678209","fileSize":2036832,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/HadalZone_LayerEnd.usm","md5":"7166951731779888436","fileSize":1627104,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/HadalZone_LayerLoop.usm","md5":"10589263346441089606","fileSize":13421440,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/HadalZone_LayerStart.usm","md5":"3045405705155192008","fileSize":1582048,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/Hadal_MainPage_Dispute.usm","md5":"11540484747295179190","fileSize":10967264,"isPatch":false,"tags":[3,5],"packages":[60100]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/Hadal_MainPage_Periodic.usm","md5":"2478772600707860356","fileSize":10848704,"isPatch":false,"tags":[3,5],"packages":[60100]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/Hadal_MainPage_Permanent.usm","md5":"8708728443760725487","fileSize":10965344,"isPatch":false,"tags":[3,5],"packages":[60100]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/Limbo_LayerEnd.usm","md5":"11840410010692649839","fileSize":1614560,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/Limbo_LayerLoop.usm","md5":"16593719199855306755","fileSize":13314048,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Transfer/HollowSwitchLayer/Zero/Limbo_LayerStart.usm","md5":"16669892067824794283","fileSize":1448896,"isPatch":false,"tags":[3,5],"packages":[30700]},{"remoteName":"Video/HD/Weapon/Weapon_A_1011.usm","md5":"7891502467667018859","fileSize":10805376,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_1031.usm","md5":"14994788994836687360","fileSize":11448416,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_1061.usm","md5":"11393339560998166597","fileSize":10804704,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_1081.usm","md5":"18102347467956861319","fileSize":9342304,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_1111.usm","md5":"9000480363119649577","fileSize":12745408,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_1121.usm","md5":"2815892258306408120","fileSize":11851328,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_1131.usm","md5":"2174470586994827417","fileSize":10765824,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_1151.usm","md5":"13175631590794730404","fileSize":9247552,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_1271.usm","md5":"15389343377847291168","fileSize":10174240,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_1281.usm","md5":"5008005910938888440","fileSize":10797280,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_01.usm","md5":"12210922127701552490","fileSize":6416800,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_02.usm","md5":"11010506265754735095","fileSize":5243456,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_03.usm","md5":"14336926352165148393","fileSize":9376256,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_04.usm","md5":"2738411396425492325","fileSize":7510112,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_05.usm","md5":"8704952214521787980","fileSize":9044800,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_06.usm","md5":"16484217116500174104","fileSize":12816896,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_07.usm","md5":"11785616121310056845","fileSize":8938592,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_08.usm","md5":"17730365516342366554","fileSize":9053120,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_09.usm","md5":"14982902253521542235","fileSize":13693728,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_10.usm","md5":"6247090319680563094","fileSize":12274368,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_11.usm","md5":"1831903089655672338","fileSize":8322368,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_12.usm","md5":"2663342346595837324","fileSize":10199136,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_A_Common_13.usm","md5":"16684398642211177642","fileSize":9118752,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_01.usm","md5":"4213320445579108801","fileSize":6249888,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_02.usm","md5":"13141425229255744686","fileSize":6252736,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_03.usm","md5":"5236285243787915567","fileSize":6260224,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_04.usm","md5":"2505832797922460486","fileSize":6249952,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_05.usm","md5":"16765372182341390782","fileSize":6254208,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_06.usm","md5":"3351439175094771952","fileSize":6248896,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_07.usm","md5":"2160017922876304189","fileSize":6257504,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_08.usm","md5":"6849997825718837202","fileSize":6244288,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_09.usm","md5":"16877926708618953559","fileSize":6256416,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_10.usm","md5":"9882536017527466474","fileSize":6259328,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_11.usm","md5":"10123279564911949660","fileSize":6258976,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_12.usm","md5":"2740404235885631747","fileSize":6245024,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_13.usm","md5":"507847260971919939","fileSize":6249376,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_B_Common_14.usm","md5":"3697087860368783308","fileSize":6253056,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1021.usm","md5":"12396281465041454382","fileSize":6237952,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1041.usm","md5":"18070760277080919251","fileSize":8926560,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1071.usm","md5":"16882012261278224030","fileSize":13692064,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1101.usm","md5":"15018173911370381285","fileSize":17060832,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1141.usm","md5":"7641720908188032679","fileSize":14132512,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1161.usm","md5":"10236614038815960860","fileSize":9819904,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1171.usm","md5":"1107708089037446755","fileSize":13699808,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1181.usm","md5":"16935771391746480271","fileSize":11521664,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1191.usm","md5":"9062236079286668759","fileSize":6231776,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1211.usm","md5":"3531746447342369957","fileSize":16529088,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1221.usm","md5":"10715695260975712237","fileSize":11407264,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1241.usm","md5":"8908102889533004038","fileSize":9039136,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1251.usm","md5":"14724483636651746204","fileSize":14850208,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_1261.usm","md5":"14006396403330099983","fileSize":13083904,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_Common_01.usm","md5":"13834017969342908465","fileSize":8488928,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_Common_02.usm","md5":"16102104236489812554","fileSize":8333664,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Weapon/Weapon_S_Common_03.usm","md5":"17878914889809767576","fileSize":6676704,"isPatch":false,"tags":[3,5],"packages":[30600]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteDaySunny.usm","md5":"10402275496322281219","fileSize":19561536,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteDayThunderstorm.usm","md5":"16062859468608727350","fileSize":19701280,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteEveningFog.usm","md5":"8841059942794220324","fileSize":19510720,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteEveningRain.usm","md5":"15450492338147559290","fileSize":19661824,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteEveningSunShine.usm","md5":"12786222742428829551","fileSize":19064928,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteEveningThunderstorm.usm","md5":"2266972183831299653","fileSize":19661248,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteMorningFog.usm","md5":"10196467945660541282","fileSize":18580736,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteMorningRain.usm","md5":"6382180516470355206","fileSize":19706528,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteMorningSunShine.usm","md5":"17723186866674867292","fileSize":19542272,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteNightFog.usm","md5":"4153571085197661389","fileSize":18602624,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteNightRain.usm","md5":"5312066105394863161","fileSize":16005440,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteNightSunShine.usm","md5":"3082487099038284813","fileSize":18900256,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/ConstructionSite/ConstructionSiteNightThunderstorm.usm","md5":"7074223516749184204","fileSize":17185376,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/HollowEvent_Defense.usm","md5":"8605756334598192979","fileSize":21849568,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/HollowEvent_Zero.usm","md5":"4980281144736121504","fileSize":13561728,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroDayThunderstorm.usm","md5":"4483424638644499246","fileSize":19706656,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroEveningFog.usm","md5":"7094989899480600289","fileSize":23054496,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroEveningRain.usm","md5":"17567835339075019121","fileSize":25139552,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroEveningSunShine.usm","md5":"12626750008606898518","fileSize":20630880,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroEveningThunderstorm.usm","md5":"13017604909096527367","fileSize":19608000,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroMorningFog.usm","md5":"1666270209114064748","fileSize":22770112,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroMorningRain.usm","md5":"264184827711194303","fileSize":25081312,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroMorningSunShine.usm","md5":"16987219651685197230","fileSize":25129696,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroNightFog.usm","md5":"10751000873558836518","fileSize":22774784,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroNightRain.usm","md5":"11704035057309824103","fileSize":25020832,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroNightSunShine.usm","md5":"12903026776740966614","fileSize":22402944,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Metro/MetroNightThunderstorm.usm","md5":"1040691516416381059","fileSize":19806144,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/OuterRingEveningFog.usm","md5":"3601945794848067429","fileSize":21745152,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/OuterRingEveningRain.usm","md5":"12380536915191339523","fileSize":21707488,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/OuterRingEveningSunshine.usm","md5":"6870926443123808816","fileSize":21436448,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/OuterRingMoringFog.usm","md5":"15037036331225148451","fileSize":21427616,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/OuterRingMoringRain.usm","md5":"12281996221472702050","fileSize":21739872,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/OuterRingMoringSunshine.usm","md5":"9854284175239978538","fileSize":21732384,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/OuterRingNightFog.usm","md5":"16192235216264778720","fileSize":21743296,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/OuterRingNightRain.usm","md5":"16517889188220054694","fileSize":21725824,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/OuterRingNightSunshine.usm","md5":"14281187129393211904","fileSize":21547584,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/OuterRingThunder.usm","md5":"8307497968407761036","fileSize":21747520,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/VRChallengeZero.usm","md5":"5317437952778854215","fileSize":9150176,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/VRConstructionSite.usm","md5":"4218447589643429915","fileSize":9168320,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/VRLuminaSquare.usm","md5":"12291772156647755367","fileSize":9059360,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/OuterRing/VRTrainingGround.usm","md5":"2146939908771448209","fileSize":9150880,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Rally/Outerring01.usm","md5":"13397354059175685230","fileSize":7864512,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/Yorozuya/Rally/Outerring02.usm","md5":"12174145743274997945","fileSize":5820480,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/Yorozuya/Rally/RallyConstructionSite01.usm","md5":"8983397663602080396","fileSize":7583456,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/Yorozuya/Rally/RallyConstructionSite02.usm","md5":"17425173544857198084","fileSize":7348128,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/Yorozuya/Rally/RallyMetro01.usm","md5":"10044226248040539143","fileSize":8831616,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/Yorozuya/Rally/RallyMetro02.usm","md5":"4431566946827142163","fileSize":10044480,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/Yorozuya/Rally/RallySkyscraper01.usm","md5":"14311034586920697370","fileSize":13750432,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/Yorozuya/Rally/RallySkyscraper02.usm","md5":"803640444178808160","fileSize":14572832,"isPatch":false,"tags":[3,5],"packages":[31003]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkycraperEveningFog.usm","md5":"15322065582344744096","fileSize":18793472,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkycraperEveningRain.usm","md5":"1740635033290079983","fileSize":18810624,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkycraperMoringFog.usm","md5":"6794431422659620270","fileSize":17340928,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkycraperMoringRain.usm","md5":"15375706341301807909","fileSize":16874208,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkycraperMoringSunshine.usm","md5":"7742122497629813345","fileSize":18838816,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkycraperNightFog.usm","md5":"10752864717848106315","fileSize":18412608,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkycraperNightRain.usm","md5":"9059798447867266209","fileSize":17804480,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkycraperNightSunshine.usm","md5":"3656928056042769984","fileSize":19060320,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkyscraperDayFoggy.usm","md5":"8041798533398560555","fileSize":18228896,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkyscraperDaySunny.usm","md5":"6841073305122047823","fileSize":16780512,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkyscraperDayThunderstorm.usm","md5":"15545704074851198684","fileSize":18517472,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkyscraperEveningFoggy.usm","md5":"15877772202157225303","fileSize":18151072,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkyscraperEveningSunny.usm","md5":"14961059789772183118","fileSize":19323872,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkyscraperEveningThunderstorm.usm","md5":"8989482986921563805","fileSize":18699584,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkyscraperNightFoggy.usm","md5":"8223941425426771700","fileSize":17923776,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkyscraperNightSunny.usm","md5":"5470877046407519202","fileSize":18508640,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Skyscraper/SkyscraperNightThunderstorm.usm","md5":"9632808153916344897","fileSize":18684896,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Zero/ArpeggionHollowChessboard_01.usm","md5":"17145986209506366778","fileSize":1370112,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/Yorozuya/Zero/ArpeggionHollowChessboard_02.usm","md5":"12820974848605792546","fileSize":2921440,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/Yorozuya/Zero/ArpeggionHollowIntro.usm","md5":"15545008262519737191","fileSize":21849568,"isPatch":false,"tags":[3,5],"packages":[0]},{"remoteName":"Video/HD/Yorozuya/Zero/ChallengeZero01.usm","md5":"14974698371296857070","fileSize":25260992,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Zero/ChallengeZero02.usm","md5":"10979493164585686107","fileSize":25061312,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Zero/ChallengeZero03.usm","md5":"3528488301612726065","fileSize":24802304,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Zero/ChallengeZero04.usm","md5":"17570820944074280400","fileSize":25225536,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Zero/ChallengeZero05.usm","md5":"4782788137857116489","fileSize":25298688,"isPatch":false,"tags":[3,5],"packages":[20103]},{"remoteName":"Video/HD/Yorozuya/Zero/ChallengeZero_ComplexCorrupted.usm","md5":"17508293847138433830","fileSize":8282912,"isPatch":false,"tags":[3,5],"packages":[20207]},{"remoteName":"Video/HD/Yorozuya/Zero/ChallengeZero_Cottus.usm","md5":"12203809038191564802","fileSize":10044480,"isPatch":false,"tags":[3,5],"packages":[20207]},{"remoteName":"Video/HD/Yorozuya/Zero/ChallengeZero_CottusGrey.usm","md5":"5665362839734326531","fileSize":12599232,"isPatch":false,"tags":[3,5],"packages":[20207]},{"remoteName":"Video/HD/Yorozuya/Zero/ChallengeZero_DeathXIIIPro.usm","md5":"15705496211501398599","fileSize":10468576,"isPatch":false,"tags":[3,5],"packages":[20207]},{"remoteName":"Video/HD/Yorozuya/Zero/ChallengeZero_DurahanPro.usm","md5":"15303742635318897330","fileSize":8831616,"isPatch":false,"tags":[3,5],"packages":[20207]},{"remoteName":"Video/HD/Yorozuya/Zero/ChallengeZero_Lampas.usm","md5":"8385957638874446627","fileSize":8830176,"isPatch":false,"tags":[3,5],"packages":[20207]},{"remoteName":"Video/HD/Yorozuya/Zero/ChallengeZero_Nineveh.usm","md5":"7450450523816470874","fileSize":8220256,"isPatch":false,"tags":[3,5],"packages":[20207]},{"remoteName":"Blocks/1677012929.blk","md5":"5133214444764570376","fileSize":8342869,"isPatch":false}]} \ No newline at end of file diff --git a/autopatch/nap_test.txt b/autopatch/nap_test.txt new file mode 100644 index 0000000..c23e0fc --- /dev/null +++ b/autopatch/nap_test.txt @@ -0,0 +1 @@ +nap_test diff --git a/crates/autopatch-server/Cargo.toml b/crates/autopatch-server/Cargo.toml new file mode 100644 index 0000000..053f545 --- /dev/null +++ b/crates/autopatch-server/Cargo.toml @@ -0,0 +1,23 @@ +[package] +name = "yanagi-autopatch-server" +edition = "2021" +version.workspace = true + +[dependencies] +# Framework +tokio.workspace = true +axum.workspace = true +axum-server.workspace = true +tower-http.workspace = true + +# Error processing +anyhow.workspace = true + +# Serialization +serde.workspace = true + +# Tracing +tracing.workspace = true + +# Internal +common.workspace = true diff --git a/crates/autopatch-server/autopatch.toml b/crates/autopatch-server/autopatch.toml new file mode 100644 index 0000000..cf98a0f --- /dev/null +++ b/crates/autopatch-server/autopatch.toml @@ -0,0 +1,2 @@ +http_addr = "0.0.0.0:10000" +serve_dir = "./autopatch" diff --git a/crates/autopatch-server/src/main.rs b/crates/autopatch-server/src/main.rs new file mode 100644 index 0000000..df07749 --- /dev/null +++ b/crates/autopatch-server/src/main.rs @@ -0,0 +1,38 @@ +use anyhow::Result; +use axum::{handler::HandlerWithoutStateExt, http::StatusCode, Router}; +use common::config::TomlConfig; +use serde::Deserialize; +use tower_http::services::ServeDir; + +#[derive(Deserialize)] +struct AutopatchConfig { + pub http_addr: String, + pub serve_dir: String, +} + +impl TomlConfig for AutopatchConfig { + const DEFAULT_TOML: &str = include_str!("../autopatch.toml"); +} + +#[tokio::main] +async fn main() -> Result<()> { + let config = AutopatchConfig::load_or_create("autopatch.toml"); + common::print_splash(); + common::logging::init(tracing::Level::DEBUG); + axum_server::bind(config.http_addr.parse()?) + .serve( + Router::new() + .nest_service( + "/", + ServeDir::new(&config.serve_dir).not_found_service(not_found.into_service()), + ) + .into_make_service(), + ) + .await?; + + Ok(()) +} + +async fn not_found() -> (StatusCode, &'static str) { + (StatusCode::NOT_FOUND, "404 page not found") +} diff --git a/crates/common/Cargo.toml b/crates/common/Cargo.toml new file mode 100644 index 0000000..a1f4e27 --- /dev/null +++ b/crates/common/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "common" +edition = "2021" +version.workspace = true + +[dependencies] +# Serialization +serde.workspace = true +toml.workspace = true +hex.workspace = true + +# Tracing +tracing.workspace = true +tracing-subscriber.workspace = true diff --git a/crates/common/src/config/app.rs b/crates/common/src/config/app.rs new file mode 100644 index 0000000..76319d4 --- /dev/null +++ b/crates/common/src/config/app.rs @@ -0,0 +1,21 @@ +use std::collections::HashMap; + +use serde::Deserialize; + +#[derive(Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct AppConfig { + pub version_info_groups: HashMap, +} + +#[derive(Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct ConfigurationInfo { + pub seed: String, + pub server_list_url: String, + pub platform: String, + pub environment: String, + pub encryption_config_url: String, + pub design_data_url: String, + pub cdn_check_url: String, +} diff --git a/crates/common/src/config/encryption.rs b/crates/common/src/config/encryption.rs new file mode 100644 index 0000000..64e002b --- /dev/null +++ b/crates/common/src/config/encryption.rs @@ -0,0 +1,15 @@ +use super::from_hex; +use std::collections::HashMap; + +use serde::Deserialize; + +pub type EncryptionConfMap = HashMap; + +#[derive(Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct EncryptionConfig { + #[serde(deserialize_with = "from_hex")] + pub server_private_key: Box<[u8]>, + #[serde(deserialize_with = "from_hex")] + pub client_public_key: Box<[u8]>, +} diff --git a/crates/common/src/config/local_toml.rs b/crates/common/src/config/local_toml.rs new file mode 100644 index 0000000..10619ab --- /dev/null +++ b/crates/common/src/config/local_toml.rs @@ -0,0 +1,22 @@ +use serde::{de::DeserializeOwned, Deserialize}; + +pub trait TomlConfig: DeserializeOwned { + const DEFAULT_TOML: &str; + + fn load_or_create(path: &str) -> Self { + std::fs::read_to_string(path).map_or_else( + |_| { + std::fs::write(path, Self::DEFAULT_TOML).unwrap(); + toml::from_str(Self::DEFAULT_TOML).unwrap() + }, + |data| toml::from_str(&data).unwrap(), + ) + } +} + +#[derive(Deserialize)] +pub struct DatabaseSettings { + pub url: String, + pub username: String, + pub password: String, +} diff --git a/crates/common/src/config/mod.rs b/crates/common/src/config/mod.rs new file mode 100644 index 0000000..e51fc5b --- /dev/null +++ b/crates/common/src/config/mod.rs @@ -0,0 +1,23 @@ +mod local_toml; +pub use local_toml::{DatabaseSettings, TomlConfig}; + +mod app; +mod encryption; +mod server_list; + +pub use app::*; +pub use encryption::*; +use serde::{Deserialize, Deserializer}; +pub use server_list::*; + +pub fn from_hex<'de, D>(deserializer: D) -> Result, D::Error> +where + D: Deserializer<'de>, +{ + use serde::de::Error; + String::deserialize(deserializer).and_then(|string| { + hex::decode(&string) + .map(|vec| vec.into_boxed_slice()) + .map_err(|err| Error::custom(err.to_string())) + }) +} diff --git a/crates/common/src/config/server_list.rs b/crates/common/src/config/server_list.rs new file mode 100644 index 0000000..2873e7d --- /dev/null +++ b/crates/common/src/config/server_list.rs @@ -0,0 +1,26 @@ +use super::from_hex; +use serde::Deserialize; + +pub type ServerList = Vec; + +#[derive(Deserialize)] +pub enum ServerProtocolType { + #[serde(rename = "tcp")] + Tcp, + #[serde(rename = "kcp")] + Kcp, +} + +#[derive(Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct ServerListInfo { + pub sid: u32, + pub server_name: String, + pub ip: String, + pub port: u16, + pub notice_region: String, + pub protocol: ServerProtocolType, + pub rsa_ver: u32, + #[serde(deserialize_with = "from_hex")] + pub client_secret_key: Box<[u8]>, +} diff --git a/crates/common/src/db_const.rs b/crates/common/src/db_const.rs new file mode 100644 index 0000000..457b205 --- /dev/null +++ b/crates/common/src/db_const.rs @@ -0,0 +1,7 @@ +pub const UID_INCREMENT_QUERY: &str = "RETURN fn::increment($counter_name)"; +pub const UID_COUNTER_NAME_BIND: &str = "counter_name"; + +pub const DEFINE_INCREMENT_FUNC_QUERY: &str = r#"DEFINE FUNCTION fn::increment($name: string) { + RETURN (UPSERT ONLY type::thing('counter', $name) + SET value += 1).value; +};"#; diff --git a/crates/common/src/lib.rs b/crates/common/src/lib.rs new file mode 100644 index 0000000..be7b210 --- /dev/null +++ b/crates/common/src/lib.rs @@ -0,0 +1,13 @@ +pub mod config; +pub mod db_const; +pub mod logging; +pub mod time_util; + +pub enum ServiceStatus { + StopServer(u64), + Running, +} + +pub fn print_splash() { + println!(" __ __ _ ______ _____ \n \\ \\ / / (_)___ // ____|\n \\ \\_/ /_ _ _ __ __ _ __ _ _ / /| (___ \n \\ / _` | '_ \\ / _` |/ _` | | / / \\___ \\ \n | | (_| | | | | (_| | (_| | |/ /__ ____) |\n |_|\\__,_|_| |_|\\__,_|\\__, |_/_____|_____/ \n __/ | \n |___/ "); +} diff --git a/crates/common/src/logging.rs b/crates/common/src/logging.rs new file mode 100644 index 0000000..2c92a8d --- /dev/null +++ b/crates/common/src/logging.rs @@ -0,0 +1,17 @@ +use tracing::level_filters::LevelFilter; +use tracing_subscriber::filter::EnvFilter; + +pub fn init(level: tracing::Level) { + tracing_subscriber::fmt() + .with_max_level(level) + .with_env_filter( + EnvFilter::builder() + .with_default_directive(LevelFilter::DEBUG.into()) + .from_env() + .unwrap() + .add_directive("ureq=error".parse().unwrap()), + ) + .without_time() + .with_target(false) + .init(); +} diff --git a/crates/common/src/time_util.rs b/crates/common/src/time_util.rs new file mode 100644 index 0000000..450d598 --- /dev/null +++ b/crates/common/src/time_util.rs @@ -0,0 +1,15 @@ +use std::time::{SystemTime, UNIX_EPOCH}; + +pub fn unix_timestamp() -> u64 { + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap() + .as_secs() as u64 +} + +pub fn unix_timestamp_ms() -> u64 { + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap() + .as_millis() as u64 +} diff --git a/crates/dispatch-server/Cargo.toml b/crates/dispatch-server/Cargo.toml new file mode 100644 index 0000000..416255c --- /dev/null +++ b/crates/dispatch-server/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "yanagi-dispatch-server" +edition = "2021" +version.workspace = true + +[dependencies] +# Framework +tokio.workspace = true +axum.workspace = true +axum-server.workspace = true + +# Error processing +anyhow.workspace = true +thiserror.workspace = true + +# Serialization +serde.workspace = true +serde_json.workspace = true +rbase64.workspace = true + +# Tracing +tracing.workspace = true + +# Internal +common.workspace = true +yanagi-encryption.workspace = true +yanagi-http-client.workspace = true diff --git a/crates/dispatch-server/dispatch.toml b/crates/dispatch-server/dispatch.toml new file mode 100644 index 0000000..9f13c58 --- /dev/null +++ b/crates/dispatch-server/dispatch.toml @@ -0,0 +1,3 @@ +http_addr = "0.0.0.0:10002" +outer_http_url = "http://127.0.0.1:10002" +design_data_url = "http://127.0.0.1:10000/design_data/NAP_Publish_AppStore_1.4" diff --git a/crates/dispatch-server/src/data/gateway.rs b/crates/dispatch-server/src/data/gateway.rs new file mode 100644 index 0000000..fd17f0b --- /dev/null +++ b/crates/dispatch-server/src/data/gateway.rs @@ -0,0 +1,155 @@ +use serde::Serialize; + +#[derive(Serialize, Default)] +pub struct ServerDispatchData { + pub retcode: i32, + #[serde(skip_serializing_if = "String::is_empty")] + pub msg: String, + #[serde(skip_serializing_if = "String::is_empty")] + pub title: String, + #[serde(skip_serializing_if = "String::is_empty")] + pub region_name: String, + #[serde(skip_serializing_if = "String::is_empty")] + pub client_secret_key: String, + #[serde(skip_serializing_if = "String::is_empty")] + pub cdn_check_url: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub gateway: Option, + #[serde(skip_serializing_if = "String::is_empty")] + pub oaserver_url: String, + #[serde(skip_serializing_if = "String::is_empty")] + pub force_update_url: String, + #[serde(skip_serializing_if = "String::is_empty")] + pub stop_jump_url: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub cdn_conf_ext: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub region_ext: Option, +} + +#[derive(Serialize)] +pub struct ServerGateway { + pub ip: String, + pub port: u16, +} + +#[derive(Serialize)] +pub struct RegionExtension { + pub func_switch: RegionSwitchFunc, + pub feedback_url: String, + pub exchange_url: String, + pub pgc_webview_method: i32, + #[serde(rename = "mtrNap")] + pub mtr_nap: String, + #[serde(rename = "mtrSdk")] + pub mtr_sdk: String, + #[serde(rename = "urlCheckNap")] + pub url_check_nap: String, + #[serde(rename = "urlCheckSdk")] + pub url_check_sdk: String, +} + +#[derive(Serialize, Default)] +pub struct RegionSwitchFunc { + #[serde(rename = "Close_Medium_Package_Download")] + pub close_medium_package_download: i64, + #[serde(rename = "Disable_Audio_Download")] + pub disable_audio_download: i64, + #[serde(rename = "Hide_Download_complete_resources")] + pub hide_download_complete_resources: i64, + #[serde(rename = "Hide_Download_resources_popups")] + pub hide_download_resources_popups: i64, + #[serde(rename = "Hide_download_progress")] + pub hide_download_progress: i64, + #[serde(rename = "Medium_Package_Play")] + pub medium_package_play: i64, + #[serde(rename = "Play_The_Music")] + pub play_the_music: i64, + pub disable_anim_allocator_opt: i64, + #[serde(rename = "disableAsyncSRPSubmit")] + pub disable_async_srpsubmit: i64, + pub disable_execute_async: i64, + #[serde(rename = "disableMetalPSOCreateAsync")] + pub disable_metal_psocreate_async: i64, + pub disable_object_instance_cache: i64, + #[serde(rename = "disableSRPHelper")] + pub disable_srp_helper: i64, + #[serde(rename = "disableSRPInstancing")] + pub disable_srp_instancing: i64, + pub disable_skin_mesh_strip: i64, + pub disable_step_preload_monster: i64, + pub disable_tex_streaming_visbility_opt: i64, + #[serde(rename = "disableiOSGPUBufferOpt")] + pub disable_ios_gpubuffer_opt: i64, + #[serde(rename = "disableiOSShaderHibernation")] + pub disable_ios_shader_hibernation: i64, + #[serde(rename = "enableiOSShaderWarmupOnStartup")] + pub enable_ios_shader_warmup_on_startup: i64, + #[serde(rename = "isKcp")] + pub is_kcp: i32, + #[serde(rename = "mtrConfig")] + pub mtr_config: Option, + #[serde(rename = "perfSwitch1")] + pub perf_switch_1: i32, + #[serde(rename = "perfSwitch2")] + pub perf_switch_2: i32, + #[serde(rename = "enableNoticeMobileConsole")] + pub enable_notice_mobile_console: i32, + #[serde(rename = "enableGachaMobileConsole")] + pub enable_gacha_mobile_console: i32, + #[serde(rename = "Disable_Popup_Notification")] + pub disable_popup_notification: i32, + #[serde(rename = "open_hotfix_popups")] + pub open_hotfix_popups: i32, + pub enable_operation_log: i32, + #[serde(rename = "Turnoff_Push_notifications")] + pub turnoff_push_notifications: i32, + #[serde(rename = "Disable_Frequent_attempts")] + pub disable_frequent_attempts: i32, + pub enable_performance_log: i32, + #[serde(rename = "Turnoff_unsafepreload_cloudgame")] + pub turnoff_unsafepreload_cloudgame: i32, + #[serde(rename = "Hide_Code_Login")] + pub hide_code_login: i32, +} + +#[derive(Serialize)] +pub struct CdnConfExt { + pub game_res: CdnGameRes, + pub design_data: CdnDesignData, + pub silence_data: CdnSilenceData, + #[serde(skip_serializing_if = "Option::is_none")] + pub pre_download: Option, +} + +#[derive(Serialize)] +pub struct CdnGameRes { + pub base_url: String, + pub res_revision: String, + pub audio_revision: String, + pub branch: String, + pub md5_files: String, // Vec packed as string +} + +#[derive(Serialize)] +pub struct CdnDesignData { + pub base_url: String, + pub data_revision: String, + pub md5_files: String, // Vec packed as string +} + +#[derive(Serialize)] +pub struct CdnSilenceData { + pub base_url: String, + pub silence_revision: String, + pub md5_files: String, // Vec packed as string +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +pub struct VersionFileInfo { + pub file_name: String, + pub file_size: i64, + #[serde(rename = "fileMD5")] + pub file_md5: String, +} diff --git a/crates/dispatch-server/src/data/global.rs b/crates/dispatch-server/src/data/global.rs new file mode 100644 index 0000000..1d7fbef --- /dev/null +++ b/crates/dispatch-server/src/data/global.rs @@ -0,0 +1,23 @@ +use serde::Serialize; + +#[derive(Serialize, Default)] +pub struct ServerListInfo { + pub area: u8, + pub biz: String, + pub dispatch_url: String, + pub env: u8, + pub is_recommend: bool, + pub name: String, + pub ping_url: String, + pub retcode: i32, + pub title: String, +} + +#[derive(Serialize, Default)] +pub struct QueryDispatchRsp { + #[serde(skip_serializing_if = "Vec::is_empty")] + pub region_list: Vec, + pub retcode: i32, + #[serde(skip_serializing_if = "String::is_empty")] + pub msg: String, +} diff --git a/crates/dispatch-server/src/data/mod.rs b/crates/dispatch-server/src/data/mod.rs new file mode 100644 index 0000000..ee1df58 --- /dev/null +++ b/crates/dispatch-server/src/data/mod.rs @@ -0,0 +1,5 @@ +mod gateway; +mod global; + +pub use gateway::*; +pub use global::*; diff --git a/crates/dispatch-server/src/http_handlers.rs b/crates/dispatch-server/src/http_handlers.rs new file mode 100644 index 0000000..9e4e33a --- /dev/null +++ b/crates/dispatch-server/src/http_handlers.rs @@ -0,0 +1,205 @@ +use axum::extract::{Path, Query, State}; +use axum::routing::get; +use axum::{Json, Router}; +use serde::{Deserialize, Serialize}; + +use crate::data::{ + CdnConfExt, CdnDesignData, CdnGameRes, CdnSilenceData, RegionExtension, RegionSwitchFunc, + ServerDispatchData, ServerGateway, +}; +use crate::{data, AppState}; +use common::config::{EncryptionConfig, ServerProtocolType}; + +pub fn routes() -> Router<&'static AppState> { + Router::new() + .route("/query_dispatch", get(query_dispatch)) + .route("/query_gateway/:server_name", get(query_gateway)) +} + +#[derive(Deserialize)] +struct QueryDispatchParam { + pub version: String, +} + +async fn query_dispatch( + State(state): State<&'static AppState>, + Query(param): Query, +) -> Json { + let Some(server_list_map) = state.server_list.get() else { + return Json(data::QueryDispatchRsp { + retcode: 71, // maintenance (stop_server) + ..Default::default() + }); + }; + + let Some(server_list) = server_list_map.get(¶m.version) else { + return Json(data::QueryDispatchRsp { + retcode: 70, + ..Default::default() + }); + }; + + Json(data::QueryDispatchRsp { + retcode: 0, + msg: String::new(), + region_list: server_list + .iter() + .map(|info| data::ServerListInfo { + retcode: 0, + name: info.notice_region.clone(), + title: info.server_name.clone(), + dispatch_url: format!( + "{}/query_gateway/{}", + &state.dispatch_config.outer_http_url, &info.notice_region + ), + biz: String::from("nap_global"), + env: 2, + ..Default::default() + }) + .collect(), + }) +} + +#[derive(Serialize)] +#[serde(untagged)] +enum QueryGatewayRsp { + Plaintext(ServerDispatchData), + Encrypted { content: String, sign: String }, +} + +impl QueryGatewayRsp { + pub fn error(retcode: i32, msg: &str) -> Self { + Self::Plaintext(ServerDispatchData { + retcode, + msg: msg.to_string(), + ..Default::default() + }) + } + + pub fn encrypt(self, config: &EncryptionConfig) -> Self { + match self { + Self::Encrypted { .. } => self, + Self::Plaintext(data) => { + let data = serde_json::to_string(&data).unwrap(); + let content = yanagi_encryption::rsa::encrypt(config, data.as_bytes()); + let sign = yanagi_encryption::rsa::sign(config, data.as_bytes()); + + Self::Encrypted { + content: rbase64::encode(&content), + sign: rbase64::encode(&sign), + } + } + } + } +} + +#[derive(Deserialize)] +struct QueryGatewayParam { + pub version: String, + pub rsa_ver: u32, + pub seed: String, +} + +async fn query_gateway( + State(state): State<&'static AppState>, + Path(server_name): Path, + Query(param): Query, +) -> Json { + let (Some(app_config), Some(server_list_map), Some(encryption_conf_map)) = ( + state.app_config.get(), + state.server_list.get(), + state.encryption_config.get(), + ) else { + tracing::debug!("query_gateway requested, but server is in stop mode"); + return Json(QueryGatewayRsp::error(71, "")); + }; + + let Some(encryption_conf) = encryption_conf_map + .get(¶m.version) + .map(|k| k.get(¶m.rsa_ver)) + .flatten() + else { + tracing::debug!("EncryptionConfig for version {} not found", param.version); + return Json(QueryGatewayRsp::error(74, "")); + }; + + let Some(version_info) = app_config.version_info_groups.get(¶m.version) else { + tracing::debug!("VersionInfoGroup for {} not found", param.version); + return Json(QueryGatewayRsp::error(70, "").encrypt(encryption_conf)); + }; + + if !version_info.seed.is_empty() && version_info.seed != param.seed { + tracing::debug!( + "dispatch seed for version {} doesn't match. Config seed: {}, client seed: {}", + param.version, + version_info.seed, + param.seed + ); + return Json(QueryGatewayRsp::error(75, "").encrypt(encryption_conf)); + } + + let Some(server_list) = server_list_map.get(¶m.version) else { + return Json(QueryGatewayRsp::error(70, "").encrypt(encryption_conf)); + }; + + let Some(server_info) = server_list.iter().find(|s| s.notice_region == server_name) else { + return Json(QueryGatewayRsp::error(70, "").encrypt(encryption_conf)); + }; + + Json(QueryGatewayRsp::Plaintext(ServerDispatchData { + retcode: 0, + msg: String::new(), + region_name: server_info.notice_region.clone(), + title: server_info.server_name.clone(), + client_secret_key: rbase64::encode(&server_info.client_secret_key), + cdn_check_url: version_info.cdn_check_url.clone(), + gateway: Some(ServerGateway { + ip: server_info.ip.clone(), + port: server_info.port, + }), + oaserver_url: String::new(), + force_update_url: String::new(), + stop_jump_url: String::new(), + cdn_conf_ext: Some(CdnConfExt { + // TODO: move this stuff to VersionInfo in config.json + design_data: CdnDesignData { + base_url: String::from("http://127.0.0.1:10000/design_data/beta_live/output_5016531_79764a0a26/client/"), + data_revision: String::from("5010994"), + md5_files: String::from(r#"[{"fileName":"data_version","fileSize":2056,"fileMD5":"847307868890712853"}]"#), + }, + game_res: CdnGameRes { + audio_revision: String::from("5010994"), + base_url: String::from("http://127.0.0.1:10000/game_res/beta_live/output_5016531_79764a0a26/client/"), + branch: String::from("beta_live"), + md5_files: String::from(r#"[{"fileName":"res_version","fileSize":1225259,"fileMD5":"13780047615044516895"},{"fileName":"audio_version","fileSize":14386,"fileMD5":"1213735845266261736"},{"fileName":"base_revision","fileSize":4,"fileMD5":"4524394692449115962"}]"#), + res_revision: String::from("5016531"), + }, + silence_data: CdnSilenceData { + base_url: String::from("http://127.0.0.1:10000/design_data/beta_live/output_5016531_79764a0a26/client_silence/"), + md5_files: String::from(r#"[{"fileName":"silence_version","fileSize":130,"fileMD5":"2077712550601860122"}]"#), + silence_revision: String::from("5010994"), + }, + pre_download: None, + }), + region_ext: Some(RegionExtension { + exchange_url: String::new(), + feedback_url: String::new(), + func_switch: RegionSwitchFunc { + disable_frequent_attempts: 1, + enable_gacha_mobile_console: 1, + enable_notice_mobile_console: 1, + enable_performance_log: 1, + is_kcp: match server_info.protocol { + ServerProtocolType::Tcp => 0, + ServerProtocolType::Kcp => 1, + }, + ..Default::default() + }, + mtr_nap: String::new(), + mtr_sdk: String::new(), + pgc_webview_method: 1, + url_check_nap: String::new(), + url_check_sdk: String::new(), + }), + }).encrypt(encryption_conf)) +} diff --git a/crates/dispatch-server/src/main.rs b/crates/dispatch-server/src/main.rs new file mode 100644 index 0000000..f17e50d --- /dev/null +++ b/crates/dispatch-server/src/main.rs @@ -0,0 +1,83 @@ +use std::{ + collections::HashMap, + sync::{LazyLock, OnceLock}, + time::Duration, +}; + +use anyhow::Result; +use common::config::TomlConfig; +use common::config::{AppConfig, EncryptionConfMap, ServerList}; +use serde::Deserialize; +use yanagi_http_client::AutopatchClient; + +mod data; +mod http_handlers; + +#[derive(Deserialize)] +struct DispatchConfig { + pub http_addr: String, + pub outer_http_url: String, + pub design_data_url: String, +} + +impl TomlConfig for DispatchConfig { + const DEFAULT_TOML: &str = include_str!("../dispatch.toml"); +} + +struct AppState { + pub dispatch_config: &'static DispatchConfig, + pub app_config: OnceLock, + pub server_list: OnceLock>, + pub encryption_config: OnceLock>, +} + +#[tokio::main] +async fn main() -> Result<()> { + static CONFIG: LazyLock = + LazyLock::new(|| DispatchConfig::load_or_create("dispatch.toml")); + static STATE: OnceLock = OnceLock::new(); + + common::print_splash(); + common::logging::init(tracing::Level::DEBUG); + + let state = STATE.get_or_init(|| AppState { + dispatch_config: &CONFIG, + app_config: OnceLock::new(), + server_list: OnceLock::new(), + encryption_config: OnceLock::new(), + }); + + std::thread::spawn(move || fetch_configuration(state)); + + let router = http_handlers::routes().with_state(state); + axum_server::bind(CONFIG.http_addr.parse()?) + .serve(router.into_make_service()) + .await?; + + Ok(()) +} + +fn fetch_configuration(state: &AppState) { + const RETRY_TIME: Duration = Duration::from_secs(5); + + let design_data_url = &state.dispatch_config.design_data_url; + let client = AutopatchClient::new(design_data_url).retry_after(RETRY_TIME); + + let app_config: AppConfig = client.fetch_until_success("/config.json"); + + let mut server_list_map = HashMap::with_capacity(app_config.version_info_groups.len()); + let mut encryption_conf_map = HashMap::with_capacity(app_config.version_info_groups.len()); + for (version, info) in app_config.version_info_groups.iter() { + let server_list = client.fetch_until_success(&info.server_list_url); + let encryption_conf = client.fetch_until_success(&info.encryption_config_url); + + server_list_map.insert(version.clone(), server_list); + encryption_conf_map.insert(version.clone(), encryption_conf); + } + + tracing::info!("successfully fetched all remote configuration from autopatch!"); + + let _ = state.app_config.set(app_config); + let _ = state.server_list.set(server_list_map); + let _ = state.encryption_config.set(encryption_conf_map); +} diff --git a/crates/game-server/Cargo.toml b/crates/game-server/Cargo.toml new file mode 100644 index 0000000..5d6162b --- /dev/null +++ b/crates/game-server/Cargo.toml @@ -0,0 +1,38 @@ +[package] +name = "yanagi-game-server" +edition = "2021" +version.workspace = true + +[dependencies] +# Framework +tokio.workspace = true + +# Service +qwer.workspace = true +qwer-rpc.workspace = true +protocol.workspace = true + +# Database +surrealdb.workspace = true + +# Tracing +tracing.workspace = true + +# Error processing +anyhow.workspace = true +thiserror.workspace = true + +# Serialization +serde.workspace = true +serde_json.workspace = true +rbase64.workspace = true + +# Util +paste.workspace = true +dashmap.workspace = true + +# Internal +common.workspace = true +yanagi-data.workspace = true +yanagi-eventgraph.workspace = true +yanagi-http-client.workspace = true diff --git a/crates/game-server/gameserver.toml b/crates/game-server/gameserver.toml new file mode 100644 index 0000000..8b5b119 --- /dev/null +++ b/crates/game-server/gameserver.toml @@ -0,0 +1,8 @@ +server_name = "nap_dev_01" +bind_client_version = "CNBetaWin1.4.2" +design_data_url = "http://127.0.0.1:10000/design_data/NAP_Publish_AppStore_1.4" + +[database] +url = "localhost:8000" +username = "root" +password = "root" diff --git a/crates/game-server/src/database.rs b/crates/game-server/src/database.rs new file mode 100644 index 0000000..40bfbc7 --- /dev/null +++ b/crates/game-server/src/database.rs @@ -0,0 +1,111 @@ +use std::io::Cursor; + +use common::config::DatabaseSettings; +use protocol::player_info::PlayerInfo; +use serde::{Deserialize, Serialize}; +use surrealdb::{ + engine::remote::ws::{Client, Ws}, + Surreal, +}; + +use crate::player_util::{self, UidCounter}; + +const DB_NAMESPACE: &str = "yanagi"; +const GAME_DB_NAME: &str = "nap"; + +const PLAYER_DATA_TABLE: &str = "player_data"; + +#[derive(Clone)] +pub struct DbContext(Surreal); +type Result = std::result::Result; + +#[derive(Deserialize, Serialize)] +struct PlayerData { + pub player_uid: u64, + pub game_uid_counter: u32, + pub player_info_blob: String, +} + +impl DbContext { + pub async fn connect(settings: &DatabaseSettings) -> Result { + use surrealdb::opt::auth::Root; + + let database = Surreal::new::(&settings.url).await?; + database + .signin(Root { + username: &settings.username, + password: &settings.password, + }) + .await?; + + database.use_ns(DB_NAMESPACE).use_db(GAME_DB_NAME).await?; + Ok(Self(database)) + } + + pub async fn get_or_create_player_data( + &self, + player_uid: u64, + ) -> Result<(UidCounter, PlayerInfo)> { + let player_uid_str = player_uid.to_string(); + let data: Option = self.0.select((PLAYER_DATA_TABLE, &player_uid_str)).await?; + if let Some(data) = data { + let uid_counter = + UidCounter::new((player_uid & 0xFFFFFFFF) as u32, data.game_uid_counter); + let player_info = deserialize_player_info(&data.player_info_blob); + + return Ok((uid_counter, player_info)); + } + + let (uid_counter, player_info) = + player_util::create_starting_player_info(player_uid, "ReversedRooms"); + let player_info_blob = serialize_player_info(&player_info); + + let _: PlayerData = self + .0 + .create((PLAYER_DATA_TABLE, player_uid_str)) + .content(PlayerData { + player_uid, + game_uid_counter: uid_counter.last_uid(), + player_info_blob, + }) + .await? + .unwrap(); + + Ok((uid_counter, player_info)) + } + + pub async fn save_player_data(&self, last_uid: u32, player_info: &PlayerInfo) -> Result<()> { + let player_uid = player_info.uid.unwrap(); + + let _: PlayerData = self + .0 + .update((PLAYER_DATA_TABLE, player_uid.to_string())) + .content(PlayerData { + player_uid, + game_uid_counter: last_uid, + player_info_blob: serialize_player_info(player_info), + }) + .await? + .unwrap(); + + Ok(()) + } +} + +pub fn serialize_player_info(player_info: &PlayerInfo) -> String { + use qwer::OctData; + + let mut buf = Vec::new(); + player_info + .marshal_to(&mut Cursor::new(&mut buf), 2) + .unwrap(); + + rbase64::encode(&buf) +} + +pub fn deserialize_player_info(blob_b64: &str) -> PlayerInfo { + use qwer::OctData; + + let buf = rbase64::decode(blob_b64).unwrap(); + PlayerInfo::unmarshal_from(&mut Cursor::new(&buf[..]), 2).unwrap() +} diff --git a/crates/game-server/src/level/event_graph_runner.rs b/crates/game-server/src/level/event_graph_runner.rs new file mode 100644 index 0000000..387e882 --- /dev/null +++ b/crates/game-server/src/level/event_graph_runner.rs @@ -0,0 +1,186 @@ +use protocol::player_info::{NpcInfo, NpcSceneData, Transform}; +use qwer::{phashset, PropertyHashSet}; +use tracing::debug; +use yanagi_eventgraph::{action_pb, ConfigEvent, ConfigEventAction, SectionEventGraphConfig}; + +use crate::{level::BoundInteractInfo, PlayerSession}; + +#[derive(Debug)] +pub enum EventGraphGroup { + OnAdd, + OnEnter, +} + +pub fn trigger_group( + session: &mut PlayerSession, + config: &SectionEventGraphConfig, + group: EventGraphGroup, + scene_uid: u64, + section_id: i32, +) { + debug!( + "[EventGraph] player {} triggered event group {group:?}", + session.player_uid + ); + + match group { + EventGraphGroup::OnAdd => config.on_add.iter().for_each(|event_name| { + trigger_event( + session, + event_name, + config.events.get(event_name).unwrap(), + scene_uid, + section_id, + ) + }), + EventGraphGroup::OnEnter => config.on_enter.iter().for_each(|event_name| { + trigger_event( + session, + event_name, + config.events.get(event_name).unwrap(), + scene_uid, + section_id, + ) + }), + } +} + +pub fn trigger_event( + session: &mut PlayerSession, + event_name: &str, + config: &ConfigEvent, + scene_uid: u64, + section_id: i32, +) { + debug!( + "[EventGraph] player {} triggered event {event_name} (id: {})", + session.player_uid, config.id, + ); + + config + .actions + .iter() + .for_each(|action| execute_action(session, action, scene_uid, section_id)); +} + +pub fn execute_action( + session: &mut PlayerSession, + action: &ConfigEventAction, + scene_uid: u64, + section_id: i32, +) { + use ConfigEventAction::*; + match action { + ActionCreateNpcCfg { id, tag_id } => { + let uid = session.uid_counter.next(); + let sdg = session.player_info.single_dungeon_group.as_mut().unwrap(); + sdg.npcs.as_mut().unwrap().insert( + scene_uid, + uid, + NpcInfo { + uid, + id: *id, + tag_value: *tag_id, + scene_uid, + parent_uid: 0, + owner_uid: 0, + scene_data: NpcSceneData { + section_id, + transform: Transform::default(), + }, + references: phashset![], + }, + ); + } + ActionChangeInteractCfg { + interact_id, + tag_ids, + participators, + interact_scale, + section_listen_events, + .. + } => { + let sdg = session.player_info.single_dungeon_group.as_mut().unwrap(); + sdg.npcs + .as_ref() + .unwrap() + .iter() + .filter(|(s_uid, _, _)| **s_uid == scene_uid) + .for_each(|(_, &uid, npc)| { + if tag_ids.contains(&npc.tag_value) { + session.level_event_graph_mgr.bound_interact_map.insert( + uid, + ( + *interact_id, + BoundInteractInfo { + participators: participators.clone(), + scale_x: interact_scale.x, + scale_y: interact_scale.y, + scale_z: interact_scale.z, + scale_w: 0.0, + scale_r: 0.0, + name: String::from("A"), + interact_id: *interact_id, + }, + ), + ); + + session + .level_event_graph_mgr + .listen_events + .insert(*interact_id, section_listen_events.clone()); + } + }); + } + ActionSetMainCityObjectState { object_state, .. } => { + let main_city_objects_state = session + .player_info + .main_city_objects_state + .as_mut() + .unwrap(); + + object_state + .iter() + .for_each(|(&obj, &state)| main_city_objects_state.insert(obj, state)); + } + ActionOpenUI { + ui, + args, + store_template_id, + } => { + use yanagi_eventgraph::Message; + session + .level_event_graph_mgr + .push_protocol_action(protocol::ActionInfo { + action_type: 5, + body: action_pb::ActionOpenUi { + ui: ui.clone(), + args: *args, + npc_id: 0, + store_template_id: *store_template_id, + } + .encode_to_vec(), + }); + } + ActionSwitchSection { + section_id, + transform, + camera_x, + camera_y, + } => { + use yanagi_eventgraph::Message; + session + .level_event_graph_mgr + .push_protocol_action(protocol::ActionInfo { + action_type: 6, + body: action_pb::ActionSwitchSection { + section: *section_id, + transform_id: transform.clone(), + camera_x: *camera_x, + camera_y: *camera_y, + } + .encode_to_vec(), + }); + } + } +} diff --git a/crates/game-server/src/level/mod.rs b/crates/game-server/src/level/mod.rs new file mode 100644 index 0000000..0aaa31d --- /dev/null +++ b/crates/game-server/src/level/mod.rs @@ -0,0 +1,139 @@ +use std::{ + collections::{HashMap, VecDeque}, + sync::OnceLock, +}; + +use event_graph_runner::EventGraphGroup; +use protocol::PtcSyncEventInfoArg; +use qwer_rpc::RpcPtcContext; +use tracing::instrument; +use yanagi_eventgraph::MainCityConfig; + +use crate::PlayerSession; + +mod event_graph_runner; + +static MAINCITY_CONFIG: OnceLock = OnceLock::new(); + +pub fn load_script_config(main_city_config_data: &str) { + let _ = MAINCITY_CONFIG.set( + serde_json::from_str(main_city_config_data).expect("failed to load main city config data"), + ); +} + +pub struct BoundInteractInfo { + pub interact_id: i32, + pub participators: HashMap, + pub name: String, + pub scale_x: f64, + pub scale_y: f64, + pub scale_z: f64, + pub scale_w: f64, + pub scale_r: f64, +} + +#[derive(Default)] +pub struct LevelEventGraphManager { + pub bound_interact_map: HashMap, + pub listen_events: HashMap>, + pub scene_uid: u64, + pub section_id: i32, + pending_events_info_sync: VecDeque, + cur_interaction: i32, + cur_interact_unit_tag: i32, +} + +impl LevelEventGraphManager { + pub fn begin_interact(&mut self, interaction: i32, unit_tag: i32) { + self.cur_interaction = interaction; + self.cur_interact_unit_tag = unit_tag; + } + + pub fn push_protocol_action(&mut self, action_info: protocol::ActionInfo) { + self.pending_events_info_sync + .push_back(PtcSyncEventInfoArg { + owner_id: self.cur_interaction as u32, + npc_interaction: String::from("OnInteract"), + tag: self.cur_interact_unit_tag as u32, + owner_type: 3, // SceneUnit = 3, + action_list: vec![action_info], + }); + } + + pub async fn sync_event_info(&mut self, ctx: &RpcPtcContext) { + while let Some(ptc) = self.pending_events_info_sync.pop_front() { + ctx.send_ptc(ptc).await; + } + } +} + +#[instrument(skip(session))] +pub fn on_section_added(session: &mut PlayerSession, scene_uid: u64, section_id: i32) { + let section_config = MAINCITY_CONFIG + .get() + .unwrap() + .sections + .get(§ion_id) + .unwrap(); + + event_graph_runner::trigger_group( + session, + §ion_config.section_progress, + EventGraphGroup::OnAdd, + scene_uid, + section_id, + ); +} + +#[instrument(skip(session))] +pub fn on_section_enter(session: &mut PlayerSession, scene_uid: u64, section_id: i32) { + let section_config = MAINCITY_CONFIG + .get() + .unwrap() + .sections + .get(§ion_id) + .unwrap(); + + session.level_event_graph_mgr.scene_uid = scene_uid; + session.level_event_graph_mgr.section_id = section_id; + session.level_event_graph_mgr.bound_interact_map.clear(); + + event_graph_runner::trigger_group( + session, + §ion_config.section_progress, + EventGraphGroup::OnEnter, + scene_uid, + section_id, + ); +} + +#[instrument(skip(session))] +pub fn fire_event(session: &mut PlayerSession, interact_id: i32, event_name: &str) { + if let Some(event_graph_name) = session + .level_event_graph_mgr + .listen_events + .get(&interact_id) + .map(|e| e.get(event_name)) + .flatten() + .cloned() + { + let section_config = MAINCITY_CONFIG + .get() + .unwrap() + .sections + .get(&session.level_event_graph_mgr.section_id) + .unwrap(); + + event_graph_runner::trigger_event( + session, + event_name, + section_config + .section_progress + .events + .get(&event_graph_name) + .unwrap(), + session.level_event_graph_mgr.scene_uid, + session.level_event_graph_mgr.section_id, + ); + } +} diff --git a/crates/game-server/src/main.rs b/crates/game-server/src/main.rs new file mode 100644 index 0000000..877041f --- /dev/null +++ b/crates/game-server/src/main.rs @@ -0,0 +1,149 @@ +use std::{ + sync::{LazyLock, OnceLock}, + time::Duration, +}; + +use anyhow::Result; +use common::{ + config::{DatabaseSettings, TomlConfig}, + time_util, +}; +use dashmap::DashMap; +use database::DbContext; +use level::LevelEventGraphManager; +use player_info::PlayerInfo; +use player_util::UidCounter; +use qwer::ProtocolID; +use qwer_rpc::{ + middleware::MiddlewareModel, ProtocolServiceFrontend, RpcPtcContext, RpcPtcServiceFrontend, +}; + +use protocol::*; +use serde::Deserialize; +use tracing::{error, info, warn}; +use yanagi_data::{ArchiveFile, NapFileCfg}; + +mod database; +mod level; +mod player_util; +mod remote_config; +mod rpc_ptc; +mod scene_section_util; + +#[derive(Deserialize)] +pub struct GameServerConfig { + pub server_name: String, + pub bind_client_version: String, + pub design_data_url: String, + pub database: DatabaseSettings, +} + +impl TomlConfig for GameServerConfig { + const DEFAULT_TOML: &str = include_str!("../gameserver.toml"); +} + +struct PlayerSession { + pub player_uid: u64, + pub uid_counter: UidCounter, + pub player_info: PlayerInfo, + pub last_save_time: u64, + pub level_event_graph_mgr: LevelEventGraphManager, +} + +static FILECFG: OnceLock = OnceLock::new(); + +static PLAYER_MAP: LazyLock> = LazyLock::new(|| DashMap::new()); +static DB_CONTEXT: OnceLock = OnceLock::new(); + +#[tokio::main] +async fn main() -> Result<()> { + static CONFIG: LazyLock = + LazyLock::new(|| GameServerConfig::load_or_create("gameserver.toml")); + static DESIGN_DATA: OnceLock = OnceLock::new(); + + common::print_splash(); + common::logging::init(tracing::Level::DEBUG); + let remote_cfg = remote_config::download(&CONFIG); + let design_data_blk = remote_config::download_design_data_blk(&remote_cfg.version_info); + let main_city_script = + remote_config::download_main_city_script_config(&remote_cfg.version_info); + + let _ = DESIGN_DATA.set(yanagi_data::read_archive_file(std::io::Cursor::new( + &design_data_blk, + ))?); + + level::load_script_config(&main_city_script); + + let nap_cfg = NapFileCfg::new(&DESIGN_DATA.get().unwrap()); + FILECFG.get_or_init(|| nap_cfg); + + let db_context = DbContext::connect(&CONFIG.database).await?; + DB_CONTEXT.get_or_init(|| db_context); + + let service = RpcPtcServiceFrontend::new(ProtocolServiceFrontend::new()); + let listen_point = service.create_point(Some("0.0.0.0:10101".parse()?)).await?; + + listen_point.register_rpc_recv(RpcPlayerLoginArg::PROTOCOL_ID, on_rpc_player_login_arg); + rpc_ptc::register_handlers(&listen_point); + + // sleep, service stuff is running in separate task + tokio::time::sleep(Duration::from_secs(u64::MAX)).await; + Ok(()) +} + +pub async fn on_rpc_player_login_arg(ctx: RpcPtcContext) { + let _arg: RpcPlayerLoginArg = ctx.get_arg().unwrap(); + + let Some(MiddlewareModel::Account(account_mw)) = ctx + .middleware_list + .iter() + .find(|&mw| matches!(mw, MiddlewareModel::Account(_))) + else { + warn!("login failed: account middleware is missing"); + return; + }; + + let Ok((uid_counter, player_info)) = DB_CONTEXT + .get() + .unwrap() + .get_or_create_player_data(account_mw.player_uid) + .await + .inspect_err(|err| error!("login failed: get_or_create_player_data failed: {err}")) + else { + ctx.send_ret(RpcPlayerLoginRet { retcode: 1 }).await; + return; + }; + + PLAYER_MAP.insert( + account_mw.player_uid, + PlayerSession { + player_uid: account_mw.player_uid, + uid_counter, + player_info, + level_event_graph_mgr: LevelEventGraphManager::default(), + last_save_time: time_util::unix_timestamp(), + }, + ); + + info!("player with uid {} is logging in!", account_mw.player_uid); + ctx.send_ret(RpcPlayerLoginRet { retcode: 0 }).await; +} + +async fn post_rpc_handle(session: &mut PlayerSession) { + let timestamp = time_util::unix_timestamp(); + + if (timestamp - session.last_save_time) >= 30 { + session.last_save_time = timestamp; + DB_CONTEXT + .get() + .unwrap() + .save_player_data(session.uid_counter.last_uid(), &session.player_info) + .await + .expect("failed to save player data"); + + info!( + "successfully saved player data (uid: {})", + session.player_uid + ); + } +} diff --git a/crates/game-server/src/player_util.rs b/crates/game-server/src/player_util.rs new file mode 100644 index 0000000..d20aeee --- /dev/null +++ b/crates/game-server/src/player_util.rs @@ -0,0 +1,346 @@ +use common::time_util; +use protocol::{ + item_info::ItemInfo, + player_info::{ + ArchiveInfo, AreasInfo, BGMInfo, BattleEventInfo, BeginnerProcedureInfo, CollectMap, + DungeonCollection, Embattles, EquipGachaInfo, FairyInfo, GMData, HollowInfo, + LoadingPageTipsInfo, MUIPData, MainCityQuestData, NewbieInfo, OperationMailReceiveInfo, + PayInfo, PlayerInfo, PlayerMailExtInfos, PlayerPosInMainCity, PopupWindowInfo, QuestData, + RamenData, ShopsInfo, SingleDungeonGroup, TipsInfo, Transform, UnlockInfo, VHSStoreData, + Vector3f, VideotapeInfo, YorozuyaInfo, + }, + AutoRecoveryInfo, +}; +use qwer::{ + pdkhashmap, phashmap, phashset, PropertyDoubleKeyHashMap, PropertyHashMap, PropertyHashSet, +}; + +use crate::FILECFG; + +pub struct UidCounter { + player_uid: u32, + counter: u32, +} + +impl UidCounter { + pub fn new(player_uid: u32, last_uid: u32) -> Self { + Self { + player_uid, + counter: last_uid, + } + } + + pub fn next(&mut self) -> u64 { + self.counter += 1; + ((self.player_uid as u64) << 32) | self.counter as u64 + } + + pub fn last_uid(&self) -> u32 { + self.counter + } +} + +pub fn create_starting_player_info(uid: u64, nick_name: &str) -> (UidCounter, PlayerInfo) { + let mut counter = UidCounter::new((uid & 0xFFFFFFFF) as u32, 0); + let mut player_info = PlayerInfo { + uid: Some(uid), + account_name: Some(uid.to_string()), + last_enter_world_timestamp: Some(0), + items: Some(phashmap!()), + dungeon_collection: Some(DungeonCollection { + dungeons: Some(qwer::phashmap![]), + scenes: Some(qwer::phashmap![]), + default_scene_uid: Some(0), + transform: Some(Transform::default()), + used_story_mode: Some(true), + used_manual_qte_mode: Some(true), + }), + properties: Some(pdkhashmap![]), + scene_properties: Some(pdkhashmap![]), + quest_data: Some(QuestData { + quests: Some(pdkhashmap![]), + is_afk: Some(false), + unlock_condition_progress: Some(pdkhashmap![]), + world_quest_collection_uid: Some(0), + world_quest_for_cur_dungeon: Some(0), + world_quest_for_cur_dungeon_afk: Some(0), + }), + joined_chat_rooms: Some(Vec::with_capacity(0)), + scene_uid: Some(0), + archive_info: Some(ArchiveInfo { + videotaps_info: Some(phashmap![( + 1010001, + VideotapeInfo { + finished: true, + star_count: phashmap![], + awarded_star: phashmap![], + } + )]), + hollow_archive_id: Some(phashset![1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), + }), + auto_recovery_info: Some(phashmap![( + 501, + AutoRecoveryInfo { + buy_times: 0, + last_recovery_timestamp: 0, + } + )]), + unlock_info: Some(UnlockInfo { + condition_progress: Some(pdkhashmap![]), + unlocked_list: Some(phashset![]), + }), + yorozuya_info: Some(YorozuyaInfo { + yorozuya_level: Some(1), + yorozuya_rank: Some(1), + gm_enabled: Some(true), + gm_quests: Some(phashmap![]), + finished_hollow_quest_count: Some(0), + finished_hollow_quest_count_of_type: Some(phashmap![]), + hollow_quests: Some(pdkhashmap![]), + urgent_quests_queue: Some(phashmap![]), + unlock_hollow_id: Some(vec![1001]), + unlock_hollow_id_progress: Some(pdkhashmap![]), + last_refresh_timestamp_common: Some(0), + last_refresh_timestamp_urgent: Some(0), + next_refresh_timestamp_urgent: Some(0), + }), + equip_gacha_info: Some(EquipGachaInfo { + avatar_level_advance_times: Some(0), + equip_star_up_times: Some(0), + security_num_by_lv: Some(phashmap![]), + smithy_level: Some(0), + total_gacha_times: Some(0), + }), + beginner_procedure_info: Some(BeginnerProcedureInfo { + procedure_id: Some(0), + }), + pos_in_main_city: Some(PlayerPosInMainCity { + position: Some(Vector3f { + x: 17.35, + y: 0.37, + z: 6.01, + }), + rotation: Some(Vector3f { + x: 0.0, + y: 216.0, + z: 0.0, + }), + initial_pos_id: Some(String::from("Workshop_PlayerPos_Default")), + }), + fairy_info: Some(FairyInfo { + condition_progress: Some(pdkhashmap![]), + fairy_groups: Some(phashmap![]), + }), + popup_window_info: Some(PopupWindowInfo { + condition_progress: Some(pdkhashmap![]), + popup_window_list: Some(Vec::new()), + }), + tips_info: Some(TipsInfo { + tips_list: Some(Vec::new()), + tips_group: Some(Vec::new()), + tips_condition_progress: Some(pdkhashmap![]), + tips_group_condition_progress: Some(pdkhashmap![]), + }), + main_city_quest_data: Some(MainCityQuestData { + in_progress_quests: Some(Vec::new()), + exicing_finish_script_group: Some(vec![10020001]), + }), + embattles: Some(Embattles { + last_embattles: Some(phashmap![]), + }), + day_change_info: Some(protocol::player_info::DayChangeInfo { + last_daily_refresh_timing: Some(time_util::unix_timestamp()), + }), + npcs_info: Some(protocol::player_info::PlayerNPCsInfo { + npcs_info: Some(phashmap![]), + destroy_npc_when_leave_section: Some(phashset![]), + }), + scripts_to_execute: Some(pdkhashmap![]), + scripts_to_remove: Some(phashmap![]), + last_leave_world_timestamp: Some(0), + muip_data: Some(MUIPData { + ban_begin_time: Some(String::with_capacity(0)), + ban_end_time: Some(String::with_capacity(0)), + tag_value: Some(0), + dungeon_enter_times: Some(phashmap![]), + scene_enter_times: Some(phashmap![]), + dungeon_pass_times: Some(phashmap![]), + scene_pass_times: Some(phashmap![]), + alread_cmd_uids: Some(phashset![]), + game_total_time: Some(0), + language_type: Some(0), + }), + nick_name: Some(nick_name.to_string()), + ramen_data: Some(RamenData { + unlock_ramen: Some(phashset![20301, 20401, 20501, 20601, 20201]), + cur_ramen: Some(0), + used_times: Some(0), + unlock_initiative_item: Some(phashset![]), + unlock_ramen_condition_progress: Some(pdkhashmap![]), + unlock_item_condition_progress: Some(pdkhashmap![]), + has_mystical_spice: Some(true), + unlock_has_mystical_spice_condition_progress: Some(phashmap![]), + cur_mystical_spice: Some(0), + unlock_mystical_spice: Some(phashset![ + 30101, 30601, 30201, 30501, 30301, 30801, 31201, 30401, 31401, 31001 + ]), + unlock_mystical_spice_condition_progress: Some(pdkhashmap![]), + unlock_initiative_item_group: Some(phashset![]), + hollow_item_history: Some(phashmap![]), + initial_item_ability: Some(0), + new_unlock_ramen: Some(Vec::new()), + eat_ramen_times: Some(0), + make_hollow_item_times: Some(0), + new_unlock_initiative_item: Some(phashset![]), + }), + shop: Some(ShopsInfo { + shops: Some(phashmap![]), + shop_buy_times: Some(0), + vip_level: Some(0), + }), + vhs_store_data: Some(VHSStoreData { + store_level: Some(0), + unreceived_reward: Some(0), + hollow_enter_times: Some(0), + last_receive_time: Some(0), + vhs_collection_slot: Some(Vec::new()), + unlock_vhs_collection: Some(phashset![]), + already_trending: Some(phashset![]), + unlock_trending_condition_progress: Some(pdkhashmap![]), + is_need_refresh: Some(true), + scripts_id: Some(phashset![]), + store_exp: Some(0), + is_level_chg_tips: Some(true), + vhs_hollow: Some(Vec::new()), + is_receive_trending_reward: Some(false), + is_need_first_trending: Some(false), + last_basic_script: Some(0), + is_complete_first_trending: Some(false), + last_basic_npc: Some(0), + can_random_trending: Some(phashset![]), + vhs_trending_info: Some(Vec::new()), + unlock_vhs_trending_info: Some(phashmap![]), + vhs_flow: Some(0), + received_reward: Some(0), + last_reward: Some(0), + last_exp: Some(0), + last_flow: Some(0), + last_vhs_trending_info: Some(Vec::new()), + new_know_trend: Some(Vec::new()), + quest_finish_script: Some(pdkhashmap![]), + quest_finish_scripts_id: Some(phashset![]), + total_received_reward: Some(phashmap![]), + last_vhs_npc_info: Some(Vec::new()), + vhs_npc_info: Some(Vec::new()), + npc_info: Some(phashset![]), + total_received_reward_times: Some(0), + }), + operation_mail_receive_info: Some(OperationMailReceiveInfo { + receive_list: Some(phashset![]), + condition_progress: Some(pdkhashmap![]), + }), + second_last_enter_world_timestamp: Some(0), + login_times: Some(0), + create_timestamp: Some(time_util::unix_timestamp()), + gender: Some(0), + avatar_id: Some(2021), + prev_scene_uid: Some(0), + register_cps: Some(String::with_capacity(0)), + register_platform: Some(3), + pay_info: Some(PayInfo { + month_total_pay: Some(0), + }), + private_npcs: Some(phashmap![]), + battle_event_info: Some(BattleEventInfo { + unlock_battle: Some(phashset![]), + unlock_battle_condition_progress: Some(pdkhashmap![]), + alread_rand_battle: Some(pdkhashmap![]), + alread_battle_stage: Some(Vec::new()), + rand_battle_type: Some(phashmap![]), + }), + gm_data: Some(GMData { + register_conditions: Some(phashset![]), + condition_proress: Some(pdkhashmap![]), + completed_conditions: Some(phashset![]), + }), + player_mail_ext_infos: Some(PlayerMailExtInfos { + player_mail_ext_info: Some(phashmap![]), + }), + single_dungeon_group: Some(SingleDungeonGroup { + dungeons: Some(phashmap![]), + scenes: Some(pdkhashmap![]), + npcs: Some(pdkhashmap![]), + section: Some(pdkhashmap![]), + }), + newbie_info: Some(NewbieInfo { + unlocked_id: Some(phashset![3]), + condition_progress: Some(pdkhashmap!()), + }), + loading_page_tips_info: Some(LoadingPageTipsInfo { + unlocked_id: Some(phashset![1, 2, 3]), + condition_progress: Some(pdkhashmap![]), + }), + switch_of_story_mode: Some(true), + switch_of_qte: Some(true), + collect_map: Some(CollectMap { + card_map: Some(phashset![]), + curse_map: Some(phashset![]), + unlock_cards: Some(phashset![]), + unlock_curses: Some(phashset![]), + event_icon_map: Some(phashset![]), + unlock_events: Some(phashset![]), + new_card_map: Some(phashset![]), + new_curse_map: Some(phashset![]), + new_event_icon_map: Some(phashset![]), + unlock_event_icon_condition_progress: Some(pdkhashmap![]), + unlock_card_condition_progress: Some(pdkhashmap![]), + unlock_curse_condition_progress: Some(pdkhashmap![]), + unlock_event_condition_progress: Some(pdkhashmap![]), + unlock_event_icons: Some(phashset![]), + }), + areas_info: Some(AreasInfo { + area_owners_info: Some(pdkhashmap!()), + sequence: Some(0), + }), + bgm_info: Some(BGMInfo { bgm_id: Some(1005) }), + main_city_objects_state: Some(phashmap!()), + hollow_info: Some(HollowInfo { + banned_hollow_event: Some(phashset!()), + }), + main_city_avatar_id: Some(1221), + }; + + // Give all avatars + FILECFG + .get() + .unwrap() + .avatar_base_template_tb + .data() + .unwrap_or_default() + .iter() + .filter(|tmpl| tmpl.camp() != 0) + .for_each(|tmpl| { + let uid = counter.next(); + player_info.items.as_mut().unwrap().insert( + uid, + ItemInfo::AvatarInfo { + uid, + id: tmpl.id(), + count: 1, + package: 0, + first_get_time: time_util::unix_timestamp(), + star: 6, + exp: 0, + level: 60, + rank: 6, + unlocked_talent_num: 6, + talent_switch: (0..6).map(|i| i >= 3).collect(), + skills: PropertyHashMap::Base((0..=6).map(|st| (st, 1)).collect()), + is_custom_by_dungeon: false, + robot_id: 0, + }, + ); + }); + + (counter, player_info) +} diff --git a/crates/game-server/src/remote_config.rs b/crates/game-server/src/remote_config.rs new file mode 100644 index 0000000..abd8677 --- /dev/null +++ b/crates/game-server/src/remote_config.rs @@ -0,0 +1,81 @@ +use std::time::Duration; + +use common::config::*; +use serde::Deserialize; +use yanagi_http_client::AutopatchClient; + +use crate::GameServerConfig; + +pub struct RemoteConfiguration { + pub version_info: ConfigurationInfo, +} + +#[derive(Deserialize)] +#[serde(rename_all = "camelCase")] +struct FileEntry { + pub remote_name: String, + #[expect(unused)] + pub md5: String, + #[expect(unused)] + pub file_size: u64, + #[expect(unused)] + pub is_patch: bool, + #[serde(default)] + pub tags: Vec, +} + +#[derive(Deserialize)] +#[serde(rename_all = "camelCase")] +struct DataVersion { + #[expect(unused)] + pub remote_parent_dir: String, + pub files: Vec, +} + +pub fn download_design_data_blk(version_info: &ConfigurationInfo) -> Box<[u8]> { + const RETRY_TIME: Duration = Duration::from_secs(5); + let url = format!( + "{}/{}/{}/", + version_info.design_data_url, version_info.platform, version_info.environment + ); + + let client = AutopatchClient::new(&url).retry_after(RETRY_TIME); + let data_version: DataVersion = client.fetch_until_success("data_version"); + + let file = data_version + .files + .iter() + .filter(|e| &e.tags == &[2]) + .rev() + .next() + .unwrap(); + + client.fetch_bytes_until_success(&file.remote_name) +} + +pub fn download_main_city_script_config(version_info: &ConfigurationInfo) -> String { + const RETRY_TIME: Duration = Duration::from_secs(5); + let url = format!( + "{}/{}/{}/", + version_info.design_data_url, version_info.platform, version_info.environment + ); + + let client = AutopatchClient::new(&url).retry_after(RETRY_TIME); + String::from_utf8_lossy(&client.fetch_bytes_until_success("ServerOnlyData/MainCity_1.json")) + .to_string() +} + +pub fn download(config: &'static GameServerConfig) -> RemoteConfiguration { + const RETRY_TIME: Duration = Duration::from_secs(5); + + let client = AutopatchClient::new(&config.design_data_url).retry_after(RETRY_TIME); + let mut app_config: AppConfig = client.fetch_until_success("/config.json"); + let version_info = app_config + .version_info_groups + .remove(&config.bind_client_version) + .expect( + "Fatal: remote config doesn't contain configuration for specified bind_client_version", + ); + + RemoteConfiguration { version_info } +} diff --git a/crates/game-server/src/rpc_ptc/abyss.rs b/crates/game-server/src/rpc_ptc/abyss.rs new file mode 100644 index 0000000..ce43564 --- /dev/null +++ b/crates/game-server/src/rpc_ptc/abyss.rs @@ -0,0 +1,31 @@ +use super::*; + +pub async fn on_rpc_get_abyss_info_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetAbyssInfoArg, +) -> Result { + Ok(RpcGetAbyssInfoRet { + retcode: 0, + abyss_info: AbyssInfo::default(), + }) +} + +pub async fn on_rpc_get_abyss_arpeggio_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetAbyssArpeggioDataArg, +) -> Result { + Ok(RpcGetAbyssArpeggioDataRet::default()) +} + +pub async fn on_rpc_get_abyss_reward_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetAbyssRewardDataArg, +) -> Result { + Ok(RpcGetAbyssRewardDataRet { + retcode: 0, + abyss_reward_data: AbyssRewardData::default(), + }) +} diff --git a/crates/game-server/src/rpc_ptc/activity.rs b/crates/game-server/src/rpc_ptc/activity.rs new file mode 100644 index 0000000..6e40a32 --- /dev/null +++ b/crates/game-server/src/rpc_ptc/activity.rs @@ -0,0 +1,20 @@ +use super::*; + +pub async fn on_rpc_get_activity_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetActivityDataArg, +) -> Result { + Ok(RpcGetActivityDataRet { + retcode: 0, + ..Default::default() + }) +} + +pub async fn on_rpc_get_web_activity_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetWebActivityDataArg, +) -> Result { + Ok(RpcGetWebActivityDataRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/arcade.rs b/crates/game-server/src/rpc_ptc/arcade.rs new file mode 100644 index 0000000..90cfeaa --- /dev/null +++ b/crates/game-server/src/rpc_ptc/arcade.rs @@ -0,0 +1,9 @@ +use super::*; + +pub async fn on_rpc_get_arcade_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetArcadeDataArg, +) -> Result { + Ok(RpcGetArcadeDataRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/babel_tower.rs b/crates/game-server/src/rpc_ptc/babel_tower.rs new file mode 100644 index 0000000..5c5c0df --- /dev/null +++ b/crates/game-server/src/rpc_ptc/babel_tower.rs @@ -0,0 +1,9 @@ +use super::*; + +pub async fn on_rpc_get_babel_tower_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetBabelTowerDataArg, +) -> Result { + Ok(RpcGetBabelTowerDataRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/battle_pass.rs b/crates/game-server/src/rpc_ptc/battle_pass.rs new file mode 100644 index 0000000..eb75a9d --- /dev/null +++ b/crates/game-server/src/rpc_ptc/battle_pass.rs @@ -0,0 +1,9 @@ +use super::*; + +pub async fn on_rpc_get_battle_pass_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetBattlePassDataArg, +) -> Result { + Ok(RpcGetBattlePassDataRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/camp_idle.rs b/crates/game-server/src/rpc_ptc/camp_idle.rs new file mode 100644 index 0000000..3c74c68 --- /dev/null +++ b/crates/game-server/src/rpc_ptc/camp_idle.rs @@ -0,0 +1,12 @@ +use super::*; + +pub async fn on_rpc_get_camp_idle_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetCampIdleDataArg, +) -> Result { + Ok(RpcGetCampIdleDataRet { + retcode: 0, + camp_idle_data: CampIdleData::default(), + }) +} diff --git a/crates/game-server/src/rpc_ptc/daily_challenge.rs b/crates/game-server/src/rpc_ptc/daily_challenge.rs new file mode 100644 index 0000000..cf5f458 --- /dev/null +++ b/crates/game-server/src/rpc_ptc/daily_challenge.rs @@ -0,0 +1,14 @@ +use super::*; + +pub async fn on_rpc_get_daily_challenge_info_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetDailyChallengeInfoArg, +) -> Result { + Ok(RpcGetDailyChallengeInfoRet { + retcode: 0, + info: DailyChallengeInfo { + ..Default::default() + }, + }) +} diff --git a/crates/game-server/src/rpc_ptc/embattles.rs b/crates/game-server/src/rpc_ptc/embattles.rs new file mode 100644 index 0000000..f7d2b34 --- /dev/null +++ b/crates/game-server/src/rpc_ptc/embattles.rs @@ -0,0 +1,20 @@ +use super::*; + +pub async fn on_rpc_get_embattles_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetEmbattlesDataArg, +) -> Result { + Ok(RpcGetEmbattlesDataRet { + retcode: 0, + embattles_data: EmbattlesData::default(), + }) +} + +pub async fn on_rpc_report_embattle_info_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcReportEmbattleInfoArg, +) -> Result { + Ok(RpcReportEmbattleInfoRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/gacha.rs b/crates/game-server/src/rpc_ptc/gacha.rs new file mode 100644 index 0000000..6e8b03b --- /dev/null +++ b/crates/game-server/src/rpc_ptc/gacha.rs @@ -0,0 +1,12 @@ +use super::*; + +pub async fn on_rpc_get_gacha_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + arg: RpcGetGachaDataArg, +) -> Result { + Ok(RpcGetGachaDataRet { + gacha_type: arg.gacha_type, + ..Default::default() + }) +} diff --git a/crates/game-server/src/rpc_ptc/hadal_zone.rs b/crates/game-server/src/rpc_ptc/hadal_zone.rs new file mode 100644 index 0000000..dbfe005 --- /dev/null +++ b/crates/game-server/src/rpc_ptc/hadal_zone.rs @@ -0,0 +1,9 @@ +use super::*; + +pub async fn on_rpc_get_hadal_zone_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetHadalZoneDataArg, +) -> Result { + Ok(RpcGetHadalZoneDataRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/interact.rs b/crates/game-server/src/rpc_ptc/interact.rs new file mode 100644 index 0000000..e25bd07 --- /dev/null +++ b/crates/game-server/src/rpc_ptc/interact.rs @@ -0,0 +1,51 @@ +use tracing::{debug, instrument}; + +use crate::level; + +use super::*; + +#[instrument(skip_all)] +pub async fn on_rpc_interact_with_client_entity_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + arg: RpcInteractWithClientEntityArg, +) -> Result { + debug!("{arg:?}"); + Ok(RpcInteractWithClientEntityRet::default()) +} + +#[instrument(skip_all)] +pub async fn on_rpc_interact_with_unit_arg( + ctx: &RpcPtcContext, + session: &mut PlayerSession, + arg: RpcInteractWithUnitArg, +) -> Result { + debug!("{arg:?}"); + + session + .level_event_graph_mgr + .begin_interact(arg.interaction, arg.unit_tag); + + level::fire_event(session, arg.interaction, "OnInteract"); + session.level_event_graph_mgr.sync_event_info(ctx).await; + + Ok(RpcInteractWithUnitRet::default()) +} + +pub async fn on_rpc_run_event_graph_arg( + ctx: &RpcPtcContext, + _: &mut PlayerSession, + arg: RpcRunEventGraphArg, +) -> Result { + ctx.send_ptc(PtcUpdateEventGraphArg { + owner_type: arg.owner_type, + tag: arg.tag, + event_graph_uid: arg.event_graph_uid, + npc_interaction: String::from("OnInteract"), + is_event_success: true, + event_graph_owner_uid: arg.owner_id, + }) + .await; + + Ok(RpcRunEventGraphRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/item.rs b/crates/game-server/src/rpc_ptc/item.rs new file mode 100644 index 0000000..b8ec8cf --- /dev/null +++ b/crates/game-server/src/rpc_ptc/item.rs @@ -0,0 +1,72 @@ +use super::*; + +pub async fn on_rpc_get_weapon_data_arg( + _: &RpcPtcContext, + session: &mut PlayerSession, + _: RpcGetWeaponDataArg, +) -> Result { + Ok(RpcGetWeaponDataRet { + retcode: 0, + weapon_list: protocol::util::build_sync_weapon_info_list(&session.player_info), + }) +} + +pub async fn on_rpc_get_equip_data_arg( + _: &RpcPtcContext, + session: &mut PlayerSession, + _: RpcGetEquipDataArg, +) -> Result { + Ok(RpcGetEquipDataRet { + retcode: 0, + equip_list: protocol::util::build_sync_equip_info_list(&session.player_info), + }) +} + +pub async fn on_rpc_get_resource_data_arg( + _: &RpcPtcContext, + session: &mut PlayerSession, + _: RpcGetResourceDataArg, +) -> Result { + Ok(RpcGetResourceDataRet { + retcode: 0, + resource_list: protocol::util::build_sync_resource_info_list(&session.player_info), + auto_recovery_info: session + .player_info + .auto_recovery_info + .as_ref() + .unwrap() + .iter() + .map(|(id, info)| (*id as u32, info.clone())) + .collect(), + }) +} + +pub async fn on_rpc_get_avatar_data_arg( + _: &RpcPtcContext, + session: &mut PlayerSession, + _: RpcGetAvatarDataArg, +) -> Result { + Ok(RpcGetAvatarDataRet { + retcode: 0, + avatar_list: protocol::util::build_sync_avatar_info_list(&session.player_info), + }) +} + +pub async fn on_rpc_get_wishlist_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetWishlistDataArg, +) -> Result { + Ok(RpcGetWishlistDataRet { + retcode: 0, + wishlist_plan_list: Vec::with_capacity(0), + }) +} + +pub async fn on_rpc_get_buddy_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetBuddyDataArg, +) -> Result { + Ok(RpcGetBuddyDataRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/main_city.rs b/crates/game-server/src/rpc_ptc/main_city.rs new file mode 100644 index 0000000..c91e048 --- /dev/null +++ b/crates/game-server/src/rpc_ptc/main_city.rs @@ -0,0 +1,173 @@ +use tracing::{debug, warn}; + +use crate::scene_section_util; + +use super::*; + +pub async fn on_rpc_get_ramen_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetRamenDataArg, +) -> Result { + Ok(RpcGetRamenDataRet { + retcode: 0, + ramen_data: RamenData::default(), + }) +} + +pub async fn on_rpc_get_cafe_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetCafeDataArg, +) -> Result { + Ok(RpcGetCafeDataRet { + retcode: 0, + cafe_data: CafeData::default(), + }) +} + +pub async fn on_rpc_get_reward_buff_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetRewardBuffDataArg, +) -> Result { + Ok(RpcGetRewardBuffDataRet { + retcode: 0, + info: RewardBuffData::default(), + }) +} + +pub async fn on_rpc_get_news_stand_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetNewsStandDataArg, +) -> Result { + Ok(RpcGetNewsStandDataRet { + retcode: 0, + news_stand_data: NewsStandData::default(), + }) +} + +pub async fn on_rpc_get_trashbin_hermit_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetTrashbinHermitDataArg, +) -> Result { + Ok(RpcGetTrashbinHermitDataRet { + retcode: 0, + trashbin_hermit_data: TrashbinHermitData::default(), + }) +} + +pub async fn on_rpc_get_main_city_revival_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetMainCityRevivalDataArg, +) -> Result { + Ok(RpcGetMainCityRevivalDataRet { + retcode: 0, + main_city_revival: MainCityRevivalData::default(), + }) +} + +pub async fn on_rpc_get_character_quest_list_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetCharacterQuestListArg, +) -> Result { + Ok(RpcGetCharacterQuestListRet::default()) +} + +pub async fn on_rpc_get_exploration_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetExplorationDataArg, +) -> Result { + Ok(RpcGetExplorationDataRet::default()) +} + +pub async fn on_rpc_get_miniscape_entrust_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetMiniscapeEntrustDataArg, +) -> Result { + Ok(RpcGetMiniscapeEntrustDataRet::default()) +} + +pub async fn on_rpc_get_journey_info_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetJourneyInfoArg, +) -> Result { + Ok(RpcGetJourneyInfoRet::default()) +} + +pub async fn on_rpc_get_photo_wall_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetPhotoWallDataArg, +) -> Result { + Ok(RpcGetPhotoWallDataRet::default()) +} + +pub async fn on_rpc_mod_time_arg( + ctx: &RpcPtcContext, + session: &mut PlayerSession, + arg: RpcModTimeArg, +) -> Result { + debug!("{arg:?}"); + + let player_info = &mut session.player_info; + let scene_uid = player_info.scene_uid.unwrap(); + let dungeon_collection = player_info.dungeon_collection.as_mut().unwrap(); + + if let Some(protocol::scene_info::SceneInfo::Hall { + main_city_time_info, + .. + }) = dungeon_collection + .scenes + .as_mut() + .unwrap() + .get_mut(&scene_uid) + { + let prev_time = main_city_time_info.initial_time; + main_city_time_info.initial_time = match arg.time_period { + 1 => 6 * 60, + 2 => 12 * 60, + 3 => 18 * 60, + 4 => 0 * 60, + _ => 0, + }; + + if prev_time > main_city_time_info.initial_time { + main_city_time_info.day_of_week = (main_city_time_info.day_of_week + 1) % 7; + } + + let mut ptc = protocol::util::build_hall_refresh_arg(player_info, scene_uid, true).unwrap(); + scene_section_util::add_scene_units_to_hall_refresh_arg(session, scene_uid, &mut ptc); + ctx.send_ptc(ptc).await; + } else { + warn!("RpcModTime: currently not in Hall"); + } + + Ok(RpcModTimeRet { retcode: 0 }) +} + +pub async fn on_rpc_mod_main_city_avatar_arg( + ctx: &RpcPtcContext, + session: &mut PlayerSession, + arg: RpcModMainCityAvatarArg, +) -> Result { + debug!("{arg:?}"); + + let player_info = &mut session.player_info; + player_info.main_city_avatar_id = Some(arg.main_city_avatar_id); + + ctx.send_ptc(PtcPlayerSyncArg { + basic_info: Some(protocol::util::build_player_basic_info(player_info)), + ..Default::default() + }) + .await; + + Ok(RpcModMainCityAvatarRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/mod.rs b/crates/game-server/src/rpc_ptc/mod.rs new file mode 100644 index 0000000..1f8908c --- /dev/null +++ b/crates/game-server/src/rpc_ptc/mod.rs @@ -0,0 +1,184 @@ +use qwer_rpc::{middleware::MiddlewareModel, RpcPtcContext, RpcPtcPoint}; + +use crate::PlayerSession; +use paste::paste; +use protocol::*; +use qwer::*; + +mod abyss; +mod activity; +mod arcade; +mod babel_tower; +mod battle_pass; +mod camp_idle; +mod daily_challenge; +mod embattles; +mod gacha; +mod hadal_zone; +mod interact; +mod item; +mod main_city; +mod player; +mod quest; +mod shop; +mod social; +mod unlock; +mod vhs_store; +mod world; + +use abyss::*; +use activity::*; +use arcade::*; +use babel_tower::*; +use battle_pass::*; +use camp_idle::*; +use daily_challenge::*; +use embattles::*; +use gacha::*; +use hadal_zone::*; +use interact::*; +use item::*; +use main_city::*; +use player::*; +use quest::*; +use shop::*; +use social::*; +use unlock::*; +use vhs_store::*; +use world::*; + +macro_rules! rpc_handlers { + (($rpc_ptc_point:ident) $($name:ident;)*) => { + paste! { + $( + async fn [<_on_ $name:snake _arg>](ctx: ::qwer_rpc::RpcPtcContext) { + let Ok(arg) = ctx.get_arg::<::protocol::[<$name Arg>]>() else { + ::tracing::warn!("failed to unmarshal arg {}", stringify!($name)); + return; + }; + + let Some(MiddlewareModel::Account(account_mw)) = ctx + .middleware_list + .iter() + .find(|&mw| matches!(mw, MiddlewareModel::Account(_))) + else { + ::tracing::warn!("failed to handle {}: account middleware is missing", stringify!($name)); + return; + }; + + let Some(mut session) = crate::PLAYER_MAP.get_mut(&account_mw.player_uid) else { + ::tracing::warn!("failed to handle {}: player session with uid {} is not active", stringify!($name), account_mw.player_uid); + return; + }; + + match [](&ctx, &mut session, arg).await { + Ok(ret) => { + ctx.send_ret(ret).await; + ::tracing::info!("successfully handled {}Arg", stringify!($name)); + }, + Err(retcode) => { + ::tracing::warn!("on_{}_arg returned error code: {}", stringify!([<$name:snake>]), retcode); + ctx.send_ret([<$name Ret>] { + retcode, + ..Default::default() + }).await; + } + } + + crate::post_rpc_handle(&mut session).await; + } + )* + } + + $( + paste!($rpc_ptc_point.register_rpc_recv(::protocol::[<$name Arg>]::PROTOCOL_ID, [<_on_ $name:snake _arg>])); + )* + }; +} + +pub fn register_handlers(listen_point: &RpcPtcPoint) { + rpc_handlers! { + (listen_point) + RpcGetPlayerBasicInfo; + RpcGetWeaponData; + RpcGetEquipData; + RpcGetResourceData; + RpcGetAvatarData; + RpcGetWishlistData; // new 1.4 + RpcGetQuestData; + RpcGetArchiveInfo; + RpcGetYorozuyaInfo; + RpcGetAbyssInfo; + RpcGetBuddyData; + RpcGetAbyssArpeggioData; + RpcGetServerTimestamp; + RpcGetVideoUsmKeyData; + RpcGetAuthkey; + RpcGetGachaData; + RpcGetCampIdleData; + RpcSavePlayerSystemSetting; + RpcGetRamenData; + RpcGetCafeData; + RpcGetRewardBuffData; + RpcGetPlayerMails; + RpcGetFairyInfo; + RpcGetTipsInfo; + RpcGetClientSystemsInfo; + RpcGetPrivateMessageData; + RpcGetCollectMap; + RpcGetWorkbenchInfo; + RpcGetAbyssRewardData; + RpcGetVhsStoreInfo; + RpcGetActivityData; + RpcGetWebActivityData; + RpcGetEmbattlesData; + RpcGetNewsStandData; + RpcGetTrashbinHermitData; + RpcGetMainCityRevivalData; + RpcGetArcadeData; + RpcGetBattlePassData; + RpcGetHadalZoneData; + RpcGetBabelTowerData; + RpcGetDailyChallengeInfo; + RpcGetRoleCardData; + RpcGetChatEmojiList; + RpcGetFriendList; + RpcGetCharacterQuestList; + RpcGetExplorationData; + RpcGetFashionStoreInfo; + RpcGetShoppingMallInfo; + + // new 1.4 + RpcGetMiniscapeEntrustData; + RpcGetJourneyInfo; + + RpcGetOnlineFriendsList; + RpcEnterWorld; + + RpcSceneTransition; + RpcEnterSectionComplete; + RpcReportEmbattleInfo; + RpcGetMonthCardRewardList; + RpcGetDisplayCaseData; + RpcGetPhotoWallData; + RpcSavePosInMainCity; + RpcReportUiLayoutPlatform; + RpcPlayerOperation; + RpcPlayerTransaction; + RpcGetRechargeItemList; + + RpcModTime; + RpcModMainCityAvatar; + RpcInteractWithClientEntity; + RpcInteractWithUnit; + RpcRunEventGraph; + RpcEnterSection; + RpcRefreshSection; + + RpcCheckYorozuyaInfoRefresh; + RpcBeginTrainingCourseBattle; + RpcBattleReport; + RpcEndBattle; + RpcLeaveCurDungeon; + }; +} diff --git a/crates/game-server/src/rpc_ptc/player.rs b/crates/game-server/src/rpc_ptc/player.rs new file mode 100644 index 0000000..707c447 --- /dev/null +++ b/crates/game-server/src/rpc_ptc/player.rs @@ -0,0 +1,109 @@ +use common::time_util; + +use super::*; + +pub async fn on_rpc_get_player_basic_info_arg( + _ctx: &RpcPtcContext, + session: &mut PlayerSession, + _arg: RpcGetPlayerBasicInfoArg, +) -> Result { + Ok(RpcGetPlayerBasicInfoRet { + retcode: 0, + basic_info: protocol::util::build_player_basic_info(&session.player_info), + }) +} + +pub async fn on_rpc_get_server_timestamp_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetServerTimestampArg, +) -> Result { + Ok(RpcGetServerTimestampRet { + retcode: 0, + utc_offset: 3, + timestamp: time_util::unix_timestamp(), + }) +} + +pub async fn on_rpc_get_video_usm_key_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetVideoUsmKeyDataArg, +) -> Result { + Ok(RpcGetVideoUsmKeyDataRet { retcode: 0 }) +} + +pub async fn on_rpc_get_authkey_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetAuthkeyArg, +) -> Result { + Ok(RpcGetAuthkeyRet::default()) +} + +pub async fn on_rpc_save_player_system_setting_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + arg: RpcSavePlayerSystemSettingArg, +) -> Result { + tracing::info!("save_player_system_setting: {arg:?}"); + + Ok(RpcSavePlayerSystemSettingRet { retcode: 0 }) +} + +pub async fn on_rpc_get_player_mails_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetPlayerMailsArg, +) -> Result { + Ok(RpcGetPlayerMailsRet::default()) +} + +pub async fn on_rpc_get_role_card_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetRoleCardDataArg, +) -> Result { + Ok(RpcGetRoleCardDataRet { + retcode: 0, + role_card_data: RoleCardData::default(), + }) +} + +pub async fn on_rpc_get_month_card_reward_list_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetMonthCardRewardListArg, +) -> Result { + Ok(RpcGetMonthCardRewardListRet::default()) +} + +pub async fn on_rpc_get_display_case_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetDisplayCaseDataArg, +) -> Result { + Ok(RpcGetDisplayCaseDataRet::default()) +} + +pub async fn on_rpc_player_operation_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcPlayerOperationArg, +) -> Result { + Ok(RpcPlayerOperationRet::default()) +} + +pub async fn on_rpc_player_transaction_arg( + _: &RpcPtcContext, + session: &mut PlayerSession, + _: RpcPlayerTransactionArg, +) -> Result { + let player_uid = session.player_info.uid.unwrap_or_default(); + let scene_uid = session.player_info.scene_uid.unwrap_or_default(); + + Ok(RpcPlayerTransactionRet { + retcode: 0, + transaction: format!("{player_uid}-{scene_uid}"), + }) +} diff --git a/crates/game-server/src/rpc_ptc/quest.rs b/crates/game-server/src/rpc_ptc/quest.rs new file mode 100644 index 0000000..86c9e6e --- /dev/null +++ b/crates/game-server/src/rpc_ptc/quest.rs @@ -0,0 +1,80 @@ +use super::*; + +pub async fn on_rpc_get_quest_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + arg: RpcGetQuestDataArg, +) -> Result { + Ok(RpcGetQuestDataRet { + retcode: 0, + quest_type: arg.quest_type, + quest_data: QuestData::default(), + }) +} + +pub async fn on_rpc_get_archive_info_arg( + _: &RpcPtcContext, + session: &mut PlayerSession, + _: RpcGetArchiveInfoArg, +) -> Result { + let archive_info = session.player_info.archive_info.as_ref().unwrap(); + + Ok(RpcGetArchiveInfoRet { + retcode: 0, + archive_info: ArchiveInfo { + hollow_archive_id_list: archive_info + .hollow_archive_id + .as_ref() + .map(|set| set.iter().map(|id| *id as u32).collect()) + .unwrap_or_default(), + videotaps_info: archive_info + .videotaps_info + .as_ref() + .unwrap() + .iter() + .map(|(id, videotape)| VideotapeInfo { + archive_file_id: *id as u32, + finished: videotape.finished, + }) + .collect(), + }, + }) +} + +pub async fn on_rpc_get_yorozuya_info_arg( + _: &RpcPtcContext, + session: &mut PlayerSession, + _: RpcGetYorozuyaInfoArg, +) -> Result { + let yorozuya_info = session.player_info.yorozuya_info.as_ref().unwrap(); + + Ok(RpcGetYorozuyaInfoRet { + retcode: 0, + yorozuya_info: YorozuyaInfo { + unlock_hollow_id_list: yorozuya_info + .unlock_hollow_id + .as_ref() + .map(|list| list.iter().map(|id| *id as u32).collect()) + .unwrap_or_default(), + }, + }) +} + +pub async fn on_rpc_get_fairy_info_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetFairyInfoArg, +) -> Result { + Ok(RpcGetFairyInfoRet { + retcode: 0, + info: FairyInfo::default(), + }) +} + +pub async fn on_rpc_check_yorozuya_info_refresh_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcCheckYorozuyaInfoRefreshArg, +) -> Result { + Ok(RpcCheckYorozuyaInfoRefreshRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/shop.rs b/crates/game-server/src/rpc_ptc/shop.rs new file mode 100644 index 0000000..a4b239f --- /dev/null +++ b/crates/game-server/src/rpc_ptc/shop.rs @@ -0,0 +1,31 @@ +use super::*; + +pub async fn on_rpc_get_fashion_store_info_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetFashionStoreInfoArg, +) -> Result { + Ok(RpcGetFashionStoreInfoRet { + retcode: 0, + info: FashionStoreInfo::default(), + }) +} + +pub async fn on_rpc_get_shopping_mall_info_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetShoppingMallInfoArg, +) -> Result { + Ok(RpcGetShoppingMallInfoRet { + retcode: 0, + shopping_mall_info: ShoppingMallInfo::default(), + }) +} + +pub async fn on_rpc_get_recharge_item_list_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetRechargeItemListArg, +) -> Result { + Ok(RpcGetRechargeItemListRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/social.rs b/crates/game-server/src/rpc_ptc/social.rs new file mode 100644 index 0000000..0aa4909 --- /dev/null +++ b/crates/game-server/src/rpc_ptc/social.rs @@ -0,0 +1,25 @@ +use super::*; + +pub async fn on_rpc_get_friend_list_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetFriendListArg, +) -> Result { + Ok(RpcGetFriendListRet::default()) +} + +pub async fn on_rpc_get_chat_emoji_list_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetChatEmojiListArg, +) -> Result { + Ok(RpcGetChatEmojiListRet::default()) +} + +pub async fn on_rpc_get_online_friends_list_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetOnlineFriendsListArg, +) -> Result { + Ok(RpcGetOnlineFriendsListRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/unlock.rs b/crates/game-server/src/rpc_ptc/unlock.rs new file mode 100644 index 0000000..850fc54 --- /dev/null +++ b/crates/game-server/src/rpc_ptc/unlock.rs @@ -0,0 +1,65 @@ +use super::*; + +pub async fn on_rpc_get_tips_info_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetTipsInfoArg, +) -> Result { + Ok(RpcGetTipsInfoRet { + retcode: 0, + tips_info: TipsInfo::default(), + ..Default::default() + }) +} + +pub async fn on_rpc_get_client_systems_info_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetClientSystemsInfoArg, +) -> Result { + Ok(RpcGetClientSystemsInfoRet { + retcode: 0, + info: ClientSystemsInfo::default(), + }) +} + +pub async fn on_rpc_get_private_message_data_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetPrivateMessageDataArg, +) -> Result { + Ok(RpcGetPrivateMessageDataRet { + retcode: 0, + private_message_data: PrivateMessageData::default(), + }) +} + +pub async fn on_rpc_get_collect_map_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetCollectMapArg, +) -> Result { + Ok(RpcGetCollectMapRet { + retcode: 0, + collect_map: CollectMap::default(), + }) +} + +pub async fn on_rpc_get_workbench_info_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetWorkbenchInfoArg, +) -> Result { + Ok(RpcGetWorkbenchInfoRet { + retcode: 0, + workbench_info: WorkbenchInfo::default(), + }) +} + +pub async fn on_rpc_report_ui_layout_platform_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcReportUiLayoutPlatformArg, +) -> Result { + Ok(RpcReportUiLayoutPlatformRet::default()) +} diff --git a/crates/game-server/src/rpc_ptc/vhs_store.rs b/crates/game-server/src/rpc_ptc/vhs_store.rs new file mode 100644 index 0000000..d1a15bf --- /dev/null +++ b/crates/game-server/src/rpc_ptc/vhs_store.rs @@ -0,0 +1,12 @@ +use super::*; + +pub async fn on_rpc_get_vhs_store_info_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcGetVhsStoreInfoArg, +) -> Result { + Ok(RpcGetVhsStoreInfoRet { + retcode: 0, + info: VhsStoreInfo::default(), + }) +} diff --git a/crates/game-server/src/rpc_ptc/world.rs b/crates/game-server/src/rpc_ptc/world.rs new file mode 100644 index 0000000..2ddfaf3 --- /dev/null +++ b/crates/game-server/src/rpc_ptc/world.rs @@ -0,0 +1,407 @@ +use common::time_util; +use dungeon_info::BuddyUnitInfo; +use item_info::ItemInfo; +use tracing::{debug, error}; +use util::{build_client_dungeon_info, build_client_scene_info}; + +use crate::{level, scene_section_util}; + +use super::*; + +pub async fn on_rpc_enter_world_arg( + ctx: &RpcPtcContext, + session: &mut PlayerSession, + _: RpcEnterWorldArg, +) -> Result { + let player_info = &mut session.player_info; + + if player_info + .dungeon_collection + .as_ref() + .unwrap() + .default_scene_uid + .unwrap() + == 0 + { + let dungeon_uid = session.uid_counter.next(); + let scene_uid = session.uid_counter.next(); + + let dungeon_info = protocol::dungeon_info::DungeonInfo { + uid: dungeon_uid, + id: 1, + default_scene_uid: scene_uid, + start_timestamp: time_util::unix_timestamp_ms(), + to_be_destroyed: false, + back_scene_uid: 0, + quest_collection_uid: 0, + avatars: phashmap![], + buddy: BuddyUnitInfo { + uid: 0, + properties: 0, + }, + world_quest_id: 0, + scene_properties_uid: 0, + drop_poll_chg_infos: phashmap![], + is_in_dungeon: false, + initiative_item: 0, + initiative_item_used_times: 0, + avatar_map: phashmap![], + battle_report: Vec::new(), + dungeon_group_uid: session.player_uid, + entered_times: 0, + is_preset_avatar: false, + hollow_event_version: 0, + }; + + let scene_info = protocol::scene_info::SceneInfo::Hall { + uid: scene_uid, + id: 1, + dungeon_uid, + end_timestamp: 0, + back_scene_uid: 0, + entered_times: 1, + section_id: 2, + open_ui: UIType::Default, + to_be_destroyed: false, + camera_x: 0xFFFFFFFF, + camera_y: 0xFFFFFFFF, + main_city_time_info: scene_info::MainCityTimeInfo { + initial_time: 60 * 8, + day_of_week: 5, + passed_milliseconds: 0, + executing_event_groups: phashset![], + unlocked_time_events: phashset![], + time_event_groups_info: phashmap![], + condition_progress_of_unlock: pdkhashmap![], + condition_progress_of_end: pdkhashmap![], + ended_time_events: phashset![], + leave_time: 0, + }, + }; + + let dungeon_collection = player_info.dungeon_collection.as_mut().unwrap(); + dungeon_collection + .dungeons + .as_mut() + .unwrap() + .insert(dungeon_uid, dungeon_info); + dungeon_collection + .scenes + .as_mut() + .unwrap() + .insert(scene_uid, scene_info); + + dungeon_collection.default_scene_uid = Some(scene_uid); + } + + let scene_uid = session + .player_info + .dungeon_collection + .as_ref() + .unwrap() + .default_scene_uid + .unwrap(); + session.player_info.scene_uid = Some(scene_uid); + + if let Some(section_id) = session + .player_info + .dungeon_collection + .as_ref() + .unwrap() + .scenes + .as_ref() + .unwrap() + .get(&scene_uid) + .map(|sc| *sc.get_section_id()) + { + scene_section_util::init_hall_scene_section(session, scene_uid, section_id); + level::on_section_enter(session, scene_uid, section_id); + } + + let player_info = &mut session.player_info; + player_info.second_last_enter_world_timestamp = player_info.last_enter_world_timestamp; + player_info.last_enter_world_timestamp = Some(time_util::unix_timestamp_ms()); + + let mut scene_info = build_client_scene_info(player_info, scene_uid).unwrap(); + scene_section_util::add_scene_units_to_scene_info(session, scene_uid, &mut scene_info); + ctx.send_ptc(PtcEnterSceneArg { + scene_info, + dungeon_info: build_client_dungeon_info(&session.player_info, scene_uid), + }) + .await; + + Ok(RpcEnterWorldRet::default()) +} + +pub async fn on_rpc_scene_transition_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcSceneTransitionArg, +) -> Result { + Ok(RpcSceneTransitionRet::default()) +} + +pub async fn on_rpc_enter_section_complete_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcEnterSectionCompleteArg, +) -> Result { + Ok(RpcEnterSectionCompleteRet::default()) +} + +pub async fn on_rpc_save_pos_in_main_city_arg( + _: &RpcPtcContext, + session: &mut PlayerSession, + arg: RpcSavePosInMainCityArg, +) -> Result { + let pos_in_main_city = session.player_info.pos_in_main_city.as_mut().unwrap(); + + let scene_uid = session.player_info.scene_uid.unwrap(); + let dungeon_collection = session.player_info.dungeon_collection.as_ref().unwrap(); + + let Some(protocol::scene_info::SceneInfo::Hall { section_id, .. }) = + dungeon_collection.scenes.as_ref().unwrap().get(&scene_uid) + else { + return Err(-1); + }; + + if *section_id == arg.section_id as i32 { + if let (Ok(position), Ok(rotation)) = ( + arg.position.position.clone().try_into(), + arg.position.rotation.clone().try_into(), + ) { + pos_in_main_city.position = Some(position); + pos_in_main_city.rotation = Some(rotation); + pos_in_main_city.initial_pos_id = Some(String::with_capacity(0)); + + debug!( + "player_uid: {}, pos in main city updated: {arg:?}", + session.player_uid + ); + } else { + error!( + "player_uid: {}, failed to save player pos: {arg:?}", + session.player_uid + ); + } + } + + Ok(RpcSavePosInMainCityRet::default()) +} + +pub async fn on_rpc_enter_section_arg( + ctx: &RpcPtcContext, + session: &mut PlayerSession, + arg: RpcEnterSectionArg, +) -> Result { + let player_info = &mut session.player_info; + let cur_scene_uid = player_info.scene_uid.unwrap(); + + let dungeon_collection = player_info.dungeon_collection.as_mut().unwrap(); + + let Some(scene_info::SceneInfo::Hall { section_id, .. }) = dungeon_collection + .scenes + .as_mut() + .unwrap() + .get_mut(&cur_scene_uid) + else { + error!("RpcEnterSection: current scene is not Hall!"); + return Err(-1); + }; + + *section_id = arg.section_id as i32; + + let player_pos_in_main_city = player_info.pos_in_main_city.as_mut().unwrap(); + player_pos_in_main_city.initial_pos_id = Some(arg.transform_id); + + scene_section_util::init_hall_scene_section(session, cur_scene_uid, arg.section_id as i32); + level::on_section_enter(session, cur_scene_uid, arg.section_id as i32); + + let mut scene_info = build_client_scene_info(&session.player_info, cur_scene_uid).unwrap(); + scene_section_util::add_scene_units_to_scene_info(session, cur_scene_uid, &mut scene_info); + ctx.send_ptc(PtcEnterSceneArg { + scene_info, + dungeon_info: build_client_dungeon_info(&session.player_info, cur_scene_uid), + }) + .await; + + Ok(RpcEnterSectionRet::default()) +} + +pub async fn on_rpc_refresh_section_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcRefreshSectionArg, +) -> Result { + Ok(RpcRefreshSectionRet { + retcode: 0, + refresh_status: HallRefreshStatus::Auto as u32, + }) +} + +pub async fn on_rpc_begin_training_course_battle_arg( + ctx: &RpcPtcContext, + session: &mut PlayerSession, + arg: RpcBeginTrainingCourseBattleArg, +) -> Result { + let player_info = &mut session.player_info; + + let dungeon_uid = session.uid_counter.next(); + let scene_uid = session.uid_counter.next(); + + let cur_scene_uid = player_info.scene_uid.unwrap(); + let dungeon_info = protocol::dungeon_info::DungeonInfo { + uid: dungeon_uid, + id: 12254000, + default_scene_uid: scene_uid, + start_timestamp: time_util::unix_timestamp_ms(), + to_be_destroyed: true, + back_scene_uid: cur_scene_uid, + quest_collection_uid: 0, + avatars: PropertyHashMap::Base( + arg.avatars + .iter() + .map(|avatar_id| { + let (avatar_uid, _) = player_info + .items + .as_ref() + .unwrap() + .iter() + .find(|(_, item)| { + if let ItemInfo::AvatarInfo { id, .. } = item { + (*id as u32) == *avatar_id + } else { + false + } + }) + .unwrap(); + + ( + *avatar_uid, + dungeon_info::AvatarUnitInfo { + uid: *avatar_uid, + properties_uid: 0, + hp_add_hollow: 0, + hp_lost_hollow: 0, + modified_property: pdkhashmap![], + layer_property_change: phashmap![], + is_banned: false, + }, + ) + }) + .collect(), + ), + buddy: BuddyUnitInfo { + uid: 0, + properties: 0, + }, + world_quest_id: 12254000, + scene_properties_uid: 0, + drop_poll_chg_infos: phashmap![], + is_in_dungeon: false, + initiative_item: 0, + initiative_item_used_times: 0, + avatar_map: phashmap![], + battle_report: Vec::new(), + dungeon_group_uid: session.player_uid, + entered_times: 0, + is_preset_avatar: false, + hollow_event_version: 0, + }; + + let scene_info = protocol::scene_info::SceneInfo::Fight { + uid: scene_uid, + id: 19800014, + dungeon_uid, + end_timestamp: 0, + back_scene_uid: cur_scene_uid, + entered_times: 1, + section_id: 0, + open_ui: UIType::Default, + to_be_destroyed: true, + camera_x: 0xFFFFFFFF, + camera_y: 0xFFFFFFFF, + end_hollow: true, + local_play_type: LocalPlayType::TrainingRoom as u32, + time: TimePeriodType::Morning, + weather: WeatherType::Rain, + }; + + let dungeon_collection = player_info.dungeon_collection.as_mut().unwrap(); + dungeon_collection + .dungeons + .as_mut() + .unwrap() + .insert(dungeon_uid, dungeon_info); + dungeon_collection + .scenes + .as_mut() + .unwrap() + .insert(scene_uid, scene_info); + + let mut scene_info = build_client_scene_info(&session.player_info, scene_uid).unwrap(); + scene_section_util::add_scene_units_to_scene_info(session, scene_uid, &mut scene_info); + ctx.send_ptc(PtcEnterSceneArg { + scene_info, + dungeon_info: build_client_dungeon_info(&session.player_info, scene_uid), + }) + .await; + + Ok(RpcBeginTrainingCourseBattleRet::default()) +} + +pub async fn on_rpc_battle_report_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcBattleReportArg, +) -> Result { + Ok(RpcBattleReportRet::default()) +} + +pub async fn on_rpc_end_battle_arg( + _: &RpcPtcContext, + _: &mut PlayerSession, + _: RpcEndBattleArg, +) -> Result { + Ok(RpcEndBattleRet::default()) +} + +pub async fn on_rpc_leave_cur_dungeon_arg( + ctx: &RpcPtcContext, + session: &mut PlayerSession, + _: RpcLeaveCurDungeonArg, +) -> Result { + let scene_uid = session + .player_info + .dungeon_collection + .as_ref() + .unwrap() + .default_scene_uid + .unwrap(); + session.player_info.scene_uid = Some(scene_uid); + + if let Some(section_id) = session + .player_info + .dungeon_collection + .as_ref() + .unwrap() + .scenes + .as_ref() + .unwrap() + .get(&scene_uid) + .map(|sc| *sc.get_section_id()) + { + scene_section_util::init_hall_scene_section(session, scene_uid, section_id); + level::on_section_enter(session, scene_uid, section_id); + } + + let mut scene_info = build_client_scene_info(&session.player_info, scene_uid).unwrap(); + scene_section_util::add_scene_units_to_scene_info(session, scene_uid, &mut scene_info); + ctx.send_ptc(PtcEnterSceneArg { + scene_info, + dungeon_info: build_client_dungeon_info(&session.player_info, scene_uid), + }) + .await; + + Ok(RpcLeaveCurDungeonRet::default()) +} diff --git a/crates/game-server/src/scene_section_util.rs b/crates/game-server/src/scene_section_util.rs new file mode 100644 index 0000000..34da3ee --- /dev/null +++ b/crates/game-server/src/scene_section_util.rs @@ -0,0 +1,104 @@ +use std::collections::HashMap; + +use protocol::{ + player_info::{EventGraphsInfo, SectionInfo}, + scene_ext::SectionInfoExt, + PtcHallRefreshArg, SceneUnitProtocolInfo, +}; +use qwer::{phashmap, phashset, PropertyHashMap, PropertyHashSet}; + +use crate::{level, PlayerSession}; + +pub fn init_hall_scene_section(session: &mut PlayerSession, scene_uid: u64, section_id: i32) { + let single_dungeon_group = session.player_info.single_dungeon_group.as_mut().unwrap(); + if single_dungeon_group + .section + .as_ref() + .unwrap() + .contains(&scene_uid, §ion_id) + { + return; + } + + let section_map = single_dungeon_group.section.as_mut().unwrap(); + section_map.insert( + scene_uid, + section_id, + SectionInfo { + scene_uid, + id: section_id, + event_graphs_info: EventGraphsInfo { + event_graphs_info: phashmap![], + default_event_graph_id: -1, + }, + section_info_ext: SectionInfoExt::Hall { + destroy_npc_when_no_player: phashset![], + }, + }, + ); + + level::on_section_added(session, scene_uid, section_id); +} + +pub fn add_scene_units_to_scene_info( + session: &mut PlayerSession, + scene_uid: u64, + scene_info: &mut protocol::SceneInfo, +) { + let Some(hall_scene_info) = scene_info.hall_scene_info.as_mut() else { + return; + }; + + hall_scene_info.scene_unit_list = + build_scene_unit_protocol_info(session, scene_uid, hall_scene_info.section_id); +} + +pub fn add_scene_units_to_hall_refresh_arg( + session: &mut PlayerSession, + scene_uid: u64, + refresh_arg: &mut PtcHallRefreshArg, +) { + refresh_arg.scene_unit_list = + build_scene_unit_protocol_info(session, scene_uid, refresh_arg.section_id); +} + +fn build_scene_unit_protocol_info( + session: &mut PlayerSession, + scene_uid: u64, + section_id: u32, +) -> Vec { + let sdg = session.player_info.single_dungeon_group.as_ref().unwrap(); + sdg.npcs + .as_ref() + .unwrap() + .iter() + .filter(|(s_uid, _, npc)| { + **s_uid == scene_uid && npc.scene_data.section_id == section_id as i32 + }) + .map(|(_, uid, npc)| SceneUnitProtocolInfo { + npc_id: npc.tag_value as u32, + is_interactable: true, + interacts_info: session + .level_event_graph_mgr + .bound_interact_map + .get(uid) + .map(|(_, interact)| { + HashMap::from([( + interact.interact_id as u32, + protocol::InteractInfo { + name: interact.name.clone(), + participators: interact.participators.clone(), + scale_x: interact.scale_x, + scale_y: interact.scale_y, + scale_z: interact.scale_z, + scale_w: interact.scale_w, + scale_r: interact.scale_r, + interact_id: npc.tag_value, + interact_target_list: vec![2], + }, + )]) + }) + .unwrap_or_default(), + }) + .collect() +} diff --git a/crates/gate-server/Cargo.toml b/crates/gate-server/Cargo.toml new file mode 100644 index 0000000..09470a8 --- /dev/null +++ b/crates/gate-server/Cargo.toml @@ -0,0 +1,39 @@ +[package] +name = "yanagi-gate-server" +edition = "2021" +version.workspace = true + +[dependencies] +# Framework +tokio.workspace = true + +# Database +surrealdb.workspace = true + +# Error processing +anyhow.workspace = true +thiserror.workspace = true + +# Serialization +hex.workspace = true +serde.workspace = true +serde_json.workspace = true +rbase64.workspace = true + +# Tracing +tracing.workspace = true + +# Util +byteorder.workspace = true +rand.workspace = true +paste.workspace = true + +# Internal +kcp = { path = "./kcp" } +common.workspace = true +qwer.workspace = true +qwer-rpc.workspace = true +protocol.workspace = true +yanagi-proto.workspace = true +yanagi-encryption.workspace = true +yanagi-http-client.workspace = true diff --git a/crates/gate-server/gateserver.toml b/crates/gate-server/gateserver.toml new file mode 100644 index 0000000..6fbe8ee --- /dev/null +++ b/crates/gate-server/gateserver.toml @@ -0,0 +1,8 @@ +server_name = "nap_dev_01" +bind_client_version = "OSPRODWin1.3.0" +design_data_url = "http://127.0.0.1:10000/design_data/NAP_Publish_AppStore_1.4" + +[database] +url = "localhost:8000" +username = "root" +password = "root" diff --git a/crates/gate-server/kcp/Cargo.toml b/crates/gate-server/kcp/Cargo.toml new file mode 100644 index 0000000..0185ed0 --- /dev/null +++ b/crates/gate-server/kcp/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "kcp" +edition = "2021" +version.workspace = true + +[dependencies] +bytes = "1.7.2" +log = "0.4.22" +thiserror.workspace = true + +[dev-dependencies] +time = "0.3.36" +rand = "0.8.5" +env_logger = "0.11.5" diff --git a/crates/gate-server/kcp/src/error.rs b/crates/gate-server/kcp/src/error.rs new file mode 100644 index 0000000..0991d6b --- /dev/null +++ b/crates/gate-server/kcp/src/error.rs @@ -0,0 +1,56 @@ +use std::{ + error::Error as StdError, + io::{self, ErrorKind}, +}; + +/// KCP protocol errors +#[derive(Debug, thiserror::Error)] +pub enum Error { + #[error("conv inconsistent, expected {0}, found {1}")] + ConvInconsistent(u32, u32), + #[error("invalid mtu {0}")] + InvalidMtu(usize), + #[error("invalid segment size {0}")] + InvalidSegmentSize(usize), + #[error("invalid segment data size, expected {0}, found {1}")] + InvalidSegmentDataSize(usize, usize), + #[error("{0}")] + IoError( + #[from] + #[source] + io::Error, + ), + #[error("need to call update() once")] + NeedUpdate, + #[error("recv queue is empty")] + RecvQueueEmpty, + #[error("expecting fragment")] + ExpectingFragment, + #[error("command {0} is not supported")] + UnsupportedCmd(u8), + #[error("user's send buffer is too big")] + UserBufTooBig, + #[error("user's recv buffer is too small")] + UserBufTooSmall, + #[error("token mismatch, expected {0}, found {1}")] + TokenMismatch(u32, u32), +} + +fn make_io_error(kind: ErrorKind, msg: T) -> io::Error +where + T: Into>, +{ + io::Error::new(kind, msg) +} + +impl From for io::Error { + fn from(err: Error) -> Self { + let kind = match err { + Error::IoError(err) => return err, + Error::RecvQueueEmpty | Error::ExpectingFragment => ErrorKind::WouldBlock, + _ => ErrorKind::Other, + }; + + make_io_error(kind, err) + } +} diff --git a/crates/gate-server/kcp/src/kcp.rs b/crates/gate-server/kcp/src/kcp.rs new file mode 100644 index 0000000..59b3b88 --- /dev/null +++ b/crates/gate-server/kcp/src/kcp.rs @@ -0,0 +1,1255 @@ +//! KCP + +use std::{ + cmp, + cmp::Ordering, + collections::VecDeque, + fmt::{self, Debug}, + io::{self, Cursor, Read, Write}, +}; + +use bytes::{Buf, BufMut, BytesMut}; + +use crate::{error::Error, KcpResult}; + +const KCP_RTO_NDL: u32 = 20; // no delay min rto +const KCP_RTO_MIN: u32 = 100; // normal min rto +const KCP_RTO_DEF: u32 = 200; +const KCP_RTO_MAX: u32 = 60000; + +const KCP_CMD_PUSH: u8 = 81; // cmd: push data +const KCP_CMD_ACK: u8 = 82; // cmd: ack +const KCP_CMD_WASK: u8 = 83; // cmd: window probe (ask) +const KCP_CMD_WINS: u8 = 84; // cmd: window size (tell) + +const KCP_ASK_SEND: u32 = 1; // need to send IKCP_CMD_WASK +const KCP_ASK_TELL: u32 = 2; // need to send IKCP_CMD_WINS + +const KCP_WND_SND: u16 = 32; +const KCP_WND_RCV: u16 = 258; // must >= max fragment size + +const KCP_MTU_DEF: usize = 1400; +// const KCP_ACK_FAST: u32 = 3; + +const KCP_INTERVAL: u32 = 100; +/// KCP Header size +pub const KCP_OVERHEAD: usize = 28; +const KCP_DEADLINK: u32 = 20; + +const KCP_THRESH_INIT: u16 = 2; +const KCP_THRESH_MIN: u16 = 2; + +const KCP_PROBE_INIT: u32 = 7000; // 7 secs to probe window size +const KCP_PROBE_LIMIT: u32 = 120_000; // up to 120 secs to probe window +const KCP_FASTACK_LIMIT: u32 = 5; // max times to trigger fastack + +/// Read `conv` from raw buffer +#[must_use] +pub fn get_conv(mut buf: &[u8]) -> u32 { + assert!(buf.len() >= KCP_OVERHEAD); + buf.get_u32_le() +} + +/// Read `token` from raw buffer +#[must_use] +pub fn get_token(buf: &[u8]) -> u32 { + assert!(buf.len() >= KCP_OVERHEAD); + (&buf[4..]).get_u32_le() +} + +/// Set `conv` to raw buffer +pub fn set_conv(mut buf: &mut [u8], conv: u32) { + assert!(buf.len() >= KCP_OVERHEAD); + buf.put_u32_le(conv); +} + +/// Get `sn` from raw buffer +#[must_use] +pub fn get_sn(buf: &[u8]) -> u32 { + assert!(buf.len() >= KCP_OVERHEAD); + (&buf[12..]).get_u32_le() +} + +#[must_use] +fn bound(lower: u32, v: u32, upper: u32) -> u32 { + cmp::min(cmp::max(lower, v), upper) +} + +#[must_use] +const fn timediff(later: u32, earlier: u32) -> i32 { + later as i32 - earlier as i32 +} + +#[derive(Default, Clone, Debug)] +struct KcpSegment { + conv: u32, + token: u32, + cmd: u8, + frg: u8, + wnd: u16, + ts: u32, + sn: u32, + una: u32, + resendts: u32, + rto: u32, + fastack: u32, + xmit: u32, + data: BytesMut, +} + +impl KcpSegment { + fn new(data: BytesMut) -> Self { + Self { + data, + ..Default::default() + } + } + + fn encode(&self, buf: &mut BytesMut) { + assert!( + buf.remaining_mut() >= self.encoded_len(), + "REMAIN {} encoded {} {self:?}", + buf.remaining_mut(), + self.encoded_len(), + ); + + buf.put_u32_le(self.conv); + buf.put_u32_le(self.token); + buf.put_u8(self.cmd); + buf.put_u8(self.frg); + buf.put_u16_le(self.wnd); + buf.put_u32_le(self.ts); + buf.put_u32_le(self.sn); + buf.put_u32_le(self.una); + buf.put_u32_le(self.data.len() as u32); + buf.put_slice(&self.data); + } + + fn encoded_len(&self) -> usize { + KCP_OVERHEAD + self.data.len() + } +} + +#[derive(Default)] +struct KcpOutput(O); + +impl Write for KcpOutput { + fn write(&mut self, data: &[u8]) -> io::Result { + trace!("[RO] {} bytes", data.len()); + self.0.write(data) + } + + fn flush(&mut self) -> io::Result<()> { + self.0.flush() + } +} + +/// KCP control +#[derive(Default)] +pub struct Kcp { + /// Conversation ID + conv: u32, + /// Maximum Transmission Unit + mtu: usize, + /// Maximum Segment Size + mss: usize, + /// Connection state + state: i32, + /// User token + token: u32, + /// Conversation establish time + estab_ts: u64, + + /// First unacknowledged packet + snd_una: u32, + /// Next packet + snd_nxt: u32, + /// Next packet to be received + rcv_nxt: u32, + + /// Congestion window threshold + ssthresh: u16, + + /// ACK receive variable RTT + rx_rttval: u32, + /// ACK receive static RTT + rx_srtt: u32, + /// Resend time (calculated by ACK delay time) + rx_rto: u32, + /// Minimal resend timeout + rx_minrto: u32, + + /// Send window + snd_wnd: u16, + /// Receive window + rcv_wnd: u16, + /// Remote receive window + rmt_wnd: u16, + /// Congestion window + cwnd: u16, + /// Check window + /// - `IKCP_ASK_TELL`, telling window size to remote + /// - `IKCP_ASK_SEND`, ask remote for window size + probe: u32, + + /// Last update time + current: u32, + /// Flush interval + interval: u32, + /// Next flush interval + ts_flush: u32, + xmit: u32, + + /// Enable nodelay + nodelay: bool, + /// Updated has been called or not + updated: bool, + + /// Next check window timestamp + ts_probe: u32, + /// Check window wait time + probe_wait: u32, + + /// Maximum resend time + dead_link: u32, + /// Maximum payload size + incr: usize, + + snd_queue: VecDeque, + rcv_queue: VecDeque, + snd_buf: VecDeque, + rcv_buf: VecDeque, + + /// Pending ACK + acklist: VecDeque<(u32, u32)>, + buf: BytesMut, + + /// ACK number to trigger fast resend + fastresend: u32, + fastlimit: u32, + /// Disable congestion control + nocwnd: bool, + /// Enable stream mode + stream: bool, + + /// Get conv from the next input call + input_conv: bool, + + output: KcpOutput, +} + +impl Debug for Kcp { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.debug_struct("Kcp") + .field("conv", &self.conv) + .field("mtu", &self.mtu) + .field("mss", &self.mss) + .field("state", &self.state) + .field("token", &self.token) + .field("snd_una", &self.snd_una) + .field("snd_nxt", &self.snd_nxt) + .field("rcv_nxt", &self.rcv_nxt) + .field("ssthresh", &self.ssthresh) + .field("rx_rttval", &self.rx_rttval) + .field("rx_srtt", &self.rx_srtt) + .field("rx_rto", &self.rx_rto) + .field("rx_minrto", &self.rx_minrto) + .field("snd_wnd", &self.snd_wnd) + .field("rcv_wnd", &self.rcv_wnd) + .field("rmt_wnd", &self.rmt_wnd) + .field("cwnd", &self.cwnd) + .field("probe", &self.probe) + .field("current", &self.current) + .field("interval", &self.interval) + .field("ts_flush", &self.ts_flush) + .field("xmit", &self.xmit) + .field("nodelay", &self.nodelay) + .field("updated", &self.updated) + .field("ts_probe", &self.ts_probe) + .field("probe_wait", &self.probe_wait) + .field("dead_link", &self.dead_link) + .field("incr", &self.incr) + .field("snd_queue.len", &self.snd_queue.len()) + .field("rcv_queue.len", &self.rcv_queue.len()) + .field("snd_buf.len", &self.snd_buf.len()) + .field("rcv_buf.len", &self.rcv_buf.len()) + .field("acklist.len", &self.acklist.len()) + .field("buf.len", &self.buf.len()) + .field("fastresend", &self.fastresend) + .field("fastlimit", &self.fastlimit) + .field("nocwnd", &self.nocwnd) + .field("stream", &self.stream) + .field("input_conv", &self.input_conv) + .finish() + } +} + +impl Kcp { + /// Create a KCP control object. + /// + /// `conv` represents the conversation, it must be equal in both endpoints given a connection + /// `token` is the token for the conversation. + /// `stream` will enable stream mode if set to `true`. + /// `output` is the callback object for writing. + pub fn new(conv: u32, token: u32, ts: u64, stream: bool, output: Output) -> Self { + Self { + conv, + token, + estab_ts: ts, + snd_una: 0, + snd_nxt: 0, + rcv_nxt: 0, + ts_probe: 0, + probe_wait: 0, + snd_wnd: KCP_WND_SND, + rcv_wnd: KCP_WND_RCV, + rmt_wnd: KCP_WND_RCV, + cwnd: 0, + incr: 0, + probe: 0, + mtu: KCP_MTU_DEF, + mss: KCP_MTU_DEF - KCP_OVERHEAD, + stream, + + buf: BytesMut::with_capacity((KCP_MTU_DEF + KCP_OVERHEAD) * 3), + + snd_queue: VecDeque::new(), + rcv_queue: VecDeque::new(), + snd_buf: VecDeque::new(), + rcv_buf: VecDeque::new(), + + state: 0, + + acklist: VecDeque::new(), + + rx_srtt: 0, + rx_rttval: 0, + rx_rto: KCP_RTO_DEF, + rx_minrto: KCP_RTO_MIN, + + current: 0, + interval: KCP_INTERVAL, + ts_flush: KCP_INTERVAL, + nodelay: false, + updated: false, + ssthresh: KCP_THRESH_INIT, + fastresend: 0, + fastlimit: KCP_FASTACK_LIMIT, + nocwnd: false, + xmit: 0, + dead_link: KCP_DEADLINK, + + input_conv: false, + output: KcpOutput(output), + } + } + + // move available data from rcv_buf -> rcv_queue + pub fn move_buf(&mut self) { + while !self.rcv_buf.is_empty() { + let nrcv_que = self.rcv_queue.len(); + { + let seg = self.rcv_buf.front().unwrap(); + if seg.sn == self.rcv_nxt && nrcv_que < self.rcv_wnd as usize { + self.rcv_nxt += 1; + } else { + break; + } + } + + let seg = self.rcv_buf.pop_front().unwrap(); + self.rcv_queue.push_back(seg); + } + } + + /// Receive data from buffer + pub fn recv(&mut self, buf: &mut [u8]) -> KcpResult { + if self.rcv_queue.is_empty() { + return Err(Error::RecvQueueEmpty); + } + + let peeksize = self.peeksize()?; + + if peeksize > buf.len() { + debug!("recv peeksize={peeksize} bufsize={} too small", buf.len()); + return Err(Error::UserBufTooSmall); + } + + let recover = self.rcv_queue.len() >= self.rcv_wnd as usize; + + // Merge fragment + let mut cur = Cursor::new(buf); + while let Some(seg) = self.rcv_queue.pop_front() { + Write::write_all(&mut cur, &seg.data)?; + + trace!("recv sn={}", seg.sn); + + if seg.frg == 0 { + break; + } + } + assert_eq!(cur.position() as usize, peeksize); + + self.move_buf(); + + // fast recover + if self.rcv_queue.len() < self.rcv_wnd as usize && recover { + // ready to send back IKCP_CMD_WINS in ikcp_flush + // tell remote my window size + self.probe |= KCP_ASK_TELL; + } + + Ok(cur.position() as usize) + } + + /// Check buffer size without actually consuming it + pub fn peeksize(&self) -> KcpResult { + match self.rcv_queue.front() { + Some(segment) => { + if segment.frg == 0 { + return Ok(segment.data.len()); + } + + if self.rcv_queue.len() < (segment.frg + 1) as usize { + return Err(Error::ExpectingFragment); + } + + let mut len = 0; + + for segment in &self.rcv_queue { + len += segment.data.len(); + if segment.frg == 0 { + break; + } + } + + Ok(len) + } + None => Err(Error::RecvQueueEmpty), + } + } + + /// Send bytes into buffer + pub fn send(&mut self, mut buf: &[u8]) -> KcpResult { + let mut sent_size = 0; + + assert!(self.mss > 0); + + // append to previous segment in streaming mode (if possible) + if self.stream { + if let Some(old) = self.snd_queue.back_mut() { + let l = old.data.len(); + if l < self.mss { + let capacity = self.mss - l; + let extend = cmp::min(buf.len(), capacity); + + trace!( + "send stream mss={} last length={l} extend={extend}", + self.mss, + ); + + let (lf, rt) = buf.split_at(extend); + old.data.extend_from_slice(lf); + buf = rt; + + old.frg = 0; + sent_size += extend; + } + } + + if buf.is_empty() { + return Ok(sent_size); + } + } + + let count = if buf.len() <= self.mss { + 1 + } else { + (buf.len() + self.mss - 1) / self.mss + }; + + if count >= KCP_WND_RCV as usize { + debug!("send bufsize={} mss={} too large", buf.len(), self.mss); + return Err(Error::UserBufTooBig); + } + + let count = cmp::max(1, count); + + for i in 0..count { + let size = cmp::min(self.mss, buf.len()); + + let (lf, rt) = buf.split_at(size); + + let mut new_segment = KcpSegment::new(lf.into()); + buf = rt; + + new_segment.frg = if self.stream { + 0 + } else { + (count - i - 1) as u8 + }; + + self.snd_queue.push_back(new_segment); + sent_size += size; + } + + Ok(sent_size) + } + + fn update_ack(&mut self, rtt: u32) { + if self.rx_srtt == 0 { + self.rx_srtt = rtt; + self.rx_rttval = rtt / 2; + } else { + let delta = if rtt > self.rx_srtt { + rtt - self.rx_srtt + } else { + self.rx_srtt - rtt + }; + self.rx_rttval = (3 * self.rx_rttval + delta) / 4; + self.rx_srtt = ((7 * u64::from(self.rx_srtt) + u64::from(rtt)) / 8) as u32; + if self.rx_srtt < 1 { + self.rx_srtt = 1; + } + } + let rto = self.rx_srtt + cmp::max(self.interval, 4 * self.rx_rttval); + self.rx_rto = bound(self.rx_minrto, rto, KCP_RTO_MAX); + } + + fn shrink_buf(&mut self) { + self.snd_una = match self.snd_buf.front() { + Some(seg) => seg.sn, + None => self.snd_nxt, + }; + } + + fn parse_ack(&mut self, sn: u32) { + if timediff(sn, self.snd_una) < 0 || timediff(sn, self.snd_nxt) >= 0 { + return; + } + + let mut i = 0_usize; + while i < self.snd_buf.len() { + match sn.cmp(&self.snd_buf[i].sn) { + Ordering::Equal => { + self.snd_buf.remove(i); + break; + } + Ordering::Less => break, + Ordering::Greater => i += 1, + } + } + } + + fn parse_una(&mut self, una: u32) { + while let Some(seg) = self.snd_buf.front() { + if timediff(una, seg.sn) > 0 { + self.snd_buf.pop_front(); + } else { + break; + } + } + } + + fn parse_fastack(&mut self, sn: u32, ts: u32) { + if timediff(sn, self.snd_una) < 0 || timediff(sn, self.snd_nxt) >= 0 { + return; + } + + for seg in &mut self.snd_buf { + if timediff(sn, seg.sn) < 0 { + break; + } else if sn != seg.sn { + if timediff(ts, seg.ts) >= 0 { + seg.fastack += 1; + } + } + } + } + + fn ack_push(&mut self, sn: u32, ts: u32) { + self.acklist.push_back((sn, ts)); + } + + fn parse_data(&mut self, new_segment: KcpSegment) { + let sn = new_segment.sn; + + if timediff(sn, self.rcv_nxt + u32::from(self.rcv_wnd)) >= 0 + || timediff(sn, self.rcv_nxt) < 0 + { + return; + } + + let mut repeat = false; + let mut new_index = self.rcv_buf.len(); + + for segment in self.rcv_buf.iter().rev() { + if segment.sn == sn { + repeat = true; + break; + } + if timediff(sn, segment.sn) > 0 { + break; + } + new_index -= 1; + } + + if !repeat { + self.rcv_buf.insert(new_index, new_segment); + } + + // move available data from rcv_buf -> rcv_queue + self.move_buf(); + } + + /// Get `conv` from the next `input` call + pub fn input_conv(&mut self) { + self.input_conv = true; + } + + /// Check if Kcp is waiting for the next input + #[must_use] + pub const fn waiting_conv(&self) -> bool { + self.input_conv + } + + /// Set `conv` value + pub fn set_conv(&mut self, conv: u32) { + self.conv = conv; + } + + /// Get `conv` + #[must_use] + pub const fn conv(&self) -> u32 { + self.conv + } + + /// Get `token` + #[must_use] + pub const fn token(&self) -> u32 { + self.token + } + + /// Get `estab_ts` + #[must_use] + pub const fn estab_ts(&self) -> u64 { + self.estab_ts + } + + /// Call this when you received a packet from raw connection + pub fn input(&mut self, buf: &[u8]) -> KcpResult { + let input_size = buf.len(); + + trace!("[RI] {} bytes", buf.len()); + + if buf.len() < KCP_OVERHEAD { + debug!( + "input bufsize={} too small, at least {KCP_OVERHEAD}", + buf.len(), + ); + return Err(Error::InvalidSegmentSize(buf.len())); + } + + let mut flag = false; + let mut max_ack = 0; + let old_una = self.snd_una; + let mut latest_ts = 0; + + let mut buf = Cursor::new(buf); + while buf.remaining() >= KCP_OVERHEAD { + let conv = buf.get_u32_le(); + if conv != self.conv { + // This allows getting conv from this call, which allows us to allocate + // conv from the server side. + if self.input_conv { + debug!("input conv={conv} updated, original conv={}", self.conv); + self.conv = conv; + self.input_conv = false; + } else { + debug!("input conv={conv} expected conv={} not match", self.conv); + return Err(Error::ConvInconsistent(self.conv, conv)); + } + } + + let token = buf.get_u32_le(); + let cmd = buf.get_u8(); + let frg = buf.get_u8(); + let wnd = buf.get_u16_le(); + let ts = buf.get_u32_le(); + let sn = buf.get_u32_le(); + let una = buf.get_u32_le(); + let len = buf.get_u32_le() as usize; + + if buf.remaining() < len { + debug!( + "input bufsize={input_size} payload length={len} remaining={} not match", + buf.remaining() + ); + return Err(Error::InvalidSegmentDataSize(len, buf.remaining())); + } + + match cmd { + KCP_CMD_PUSH | KCP_CMD_ACK | KCP_CMD_WASK | KCP_CMD_WINS => {} + _ => { + debug!("input cmd={cmd} unrecognized"); + return Err(Error::UnsupportedCmd(cmd)); + } + } + + if token != self.token { + return Err(Error::TokenMismatch(token, self.token)); + } + + self.rmt_wnd = wnd; + + self.parse_una(una); + self.shrink_buf(); + + let mut has_read_data = false; + + match cmd { + KCP_CMD_ACK => { + let rtt = timediff(self.current, ts); + if rtt >= 0 { + self.update_ack(rtt as u32); + } + self.parse_ack(sn); + self.shrink_buf(); + + if !flag { + flag = true; + max_ack = sn; + latest_ts = ts; + } else if timediff(sn, max_ack) > 0 { + if timediff(ts, latest_ts) > 0 { + max_ack = sn; + latest_ts = ts; + } + } + + trace!( + "input ack: sn={sn} rtt={} rto={}", + timediff(self.current, ts), + self.rx_rto + ); + } + KCP_CMD_PUSH => { + trace!("input psh: sn={sn} ts={ts}"); + + if timediff(sn, self.rcv_nxt + u32::from(self.rcv_wnd)) < 0 { + self.ack_push(sn, ts); + if timediff(sn, self.rcv_nxt) >= 0 { + let mut sbuf = BytesMut::with_capacity(len); + unsafe { + sbuf.set_len(len); + } + buf.read_exact(&mut sbuf).unwrap(); + has_read_data = true; + + let mut segment = KcpSegment::new(sbuf); + + segment.conv = conv; + segment.token = token; + segment.cmd = cmd; + segment.frg = frg; + segment.wnd = wnd; + segment.ts = ts; + segment.sn = sn; + segment.una = una; + + self.parse_data(segment); + } + } + } + KCP_CMD_WASK => { + // ready to send back IKCP_CMD_WINS in ikcp_flush + // tell remote my window size + trace!("input probe"); + self.probe |= KCP_ASK_TELL; + } + KCP_CMD_WINS => { + // Do nothing + trace!("input wins: {wnd}"); + } + _ => unreachable!(), + } + + // Force skip unread data + if !has_read_data { + let next_pos = buf.position() + len as u64; + buf.set_position(next_pos); + } + } + + if flag { + self.parse_fastack(max_ack, latest_ts); + } + + if timediff(self.snd_una, old_una) > 0 && self.cwnd < self.rmt_wnd { + let mss = self.mss; + if self.cwnd < self.ssthresh { + self.cwnd += 1; + self.incr += mss; + } else { + if self.incr < mss { + self.incr = mss; + } + self.incr += (mss * mss) / self.incr + (mss / 16); + if (self.cwnd as usize + 1) * mss <= self.incr { + // self.cwnd += 1; + self.cwnd = ((self.incr + mss - 1) / if mss > 0 { mss } else { 1 }) as u16; + } + } + if self.cwnd > self.rmt_wnd { + self.cwnd = self.rmt_wnd; + self.incr = self.rmt_wnd as usize * mss; + } + } + + Ok(buf.position() as usize) + } + + #[must_use] + fn wnd_unused(&self) -> u16 { + if self.rcv_queue.len() < self.rcv_wnd as usize { + self.rcv_wnd - self.rcv_queue.len() as u16 + } else { + 0 + } + } + + fn probe_wnd_size(&mut self) { + // probe window size (if remote window size equals zero) + if self.rmt_wnd == 0 { + if self.probe_wait == 0 { + self.probe_wait = KCP_PROBE_INIT; + self.ts_probe = self.current + self.probe_wait; + } else if timediff(self.current, self.ts_probe) >= 0 { + if self.probe_wait < KCP_PROBE_INIT { + self.probe_wait = KCP_PROBE_INIT; + } + + self.probe_wait += self.probe_wait / 2; + + if self.probe_wait > KCP_PROBE_LIMIT { + self.probe_wait = KCP_PROBE_LIMIT; + } + + self.ts_probe = self.current + self.probe_wait; + self.probe |= KCP_ASK_SEND; + } + } else { + self.ts_probe = 0; + self.probe_wait = 0; + } + } + + /// Determine when you should call `update`. + /// Return when you should invoke `update` in millisec, if there is no `input`/`send` calling. + /// You can call `update` in that time without calling it repeatly. + #[must_use] + pub fn check(&self, current: u32) -> u32 { + if !self.updated { + return 0; + } + + let mut ts_flush = self.ts_flush; + let mut tm_packet = u32::max_value(); + + if timediff(current, ts_flush) >= 10000 || timediff(current, ts_flush) < -10000 { + ts_flush = current; + } + + if timediff(current, ts_flush) >= 0 { + return 0; + } + + let tm_flush = timediff(ts_flush, current) as u32; + for seg in &self.snd_buf { + let diff = timediff(seg.resendts, current); + if diff <= 0 { + return 0; + } + if (diff as u32) < tm_packet { + tm_packet = diff as u32; + } + } + + let mut minimal = cmp::min(tm_packet, tm_flush); + if minimal >= self.interval { + minimal = self.interval; + } + + minimal + } + + /// Change MTU size, default is 1400 + /// + /// MTU = Maximum Transmission Unit + pub fn set_mtu(&mut self, mtu: usize) -> KcpResult<()> { + if mtu < 50 || mtu < KCP_OVERHEAD { + debug!("set_mtu mtu={mtu} invalid"); + return Err(Error::InvalidMtu(mtu)); + } + + self.mtu = mtu; + self.mss = self.mtu - KCP_OVERHEAD; + + let target_size = (mtu + KCP_OVERHEAD) * 3; + if target_size > self.buf.capacity() { + self.buf.reserve(target_size - self.buf.capacity()); + } + + Ok(()) + } + + /// Get MTU + #[must_use] + pub const fn mtu(&self) -> usize { + self.mtu + } + + /// Set check interval + pub fn set_interval(&mut self, interval: u32) { + self.interval = interval.clamp(10, 5000); + } + + /// Set nodelay + /// + /// fastest config: nodelay(true, 20, 2, true) + /// + /// `nodelay`: default is disable (false) + /// `interval`: internal update timer interval in millisec, default is 100ms + /// `resend`: 0:disable fast resend(default), 1:enable fast resend + /// `nc`: `false`: normal congestion control(default), `true`: disable congestion control + pub fn set_nodelay(&mut self, nodelay: bool, interval: i32, resend: i32, nc: bool) { + if nodelay { + self.nodelay = true; + self.rx_minrto = KCP_RTO_NDL; + } else { + self.nodelay = false; + self.rx_minrto = KCP_RTO_MIN; + } + + match interval { + interval if interval < 10 => self.interval = 10, + interval if interval > 5000 => self.interval = 5000, + _ => self.interval = interval as u32, + } + + if resend >= 0 { + self.fastresend = resend as u32; + } + + self.nocwnd = nc; + } + + /// Set `wndsize` + /// set maximum window size: `sndwnd=32`, `rcvwnd=32` by default + pub fn set_wndsize(&mut self, sndwnd: u16, rcvwnd: u16) { + if sndwnd > 0 { + self.snd_wnd = sndwnd; + } + + if rcvwnd > 0 { + self.rcv_wnd = cmp::max(rcvwnd, KCP_WND_RCV) as u16; + } + } + + /// `snd_wnd` Send window + #[must_use] + pub const fn snd_wnd(&self) -> u16 { + self.snd_wnd + } + + /// `rcv_wnd` Receive window + #[must_use] + pub const fn rcv_wnd(&self) -> u16 { + self.rcv_wnd + } + + /// Get `waitsnd`, how many packet is waiting to be sent + pub fn wait_snd(&self) -> usize { + self.snd_buf.len() + self.snd_queue.len() + } + + /// Get `rmt_wnd`, remote window size + #[must_use] + pub const fn rmt_wnd(&self) -> u16 { + self.rmt_wnd + } + + /// Set `rx_minrto` + pub fn set_rx_minrto(&mut self, rto: u32) { + self.rx_minrto = rto; + } + + /// Set `fastresend` + pub fn set_fast_resend(&mut self, fr: u32) { + self.fastresend = fr; + } + + /// KCP header size + #[must_use] + pub const fn header_len() -> usize { + KCP_OVERHEAD + } + + /// Enabled stream or not + #[must_use] + pub const fn is_stream(&self) -> bool { + self.stream + } + + /// Maximum Segment Size + #[must_use] + pub const fn mss(&self) -> usize { + self.mss + } + + /// Set maximum resend times + pub fn set_maximum_resend_times(&mut self, dead_link: u32) { + self.dead_link = dead_link; + } + + /// Check if KCP connection is dead (resend times excceeded) + #[must_use] + pub const fn is_dead_link(&self) -> bool { + self.state != 0 + } +} + +impl Kcp { + fn _flush_ack(&mut self, segment: &mut KcpSegment) -> KcpResult<()> { + // flush acknowledges + // while let Some((sn, ts)) = self.acklist.pop_front() { + for &(sn, ts) in &self.acklist { + if self.buf.len() + KCP_OVERHEAD > self.mtu { + self.output.write_all(&self.buf)?; + self.buf.clear(); + } + segment.sn = sn; + segment.ts = ts; + segment.encode(&mut self.buf); + } + self.acklist.clear(); + + Ok(()) + } + + fn _flush_probe_commands(&mut self, cmd: u8, segment: &mut KcpSegment) -> KcpResult<()> { + segment.cmd = cmd; + if self.buf.len() + KCP_OVERHEAD > self.mtu { + self.output.write_all(&self.buf)?; + self.buf.clear(); + } + segment.encode(&mut self.buf); + Ok(()) + } + + fn flush_probe_commands(&mut self, segment: &mut KcpSegment) -> KcpResult<()> { + // flush window probing commands + if (self.probe & KCP_ASK_SEND) != 0 { + self._flush_probe_commands(KCP_CMD_WASK, segment)?; + } + + // flush window probing commands + if (self.probe & KCP_ASK_TELL) != 0 { + self._flush_probe_commands(KCP_CMD_WINS, segment)?; + } + self.probe = 0; + Ok(()) + } + + /// Flush pending ACKs + pub fn flush_ack(&mut self) -> KcpResult<()> { + if !self.updated { + debug!("flush updated() must be called at least once"); + return Err(Error::NeedUpdate); + } + + let mut segment = KcpSegment { + conv: self.conv, + token: self.token, + cmd: KCP_CMD_ACK, + wnd: self.wnd_unused(), + una: self.rcv_nxt, + ..Default::default() + }; + + self._flush_ack(&mut segment) + } + + /// Flush pending data in buffer. + pub fn flush(&mut self) -> KcpResult<()> { + if !self.updated { + debug!("flush updated() must be called at least once"); + return Err(Error::NeedUpdate); + } + + let mut segment = KcpSegment { + conv: self.conv, + token: self.token, + cmd: KCP_CMD_ACK, + wnd: self.wnd_unused(), + una: self.rcv_nxt, + ..Default::default() + }; + + self._flush_ack(&mut segment)?; + self.probe_wnd_size(); + self.flush_probe_commands(&mut segment)?; + + // calculate window size + let mut cwnd = cmp::min(self.snd_wnd, self.rmt_wnd); + if !self.nocwnd { + cwnd = cmp::min(self.cwnd, cwnd); + } + + // move data from snd_queue to snd_buf + while timediff(self.snd_nxt, self.snd_una + u32::from(cwnd)) < 0 { + match self.snd_queue.pop_front() { + Some(mut new_segment) => { + new_segment.conv = self.conv; + new_segment.token = self.token; + new_segment.cmd = KCP_CMD_PUSH; + new_segment.wnd = segment.wnd; + new_segment.ts = self.current; + new_segment.sn = self.snd_nxt; + self.snd_nxt += 1; + new_segment.una = self.rcv_nxt; + new_segment.resendts = self.current; + new_segment.rto = self.rx_rto; + new_segment.fastack = 0; + new_segment.xmit = 0; + self.snd_buf.push_back(new_segment); + } + None => break, + } + } + + // calculate resent + let resent = if self.fastresend > 0 { + self.fastresend + } else { + u32::max_value() + }; + + let rtomin = if !self.nodelay { self.rx_rto >> 3 } else { 0 }; + + let mut lost = false; + let mut change = 0; + + for snd_segment in &mut self.snd_buf { + let mut need_send = false; + + if snd_segment.xmit == 0 { + need_send = true; + snd_segment.xmit += 1; + snd_segment.rto = self.rx_rto; + snd_segment.resendts = self.current + snd_segment.rto + rtomin; + } else if timediff(self.current, snd_segment.resendts) >= 0 { + need_send = true; + snd_segment.xmit += 1; + self.xmit += 1; + if !self.nodelay { + snd_segment.rto += cmp::max(snd_segment.rto, self.rx_rto); + } else { + let step = snd_segment.rto; // (kcp->nodelay < 2) ? ((IINT32)(segment->rto)) : kcp->rx_rto; + snd_segment.rto += step / 2; + } + snd_segment.resendts = self.current + snd_segment.rto; + lost = true; + } else if snd_segment.fastack >= resent + && (snd_segment.xmit <= self.fastlimit || self.fastlimit == 0) + { + need_send = true; + snd_segment.xmit += 1; + snd_segment.fastack = 0; + snd_segment.resendts = self.current + snd_segment.rto; + change += 1; + } + + if need_send { + snd_segment.ts = self.current; + snd_segment.wnd = segment.wnd; + snd_segment.una = self.rcv_nxt; + + let need = KCP_OVERHEAD + snd_segment.data.len(); + + if self.buf.len() + need > self.mtu { + self.output.write_all(&self.buf)?; + self.buf.clear(); + } + + snd_segment.encode(&mut self.buf); + + if snd_segment.xmit >= self.dead_link { + self.state = -1; // (IUINT32)-1 + } + } + } + + // Flush all data in buffer + if !self.buf.is_empty() { + self.output.write_all(&self.buf)?; + self.buf.clear(); + } + + // update ssthresh + if change > 0 { + let inflight = self.snd_nxt - self.snd_una; + self.ssthresh = inflight as u16 / 2; + if self.ssthresh < KCP_THRESH_MIN { + self.ssthresh = KCP_THRESH_MIN; + } + self.cwnd = self.ssthresh + resent as u16; + self.incr = self.cwnd as usize * self.mss; + } + + if lost { + self.ssthresh = cwnd / 2; + if self.ssthresh < KCP_THRESH_MIN { + self.ssthresh = KCP_THRESH_MIN; + } + self.cwnd = 1; + self.incr = self.mss; + } + + if self.cwnd < 1 { + self.cwnd = 1; + self.incr = self.mss; + } + + Ok(()) + } + + /// Update state every 10ms ~ 100ms. + /// + /// Or you can ask `check` when to call this again. + pub fn update(&mut self, current: u32) -> KcpResult<()> { + self.current = current; + + if !self.updated { + self.updated = true; + self.ts_flush = self.current; + } + + let mut slap = timediff(self.current, self.ts_flush); + + if !(-10000..10000).contains(&slap) { + self.ts_flush = self.current; + slap = 0; + } + + if slap >= 0 { + self.ts_flush += self.interval; + if timediff(self.current, self.ts_flush) >= 0 { + self.ts_flush = self.current + self.interval; + } + self.flush()?; + } + + Ok(()) + } +} diff --git a/crates/gate-server/kcp/src/lib.rs b/crates/gate-server/kcp/src/lib.rs new file mode 100644 index 0000000..ea94719 --- /dev/null +++ b/crates/gate-server/kcp/src/lib.rs @@ -0,0 +1,17 @@ +extern crate bytes; +#[macro_use] +extern crate log; + +mod error; +mod kcp; + +/// The `KCP` prelude +pub mod prelude { + pub use super::{get_conv, Kcp, KCP_OVERHEAD}; +} + +pub use error::Error; +pub use kcp::{get_conv, get_sn, get_token, set_conv, Kcp, KCP_OVERHEAD}; + +/// KCP result +pub type KcpResult = Result; diff --git a/crates/gate-server/src/database.rs b/crates/gate-server/src/database.rs new file mode 100644 index 0000000..1740ce8 --- /dev/null +++ b/crates/gate-server/src/database.rs @@ -0,0 +1,85 @@ +use common::{config::DatabaseSettings, db_const}; +use serde::{Deserialize, Serialize}; +use surrealdb::{ + engine::remote::ws::{Client, Ws}, + Surreal, +}; + +const DB_NAMESPACE: &str = "yanagi"; +const GAME_DB_NAME: &str = "nap"; + +const USER_UID_COUNTER: &str = "user_uid_cnt"; +const USER_UID_TABLE: &str = "user_uid"; + +#[derive(Clone)] +pub struct DbContext(Surreal); +type Result = std::result::Result; + +#[derive(Serialize, Deserialize)] +pub struct UserUid { + account_uid: String, + account_token: String, + player_uid: u32, +} + +impl DbContext { + pub async fn connect(settings: &DatabaseSettings) -> Result { + use surrealdb::opt::auth::Root; + + let database = Surreal::new::(&settings.url).await?; + database + .signin(Root { + username: &settings.username, + password: &settings.password, + }) + .await?; + + database.use_ns(DB_NAMESPACE).use_db(GAME_DB_NAME).await?; + + // For uid auto-increment + database + .query(db_const::DEFINE_INCREMENT_FUNC_QUERY) + .await?; + + Ok(Self(database)) + } + + pub async fn get_or_create_uid( + &self, + account_uid: &str, + account_token: &str, + ) -> Result> { + if let Some(user_uid) = self.get_user_uid_by_account(account_uid).await? { + return Ok((user_uid.account_token == account_token).then_some(user_uid.player_uid)); + } + + let uid = self.get_next_uid(USER_UID_COUNTER).await?; + let _: UserUid = self + .0 + .create((USER_UID_TABLE, account_uid.to_string())) + .content(UserUid { + account_uid: account_uid.to_string(), + account_token: account_token.to_string(), + player_uid: uid, + }) + .await? + .unwrap(); + + Ok(Some(uid)) + } + + async fn get_user_uid_by_account(&self, account_uid: &str) -> Result> { + self.0.select((USER_UID_TABLE, account_uid)).await + } + + async fn get_next_uid(&self, counter_name: &'static str) -> Result { + Ok(self + .0 + .query(db_const::UID_INCREMENT_QUERY) + .bind((db_const::UID_COUNTER_NAME_BIND, counter_name)) + .await? + .check()? + .take::>(0)? + .unwrap()) + } +} diff --git a/crates/gate-server/src/main.rs b/crates/gate-server/src/main.rs new file mode 100644 index 0000000..bcf8e3e --- /dev/null +++ b/crates/gate-server/src/main.rs @@ -0,0 +1,56 @@ +use std::sync::{LazyLock, OnceLock}; + +use anyhow::Result; +use common::config::{DatabaseSettings, TomlConfig}; +use database::DbContext; +use remote_config::RemoteConfiguration; +use serde::Deserialize; +use tracing::Level; +use udp_server::UdpServer; + +mod database; +mod net; +mod packet; +mod remote_config; +mod session; +mod udp_server; + +#[derive(Deserialize)] +pub struct GateServerConfig { + pub server_name: String, + pub bind_client_version: String, + pub design_data_url: String, + pub database: DatabaseSettings, +} + +struct AppState { + remote_config: RemoteConfiguration, + db_context: DbContext, +} + +impl TomlConfig for GateServerConfig { + const DEFAULT_TOML: &str = include_str!("../gateserver.toml"); +} + +#[tokio::main] +async fn main() -> Result<()> { + static CONFIG: LazyLock = + LazyLock::new(|| GateServerConfig::load_or_create("gateserver.toml")); + static STATE: OnceLock = OnceLock::new(); + + common::print_splash(); + common::logging::init(Level::DEBUG); + let config = remote_config::download(&CONFIG); + let gateway_port = config.port; + + let db_context = DbContext::connect(&CONFIG.database).await?; + let state = STATE.get_or_init(|| AppState { + remote_config: config, + db_context, + }); + + let server = UdpServer::new(&format!("0.0.0.0:{gateway_port}"), state)?; + tokio::task::spawn_blocking(|| server.serve()).await?; + + Ok(()) +} diff --git a/crates/gate-server/src/net/kcp_conn_mgr.rs b/crates/gate-server/src/net/kcp_conn_mgr.rs new file mode 100644 index 0000000..c1461fe --- /dev/null +++ b/crates/gate-server/src/net/kcp_conn_mgr.rs @@ -0,0 +1,111 @@ +use common::time_util; +use kcp::{Kcp, KcpResult}; +use std::{ + collections::HashMap, + io::Write, + net::{SocketAddr, UdpSocket}, + sync::{mpsc, Arc}, + thread, +}; +use tracing::error; + +use super::packet_processor; + +struct UdpOutput { + peer_addr: SocketAddr, + socket: Arc, +} + +pub enum KcpEvent { + Establish(u32, SocketAddr), + Recv(Box<[u8]>), + Send(Box<[u8]>), + Drop, +} + +pub fn start( + rx: mpsc::Receiver<(u32, KcpEvent)>, + tx: tokio::sync::mpsc::Sender, + udp_socket: Arc, +) { + thread::spawn(move || kcp_loop(rx, tx, udp_socket)); +} + +fn kcp_loop( + event_rx: mpsc::Receiver<(u32, KcpEvent)>, + tx: tokio::sync::mpsc::Sender, + udp_socket: Arc, +) { + let mut conv_map = HashMap::new(); + loop { + match event_rx.recv() { + Ok((conv, KcpEvent::Establish(token, addr))) => { + conv_map.insert( + conv, + Kcp::new( + conv, + token, + time_util::unix_timestamp_ms(), + false, + UdpOutput { + peer_addr: addr, + socket: udp_socket.clone(), + }, + ), + ); + } + Ok((conv, KcpEvent::Recv(pk))) => { + if let Some(kcp) = conv_map.get_mut(&conv) { + if let Err(err) = perform_recv(kcp, &pk, &tx) { + error!("kcp recv fail: {err}"); + } + } + } + Ok((conv, KcpEvent::Send(pk))) => { + if let Some(kcp) = conv_map.get_mut(&conv) { + if let Err(err) = perform_send(kcp, &pk) { + error!("kcp send fail: {err}"); + } + } + } + Ok((conv, KcpEvent::Drop)) => { + conv_map.remove(&conv); + } + Err(_) => return, // channel closed + }; + } +} + +fn perform_recv( + kcp: &mut Kcp, + pk: &[u8], + tx: &tokio::sync::mpsc::Sender, +) -> KcpResult<()> { + kcp.input(pk)?; + kcp.update((time_util::unix_timestamp_ms() - kcp.estab_ts()) as u32)?; + + let mut buf = [0u8; 16384]; + while let Ok(len) = kcp.recv(&mut buf) { + let _ = tx.blocking_send(packet_processor::Input::Packet( + kcp.conv(), + buf[..len].into(), + )); + } + + kcp.flush() +} + +fn perform_send(kcp: &mut Kcp, pk: &[u8]) -> KcpResult<()> { + kcp.send(pk)?; + kcp.flush() +} + +impl Write for UdpOutput { + fn write(&mut self, buf: &[u8]) -> std::io::Result { + self.socket.send_to(buf, self.peer_addr) + } + + fn flush(&mut self) -> std::io::Result<()> { + Ok(()) + } +} diff --git a/crates/gate-server/src/net/mod.rs b/crates/gate-server/src/net/mod.rs new file mode 100644 index 0000000..ca0fed3 --- /dev/null +++ b/crates/gate-server/src/net/mod.rs @@ -0,0 +1,3 @@ +pub mod kcp_conn_mgr; +pub mod packet_handler; +pub mod packet_processor; diff --git a/crates/gate-server/src/net/packet_handler.rs b/crates/gate-server/src/net/packet_handler.rs new file mode 100644 index 0000000..b1ea59e --- /dev/null +++ b/crates/gate-server/src/net/packet_handler.rs @@ -0,0 +1,122 @@ +use crate::{ + packet::{read_common_values, DecodeError, NetPacket}, + session::Session, + AppState, +}; +use qwer_rpc::{ + middleware::{AccountMiddlewareModel, MiddlewareModel}, + RpcCallError, +}; +use rand::RngCore; +use std::{net::SocketAddr, time::Duration}; +use tracing::{debug, error}; +use yanagi_encryption::rsa; +use yanagi_proto::*; + +const GAME_SERVER_END_POINT: &str = "127.0.0.1:10101"; + +#[derive(thiserror::Error, Debug)] +pub enum PacketHandlingError { + #[error("decode error: {0}")] + Decode(#[from] DecodeError), + #[error("rpc call error: {0}")] + RpcCallError(#[from] RpcCallError), +} + +pub async fn decode_and_handle( + session: &crate::session::Session, + state: &'static AppState, + buf: &[u8], +) -> Result<(), PacketHandlingError> { + let (cmd_id, _, _) = read_common_values(buf)?; + let end_point = GAME_SERVER_END_POINT.parse::().unwrap(); + + tracing::debug!("received cmd_id: {cmd_id}"); + match cmd_id { + PlayerGetTokenCsReq::CMD_ID => { + let packet = NetPacket::::decode(buf)?; + on_player_get_token_cs_req(session, state, packet.head, packet.body).await; + } + cmd_id if session.is_logged_in() => { + let middleware_list = vec![MiddlewareModel::Account(AccountMiddlewareModel { + player_uid: session.get_player_uid() as u64, + client_protocol_uid: 1, + is_resend: false, + })]; + + decode_and_forward_proto!( + cmd_id, + buf, + session, + session.rpc_ptc_point.lock().await, + end_point, + middleware_list, + Duration::from_secs(30) + ) + } + cmd_id => debug!("received cmd_id: {cmd_id}, session is not logged in, expected PlayerGetTokenCsReq (cmd_id: {})", PlayerGetTokenCsReq::CMD_ID), + } + + Ok(()) +} + +async fn on_player_get_token_cs_req( + session: &Session, + state: &'static AppState, + head: PacketHead, + req: PlayerGetTokenCsReq, +) { + if session.is_logged_in() { + debug!( + "received PlayerGetTokenCsReq but session is already logged in! account_uid: {}", + req.account_uid + ); + session.send_rsp( + head.packet_id, + PlayerGetTokenScRsp { + retcode: 1008, + ..Default::default() + }, + ); + return; + } + + let conf = &state.remote_config.encryption_conf; + let client_rand_key = u64::from_le_bytes( + rsa::decrypt(conf, &rbase64::decode(&req.client_rand_key).unwrap()) + .try_into() + .unwrap(), + ); + + let server_rand_key = rand::thread_rng().next_u64(); + session.set_secret_key(server_rand_key ^ client_rand_key); + + let server_rand_key = server_rand_key.to_le_bytes(); + + let (retcode, uid) = match state + .db_context + .get_or_create_uid(&req.account_uid, &req.token) + .await + { + Ok(Some(uid)) => { + session.set_player_uid(uid); + (0, uid) + } + Ok(None) => (1007, 0), // token mismatch + Err(err) => { + error!("get_or_create_uid failed: {err}"); + (1, 0) + } + }; + + session.send_rsp( + head.packet_id, + PlayerGetTokenScRsp { + retcode, + uid, + server_rand_key: rbase64::encode(&rsa::encrypt(conf, &server_rand_key)), + sign: rbase64::encode(&rsa::sign(conf, &server_rand_key)), + ..Default::default() + }, + ); +} diff --git a/crates/gate-server/src/net/packet_processor.rs b/crates/gate-server/src/net/packet_processor.rs new file mode 100644 index 0000000..567b8ac --- /dev/null +++ b/crates/gate-server/src/net/packet_processor.rs @@ -0,0 +1,93 @@ +use qwer::ProtocolID; +use qwer_rpc::{ProtocolServiceFrontend, RpcPtcContext, RpcPtcServiceFrontend}; +use std::{ + collections::HashMap, + net::SocketAddr, + sync::{Arc, OnceLock}, +}; +use tokio::sync::{mpsc, Mutex}; +use tracing::{info_span, Instrument}; +use yanagi_proto::{forward_as_notify, register_ptc_handlers}; + +use crate::{session::Session, AppState}; + +use super::kcp_conn_mgr::KcpEvent; + +pub enum Input { + CreateSession(u32, SocketAddr), + RemoveSession(u32), + Packet(u32, Box<[u8]>), + Notify(u32, RpcPtcContext), +} + +static TX: OnceLock> = OnceLock::new(); + +pub fn start( + kcp_evt_tx: std::sync::mpsc::Sender<(u32, KcpEvent)>, + state: &'static AppState, +) -> mpsc::Sender { + let (tx, rx) = mpsc::channel(32); + + tokio::spawn(async move { + processing_loop(rx, kcp_evt_tx, state).await; + }); + + TX.get_or_init(|| tx.clone()); + tx +} + +async fn processing_loop( + mut rx: mpsc::Receiver, + tx: std::sync::mpsc::Sender<(u32, KcpEvent)>, + state: &'static AppState, +) { + let rpc_ptc_service = RpcPtcServiceFrontend::new(ProtocolServiceFrontend::new()); + let mut session_map: HashMap> = HashMap::new(); + + loop { + match rx.recv().await { + Some(Input::CreateSession(conv, addr)) => { + let rpc_ptc_point = rpc_ptc_service.create_point(None).await.unwrap(); + + let conv_id = conv; + register_ptc_handlers!(rpc_ptc_point, conv_id, TX); + + session_map.insert( + conv, + Arc::new(Session::new( + conv, + addr, + &state.remote_config.xorpad, + tx.clone(), + Mutex::new(rpc_ptc_point), + )), + ); + } + Some(Input::RemoveSession(conv)) => { + session_map.remove(&conv); + } + Some(Input::Packet(conv, mut pk)) => { + if let Some(session) = session_map.get_mut(&conv).cloned() { + let addr = session.addr; + tokio::spawn( + async move { + let _ = session + .process(pk.as_mut(), state) + .await + .inspect_err(|err| { + tracing::warn!("Session::process failed: {err}") + }); + } + .instrument(info_span!("session", addr = %addr)), + ); + } + } + Some(Input::Notify(conv, ctx)) => { + if let Some(session) = session_map.get(&conv) { + forward_as_notify!(session, ctx); + } + } + None => break, + } + } +} diff --git a/crates/gate-server/src/packet/control_packet.rs b/crates/gate-server/src/packet/control_packet.rs new file mode 100644 index 0000000..dc88898 --- /dev/null +++ b/crates/gate-server/src/packet/control_packet.rs @@ -0,0 +1,94 @@ +pub const CONTROL_PACKET_SIZE: usize = 20; +pub struct ControlPacket([u8; CONTROL_PACKET_SIZE]); + +impl ControlPacket { + pub fn build(ty: ControlPacketType, conv: u32, token: u32, data: u32) -> Self { + use byteorder::{ByteOrder, BE}; + + let (head, tail) = ty.to_magic(); + let mut buf = [0u8; CONTROL_PACKET_SIZE]; + + BE::write_u32(&mut buf[0..4], head); + BE::write_u32(&mut buf[4..8], conv); + BE::write_u32(&mut buf[8..12], token); + BE::write_u32(&mut buf[12..16], data); + BE::write_u32(&mut buf[16..20], tail); + + Self(buf) + } + + pub fn get_type(&self) -> ControlPacketType { + ControlPacketType::from_magic(( + u32::from_be_bytes(self.0[0..4].try_into().unwrap()), + u32::from_be_bytes(self.0[16..20].try_into().unwrap()), + )) + .unwrap() + } + + pub fn get_conv(&self) -> u32 { + u32::from_be_bytes(self.0[4..8].try_into().unwrap()) + } + + pub fn get_token(&self) -> u32 { + u32::from_be_bytes(self.0[8..12].try_into().unwrap()) + } + + pub fn get_data(&self) -> u32 { + u32::from_be_bytes(self.0[12..16].try_into().unwrap()) + } + + pub fn as_slice(&self) -> &[u8] { + &self.0 + } +} + +#[derive(Debug, PartialEq)] +pub enum ControlPacketType { + Connect, + Establish, + Disconnect, +} + +impl ControlPacketType { + const CONNECT_MAGIC: (u32, u32) = (0xFF, 0xFFFFFFFF); + const ESTABLISH_MAGIC: (u32, u32) = (0x145, 0x14514545); + const DISCONNECT_MAGIC: (u32, u32) = (0x194, 0x19419494); + + pub fn to_magic(self) -> (u32, u32) { + match self { + Self::Connect => Self::CONNECT_MAGIC, + Self::Establish => Self::ESTABLISH_MAGIC, + Self::Disconnect => Self::DISCONNECT_MAGIC, + } + } + + pub fn from_magic(magic: (u32, u32)) -> Option { + Some(match magic { + Self::CONNECT_MAGIC => Self::Connect, + Self::ESTABLISH_MAGIC => Self::Establish, + Self::DISCONNECT_MAGIC => Self::Disconnect, + _ => return None, + }) + } +} + +#[derive(thiserror::Error, Debug)] +pub enum TryFromError { + #[error("unknown magic received: (0x{0:X}, 0x{1:X})")] + UnknownMagic(u32, u32), +} + +impl TryFrom<[u8; CONTROL_PACKET_SIZE]> for ControlPacket { + type Error = TryFromError; + + fn try_from(value: [u8; CONTROL_PACKET_SIZE]) -> Result { + let magic = ( + u32::from_be_bytes(value[0..4].try_into().unwrap()), + u32::from_be_bytes(value[16..20].try_into().unwrap()), + ); + + ControlPacketType::from_magic(magic) + .map(|_| Self(value)) + .ok_or(TryFromError::UnknownMagic(magic.0, magic.1)) + } +} diff --git a/crates/gate-server/src/packet/mod.rs b/crates/gate-server/src/packet/mod.rs new file mode 100644 index 0000000..c010212 --- /dev/null +++ b/crates/gate-server/src/packet/mod.rs @@ -0,0 +1,5 @@ +mod control_packet; +mod net_packet; + +pub use control_packet::{ControlPacket, ControlPacketType, CONTROL_PACKET_SIZE}; +pub use net_packet::{read_common_values, DecodeError, NetPacket}; diff --git a/crates/gate-server/src/packet/net_packet.rs b/crates/gate-server/src/packet/net_packet.rs new file mode 100644 index 0000000..a9d703f --- /dev/null +++ b/crates/gate-server/src/packet/net_packet.rs @@ -0,0 +1,92 @@ +use byteorder::{ByteOrder, BE}; +use yanagi_proto::{PacketHead, Protobuf, ProtobufDecodeError}; + +pub struct NetPacket { + pub head: PacketHead, + pub body: Proto, +} + +#[derive(thiserror::Error, Debug)] +pub enum DecodeError { + #[error("head magic mismatch")] + HeadMagicMismatch, + #[error("tail magic mismatch")] + TailMagicMismatch, + #[error("input buffer is less than overhead, len: {0}, overhead: {1}")] + InputLessThanOverhead(usize, usize), + #[error("out of bounds ({0}/{1})")] + OutOfBounds(usize, usize), + #[error("failed to decode PacketHead: {0}")] + HeadDecode(ProtobufDecodeError), + #[error("failed to decode body: {0}")] + BodyDecode(ProtobufDecodeError), +} + +const OVERHEAD: usize = 16; +const HEAD_MAGIC: [u8; 4] = 0x01234567_u32.to_be_bytes(); +const TAIL_MAGIC: [u8; 4] = 0x89ABCDEF_u32.to_be_bytes(); + +impl NetPacket +where + Proto: yanagi_proto::NapMessage, +{ + pub fn decode(buf: &[u8]) -> Result { + let (_, head_len, body_len) = read_common_values(buf)?; + + if &buf[(12 + head_len + body_len)..(16 + head_len + body_len)] != TAIL_MAGIC { + return Err(DecodeError::TailMagicMismatch); + } + + let head = PacketHead::decode(&buf[12..12 + head_len]).map_err(DecodeError::HeadDecode)?; + let mut body = Proto::decode(&buf[12 + head_len..12 + head_len + body_len]) + .map_err(DecodeError::BodyDecode)?; + + body.xor_fields(); + + Ok(NetPacket { head, body }) + } + + pub fn encode(&self) -> Box<[u8]> { + let head_len = self.head.encoded_len(); + let body_len = self.body.encoded_len(); + let encoded_len = OVERHEAD + head_len + body_len; + + let mut buf = vec![0u8; encoded_len]; + (&mut buf[0..4]).copy_from_slice(&HEAD_MAGIC); + BE::write_u16(&mut buf[4..6], self.body.get_cmd_id()); + BE::write_u16(&mut buf[6..8], head_len as u16); + BE::write_u32(&mut buf[8..12], body_len as u32); + + self.head + .encode(&mut buf[12..12 + head_len].as_mut()) + .unwrap(); + + self.body + .encode(&mut buf[12 + head_len..12 + head_len + body_len].as_mut()) + .unwrap(); + + (&mut buf[12 + head_len + body_len..16 + head_len + body_len]).copy_from_slice(&TAIL_MAGIC); + buf.into_boxed_slice() + } +} + +pub fn read_common_values(buf: &[u8]) -> Result<(u16, usize, usize), DecodeError> { + if buf.len() < OVERHEAD { + return Err(DecodeError::InputLessThanOverhead(buf.len(), OVERHEAD)); + } + + if &buf[0..4] != HEAD_MAGIC { + return Err(DecodeError::HeadMagicMismatch); + } + + let cmd_id = BE::read_u16(&buf[4..6]); + let head_len = BE::read_u16(&buf[6..8]) as usize; + let body_len = BE::read_u32(&buf[8..12]) as usize; + + let required_len = 4 + head_len + body_len; + if required_len > buf.len() { + Err(DecodeError::OutOfBounds(required_len, buf.len())) + } else { + Ok((cmd_id, head_len, body_len)) + } +} diff --git a/crates/gate-server/src/remote_config.rs b/crates/gate-server/src/remote_config.rs new file mode 100644 index 0000000..6e7f744 --- /dev/null +++ b/crates/gate-server/src/remote_config.rs @@ -0,0 +1,51 @@ +use std::time::Duration; + +use common::config::*; +use yanagi_encryption::xor::MhyXorpad; +use yanagi_http_client::AutopatchClient; + +use crate::GateServerConfig; + +pub struct RemoteConfiguration { + pub xorpad: MhyXorpad, + pub encryption_conf: EncryptionConfig, + pub port: u16, +} + +pub fn download(config: &'static GateServerConfig) -> RemoteConfiguration { + const RETRY_TIME: Duration = Duration::from_secs(5); + + let client = AutopatchClient::new(&config.design_data_url).retry_after(RETRY_TIME); + let app_config: AppConfig = client.fetch_until_success("/config.json"); + let version_info = app_config + .version_info_groups + .get(&config.bind_client_version) + .expect( + "Fatal: remote config doesn't contain configuration for specified bind_client_version", + ); + + let server_list: ServerList = client.fetch_until_success(&version_info.server_list_url); + + let server_info = server_list + .into_iter() + .find(|info| info.notice_region == config.server_name) + .expect("Fatal: remote config doesn't contain configuration with specified server_name"); + + let mut encryption_conf: EncryptionConfMap = + client.fetch_until_success(&version_info.encryption_config_url); + + let Some(encryption_conf) = encryption_conf.remove(&server_info.rsa_ver) else { + panic!( + "Fatal: remote config doesn't contain encryption config with rsa_ver: {}", + server_info.rsa_ver, + ) + }; + + let xorpad = MhyXorpad::from_ec2b(&server_info.client_secret_key).unwrap(); + + RemoteConfiguration { + xorpad, + encryption_conf, + port: server_info.port, + } +} diff --git a/crates/gate-server/src/session.rs b/crates/gate-server/src/session.rs new file mode 100644 index 0000000..9379042 --- /dev/null +++ b/crates/gate-server/src/session.rs @@ -0,0 +1,158 @@ +use std::{ + net::SocketAddr, + sync::{ + atomic::{AtomicU32, Ordering}, + mpsc, Arc, OnceLock, + }, +}; + +use qwer_rpc::RpcPtcPoint; +use tokio::sync::Mutex; +use tracing::{debug, instrument}; +use yanagi_encryption::xor::MhyXorpad; +use yanagi_proto::{NapMessage, NullMessage, PlayerGetTokenScRsp}; + +use crate::{ + net::{ + kcp_conn_mgr::KcpEvent, + packet_handler::{self, PacketHandlingError}, + }, + packet::{read_common_values, DecodeError, NetPacket}, + AppState, +}; + +pub struct SessionID { + pub conv: u32, + pub token: u32, +} + +pub struct Session { + pub conv: u32, + pub addr: SocketAddr, + pub rpc_ptc_point: Mutex>, + player_uid: OnceLock, + initial_xorpad: &'static MhyXorpad, + secret_key: OnceLock, + kcp_evt_tx: mpsc::Sender<(u32, KcpEvent)>, + seq_id: AtomicU32, +} + +impl Session { + pub fn new( + conv: u32, + addr: SocketAddr, + initial_xorpad: &'static MhyXorpad, + kcp_evt_tx: mpsc::Sender<(u32, KcpEvent)>, + rpc_ptc_point: Mutex>, + ) -> Self { + Self { + conv, + addr, + kcp_evt_tx, + rpc_ptc_point, + initial_xorpad, + seq_id: AtomicU32::new(0), + secret_key: OnceLock::new(), + player_uid: OnceLock::new(), + } + } + + pub async fn process( + &self, + buf: &mut [u8], + state: &'static AppState, + ) -> Result<(), PacketHandlingError> { + self.xor_packet_body(buf)?; + packet_handler::decode_and_handle(self, state, buf).await + } + + pub fn send_rsp(&self, rpc_id: u32, mut msg: impl NapMessage) { + use yanagi_proto::CmdID; + + let cmd_id = msg.get_cmd_id(); + debug!("send_rsp: {cmd_id}"); + + msg.xor_fields(); + + let seq_id = (cmd_id != yanagi_proto::PlayerGetTokenScRsp::CMD_ID) + .then_some( + self.seq_id + .fetch_add(1, std::sync::atomic::Ordering::SeqCst), + ) + .unwrap_or(0); + + self.send(NetPacket { + head: yanagi_proto::PacketHead { + packet_id: seq_id, + request_id: rpc_id, + ..Default::default() + }, + body: msg, + }); + } + + #[instrument(skip_all, name = "session", fields(addr = %self.addr))] + pub fn notify(&self, mut msg: impl NapMessage) { + debug!("notify: {}", msg.get_cmd_id()); + + msg.xor_fields(); + self.send(NetPacket { + head: yanagi_proto::PacketHead { + ..Default::default() + }, + body: msg, + }) + } + + pub fn send_null_rsp(&self, rpc_id: u32) { + let seq_id = self.seq_id.fetch_add(1, Ordering::SeqCst); + + self.send(NetPacket { + head: yanagi_proto::PacketHead { + packet_id: seq_id, + request_id: rpc_id, + ..Default::default() + }, + body: NullMessage::default(), + }); + } + + fn send(&self, packet: NetPacket) { + let mut buf = packet.encode(); + self.xor_packet_body(&mut buf).unwrap(); + + let _ = self.kcp_evt_tx.send((self.conv, KcpEvent::Send(buf))); + } + + pub fn set_secret_key(&self, seed: u64) { + let _ = self.secret_key.set(MhyXorpad::new::(seed)); + } + + pub fn is_logged_in(&self) -> bool { + self.player_uid.get().is_some() + } + + pub fn get_player_uid(&self) -> u32 { + self.player_uid.get().copied().unwrap_or(0) + } + + pub fn set_player_uid(&self, uid: u32) { + let _ = self.player_uid.set(uid); + } + + #[inline] + pub fn xor_packet_body(&self, packet: &mut [u8]) -> Result<(), DecodeError> { + use yanagi_proto::CmdID; + + let (cmd_id, head_len, body_len) = read_common_values(packet)?; + let body = &mut packet[12 + head_len..12 + head_len + body_len]; + + match self.secret_key.get() { + _ if cmd_id == PlayerGetTokenScRsp::CMD_ID => self.initial_xorpad.xor(body), + Some(key) => key.xor(body), + None => self.initial_xorpad.xor(body), + } + + Ok(()) + } +} diff --git a/crates/gate-server/src/udp_server.rs b/crates/gate-server/src/udp_server.rs new file mode 100644 index 0000000..c6f3bb4 --- /dev/null +++ b/crates/gate-server/src/udp_server.rs @@ -0,0 +1,158 @@ +use std::{ + collections::HashMap, + net::{SocketAddr, UdpSocket}, + sync::{mpsc, Arc}, +}; + +use rand::RngCore; + +use crate::{ + net::{ + kcp_conn_mgr::{self, KcpEvent}, + packet_processor, + }, + packet::{self, ControlPacket, ControlPacketType}, + session::SessionID, + AppState, +}; + +pub struct UdpServer { + socket: Arc, + sessions: HashMap, + kcp_conn_mgr_tx: mpsc::Sender<(u32, KcpEvent)>, + packet_processor_tx: tokio::sync::mpsc::Sender, +} + +impl UdpServer { + pub fn new(udp_addr: &str, state: &'static AppState) -> std::io::Result { + let socket = Arc::new(UdpSocket::bind(udp_addr)?); + let (kcp_tx, kcp_rx) = mpsc::channel(); + + let proc_tx = packet_processor::start(kcp_tx.clone(), state); + kcp_conn_mgr::start(kcp_rx, proc_tx.clone(), socket.clone()); + + Ok(Self { + kcp_conn_mgr_tx: kcp_tx, + packet_processor_tx: proc_tx, + socket, + sessions: HashMap::new(), + }) + } + + pub fn serve(mut self) { + tracing::info!("UDP server is up at {}", self.socket.local_addr().unwrap()); + + let mut session_counter = 0; + let mut buf = [0u8; 1400]; + loop { + let Ok((len, addr)) = self + .socket + .recv_from(&mut buf) + .inspect_err(|err| tracing::debug!("recv_from failed: {err}")) + else { + continue; + }; + + match len { + packet::CONTROL_PACKET_SIZE => self.handle_control_packet( + buf[..packet::CONTROL_PACKET_SIZE].try_into().unwrap(), + addr, + &mut session_counter, + ), + kcp::KCP_OVERHEAD.. => { + let buf = &buf[..len]; + if let Some(id) = self.sessions.get(&kcp::get_conv(buf)) { + let token = kcp::get_token(buf); + if token != id.token { + tracing::debug!( + "session token mismatch! Expected: {}, received: {}, conv: {} client_addr: {}", + id.token, + token, + id.conv, + addr, + ); + } + + self.kcp_conn_mgr_tx + .send((id.conv, KcpEvent::Recv(buf.into()))) + .unwrap(); + } + } + _ => (), + } + } + } + + fn handle_control_packet( + &mut self, + buf: [u8; packet::CONTROL_PACKET_SIZE], + addr: SocketAddr, + s_counter: &mut u32, + ) { + let Ok(packet) = ControlPacket::try_from(buf).inspect_err(|err| { + tracing::debug!("ControlPacket::try_from failed: {err}, client_addr: {addr}") + }) else { + return; + }; + + match packet.get_type() { + ControlPacketType::Connect => { + tracing::info!("new connection from {addr}, data: {}", packet.get_data()); + + *s_counter += 1; + self.on_connect(*s_counter, rand::thread_rng().next_u32(), addr); + } + ControlPacketType::Disconnect => { + if let Some(id) = self.sessions.get(&packet.get_conv()) { + if id.token != packet.get_token() { + tracing::debug!( + "disconnect: session token mismatch! Expected: {}, received: {}, conv: {} client_addr: {}", + id.token, + packet.get_token(), + id.conv, + addr, + ); + return; + } + + self.on_disconnect(packet, addr); + } + } + unsupported => tracing::debug!("received {unsupported:?} from client_addr: {addr}"), + } + } + + fn on_connect(&mut self, conv: u32, token: u32, addr: SocketAddr) { + self.kcp_conn_mgr_tx + .send((conv, KcpEvent::Establish(token, addr))) + .unwrap(); + self.packet_processor_tx + .blocking_send(packet_processor::Input::CreateSession(conv, addr)) + .unwrap(); + + self.sessions.insert(conv, SessionID { conv, token }); + + self.send_control_packet( + ControlPacket::build(ControlPacketType::Establish, conv, token, 0), + addr, + ); + } + + fn on_disconnect(&mut self, pk: ControlPacket, addr: SocketAddr) { + let conv = pk.get_conv(); + self.send_control_packet(pk, addr); + + tracing::info!("client from {addr} disconnected, (conv: {conv})"); + + self.sessions.remove(&conv); + self.kcp_conn_mgr_tx.send((conv, KcpEvent::Drop)).unwrap(); + self.packet_processor_tx + .blocking_send(packet_processor::Input::RemoveSession(conv)) + .unwrap(); + } + + fn send_control_packet(&self, packet: ControlPacket, addr: SocketAddr) { + let socket = self.socket.clone(); + let _ = socket.send_to(packet.as_slice(), addr); + } +} diff --git a/crates/protocol/Cargo.toml b/crates/protocol/Cargo.toml new file mode 100644 index 0000000..5082237 --- /dev/null +++ b/crates/protocol/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "protocol" +edition = "2021" +version.workspace = true + +[dependencies] +thiserror.workspace = true +qwer.workspace = true +protocol-macros = { path = "protocol-macros" } diff --git a/crates/protocol/protocol-macros/Cargo.toml b/crates/protocol/protocol-macros/Cargo.toml new file mode 100644 index 0000000..f5b412a --- /dev/null +++ b/crates/protocol/protocol-macros/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "protocol-macros" +version = "0.1.0" +edition = "2021" + +[dependencies] +syn = "2.0.53" +quote = "1.0.35" +proc-macro2 = "1.0.79" + +[lib] +proc-macro = true diff --git a/crates/protocol/protocol-macros/src/lib.rs b/crates/protocol/protocol-macros/src/lib.rs new file mode 100644 index 0000000..6b998f1 --- /dev/null +++ b/crates/protocol/protocol-macros/src/lib.rs @@ -0,0 +1,150 @@ +use proc_macro::TokenStream; +use proc_macro2::Span; +use quote::quote; +use syn::{ + braced, bracketed, + parse::{Parse, ParseStream}, + parse_macro_input, + punctuated::Punctuated, + token, Ident, LitInt, Token, Type, +}; + +struct PolymorphicInput { + name: Ident, + _brace_token: token::Bracket, + common_fields: Punctuated, + structs: Punctuated, +} + +struct FieldEntry { + name: Ident, + _colon_token: Token![:], + ty: Type, +} + +struct StructEntry { + name: Ident, + _brace_token: token::Brace, + fields: Punctuated, + _eq_token: Token![=], + discriminant: LitInt, +} + +impl Parse for PolymorphicInput { + fn parse(input: ParseStream) -> syn::Result { + let content; + Ok(Self { + name: input.parse()?, + _brace_token: bracketed!(content in input), + common_fields: content.parse_terminated(FieldEntry::parse, Token![,])?, + structs: input.parse_terminated(StructEntry::parse, Token![,])?, + }) + } +} + +impl Parse for FieldEntry { + fn parse(input: ParseStream) -> syn::Result { + Ok(Self { + name: input.parse()?, + _colon_token: input.parse()?, + ty: input.parse()?, + }) + } +} + +impl Parse for StructEntry { + fn parse(input: ParseStream) -> syn::Result { + let content; + Ok(Self { + name: input.parse()?, + _brace_token: braced!(content in input), + fields: content.parse_terminated(FieldEntry::parse, Token![,])?, + _eq_token: input.parse()?, + discriminant: input.parse()?, + }) + } +} + +#[proc_macro] +pub fn polymorphic(input: TokenStream) -> TokenStream { + let input = parse_macro_input!(input as PolymorphicInput); + let enum_name = &input.name; + + let mut variants = quote!(); + for stru in input.structs.iter() { + let variant_name = &stru.name; + let variant_discr = &stru.discriminant; + let mut fields = quote!(); + + for field in input.common_fields.iter().chain(stru.fields.iter()) { + let field_name = &field.name; + let field_type = &field.ty; + + fields.extend(quote! { + #field_name: #field_type, + }); + } + + variants.extend(quote! { + #variant_name { + #fields + } = #variant_discr, + }); + } + + let mut getters_and_setters = quote!(); + for field in input.common_fields.iter() { + let field_type = &field.ty; + let field_name = &field.name; + let getter_name = Ident::new(&format!("get_{}", field_name), Span::call_site()); + let setter_name = Ident::new(&format!("set_{}", field_name), Span::call_site()); + + let mut getter_match_arms = quote!(); + let mut setter_match_arms = quote!(); + + for stru in input.structs.iter() { + let stru_name = &stru.name; + getter_match_arms.extend(quote! { + Self::#stru_name { #field_name, .. } => #field_name, + }); + setter_match_arms.extend(quote! { + Self::#stru_name { #field_name, .. } => { *#field_name = value; }, + }); + } + + getters_and_setters.extend(quote! { + pub fn #getter_name(&self) -> &#field_type { + match self { + #getter_match_arms + } + } + + pub fn #setter_name(&mut self, value: #field_type) { + match self { + #setter_match_arms + } + } + }); + } + + // can't use base_fields_count directly in 'quote!' + // 'quote!' puts suffixed literal, but it's not allowed in attributes + let base_fields_count = input.common_fields.len(); + let base_attr = format!("#[base = {base_fields_count}]") + .parse::() + .unwrap(); + + quote! { + #[derive(Debug, Clone, ::qwer::OctData)] + #[repr(u32)] + #base_attr + pub enum #enum_name { + #variants + } + + impl #enum_name { + #getters_and_setters + } + } + .into() +} diff --git a/crates/protocol/src/action_info.rs b/crates/protocol/src/action_info.rs new file mode 100644 index 0000000..d8ab61a --- /dev/null +++ b/crates/protocol/src/action_info.rs @@ -0,0 +1,74 @@ +use protocol_macros::polymorphic; +use qwer::{OctData, PropertyHashMap}; + +use crate::{player_info::ChoiceInfo, HollowShopCurrency, HollowShopType}; + +#[derive(OctData, Clone, Debug)] +pub struct ConfigItem { + pub uid: i32, + pub item_id: i32, + pub count: i32, + pub value: i32, + pub base_value: i32, + pub discount: i32, +} + +#[derive(OctData, Clone, Debug)] +pub struct ConfigShopInfo { + pub goods: Vec, + pub currency: HollowShopCurrency, +} + +polymorphic!( + ActionInfo [] + ServerChoices { + choices: Vec, + finished: bool, + } = 52, + DropHollowItem { + drop_item: i32, + } = 162, + FinishBlackout { + finished: bool, + show_tips: bool, + } = 133, + Loop { + loop_times: u16, + } = 141, + Perform { + step: u8, + r#return: PropertyHashMap, + } = 23, + /*PrepareNextHollow { + section_id: i32, + finished: bool, + show_other: bool, + main_map: HollowGridMapProtocolInfo, + } = 130,*/ // TODO! + ActionRandomChallenge { + choices: Vec, + choice_result: i32, + finished: bool, + } = 109, + RemoveCurse { + curse_can_remove: Vec, + to_remove_num: u8, + choosed: bool, + } = 105, + SetHollowSystemState { + finished: bool, + } = 134, + Shop { + shop_info: PropertyHashMap, + finished: bool, + } = 62, + SlotMachine { + indexes: Vec, + index: i32, + finished: bool, + } = 131, + TriggerBattle { + next_action_id: i32, + finished: bool, + } = 56, +); diff --git a/crates/protocol/src/dungeon_info.rs b/crates/protocol/src/dungeon_info.rs new file mode 100644 index 0000000..dc707a1 --- /dev/null +++ b/crates/protocol/src/dungeon_info.rs @@ -0,0 +1,63 @@ +use qwer::{OctData, PropertyDoubleKeyHashMap, PropertyHashMap}; + +use crate::{DungeonContentDropPoolType, PropertyType, ReportType}; + +#[derive(OctData, Clone, Debug)] +pub struct AvatarPropertyChgInHollow { + pub hp_lost: i32, + pub hp_add: i32, +} + +#[derive(OctData, Clone, Debug)] +pub struct AvatarUnitInfo { + pub uid: u64, + pub properties_uid: u64, + pub is_banned: bool, + pub modified_property: PropertyDoubleKeyHashMap, + pub hp_lost_hollow: i32, + pub hp_add_hollow: i32, + pub layer_property_change: PropertyHashMap, +} + +#[derive(OctData, Clone, Debug)] +pub struct BuddyUnitInfo { + pub uid: u64, + pub properties: u64, +} + +#[derive(OctData, Clone, Debug)] +pub struct DungeonDropPollInfo { + pub action_card_mask: PropertyHashMap, +} + +#[derive(OctData, Clone, Debug)] +pub struct BattleReport { + pub index: i32, + pub report_type: ReportType, + pub id: i32, +} + +#[derive(OctData, Clone, Debug)] +pub struct DungeonInfo { + pub uid: u64, + pub id: i32, + pub default_scene_uid: u64, + pub start_timestamp: u64, + pub to_be_destroyed: bool, + pub back_scene_uid: u64, + pub quest_collection_uid: u64, + pub avatars: PropertyHashMap, + pub buddy: BuddyUnitInfo, + pub world_quest_id: i32, + pub scene_properties_uid: u64, + pub drop_poll_chg_infos: PropertyHashMap, + pub is_in_dungeon: bool, + pub initiative_item: i32, + pub initiative_item_used_times: i32, + pub avatar_map: PropertyHashMap, + pub battle_report: Vec, + pub dungeon_group_uid: u64, + pub entered_times: u16, + pub is_preset_avatar: bool, + pub hollow_event_version: i32, +} diff --git a/crates/protocol/src/enums.rs b/crates/protocol/src/enums.rs new file mode 100644 index 0000000..10fbebb --- /dev/null +++ b/crates/protocol/src/enums.rs @@ -0,0 +1,426 @@ +use qwer::OctData; + +#[derive(OctData, Clone, Debug, PartialEq, Eq)] +#[repr(i16)] +pub enum ActionState { + Init = 0, + Running = 1, + Finished = 2, + Error = 3, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq)] +#[repr(i16)] +pub enum EventState { + Initing = 0, + Running = 1, + Pause = 2, + WaitingMsg = 3, + WaitingClient = 4, + Finished = 5, + Error = 6, +} + +#[derive(OctData, Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[repr(i16)] +pub enum HollowQuestType { + Common = 0, + MainQuest = 1, + SideQuest = 2, + Urgent = 3, + UrgentSupplement = 4, + Challenge = 5, + ChallengeChaos = 6, + AvatarSide = 7, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[repr(i16)] +pub enum HollowShopType { + None = 0, + Item = 1, + Card = 2, + Curse = 3, + HollowItem = 4, + Discount = 5, + Gachashop = 6, + UpgradeCard = 7, +} + +#[derive(OctData, Clone, Debug)] +#[repr(i16)] +pub enum HollowShopCurrency { + Coin = 1, + Curse = 2, + Random = 3, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq)] +#[repr(i16)] +pub enum HollowBattleEventType { + Default = 0, + Normal = 1, + Elite = 2, + Boss = 3, + LevelEnd = 4, + LevelFin = 5, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq)] +#[repr(i16)] +pub enum LocalPlayType { + ArchiveLongFight = 212, + TrainingRootTactics = 292, + OperationBetaDemo = 216, + LevelZero = 205, + BossLittleBattleLongfight = 215, + BuddyTowerdefenseBattle = 227, + TrainingRoom = 290, + ChessBoardLongfihgtBattle = 204, + BossBattle = 210, + DualElite = 208, + HadalZoneBosschallenge = 224, + BigBossBattle = 211, + BigBossBattleLongfight = 217, + SideScrollingThegunBattle = 221, + MpBigBossBattle = 214, + RallyLongFight = 207, + PureHollowBattle = 280, + S2RogueBattle = 226, + AvatarDemoTrial = 213, + GuideSpecial = 203, + BossRushBattle = 218, + HadalZone = 209, + OperationTeamCoop = 219, + PureHollowBattleLonghfight = 281, + MapChallengeBattle = 291, + BossNestHardBattle = 220, + PureHollowBattleHardmode = 282, + BabelTower = 223, + MiniScapeBattle = 228, + DailyChallenge = 206, + HadalZoneAlivecount = 222, + Unknown = 0, + ArchiveBattle = 201, + ChessBoardBattle = 202, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq)] +#[repr(i32)] +pub enum WeatherType { + None = -1, + SunShine = 0, + Cloudy = 2, + Rain = 3, + Thunder = 4, + ThickFog = 5, + ThickCloudy = 6, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq)] +#[repr(i16)] +pub enum TimePeriodType { + Morning = 0, + Evening = 1, + Night = 2, +} + +impl WeatherType { + pub fn to_protocol_string(&self) -> String { + format!("{self:?}") + } +} + +impl TimePeriodType { + pub fn to_protocol_string(&self) -> String { + format!("{self:?}") + } +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq)] +#[repr(i16)] +pub enum MailState { + New = 0, + Old = 1, + Read = 2, + Awarded = 3, + Removed = 4, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq)] +#[repr(i16)] +pub enum ReportType { + Fairy = 0, + Dialog = 1, + Task = 2, + DialogInFairy = 3, +} + +#[derive(OctData, Copy, Clone, Debug, PartialEq, Eq)] +#[repr(u16)] +pub enum UIType { + Default = 0, + None = 1, + HollowQuest = 2, + Archive = 3, +} + +#[derive(OctData, Clone, Debug)] +#[repr(i16)] +pub enum QuestState { + Unlocked = 0, + Ready = 10, + InProgress = 1, + ToFinish = 2, + Finished = 3, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[repr(u8)] +pub enum QuestStatisticsType { + ArrivedLevel = 1, + EventCount = 2, + CostTime = 3, + KilledEnemyCount = 4, + ArcanaCount = 5, + TarotCardCount = 6, + StaminaOverLevelTimes = 7, + RebornTimes = 8, + FinishedEventTypeCount = 9, + FinishedEventIDCount = 10, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[repr(u8)] +pub enum DungeonContentDropPoolType { + Card = 0, + BaneCard = 1, + Arcana = 2, + Blessing = 3, + Curse = 4, + Reward = 5, + HollowItem = 6, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq)] +#[repr(u8)] +pub enum FairyState { + Unlock = 0, + Close = 1, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[repr(i16)] +pub enum QuestType { + ArchiveFile = 1, + DungeonInner = 2, + Hollow = 3, + Manual = 4, + MainCity = 5, + HollowChallenge = 6, + ArchiveBattle = 7, + Knowledge = 8, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[repr(u32)] +pub enum HallRefreshStatus { + Auto = 0, + True = 1, + False = 2, +} + +#[derive(OctData, Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[repr(u32)] +pub enum PropertyType { + SpMaxDelta = 11503, + AtkDelta = 12103, + ElementAbnormalPowerBase = 31401, + BreakStunDeltaRl = 12205, + BreakStun = 122, + HpMaxBase = 11101, + AddedDamageRatioFire3 = 31603, + BreakStunDelta = 12203, + HpHealRatio1 = 30601, + CritBase = 20101, + CritRes = 202, + CurBuddyBattery = 320, + DefDelta = 13103, + AddedElementAccumulationRatio3 = 31303, + AddedDamageRatioPhysics = 315, + AddedDamageRatioPhysicsBattle = 1315, + ShieldMax = 113, + AddedDamageRatioPhysicsRl = 31505, + EnduranceBattle = 1301, + PenValue = 232, + DamageTakeRatio3 = 30803, + BreakStunRatioRl = 12204, + ShieldMaxRatioRl = 11304, + PenDeltaRl = 23205, + MaxIndividualFever = 118, + PenRatioBattle = 1231, + PenRatioRl = 23105, + AllDamageResistBattle = 1309, + HpMax = 111, + StunMax = 114, + AtkBase = 12101, + CritDmg = 211, + AddedElementAccumulationRatio = 313, + PenValueBase = 23201, + StunMaxBattle = 1114, + DefDeltaRl = 13105, + AddedDamageRatioIce1 = 31701, + HpMaxRatio = 11102, + AddedDamageRatio = 307, + FeverGetRatioRl = 31105, + ElementAbnormalPowerBattle = 1314, + DefBase = 13101, + BreakStunRatio = 12202, + SpRecover = 305, + Sp = 5, + AllDamageResist1 = 30901, + ArmorMaxRatioRl = 11204, + ElementMysteryBase = 31201, + AddedDamageRatio1 = 30701, + AddedDamageRatioEther1 = 31901, + SpGetRatio1 = 31001, + ElementMysteryDelta = 31203, + CritResDelta = 20203, + Crit = 201, + HpHealRatio3 = 30603, + AtkBattle = 1121, + MapHpreserveCurhp = 10330, + ArmorMaxDelta = 11203, + UspMaxBase = 11601, + ElementAbnormalPowerDelta = 31403, + DamageTakeRatio1 = 30801, + AddedDamageRatio3 = 30703, + DamageTakeRatioBattle = 1308, + CritDmgRes = 212, + ArmorMaxBase = 11201, + CritDmgResRl = 21205, + PenDeltaBattle = 1232, + AddedDamageRatioIceRl = 31705, + AddedDamageRatioElec = 318, + EnduranceBase = 30101, + SpGetRatio = 310, + AddedDamageRatioPhysics1 = 31501, + Atk = 121, + DefRatioRl = 13104, + Armor = 2, + AtkDeltaRl = 12105, + ArmorMaxRatio = 11202, + SpBattle = 1115, + CritDmgRl = 21105, + PenDelta = 23103, + UspMax = 116, + MapHpreserveMaxhp = 10320, + HpMaxBattle = 1111, + SpRecoverRatioRl = 30504, + FeverGetRatio3 = 31103, + HpHealRatioRl = 30605, + EnumCount = 100, + AddedDamageRatioFireRl = 31605, + AddedDamageRatioElec3 = 31803, + SpMaxDeltaRl = 11505, + CritDmgResBase = 21201, + SpGetRatioRl = 31005, + AddedDamageRatioElecRl = 31805, + ShieldMaxBattle = 1113, + AllDamageResist = 309, + EnduranceRatio = 30102, + EnduranceDeltaRl = 30105, + ElementAbnormalPower = 314, + EnduranceDelta = 30103, + HpHealRatio = 306, + ArmorMax = 112, + CritDmgResDelta = 21203, + StunMaxRatio = 11402, + AddedDamageRatioElecBattle = 1318, + ShieldMaxRatio = 11302, + AddedElementAccumulationRatioBattle = 1313, + SpRecoverRatio = 30502, + DamageTakeRatio = 308, + ShieldMaxDelta = 11303, + EnduranceRatioRl = 30104, + AddedDamageRatioIce3 = 31703, + CritResBattle = 1202, + AddedElementAccumulationRatioRl = 31305, + Stun = 4, + AddedDamageRatioEther3 = 31903, + AtkRatio = 12102, + FeverGetRatioBattle = 1311, + SpGetRatioBattle = 1310, + ElementMysteryBattle = 1312, + DamageTakeRatioRl = 30805, + StunMaxBase = 11401, + BreakStunBase = 12201, + FeverGetRatio = 311, + SpMax = 115, + HpMaxDeltaRl = 11105, + ActorMaxCurHP = 10350, + ShieldMaxBase = 11301, + MaxBuddyBattery = 321, + Hp = 1, + AtkRatioRl = 12104, + AddedDamageRatioFire1 = 31601, + ArmorMaxDeltaRl = 11205, + ArmorMaxBattle = 1112, + AddedDamageRatioPhysics3 = 31503, + Shield = 3, + CritBattle = 1201, + Usp = 6, + HpHealRatioBattle = 1306, + CritDelta = 20103, + AddedDamageRatioFire = 316, + SpRecoverDeltaRl = 30505, + AddedDamageRatioIce = 317, + HpMaxRatioRl = 11104, + DefBattle = 1131, + AddedDamageRatioRl = 30705, + DefRatio = 13102, + AddedDamageRatioEtherRl = 31905, + UspBattle = 1116, + Endurance = 301, + AddedDamageRatioEtherBattle = 1319, + AllDamageResistRl = 30905, + SpRecoverBase = 30501, + AtkTrans = 12109, + AddedDamageRatioFireBattle = 1316, + AllDamageResist3 = 30903, + CritResBase = 20201, + StunMaxRatioRl = 11404, + UspMaxDelta = 11603, + Pen = 231, + StunMaxDeltaRl = 11405, + UspMaxDeltaRl = 11605, + SpMaxBase = 11501, + ShieldMaxDeltaRl = 11305, + AddedDamageRatioBattle = 1307, + Def = 131, + AddedDamageRatioEther = 319, + MapHpreserveAbsolute = 10340, + PenValueDelta = 23203, + SpRecoverDelta = 30503, + IndividualFever = 8, + AtkTransBase = 12108, + FeverGetRatio1 = 31101, + AddedDamageRatioElec1 = 31801, + CritRl = 20105, + SpGetRatio3 = 31003, + CritResRl = 20205, + BreakStunBattle = 1122, + ElementAbnormalPowerRatio = 31402, + SpRecoverBattle = 1305, + CritDmgResBattle = 1212, + Dead = 99, + CritDmgBattle = 1211, + AddedElementAccumulationRatio1 = 31301, + StunMaxDelta = 11403, + HpMaxDelta = 11103, + AddedDamageRatioIceBattle = 1317, + CritDmgBase = 21101, + PenBase = 23101, + CritDmgDelta = 21103, + ElementMystery = 312, +} diff --git a/crates/protocol/src/event_graph_info.rs b/crates/protocol/src/event_graph_info.rs new file mode 100644 index 0000000..b1cf8ea --- /dev/null +++ b/crates/protocol/src/event_graph_info.rs @@ -0,0 +1,33 @@ +use protocol_macros::polymorphic; +use qwer::{OctData, PropertyHashMap}; + +use crate::{player_info::EventInfo, InteractInfo}; + +#[derive(OctData, Clone, Debug)] +pub struct EventListenerInfo { + pub event_graph_id: i32, + pub events_to_trigger: Vec, +} + +polymorphic!( + EventGraphInfo [ + events_info: PropertyHashMap, + specials: PropertyHashMap, + is_new: bool, + finished: bool, + list_specials: PropertyHashMap>, + ] + Hollow { + fired_count: u8, + hollow_event_template_id: i32, + uid: u64, + is_created_by_gm: bool, + } = 3, + NPC { + sequence_of_group: u16, + section_list_events: PropertyHashMap, + interact_info: InteractInfo, + hide: bool, + } = 2, + Section { } = 1, +); diff --git a/crates/protocol/src/item_info.rs b/crates/protocol/src/item_info.rs new file mode 100644 index 0000000..7d59e40 --- /dev/null +++ b/crates/protocol/src/item_info.rs @@ -0,0 +1,78 @@ +use protocol_macros::polymorphic; +use qwer::{OctData, PropertyHashMap}; + +use crate::PropertyType; + +#[derive(OctData, Clone, Debug, PartialEq, Eq)] +pub struct PropertyKeyValue { + pub key: PropertyType, + pub value: i32, +} + +polymorphic!( + ItemInfo [ + uid: u64, + id: i32, + count: i32, + package: u16, + first_get_time: u64 + ] + Arcana { + affix_list: Vec, + dress_index: u8, + } = 33, + AvatarInfo { + star: u8, + exp: u32, + level: u8, + rank: u8, + unlocked_talent_num: u8, + talent_switch: Vec, + skills: PropertyHashMap, + is_custom_by_dungeon: bool, + robot_id: i32 + } = 3, + AvatarLevelUpMaterial {} = 12, + AvatarPiece {} = 4, + Bless { + remain_time: i32, + get_time: u64, + ban_character: Vec, + specials: PropertyHashMap, + slot: u8, + is_super_curse: bool, + } = 32, + Buddy {} = 8, + Consumable {} = 10, + Currency {} = 1, + Equip { + avatar_uid: u64, + avatar_dressed_index: u8, + rand_properties: Vec, + star: u8, + exp: u32, + level: u8, + lock: u8, + base_rand_properties: Vec, + rand_properties_lv: Vec, + } = 7, + EquipLevelUpMaterial { } = 14, + Gift { } = 51, + HollowItem { } = 15, + OptionalGift { } = 52, + Resource { } = 2, + TarotCard { + is_mute: bool, + specials: PropertyHashMap, + } = 31, + Useable { } = 11, + Weapon { + avatar_uid: u64, + star: u8, + exp: u32, + level: u8, + lock: u8, + refine_level: u8, + } = 5, + WeaponLevelUpMaterial { } = 13, +); diff --git a/crates/protocol/src/lib.rs b/crates/protocol/src/lib.rs new file mode 100644 index 0000000..f645c70 --- /dev/null +++ b/crates/protocol/src/lib.rs @@ -0,0 +1,1119 @@ +use std::collections::HashMap; + +use qwer::{OctData, ProtocolID}; + +mod enums; +pub mod util; + +pub mod action_info; +pub mod dungeon_info; +pub mod event_graph_info; +pub mod item_info; +pub mod player_info; +pub mod quest_info; +pub mod scene_ext; +pub mod scene_info; +pub use enums::*; + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(100)] +pub struct RpcPlayerLoginArg { + pub platform: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcPlayerLoginRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default)] +pub struct PlayerBasicInfo { + pub avatar_id: u32, + pub last_enter_world_timestamp: i64, + pub player_avatar_id: u32, + pub main_city_avatar_id: u32, + pub level: u32, + pub nick_name: String, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(101)] +pub struct RpcGetPlayerBasicInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetPlayerBasicInfoRet { + pub retcode: i32, + pub basic_info: PlayerBasicInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(102)] +pub struct RpcGetAvatarDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct AvatarSkillInfo { + pub skill_type: u32, + pub level: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct AvatarInfo { + pub template_id: u32, + pub level: u32, + pub exp: u32, + pub star: u32, + pub rank: u32, + pub first_get_time: i64, + pub unlocked_talent_num: u32, + pub talent_switch_list: Vec, + pub skill_type_level: Vec, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetAvatarDataRet { + pub retcode: i32, + pub avatar_list: Vec, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(103)] +pub struct RpcGetWeaponDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct WeaponInfo { + pub template_id: u32, + pub level: u32, + pub exp: u32, + pub star: u32, + pub refine_level: u32, + pub uid: u32, + pub lock: bool, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetWeaponDataRet { + pub retcode: i32, + pub weapon_list: Vec, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(104)] +pub struct RpcGetEquipDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct EquipInfo { + pub template_id: u32, + pub level: u32, + pub exp: u32, + pub star: u32, + pub uid: u32, + pub lock: bool, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetEquipDataRet { + pub retcode: i32, + pub equip_list: Vec, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(105)] +pub struct RpcGetResourceDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct ResourceInfo { + pub template_id: u32, + pub count: i32, +} + +#[derive(OctData, Clone, Debug, Default)] +pub struct AutoRecoveryInfo { + pub last_recovery_timestamp: i64, + pub buy_times: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetResourceDataRet { + pub retcode: i32, + pub resource_list: Vec, + pub auto_recovery_info: HashMap, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(106)] +pub struct RpcGetQuestDataArg { + pub quest_type: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct QuestData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetQuestDataRet { + pub retcode: i32, + pub quest_type: u32, + pub quest_data: QuestData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(107)] +pub struct RpcGetArchiveInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct VideotapeInfo { + pub archive_file_id: u32, + pub finished: bool, +} + +#[derive(OctData, Debug, Default)] +pub struct ArchiveInfo { + pub hollow_archive_id_list: Vec, + pub videotaps_info: Vec, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetArchiveInfoRet { + pub retcode: i32, + pub archive_info: ArchiveInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(108)] +pub struct RpcGetYorozuyaInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct YorozuyaInfo { + pub unlock_hollow_id_list: Vec, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetYorozuyaInfoRet { + pub retcode: i32, + pub yorozuya_info: YorozuyaInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(109)] +pub struct RpcGetAbyssInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct AbyssInfo {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetAbyssInfoRet { + pub retcode: i32, + pub abyss_info: AbyssInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(110)] +pub struct RpcGetBuddyDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetBuddyDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(111)] +pub struct RpcGetAbyssArpeggioDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetAbyssArpeggioDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(112)] +pub struct RpcGetServerTimestampArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetServerTimestampRet { + pub retcode: i32, + pub utc_offset: i32, + pub timestamp: u64, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(113)] +pub struct RpcGetVideoUsmKeyDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetVideoUsmKeyDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(114)] +pub struct RpcGetAuthkeyArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetAuthkeyRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(115)] +pub struct RpcGetGachaDataArg { + pub gacha_type: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct GachaData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetGachaDataRet { + pub retcode: i32, + pub gacha_type: u32, + pub gacha_data: GachaData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(116)] +pub struct RpcGetCampIdleDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct CampIdleData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetCampIdleDataRet { + pub retcode: i32, + pub camp_idle_data: CampIdleData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(117)] +pub struct RpcSavePlayerSystemSettingArg { + pub params: u32, + pub r#type: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcSavePlayerSystemSettingRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(118)] +pub struct RpcGetRamenDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RamenData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetRamenDataRet { + pub retcode: i32, + pub ramen_data: RamenData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(119)] +pub struct RpcGetCafeDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct CafeData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetCafeDataRet { + pub retcode: i32, + pub cafe_data: CafeData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(120)] +pub struct RpcGetRewardBuffDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RewardBuffData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetRewardBuffDataRet { + pub retcode: i32, + pub info: RewardBuffData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(121)] +pub struct RpcGetPlayerMailsArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetPlayerMailsRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(122)] +pub struct RpcGetFairyInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct FairyInfo {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetFairyInfoRet { + pub retcode: i32, + pub info: FairyInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(123)] +pub struct RpcGetTipsInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct TipsInfo {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetTipsInfoRet { + pub retcode: i32, + pub tips_info: TipsInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(124)] +pub struct RpcGetClientSystemsInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct ClientSystemsInfo {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetClientSystemsInfoRet { + pub retcode: i32, + pub info: ClientSystemsInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(125)] +pub struct RpcGetPrivateMessageDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct PrivateMessageData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetPrivateMessageDataRet { + pub retcode: i32, + pub private_message_data: PrivateMessageData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(126)] +pub struct RpcGetCollectMapArg {} + +#[derive(OctData, Debug, Default)] +pub struct CollectMap {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetCollectMapRet { + pub retcode: i32, + pub collect_map: CollectMap, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(127)] +pub struct RpcGetWorkbenchInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct WorkbenchInfo {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetWorkbenchInfoRet { + pub retcode: i32, + pub workbench_info: WorkbenchInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(128)] +pub struct RpcGetAbyssRewardDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct AbyssRewardData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetAbyssRewardDataRet { + pub retcode: i32, + pub abyss_reward_data: AbyssRewardData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(129)] +pub struct RpcGetVhsStoreInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct VhsStoreInfo {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetVhsStoreInfoRet { + pub retcode: i32, + pub info: VhsStoreInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(130)] +pub struct RpcGetActivityDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetActivityDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(131)] +pub struct RpcGetWebActivityDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetWebActivityDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(132)] +pub struct RpcGetEmbattlesDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct EmbattlesData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetEmbattlesDataRet { + pub retcode: i32, + pub embattles_data: EmbattlesData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(133)] +pub struct RpcGetNewsStandDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct NewsStandData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetNewsStandDataRet { + pub retcode: i32, + pub news_stand_data: NewsStandData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(134)] +pub struct RpcGetTrashbinHermitDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct TrashbinHermitData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetTrashbinHermitDataRet { + pub retcode: i32, + pub trashbin_hermit_data: TrashbinHermitData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(135)] +pub struct RpcGetMainCityRevivalDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct MainCityRevivalData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetMainCityRevivalDataRet { + pub retcode: i32, + pub main_city_revival: MainCityRevivalData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(136)] +pub struct RpcGetArcadeDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetArcadeDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(137)] +pub struct RpcGetBattlePassDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetBattlePassDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(138)] +pub struct RpcGetHadalZoneDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetHadalZoneDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(139)] +pub struct RpcGetBabelTowerDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetBabelTowerDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(140)] +pub struct RpcGetDailyChallengeInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct DailyChallengeInfo {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetDailyChallengeInfoRet { + pub retcode: i32, + pub info: DailyChallengeInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(141)] +pub struct RpcGetRoleCardDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RoleCardData {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetRoleCardDataRet { + pub retcode: i32, + pub role_card_data: RoleCardData, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(142)] +pub struct RpcGetChatEmojiListArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetChatEmojiListRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(143)] +pub struct RpcGetFriendListArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetFriendListRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(144)] +pub struct RpcGetCharacterQuestListArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetCharacterQuestListRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(145)] +pub struct RpcGetExplorationDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetExplorationDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(146)] +pub struct RpcGetFashionStoreInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct FashionStoreInfo {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetFashionStoreInfoRet { + pub retcode: i32, + pub info: FashionStoreInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(147)] +pub struct RpcGetShoppingMallInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct ShoppingMallInfo {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetShoppingMallInfoRet { + pub retcode: i32, + pub shopping_mall_info: ShoppingMallInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(148)] +pub struct RpcGetOnlineFriendsListArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetOnlineFriendsListRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(149)] +pub struct RpcEnterWorldArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcEnterWorldRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default)] +pub struct FreshSceneInfo { + pub beginner_procedure_id: u32, +} + +#[derive(OctData, Debug, Default, Clone)] +pub struct InteractInfo { + pub interact_id: i32, + pub name: String, + pub participators: HashMap, + pub scale_x: f64, + pub scale_y: f64, + pub scale_z: f64, + pub scale_w: f64, + pub scale_r: f64, + pub interact_target_list: Vec, +} + +#[derive(OctData, Debug, Default)] +pub struct SceneUnitProtocolInfo { + pub npc_id: u32, + pub is_interactable: bool, + pub interacts_info: HashMap, +} + +#[derive(OctData, Debug, Default)] +pub struct HallSceneInfo { + pub section_id: u32, + pub player_avatar_id: u32, + pub main_city_avatar_id: u32, + pub transform_id: String, + pub bgm_id: u32, + pub day_of_week: u32, + pub time_of_day: u32, + pub camera_x: u32, + pub camera_y: u32, + pub position: Option, + pub scene_unit_list: Vec, + pub main_city_objects_state: HashMap, +} + +#[derive(OctData, Debug, Default)] +pub struct LevelPerformInfo { + pub time: String, + pub weather: String, +} + +#[derive(OctData, Debug, Default)] +pub struct LevelRewardInfo {} + +#[derive(OctData, Debug, Default)] +pub struct FightSceneInfo { + pub end_hollow: bool, + pub level_perform_info: LevelPerformInfo, + pub level_reward_info: LevelRewardInfo, +} + +#[derive(OctData, Debug, Default)] +pub struct SceneInfo { + pub scene_type: u32, + pub event_id: u32, + pub local_play_type: u32, + pub hall_scene_info: Option, + pub fresh_scene_info: Option, + pub fight_scene_info: Option, +} + +#[derive(OctData, Debug, Default)] +pub struct DungeonEquipInfo {} + +#[derive(OctData, Debug, Default)] +pub struct AvatarUnitInfo { + pub avatar_id: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct DungeonInfo { + pub quest_id: u32, + pub dungeon_equip_info: DungeonEquipInfo, + pub avatar_list: Vec, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(150)] +pub struct PtcEnterSceneArg { + pub scene_info: SceneInfo, + pub dungeon_info: Option, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(151)] +pub struct RpcSceneTransitionArg { + pub section_id: u32, + pub reason: String, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcSceneTransitionRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(152)] +pub struct RpcEnterSectionCompleteArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcEnterSectionCompleteRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(153)] +pub struct RpcGetMonthCardRewardListArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetMonthCardRewardListRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(154)] +pub struct RpcGetDisplayCaseDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetDisplayCaseDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default)] +pub struct Transform { + pub position: Vec, + pub rotation: Vec, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(155)] +pub struct RpcSavePosInMainCityArg { + pub position: Transform, + pub section_id: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcSavePosInMainCityRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(156)] +pub struct RpcPlayerOperationArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcPlayerOperationRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(157)] +pub struct RpcReportUiLayoutPlatformArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcReportUiLayoutPlatformRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(158)] +pub struct RpcPlayerTransactionArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcPlayerTransactionRet { + pub retcode: i32, + pub transaction: String, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(159)] +pub struct RpcGetRechargeItemListArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetRechargeItemListRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(160)] +pub struct PtcAddAvatarArg { + pub avatar_id: u32, + pub perform_type: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(161)] +pub struct RpcGetWishlistDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct SkillWishlistPlan { + pub plan_type: i32, + pub wish_skill_id_list: Vec, +} + +#[derive(OctData, Debug, Default)] +pub struct AvatarWishlistPlan { + pub plan_type: i32, + pub avatar_plan_param1: u32, + pub avatar_plan_param2: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct EquipWishlistPlan { + pub plan_type: i32, + pub wish_weapon_id_list: Vec, + pub wish_equip_id_list: Vec, +} + +#[derive(OctData, Debug, Default)] +pub struct WishlistPlanInfo { + pub avatar_id: u32, + pub avatar_wishlist_plan: Option, + pub equip_wishlist_plan: Option, + pub skill_wishlist_plan: Option, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetWishlistDataRet { + pub retcode: i32, + pub wishlist_plan_list: Vec, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(162)] +pub struct RpcGetMiniscapeEntrustDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetMiniscapeEntrustDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(163)] +pub struct RpcGetJourneyInfoArg {} + +#[derive(OctData, Debug, Default)] +pub struct JourneyInfo {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetJourneyInfoRet { + pub retcode: i32, + pub info: JourneyInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(164)] +pub struct RpcGetPhotoWallDataArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcGetPhotoWallDataRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(165)] +pub struct RpcModMainCityAvatarArg { + pub avatar_id: u32, + pub player_avatar_id: u32, + pub main_city_avatar_id: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcModMainCityAvatarRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(500)] +pub struct PtcPlayerSyncArg { + pub basic_info: Option, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(501)] +pub struct PtcHallRefreshArg { + pub section_id: u32, + pub player_avatar_id: u32, + pub main_city_avatar_id: u32, + pub transform_id: String, + pub bgm_id: u32, + pub day_of_week: u32, + pub time_of_day: u32, + pub camera_x: u32, + pub camera_y: u32, + pub position: Transform, + pub refresh_immediately: bool, + pub scene_unit_list: Vec, + pub main_city_objects_state: HashMap, +} + +#[derive(OctData, Debug, Default)] +pub struct ActionInfo { + pub action_type: i32, + pub body: Vec, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(502)] +pub struct PtcSyncEventInfoArg { + pub owner_id: u32, + pub npc_interaction: String, + pub tag: u32, + pub owner_type: i32, + pub action_list: Vec, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(503)] +pub struct PtcUpdateEventGraphArg { + pub event_graph_uid: u32, + pub event_graph_owner_uid: u32, + pub tag: u32, + pub npc_interaction: String, + pub owner_type: i32, + pub is_event_success: bool, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(166)] +pub struct RpcModTimeArg { + pub time_period: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcModTimeRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(167)] +pub struct RpcInteractWithClientEntityArg { + pub interaction: i32, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcInteractWithClientEntityRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(168)] +pub struct RpcInteractWithUnitArg { + pub r#type: i32, + pub interaction: i32, + pub unit_tag: i32, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcInteractWithUnitRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(169)] +pub struct RpcRunEventGraphArg { + pub owner_type: i32, + pub owner_id: u32, + pub section_id: u32, + pub tag: u32, + pub event_graph_uid: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcRunEventGraphRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(170)] +pub struct RpcEnterSectionArg { + pub section_id: u32, + pub transform_id: String, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcEnterSectionRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(171)] +pub struct RpcRefreshSectionArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcRefreshSectionRet { + pub retcode: i32, + pub refresh_status: u32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(172)] +pub struct RpcCheckYorozuyaInfoRefreshArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcCheckYorozuyaInfoRefreshRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(173)] +pub struct RpcBeginTrainingCourseBattleArg { + pub avatars: Vec, + pub buddy_id: u32, + pub quest_id: u32, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcBeginTrainingCourseBattleRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(174)] +pub struct RpcReportEmbattleInfoArg { + pub avatar_list: Vec, +} + +#[derive(OctData, Debug, Default)] +pub struct RpcReportEmbattleInfoRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(175)] +pub struct RpcBattleReportArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcBattleReportRet { + pub retcode: i32, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(176)] +pub struct RpcEndBattleArg { + // TODO: LogBattleStatistics +} + +#[derive(OctData, Debug, Default)] +pub struct BattleRewardInfo {} + +#[derive(OctData, Debug, Default)] +pub struct RpcEndBattleRet { + pub retcode: i32, + pub battle_reward: BattleRewardInfo, +} + +#[derive(OctData, Debug, Default, ProtocolID)] +#[id(177)] +pub struct RpcLeaveCurDungeonArg {} + +#[derive(OctData, Debug, Default)] +pub struct RpcLeaveCurDungeonRet { + pub retcode: i32, +} diff --git a/crates/protocol/src/player_info.rs b/crates/protocol/src/player_info.rs new file mode 100644 index 0000000..8c2eb22 --- /dev/null +++ b/crates/protocol/src/player_info.rs @@ -0,0 +1,887 @@ +use std::collections::{HashMap, HashSet}; + +use qwer::{OctData, PropertyDoubleKeyHashMap, PropertyHashMap, PropertyHashSet}; + +use crate::action_info::ActionInfo; +use crate::dungeon_info::DungeonInfo; +use crate::event_graph_info::EventGraphInfo; +use crate::item_info::ItemInfo; +use crate::quest_info::QuestInfo; +use crate::scene_ext::{DungeonTableExt, SceneTableExt, SectionInfoExt}; +use crate::scene_info::SceneInfo; +use crate::{ + ActionState, AutoRecoveryInfo, EventState, FairyState, HollowBattleEventType, HollowQuestType, + InteractInfo, MailState, QuestType, +}; + +#[derive(OctData, Copy, Clone, Debug, Default)] +pub struct Vector3f { + pub x: f64, + pub y: f64, + pub z: f64, +} + +#[derive(thiserror::Error, Debug)] +#[error("vector length mismatch, expected 3, got: {0}")] +pub struct VectorLengthError(usize); + +impl TryFrom> for Vector3f { + type Error = VectorLengthError; + + fn try_from(value: Vec) -> Result { + (value.len() == 3) + .then_some(Self { + x: value[0], + y: value[1], + z: value[2], + }) + .ok_or(VectorLengthError(value.len())) + } +} + +impl From for Vec { + fn from(value: Vector3f) -> Self { + vec![value.x, value.y, value.z] + } +} + +#[derive(OctData, Clone, Debug, Default)] +pub struct Transform { + pub position: Vector3f, + pub rotation: Vector3f, +} + +#[derive(OctData, Clone, Debug)] +pub struct EventStackFrame { + pub action_info: ActionInfo, + pub action_id: i32, +} + +#[derive(OctData, Clone, Debug)] +pub struct EventInfo { + pub id: i32, + pub cur_action_id: i32, + pub action_move_path: Vec, + pub state: EventState, + pub prev_state: EventState, + pub cur_action_info: ActionInfo, + pub cur_action_state: ActionState, + pub predicated_failed_actions: PropertyHashSet, + pub stack_frames: Vec, +} + +#[derive(OctData, Clone, Debug)] +pub struct ChoiceInfo { + pub id: i32, + pub hide_info: bool, + pub forbidden: bool, +} + +#[derive(OctData, Clone, Debug)] +pub struct EventGraphsInfo { + pub event_graphs_info: PropertyHashMap, + pub default_event_graph_id: i32, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object(u16, 0x01)] +#[root] +pub struct PlayerInfo { + #[tag = 1] + pub uid: Option, + #[tag = 2] + pub account_name: Option, + #[tag = 3] + pub last_enter_world_timestamp: Option, + #[tag = 4] + pub items: Option>, + #[tag = 5] + pub dungeon_collection: Option, + #[tag = 6] + #[server_only] + pub properties: Option>, + #[tag = 7] + pub scene_properties: Option>, + #[tag = 8] + pub quest_data: Option, + #[tag = 9] + pub joined_chat_rooms: Option>, + #[tag = 10] + pub scene_uid: Option, + #[tag = 11] + pub archive_info: Option, + #[tag = 12] + pub auto_recovery_info: Option>, + #[tag = 13] + pub unlock_info: Option, + #[tag = 14] + pub yorozuya_info: Option, + #[tag = 15] + pub equip_gacha_info: Option, + #[tag = 16] + pub beginner_procedure_info: Option, + #[tag = 17] + pub pos_in_main_city: Option, + #[tag = 18] + pub fairy_info: Option, + #[tag = 19] + pub popup_window_info: Option, + #[tag = 20] + pub tips_info: Option, + #[tag = 21] + pub main_city_quest_data: Option, + #[tag = 22] + pub embattles: Option, + #[tag = 23] + #[server_only] + pub day_change_info: Option, + #[tag = 24] + #[server_only] + pub npcs_info: Option, + #[tag = 25] + #[server_only] + pub scripts_to_execute: Option>, + #[tag = 26] + #[server_only] + pub scripts_to_remove: Option>>, + #[tag = 27] + pub last_leave_world_timestamp: Option, + #[tag = 28] + #[server_only] + pub muip_data: Option, + #[tag = 29] + pub nick_name: Option, + #[tag = 30] + pub ramen_data: Option, + #[tag = 31] + pub shop: Option, + #[tag = 32] + pub vhs_store_data: Option, + #[tag = 33] + #[server_only] + pub operation_mail_receive_info: Option, + #[tag = 34] + pub second_last_enter_world_timestamp: Option, + #[tag = 35] + pub login_times: Option, + #[tag = 36] + pub create_timestamp: Option, + #[tag = 37] + pub gender: Option, + #[tag = 38] + pub avatar_id: Option, + #[tag = 39] + pub prev_scene_uid: Option, + #[tag = 40] + pub register_cps: Option, + #[tag = 41] + pub register_platform: Option, + #[tag = 42] + pub pay_info: Option, + #[tag = 43] + #[server_only] + pub private_npcs: Option>, + #[tag = 44] + pub battle_event_info: Option, + #[tag = 45] + pub gm_data: Option, + #[tag = 46] + #[server_only] + pub player_mail_ext_infos: Option, + #[tag = 47] + #[server_only] + pub single_dungeon_group: Option, + #[tag = 48] + pub newbie_info: Option, + #[tag = 49] + pub loading_page_tips_info: Option, + #[tag = 50] + pub switch_of_story_mode: Option, + #[tag = 51] + pub switch_of_qte: Option, + #[tag = 52] + pub collect_map: Option, + #[tag = 53] + pub areas_info: Option, + #[tag = 54] + pub bgm_info: Option, + #[tag = 55] + pub main_city_objects_state: Option>, + #[tag = 56] + pub hollow_info: Option, + #[tag = 57] + pub main_city_avatar_id: Option, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct DungeonCollection { + #[tag = 1] + pub dungeons: Option>, + #[tag = 2] + pub scenes: Option>, + #[tag = 3] + pub default_scene_uid: Option, + #[tag = 4] + pub transform: Option, + #[tag = 5] + pub used_story_mode: Option, + #[tag = 6] + pub used_manual_qte_mode: Option, +} + +#[derive(OctData, Clone, Debug)] +pub struct BoundNPCAndInteractInfo { + pub is_bound_npc: bool, + pub interacts: PropertyHashSet, + pub npc_reference_uid: u64, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct QuestData { + #[tag = 1] + pub quests: Option>, + #[tag = 2] + pub world_quest_for_cur_dungeon: Option, + #[tag = 3] + pub world_quest_collection_uid: Option, + #[tag = 4] + #[server_only] + pub unlock_condition_progress: Option>, + #[tag = 5] + pub is_afk: Option, + #[tag = 6] + pub world_quest_for_cur_dungeon_afk: Option, +} + +#[derive(OctData, Clone, Debug)] +pub struct VideotapeInfo { + pub star_count: PropertyHashMap, + pub finished: bool, + pub awarded_star: PropertyHashMap>, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct ArchiveInfo { + #[tag = 1] + pub videotaps_info: Option>, + #[tag = 2] + pub hollow_archive_id: Option>, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct UnlockInfo { + #[tag = 1] + pub unlocked_list: Option>, + #[tag = 2] + #[server_only] + pub condition_progress: Option>, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct YorozuyaInfo { + #[tag = 1] + pub last_refresh_timestamp_common: Option, + #[tag = 2] + pub yorozuya_level: Option, + #[tag = 3] + pub yorozuya_rank: Option, + #[tag = 4] + pub gm_quests: Option>>, + #[tag = 5] + pub gm_enabled: Option, + #[tag = 6] + pub hollow_quests: Option>>, + #[tag = 7] + pub urgent_quests_queue: Option>>, + #[tag = 8] + pub last_refresh_timestamp_urgent: Option, + #[tag = 9] + pub next_refresh_timestamp_urgent: Option, + #[tag = 10] + pub finished_hollow_quest_count: Option, + #[tag = 11] + pub finished_hollow_quest_count_of_type: Option>, + #[tag = 12] + pub unlock_hollow_id: Option>, + #[tag = 13] + #[server_only] + pub unlock_hollow_id_progress: Option>, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct EquipGachaInfo { + #[tag = 1] + pub smithy_level: Option, + #[tag = 2] + pub security_num_by_lv: Option>, + #[tag = 3] + #[server_only] + pub total_gacha_times: Option, + #[tag = 4] + #[server_only] + pub equip_star_up_times: Option, + #[tag = 5] + #[server_only] + pub avatar_level_advance_times: Option, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct BeginnerProcedureInfo { + #[tag = 1] + pub procedure_id: Option, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct PlayerPosInMainCity { + #[tag = 1] + pub position: Option, + #[tag = 2] + pub rotation: Option, + #[tag = 3] + pub initial_pos_id: Option, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct FairyInfo { + #[tag = 1] + pub fairy_groups: Option>, + #[tag = 2] + #[server_only] + pub condition_progress: Option>, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct PopupWindowInfo { + #[tag = 1] + pub popup_window_list: Option>, + #[tag = 2] + #[server_only] + pub condition_progress: Option>, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct TipsInfo { + #[tag = 1] + pub tips_list: Option>, + #[tag = 2] + #[server_only] + pub tips_condition_progress: Option>, + #[tag = 3] + pub tips_group: Option>, + #[tag = 4] + #[server_only] + pub tips_group_condition_progress: Option>, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct MainCityQuestData { + #[tag = 1] + pub exicing_finish_script_group: Option>, + #[tag = 2] + pub in_progress_quests: Option>, +} + +#[derive(OctData, Clone, Debug)] +pub struct EmbattleInfo { + pub avatars: Vec, + pub buddy: i32, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct Embattles { + #[tag = 1] + pub last_embattles: Option>, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct DayChangeInfo { + #[tag = 1] + pub last_daily_refresh_timing: Option, +} + +#[derive(OctData, Clone, Debug)] +pub struct PlayerNPCInfo { + pub interact_info: InteractInfo, + pub npc_uid: u64, + pub event_graphs_info: EventGraphsInfo, + pub npc_tag_id: i32, + pub vhs_trending_id: i32, + pub visible: bool, + pub invisible_by_quest: PropertyHashSet, + pub look_ik: bool, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct PlayerNPCsInfo { + #[tag = 1] + pub npcs_info: Option>, + #[tag = 2] + pub destroy_npc_when_leave_section: Option>, +} + +#[derive(OctData, Clone, Debug)] +pub struct ToExecuteScriptInfo { + pub remove_after_finish: bool, + pub specials: PropertyHashMap, + pub event_graphs: PropertyHashSet, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct MUIPData { + #[tag = 1] + pub ban_begin_time: Option, + #[tag = 2] + pub ban_end_time: Option, + #[tag = 3] + pub tag_value: Option, + #[tag = 4] + pub dungeon_enter_times: Option>, + #[tag = 5] + pub scene_enter_times: Option>, + #[tag = 6] + pub dungeon_pass_times: Option>, + #[tag = 7] + pub scene_pass_times: Option>, + #[tag = 8] + pub alread_cmd_uids: Option>, + #[tag = 9] + pub game_total_time: Option, + #[tag = 10] + pub language_type: Option, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct RamenData { + #[tag = 1] + pub unlock_ramen: Option>, + #[tag = 2] + pub cur_ramen: Option, + #[tag = 3] + pub used_times: Option, + #[tag = 4] + pub unlock_initiative_item: Option>, + #[tag = 5] + #[server_only] + pub unlock_ramen_condition_progress: Option>, + #[tag = 6] + #[server_only] + pub unlock_item_condition_progress: Option>, + #[tag = 7] + pub has_mystical_spice: Option, + #[tag = 8] + #[server_only] + pub unlock_has_mystical_spice_condition_progress: Option>, + #[tag = 9] + pub cur_mystical_spice: Option, + #[tag = 10] + pub unlock_mystical_spice: Option>, + #[tag = 11] + #[server_only] + pub unlock_mystical_spice_condition_progress: Option>, + #[tag = 12] + pub unlock_initiative_item_group: Option>, + #[tag = 13] + pub hollow_item_history: Option>, + #[tag = 14] + pub initial_item_ability: Option, + #[tag = 15] + #[property_object(u8, 0x01)] + pub new_unlock_ramen: Option>, + #[tag = 16] + #[server_only] + pub eat_ramen_times: Option, + #[tag = 17] + #[server_only] + pub make_hollow_item_times: Option, + #[tag = 18] + pub new_unlock_initiative_item: Option>, +} + +#[derive(OctData, Clone, Debug)] +pub struct GoodsInfo { + pub id: i32, + pub purchased_num: u32, + pub last_refresh_time: u64, + pub discount: u16, +} + +#[derive(OctData, Clone, Debug)] +pub struct ShelfInfo { + pub id: i32, + pub custom_goods_in_shelf: PropertyHashSet, + pub goods_info: PropertyHashMap, +} + +#[derive(OctData, Clone, Debug)] +pub struct ShopInfo { + pub id: i32, + pub shelf_info: PropertyHashMap, + pub refreshed_count: i32, + pub last_refresh_time: u64, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct ShopsInfo { + #[tag = 1] + pub vip_level: Option, + #[tag = 2] + #[server_only] + pub shops: Option>, + #[tag = 3] + #[server_only] + pub shop_buy_times: Option, +} + +#[derive(OctData, Clone, Debug)] +pub struct VHSTrendingInfo { + pub trend_id: i32, + pub state: u16, + pub match_level: u16, + pub is_accept: bool, +} + +#[derive(OctData, Clone, Debug)] +pub struct VHSTrendingCfgInfo { + pub trend_id: i32, + pub complete_level: i16, + pub know_state: i16, +} + +#[derive(OctData, Clone, Debug)] +pub struct VHSNpcInfo { + pub npc_id: i32, + pub state: i16, + pub new_know: bool, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct VHSStoreData { + #[tag = 1] + pub store_level: Option, + #[tag = 2] + pub unreceived_reward: Option, + #[tag = 3] + #[server_only] + pub hollow_enter_times: Option, + #[tag = 4] + pub last_receive_time: Option, + #[tag = 5] + #[property_object(u8, 0x01)] + pub vhs_collection_slot: Option>, + #[tag = 6] + pub unlock_vhs_collection: Option>, + #[tag = 7] + #[server_only] + pub already_trending: Option>, + #[tag = 8] + #[server_only] + pub unlock_trending_condition_progress: Option>, + #[tag = 9] + pub is_need_refresh: Option, + #[tag = 10] + #[server_only] + pub scripts_id: Option>, + #[tag = 11] + pub store_exp: Option, + #[tag = 12] + pub is_level_chg_tips: Option, + #[tag = 13] + #[server_only] + pub vhs_hollow: Option>, + #[tag = 14] + #[server_only] + pub is_receive_trending_reward: Option, + #[tag = 15] + #[server_only] + pub is_need_first_trending: Option, + #[tag = 16] + #[server_only] + pub last_basic_script: Option, + #[tag = 17] + #[server_only] + pub is_complete_first_trending: Option, + #[tag = 18] + #[server_only] + pub last_basic_npc: Option, + #[tag = 19] + #[server_only] + pub can_random_trending: Option>, + #[tag = 20] + #[property_object(u8, 0x01)] + pub vhs_trending_info: Option>, + #[tag = 21] + pub unlock_vhs_trending_info: Option>, + #[tag = 22] + pub vhs_flow: Option, + #[tag = 23] + pub received_reward: Option, + #[tag = 24] + pub last_reward: Option, + #[tag = 25] + pub last_exp: Option, + #[tag = 26] + pub last_flow: Option, + #[tag = 27] + #[property_object(u8, 0x01)] + pub last_vhs_trending_info: Option>, + #[tag = 28] + #[property_object(u8, 0x01)] + pub new_know_trend: Option>, + #[tag = 29] + #[server_only] + pub quest_finish_script: Option>>, + #[tag = 30] + #[server_only] + pub quest_finish_scripts_id: Option>, + #[tag = 31] + #[server_only] + pub total_received_reward: Option>, + #[tag = 32] + #[property_object(u8, 0x01)] + pub last_vhs_npc_info: Option>, + #[tag = 33] + #[server_only] + pub vhs_npc_info: Option>, + #[tag = 34] + #[server_only] + pub npc_info: Option>, + #[tag = 35] + #[server_only] + pub total_received_reward_times: Option, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct OperationMailReceiveInfo { + #[tag = 1] + pub receive_list: Option>, + #[tag = 2] + pub condition_progress: Option>, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct PayInfo { + #[tag = 1] + pub month_total_pay: Option, +} + +#[derive(OctData, Clone, Debug)] +pub struct NpcSceneData { + pub section_id: i32, + pub transform: Transform, +} + +#[derive(OctData, Clone, Debug)] +pub struct NpcInfo { + pub uid: u64, + pub id: i32, + pub tag_value: i32, + pub scene_uid: u64, + pub parent_uid: u64, + pub owner_uid: u64, + pub scene_data: NpcSceneData, + pub references: PropertyHashSet, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct BattleEventInfo { + #[tag = 1] + #[server_only] + pub unlock_battle: Option>, + #[tag = 2] + #[server_only] + pub unlock_battle_condition_progress: Option>, + #[tag = 3] + #[server_only] + pub alread_rand_battle: Option>>, + #[tag = 4] + pub rand_battle_type: Option>, + #[tag = 5] + #[property_object(u8, 0x01)] + pub alread_battle_stage: Option>, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct GMData { + #[tag = 1] + #[server_only] + pub condition_proress: Option>, + #[tag = 2] + #[server_only] + pub completed_conditions: Option>, + #[tag = 3] + #[server_only] + pub register_conditions: Option>, +} + +#[derive(OctData, Clone, Debug)] +pub struct PlayerMailExtInfo { + pub timestamp: u64, + pub mail_state: MailState, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct PlayerMailExtInfos { + #[tag = 1] + pub player_mail_ext_info: Option>, +} + +#[derive(OctData, Clone, Debug)] +pub struct DungeonTable { + pub uid: u64, + pub id: i32, + pub begin_timestamp: u64, + pub dungeon_ext: DungeonTableExt, + pub to_be_destroyed: bool, +} + +#[derive(OctData, Clone, Debug)] +pub struct SceneTable { + pub uid: u64, + pub id: i32, + pub begin_timestamp: u64, + pub scene_ext: SceneTableExt, + pub to_be_destroyed: bool, +} + +#[derive(OctData, Clone, Debug)] +pub struct SectionInfo { + pub id: i32, + pub scene_uid: u64, + pub event_graphs_info: EventGraphsInfo, + pub section_info_ext: SectionInfoExt, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct SingleDungeonGroup { + #[tag = 1] + pub dungeons: Option>, + #[tag = 2] + pub scenes: Option>, + #[tag = 3] + pub section: Option>, + #[tag = 4] + pub npcs: Option>, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct NewbieInfo { + #[tag = 1] + pub unlocked_id: Option>, + #[tag = 2] + #[server_only] + pub condition_progress: Option>, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct LoadingPageTipsInfo { + #[tag = 1] + pub unlocked_id: Option>, + #[tag = 2] + #[server_only] + pub condition_progress: Option>, +} + +#[derive(OctData, Clone, Debug, Default)] +#[property_object] +pub struct CollectMap { + #[tag = 1] + pub card_map: Option>, + #[tag = 2] + pub curse_map: Option>, + #[tag = 3] + pub event_icon_map: Option>, + #[tag = 4] + #[server_only] + pub unlock_cards: Option>, + #[tag = 5] + #[server_only] + pub unlock_card_condition_progress: Option>, + #[tag = 6] + #[server_only] + pub unlock_curses: Option>, + #[tag = 7] + #[server_only] + pub unlock_curse_condition_progress: Option>, + #[tag = 8] + #[server_only] + pub unlock_events: Option>, + #[tag = 9] + #[server_only] + pub unlock_event_condition_progress: Option>, + #[tag = 10] + #[server_only] + pub unlock_event_icons: Option>, + #[tag = 11] + #[server_only] + pub unlock_event_icon_condition_progress: Option>, + #[tag = 12] + pub new_card_map: Option>, + #[tag = 13] + pub new_curse_map: Option>, + #[tag = 14] + pub new_event_icon_map: Option>, +} + +#[derive(OctData, Clone, Debug)] +pub struct AreaNPCInfo { + pub tag_id: i32, + pub interacts: PropertyHashSet, +} + +#[derive(OctData, Clone, Debug)] +pub struct AreaOwnerInfo { + pub owner_type: u16, + pub owner_id: i32, + pub npcs: PropertyHashMap, + pub sequence: u32, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct AreasInfo { + #[tag = 1] + pub area_owners_info: Option>, + #[tag = 2] + pub sequence: Option, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct BGMInfo { + #[tag = 1] + pub bgm_id: Option, +} + +#[derive(OctData, Clone, Debug)] +#[property_object] +pub struct HollowInfo { + #[tag = 1] + pub banned_hollow_event: Option>, +} diff --git a/crates/protocol/src/quest_info.rs b/crates/protocol/src/quest_info.rs new file mode 100644 index 0000000..26f21f5 --- /dev/null +++ b/crates/protocol/src/quest_info.rs @@ -0,0 +1,37 @@ +use protocol_macros::polymorphic; +use qwer::{PropertyDoubleKeyHashMap, PropertyHashMap}; + +use crate::{player_info::BoundNPCAndInteractInfo, QuestState, QuestStatisticsType}; + +polymorphic!( + QuestInfo [ + id: i32, + finished_count: i32, + collection_uid: u64, + progress: u16, + parent_quest_id: i32, + state: QuestState, + finish_condition_progress: PropertyHashMap, + progress_time: u32, + sort_id: u64, + ] + ArchiveBattle { + statistics: PropertyHashMap, + dungeon_uid: u64, + star: u8, + } = 7, + ArchiveFile { } = 1, + Challenge { } = 6, + DungeonInner { } = 2, + Hollow { + statistics: PropertyHashMap, + dungeon_uid: u64, + statistics_ext: PropertyDoubleKeyHashMap, + acquired_hollow_challenge_reward: i32, + } = 3, + Knowledge { } = 8, + MainCity { + bound_npc_and_interact: PropertyHashMap, + } = 5, + Manual { } = 4, +); diff --git a/crates/protocol/src/scene_ext.rs b/crates/protocol/src/scene_ext.rs new file mode 100644 index 0000000..19e9d5a --- /dev/null +++ b/crates/protocol/src/scene_ext.rs @@ -0,0 +1,50 @@ +use protocol_macros::polymorphic; +use qwer::{OctData, PropertyHashSet}; + +use crate::player_info::EventGraphsInfo; + +polymorphic!( + SectionInfoExt [ + destroy_npc_when_no_player: PropertyHashSet, + ] + Hall {} = 1, + /*Hollow { + hollow_level_info: HollowLevelInfo, + hollow_grid_map_info: HollowGridMapInfo + } = 0,*/ // todo! +); + +polymorphic!( + SceneTableExt [ + event_graphs_info: EventGraphsInfo, + ] + Fight {} = 3, + Fresh {} = 4, + Hall {} = 1, + Hollow { + grid_random_seed: i32, + alter_section_id: i32, + } = 2, +); + +polymorphic!( + DungeonTableExt [] + Hall {} = 1, + Hollow { + avatars: PropertyHashSet, + scene_properties_uid: u64, + buddy: HollowDungeonBuddyInfo, + } = 2, +); + +#[derive(OctData, Clone, Debug, PartialEq, Eq, Hash)] +pub struct HollowDungeonAvatarInfo { + pub uid: u64, + pub properties_uid: u64, +} + +#[derive(OctData, Clone, Debug, PartialEq, Eq, Hash)] +pub struct HollowDungeonBuddyInfo { + pub uid: u64, + pub properties_uid: u64, +} diff --git a/crates/protocol/src/scene_info.rs b/crates/protocol/src/scene_info.rs new file mode 100644 index 0000000..5afce14 --- /dev/null +++ b/crates/protocol/src/scene_info.rs @@ -0,0 +1,63 @@ +use protocol_macros::polymorphic; +use qwer::{OctData, PropertyDoubleKeyHashMap, PropertyHashMap, PropertyHashSet}; + +use crate::{player_info::BoundNPCAndInteractInfo, TimePeriodType, UIType, WeatherType}; + +#[derive(OctData, Clone, Debug)] +pub struct TimeEventInfo { + pub executed_count: i32, +} + +#[derive(OctData, Clone, Debug)] +pub struct TimeEventGroupInfo { + pub group_id: i32, + pub executing_scripts: PropertyHashSet, + pub complete_time: u64, + pub time_events_info: PropertyHashMap, + pub bound_npc_and_interact: PropertyHashMap, + pub executing_time_event: PropertyHashSet, +} + +#[derive(OctData, Clone, Debug)] +pub struct MainCityTimeInfo { + pub initial_time: u32, + pub day_of_week: u8, + pub passed_milliseconds: u64, + pub executing_event_groups: PropertyHashSet, + pub unlocked_time_events: PropertyHashSet, + #[server_only] + pub time_event_groups_info: PropertyHashMap, + #[server_only] + pub condition_progress_of_unlock: PropertyDoubleKeyHashMap, + #[server_only] + pub condition_progress_of_end: PropertyDoubleKeyHashMap, + pub ended_time_events: PropertyHashSet, + pub leave_time: u64, +} + +polymorphic!( + SceneInfo [ + uid: u64, + id: i32, + dungeon_uid: u64, + end_timestamp: u64, + back_scene_uid: u64, + entered_times: u16, + section_id: i32, + open_ui: UIType, + to_be_destroyed: bool, + camera_x: u32, + camera_y: u32, + ] + Hall { + main_city_time_info: MainCityTimeInfo, + } = 1, + // Hollow {} = 2, + Fight { + end_hollow: bool, + local_play_type: u32, + time: TimePeriodType, + weather: WeatherType, + } = 3, + Fresh {} = 4, +); diff --git a/crates/protocol/src/util.rs b/crates/protocol/src/util.rs new file mode 100644 index 0000000..f2b00b0 --- /dev/null +++ b/crates/protocol/src/util.rs @@ -0,0 +1,360 @@ +use crate::{ + item_info::ItemInfo, player_info::PlayerInfo, scene_info::SceneInfo, AvatarInfo, + AvatarSkillInfo, AvatarUnitInfo, EquipInfo, PlayerBasicInfo, PtcHallRefreshArg, ResourceInfo, + WeaponInfo, +}; + +pub fn build_player_basic_info(player_info: &PlayerInfo) -> PlayerBasicInfo { + PlayerBasicInfo { + last_enter_world_timestamp: player_info.last_enter_world_timestamp.unwrap_or_default() + as i64, + avatar_id: player_info.avatar_id.unwrap_or_default(), + player_avatar_id: player_info.avatar_id.unwrap_or_default(), + main_city_avatar_id: player_info.main_city_avatar_id.unwrap_or_default(), + nick_name: player_info.nick_name.clone().unwrap_or_default(), + level: player_info + .yorozuya_info + .as_ref() + .map(|yi| yi.yorozuya_level) + .flatten() + .unwrap_or_default(), + } +} + +pub fn build_client_scene_info( + player_info: &PlayerInfo, + scene_uid: u64, +) -> Option { + let dungeon_collection = player_info.dungeon_collection.as_ref().unwrap(); + let Some(scene_info) = dungeon_collection.scenes.as_ref().unwrap().get(&scene_uid) else { + return None; + }; + + let player_pos_in_main_city = player_info.pos_in_main_city.as_ref().unwrap(); + let initial_transform = player_pos_in_main_city + .initial_pos_id + .clone() + .unwrap_or_default(); + + Some(match scene_info { + SceneInfo::Hall { + section_id, + main_city_time_info, + camera_x, + camera_y, + .. + } => crate::SceneInfo { + scene_type: 1, + hall_scene_info: Some(crate::HallSceneInfo { + section_id: *section_id as u32, + player_avatar_id: player_info.avatar_id.unwrap_or_default(), + main_city_avatar_id: player_info.main_city_avatar_id.unwrap_or_default(), + bgm_id: player_info + .bgm_info + .as_ref() + .map(|bgm| bgm.bgm_id.clone()) + .flatten() + .unwrap_or_default(), + day_of_week: main_city_time_info.day_of_week as u32, + time_of_day: main_city_time_info.initial_time, + camera_x: *camera_x, + camera_y: *camera_y, + position: initial_transform.is_empty().then(|| crate::Transform { + position: player_pos_in_main_city + .position + .clone() + .unwrap_or_default() + .into(), + rotation: player_pos_in_main_city + .rotation + .clone() + .unwrap_or_default() + .into(), + }), + main_city_objects_state: player_info + .main_city_objects_state + .as_ref() + .map(|map| map.iter().map(|(&k, &v)| (k, v)).collect()) + .unwrap_or_default(), + scene_unit_list: Vec::new(), + transform_id: initial_transform, + }), + ..Default::default() + }, + SceneInfo::Fresh { .. } => crate::SceneInfo { + scene_type: 4, + fresh_scene_info: Some(crate::FreshSceneInfo { + beginner_procedure_id: player_info + .beginner_procedure_info + .as_ref() + .unwrap() + .procedure_id + .unwrap_or_default() as u32, + }), + ..Default::default() + }, + SceneInfo::Fight { + id, + local_play_type, + time, + weather, + end_hollow, + .. + } => crate::SceneInfo { + scene_type: 3, + event_id: *id as u32, + local_play_type: *local_play_type, + fight_scene_info: Some(crate::FightSceneInfo { + end_hollow: *end_hollow, + level_reward_info: crate::LevelRewardInfo {}, + level_perform_info: crate::LevelPerformInfo { + time: time.to_protocol_string(), + weather: weather.to_protocol_string(), + }, + }), + ..Default::default() + }, + }) +} + +pub fn build_client_dungeon_info( + player_info: &PlayerInfo, + scene_uid: u64, +) -> Option { + let dungeon_collection = player_info.dungeon_collection.as_ref().unwrap(); + let Some(scene_info) = dungeon_collection.scenes.as_ref().unwrap().get(&scene_uid) else { + return None; + }; + + match scene_info { + SceneInfo::Hall { .. } | SceneInfo::Fresh { .. } => return None, + _ => (), + } + + let dungeon_info = dungeon_collection + .dungeons + .as_ref() + .unwrap() + .get(scene_info.get_dungeon_uid()) + .unwrap(); + + Some(crate::DungeonInfo { + quest_id: dungeon_info.world_quest_id as u32, + dungeon_equip_info: crate::DungeonEquipInfo::default(), + avatar_list: dungeon_info + .avatars + .iter() + .map(|(_, unit)| { + let avatar_info = player_info.items.as_ref().unwrap().get(&unit.uid).unwrap(); + AvatarUnitInfo { + avatar_id: *avatar_info.get_id() as u32, + } + }) + .collect(), + ..Default::default() + }) +} + +pub fn build_hall_refresh_arg( + player_info: &PlayerInfo, + hall_scene_uid: u64, + refresh_immediately: bool, +) -> Option { + let dungeon_collection = player_info.dungeon_collection.as_ref().unwrap(); + let scene_info = dungeon_collection + .scenes + .as_ref() + .unwrap() + .get(&hall_scene_uid); + let player_pos_in_main_city = player_info.pos_in_main_city.as_ref().unwrap(); + + match scene_info { + Some(SceneInfo::Hall { + section_id, + main_city_time_info, + camera_x, + camera_y, + .. + }) => Some(PtcHallRefreshArg { + refresh_immediately, + section_id: *section_id as u32, + player_avatar_id: player_info.avatar_id.unwrap_or_default(), + main_city_avatar_id: player_info.main_city_avatar_id.unwrap_or_default(), + transform_id: player_pos_in_main_city + .initial_pos_id + .clone() + .unwrap_or_default(), + bgm_id: player_info + .bgm_info + .as_ref() + .map(|bgm| bgm.bgm_id.clone()) + .flatten() + .unwrap_or_default(), + day_of_week: main_city_time_info.day_of_week as u32, + time_of_day: main_city_time_info.initial_time, + camera_x: *camera_x, + camera_y: *camera_y, + position: crate::Transform { + position: player_pos_in_main_city + .position + .clone() + .unwrap_or_default() + .into(), + rotation: player_pos_in_main_city + .rotation + .clone() + .unwrap_or_default() + .into(), + }, + main_city_objects_state: player_info + .main_city_objects_state + .as_ref() + .map(|map| map.iter().map(|(&k, &v)| (k, v)).collect()) + .unwrap_or_default(), + scene_unit_list: Vec::new(), + }), + _ => None, + } +} + +pub fn build_sync_avatar_info_list(player_info: &PlayerInfo) -> Vec { + player_info + .items + .as_ref() + .unwrap() + .iter() + .map(|(_, item)| { + if let ItemInfo::AvatarInfo { + id, + first_get_time, + star, + exp, + level, + rank, + unlocked_talent_num, + talent_switch, + skills, + .. + } = item + { + Some(AvatarInfo { + template_id: *id as u32, + level: *level as u32, + exp: *exp as u32, + star: *star as u32, + rank: *rank as u32, + unlocked_talent_num: *unlocked_talent_num as u32, + first_get_time: *first_get_time as i64, + talent_switch_list: talent_switch.clone(), + skill_type_level: skills + .iter() + .map(|(ty, lv)| AvatarSkillInfo { + skill_type: *ty as u32, + level: *lv as u32, + }) + .collect(), + }) + } else { + None + } + }) + .flatten() + .collect() +} + +pub fn build_sync_weapon_info_list(player_info: &PlayerInfo) -> Vec { + player_info + .items + .as_ref() + .unwrap() + .iter() + .map(|(_, item)| { + if let ItemInfo::Weapon { + uid, + id, + star, + exp, + level, + lock, + refine_level, + .. + } = item + { + Some(WeaponInfo { + template_id: *id as u32, + level: *level as u32, + exp: *exp, + star: *star as u32, + refine_level: *refine_level as u32, + uid: (*uid & 0xFFFFFFFF) as u32, + lock: *lock != 0, + }) + } else { + None + } + }) + .flatten() + .collect() +} + +pub fn build_sync_equip_info_list(player_info: &PlayerInfo) -> Vec { + player_info + .items + .as_ref() + .unwrap() + .iter() + .map(|(_, item)| { + if let ItemInfo::Equip { + uid, + id, + star, + exp, + level, + lock, + .. + } = item + { + Some(EquipInfo { + template_id: *id as u32, + level: *level as u32, + exp: *exp, + star: *star as u32, + uid: (*uid & 0xFFFFFFFF) as u32, + lock: *lock != 0, + }) + } else { + None + } + }) + .flatten() + .collect() +} + +pub fn build_sync_resource_info_list(player_info: &PlayerInfo) -> Vec { + player_info + .items + .as_ref() + .unwrap() + .iter() + .map(|(_, item)| match item { + ItemInfo::Currency { id, count, .. } => Some(ResourceInfo { + template_id: *id as u32, + count: *count, + }), + ItemInfo::Resource { id, count, .. } => Some(ResourceInfo { + template_id: *id as u32, + count: *count, + }), + ItemInfo::Consumable { id, count, .. } => Some(ResourceInfo { + template_id: *id as u32, + count: *count, + }), + ItemInfo::AvatarPiece { id, count, .. } => Some(ResourceInfo { + template_id: *id as u32, + count: *count, + }), + _ => None, + }) + .flatten() + .collect() +} diff --git a/crates/qwer-rpc/Cargo.toml b/crates/qwer-rpc/Cargo.toml new file mode 100644 index 0000000..c0ae252 --- /dev/null +++ b/crates/qwer-rpc/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "qwer-rpc" +edition = "2021" +version.workspace = true + +[dependencies] +common.workspace = true +qwer.workspace = true + +tokio.workspace = true +futures.workspace = true +tracing.workspace = true +thiserror.workspace = true + +dashmap.workspace = true +byteorder.workspace = true diff --git a/crates/qwer-rpc/qwer-client-example/Cargo.toml b/crates/qwer-rpc/qwer-client-example/Cargo.toml new file mode 100644 index 0000000..7ce158c --- /dev/null +++ b/crates/qwer-rpc/qwer-client-example/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "qwer-client-example" +version = "0.1.0" +edition = "2021" + +[dependencies] +tokio.workspace = true +anyhow.workspace = true +common.workspace = true +tracing.workspace = true + +protocol.workspace = true +qwer.workspace = true +qwer-rpc.workspace = true diff --git a/crates/qwer-rpc/qwer-client-example/src/main.rs b/crates/qwer-rpc/qwer-client-example/src/main.rs new file mode 100644 index 0000000..423bf79 --- /dev/null +++ b/crates/qwer-rpc/qwer-client-example/src/main.rs @@ -0,0 +1,39 @@ +use std::time::Duration; + +use anyhow::Result; +use protocol::{RpcGetPlayerBasicInfoArg, RpcGetPlayerBasicInfoRet}; +use qwer_rpc::{ProtocolServiceFrontend, RpcPtcServiceFrontend}; + +#[tokio::main] +async fn main() -> Result<()> { + common::logging::init(tracing::Level::DEBUG); + + let service = RpcPtcServiceFrontend::new(ProtocolServiceFrontend::new()); + let protocol_point = service.create_point(None).await?; + + let rsp = protocol_point + .call_rpc::<_, RpcGetPlayerBasicInfoRet>( + "127.0.0.1:10101".parse()?, + RpcGetPlayerBasicInfoArg::default(), + Vec::with_capacity(0), + Duration::from_secs(5), + ) + .await?; + + println!("rsp: {rsp:?}"); + + let protocol_point = service.create_point(None).await?; + + let rsp = protocol_point + .call_rpc::<_, RpcGetPlayerBasicInfoRet>( + "127.0.0.1:10101".parse()?, + RpcGetPlayerBasicInfoArg::default(), + Vec::with_capacity(0), + Duration::from_secs(5), + ) + .await?; + + println!("rsp: {rsp:?}"); + + Ok(()) +} diff --git a/crates/qwer-rpc/qwer-server-example/Cargo.toml b/crates/qwer-rpc/qwer-server-example/Cargo.toml new file mode 100644 index 0000000..2236156 --- /dev/null +++ b/crates/qwer-rpc/qwer-server-example/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "qwer-server-example" +version = "0.1.0" +edition = "2021" + +[dependencies] +tokio.workspace = true +anyhow.workspace = true +common.workspace = true +tracing.workspace = true + +protocol.workspace = true +qwer.workspace = true +qwer-rpc.workspace = true diff --git a/crates/qwer-rpc/qwer-server-example/src/main.rs b/crates/qwer-rpc/qwer-server-example/src/main.rs new file mode 100644 index 0000000..ee70a53 --- /dev/null +++ b/crates/qwer-rpc/qwer-server-example/src/main.rs @@ -0,0 +1,55 @@ +use std::{ + sync::{Arc, OnceLock}, + time::Duration, +}; + +use anyhow::Result; +use protocol::{ + PlayerBasicInfo, RpcGetPlayerBasicInfoArg, RpcGetPlayerBasicInfoRet, RpcPlayerLoginArg, + RpcPlayerLoginRet, +}; +use qwer::ProtocolID; +use qwer_rpc::{ProtocolServiceFrontend, RpcPtcContext, RpcPtcPoint, RpcPtcServiceFrontend}; +use tokio::time; + +static SERVICE: OnceLock = OnceLock::new(); +static SERVER_POINT: OnceLock> = OnceLock::new(); + +#[tokio::main] +async fn main() -> Result<()> { + common::logging::init(tracing::Level::DEBUG); + println!("Hello, world!"); + + let service = + SERVICE.get_or_init(|| RpcPtcServiceFrontend::new(ProtocolServiceFrontend::new())); + + let point = service.create_point(Some("0.0.0.0:10101".parse()?)).await?; + let point = SERVER_POINT.get_or_init(|| point); + + point.register_rpc_recv(RpcPlayerLoginArg::PROTOCOL_ID, handle_login); + point.register_rpc_recv(RpcGetPlayerBasicInfoArg::PROTOCOL_ID, handle_get_basic_info); + + time::sleep(Duration::from_secs(100000)).await; + + Ok(()) +} + +async fn handle_login(ctx: RpcPtcContext) { + let arg = ctx.get_arg::().unwrap(); + println!("Login: {arg:?}"); + + ctx.send_ret(RpcPlayerLoginRet { retcode: 0 }).await; +} + +async fn handle_get_basic_info(ctx: RpcPtcContext) { + println!("BasicInfo req"); + + ctx.send_ret(RpcGetPlayerBasicInfoRet { + basic_info: PlayerBasicInfo { + nick_name: String::from("Name"), + ..Default::default() + }, + retcode: 1337, + }) + .await; +} diff --git a/crates/qwer-rpc/src/lib.rs b/crates/qwer-rpc/src/lib.rs new file mode 100644 index 0000000..9732d48 --- /dev/null +++ b/crates/qwer-rpc/src/lib.rs @@ -0,0 +1,12 @@ +mod object_res_mini_mgr; +mod protocol; +mod rpc_ptc; + +pub use protocol::protocol_helper::{ProtocolLinker, ProtocolListener}; +pub use protocol::protocol_point::ProtocolPoint; +pub use protocol::protocol_service::ProtocolServiceFrontend; +pub use protocol::protocol_session::{ProtocolContext, ProtocolSession, ProtocolSessionImpl}; + +pub use rpc_ptc::middleware; +pub use rpc_ptc::rpc_ptc_point::{RpcCallError, RpcHandler, RpcPtcContext, RpcPtcPoint}; +pub use rpc_ptc::rpc_ptc_service::RpcPtcServiceFrontend; diff --git a/crates/qwer-rpc/src/object_res_mini_mgr.rs b/crates/qwer-rpc/src/object_res_mini_mgr.rs new file mode 100644 index 0000000..af449dc --- /dev/null +++ b/crates/qwer-rpc/src/object_res_mini_mgr.rs @@ -0,0 +1,45 @@ +use std::sync::atomic::{self, AtomicU64}; + +use dashmap::{mapref::one::Ref, DashMap}; + +pub struct ObjectResMiniMgr { + uid_counter: AtomicU64, + objects: DashMap, +} + +impl ObjectResMiniMgr +where + T: ResObj, +{ + pub fn new() -> Self { + Self { + uid_counter: AtomicU64::new(1), + objects: DashMap::new(), + } + } + + pub fn insert(&self, obj: T) -> u64 { + let uid = self.uid_counter.fetch_add(1, atomic::Ordering::SeqCst); + obj.set_uid(uid); + self.objects.insert(uid, obj); + + uid + } + + pub fn iter(&self) -> dashmap::iter::Iter<'_, u64, T> { + self.objects.iter() + } + + pub fn get(&self, uid: u64) -> Option> { + self.objects.get(&uid) + } + + pub fn release(&self, uid: u64) -> Option<(u64, T)> { + self.objects.remove(&uid) + } +} + +pub trait ResObj { + fn set_uid(&self, uid: u64); + fn get_uid(&self) -> u64; +} diff --git a/crates/qwer-rpc/src/protocol/mod.rs b/crates/qwer-rpc/src/protocol/mod.rs new file mode 100644 index 0000000..fd1b011 --- /dev/null +++ b/crates/qwer-rpc/src/protocol/mod.rs @@ -0,0 +1,5 @@ +pub mod protocol_entity; +pub mod protocol_helper; +pub mod protocol_point; +pub mod protocol_service; +pub mod protocol_session; diff --git a/crates/qwer-rpc/src/protocol/protocol_entity.rs b/crates/qwer-rpc/src/protocol/protocol_entity.rs new file mode 100644 index 0000000..dace038 --- /dev/null +++ b/crates/qwer-rpc/src/protocol/protocol_entity.rs @@ -0,0 +1,225 @@ +use std::{ + io::Cursor, + net::{IpAddr, Ipv4Addr, SocketAddr}, + sync::{Arc, Weak}, + time::Duration, +}; + +use dashmap::{ + mapref::one::{Ref, RefMut}, + DashMap, +}; +use qwer::ProtocolStream; +use tokio::{sync::OnceCell, time::timeout}; + +use crate::{ + object_res_mini_mgr::ResObj, protocol::protocol_helper, + protocol::protocol_point::ProtocolPoint, + protocol::protocol_service::ProtocolServiceFrontendImpl, ProtocolContext, ProtocolLinker, + ProtocolListener, ProtocolSessionImpl, +}; + +pub struct ProtocolEntity { + service_backend: OnceCell>, + local_addr: Option, + protocol_listener: Option, + used_channels: DashMap, + pub sessions: DashMap>, + pub session_uid_map: DashMap, +} + +pub struct ProtocolChannelInfo { + pub callback: Option>, +} + +#[derive(thiserror::Error, Debug)] +enum AcceptError { + #[error("I/O error: {0}")] + Io(#[from] std::io::Error), + #[error("Invalid addr len")] + InvalidAddrLen, + #[error("Invalid addr format")] + InvalidAddrFormat, +} + +impl ProtocolEntity { + pub fn new(local_addr: Option, listener: Option) -> Self { + Self { + service_backend: OnceCell::new(), + local_addr, + protocol_listener: listener, + used_channels: DashMap::new(), + sessions: DashMap::new(), + session_uid_map: DashMap::new(), + } + } + + pub async fn connect( + self: Arc, + addr: SocketAddr, + no_reverse: bool, + ) -> std::io::Result { + if let Some(session_impl) = self.sessions.get(&addr) { + return Ok(session_impl.get_uid()); + } + + let linker = protocol_helper::connect(addr).await?; + let protocol_session = Arc::new(ProtocolSessionImpl::new(true, linker, self.clone())); + let uid = self + .service_backend() + .session_mgr + .insert(protocol_session.clone()); + + let mut buf: Vec = Vec::new(); + let mut ps = ProtocolStream::new(Cursor::new(&mut buf)); + if let Some(local_addr) = self.local_addr { + let IpAddr::V4(ip) = local_addr.ip() else { + unreachable!(); + }; + + ps.push_boolean(true)?; + let octets = ip.octets(); + ps.push_u8(octets.len() as u8)?; + + if no_reverse { + ps.push(&octets)?; + } else { + // it's hell + todo!() + } + + ps.push_u16(local_addr.port())?; + ps.push_boolean(no_reverse)?; + } else { + ps.push_boolean(false)?; + ps.push_u8(0)?; + } + + protocol_session.linker.send(&buf).await; + + self.sessions.insert(addr, protocol_session.clone()); + self.session_uid_map + .insert(protocol_session.get_uid(), addr); + + tokio::spawn(async move { self.service_backend().begin_recv(protocol_session).await }); + Ok(uid) + } + + pub fn get_channel_info(&self, channel_id: u16) -> Option> { + self.used_channels.get(&channel_id) + } + + pub fn get_channel_info_mut( + &self, + channel_id: u16, + ) -> Option> { + self.used_channels.get_mut(&channel_id) + } + + pub fn set_backend(&self, backend: Arc) { + let _ = self.service_backend.set(Arc::downgrade(&backend)); + } + + pub fn create_point(self: Arc, channel: u16) -> Option { + if self.used_channels.contains_key(&channel) { + return None; + } + + self.used_channels + .insert(channel, ProtocolChannelInfo { callback: None }); + + Some(ProtocolPoint::new( + &self.service_backend(), + self.clone(), + channel, + )) + } + + fn service_backend(&self) -> Arc { + self.service_backend + .get() + .unwrap() + .upgrade() + .expect("backend gone?") + } + + pub fn has_listener(&self) -> bool { + self.protocol_listener.is_some() + } + + pub async fn accept(self: &Arc) -> std::io::Result> { + loop { + let mut linker = self.protocol_listener.as_ref().unwrap().accept().await?; + let Ok(result) = timeout( + Duration::from_millis(200), + Self::proceed_accept(&mut linker), + ) + .await + else { + continue; + }; + + let remote_addr = match result { + Ok(r) => r, + Err(err) => { + tracing::warn!("accept error, skipping client: {err}"); + continue; + } + }; + + let session = Arc::new(ProtocolSessionImpl::new(false, linker, self.clone())); + + self.sessions + .insert(session.linker.remote_addr, session.clone()); + if let Some(addr) = remote_addr { + self.sessions.insert(addr, session.clone()); + } + + return Ok(session); + } + } + + async fn proceed_accept( + linker: &mut ProtocolLinker, + ) -> Result, AcceptError> { + let mut buf = [0u8; 9]; + let mut n = 0; + + while n < 2 { + n += linker.recv_some(&mut buf[..2]).await?; + } + + let mut ps = ProtocolStream::new(Cursor::new(&buf)); + let has_addr = ps.pop_boolean()?; + let addr_size = ps.pop_u8()? as usize; + + if has_addr { + if addr_size != 4 { + return Err(AcceptError::InvalidAddrLen); + } + + while n < 5 + addr_size { + n += linker.recv_some(&mut buf[n..]).await?; + } + + let mut ps = ProtocolStream::new(Cursor::new(&buf[2..])); + let octets = ps.pop(addr_size)?; + let port = ps.pop_u16()?; + let no_reverse = ps.pop_boolean()?; + if !no_reverse { + return Err(AcceptError::InvalidAddrFormat); // not supported yet + } + + Ok(Some(SocketAddr::new( + IpAddr::V4(Ipv4Addr::new(octets[0], octets[1], octets[2], octets[3])), + port, + ))) + } else { + if addr_size != 0 { + return Err(AcceptError::InvalidAddrLen); + } + + Ok(None) + } + } +} diff --git a/crates/qwer-rpc/src/protocol/protocol_helper.rs b/crates/qwer-rpc/src/protocol/protocol_helper.rs new file mode 100644 index 0000000..8fca26a --- /dev/null +++ b/crates/qwer-rpc/src/protocol/protocol_helper.rs @@ -0,0 +1,58 @@ +use std::io::Result; +use std::net::SocketAddr; +use tokio::{ + io::{AsyncReadExt, AsyncWriteExt}, + net::{ + tcp::{OwnedReadHalf, OwnedWriteHalf}, + TcpListener, TcpStream, + }, + sync::Mutex, +}; + +pub struct ProtocolListener { + socket: TcpListener, +} + +pub struct ProtocolLinker { + pub remote_addr: SocketAddr, + write_half: Mutex, + read_half: Mutex, +} + +pub async fn listen(local_addr: SocketAddr) -> Result { + Ok(ProtocolListener { + socket: TcpListener::bind(local_addr).await?, + }) +} + +pub async fn connect(remote_addr: SocketAddr) -> Result { + let stream = TcpStream::connect(remote_addr).await?; + Ok(ProtocolLinker::new(remote_addr, stream)) +} + +impl ProtocolLinker { + pub async fn send(&self, buf: &[u8]) { + let _ = self.write_half.lock().await.write_all(buf).await; + } + + pub async fn recv_some(&self, buf: &mut [u8]) -> Result { + self.read_half.lock().await.read(buf).await + } + + fn new(remote_addr: SocketAddr, stream: TcpStream) -> Self { + let (read, write) = stream.into_split(); + + ProtocolLinker { + remote_addr, + write_half: Mutex::new(write), + read_half: Mutex::new(read), + } + } +} + +impl ProtocolListener { + pub async fn accept(&self) -> Result { + let (stream, remote_addr) = self.socket.accept().await?; + Ok(ProtocolLinker::new(remote_addr, stream)) + } +} diff --git a/crates/qwer-rpc/src/protocol/protocol_point.rs b/crates/qwer-rpc/src/protocol/protocol_point.rs new file mode 100644 index 0000000..6e4f2ea --- /dev/null +++ b/crates/qwer-rpc/src/protocol/protocol_point.rs @@ -0,0 +1,97 @@ +use std::{ + net::SocketAddr, + sync::{Arc, Weak}, + time::Duration, +}; + +use crate::{ + protocol::protocol_entity::ProtocolEntity, + protocol::protocol_service::ProtocolServiceFrontendImpl, ProtocolContext, +}; + +pub struct ProtocolPoint { + service_backend: Weak, + entity: Arc, + channel: u16, +} + +impl ProtocolPoint { + pub fn new( + service_backend: &Arc, + entity: Arc, + channel: u16, + ) -> Self { + Self { + service_backend: Arc::downgrade(service_backend), + entity, + channel, + } + } + + pub fn register_rpc_call(&self, cb: impl Fn(ProtocolContext) + Send + Sync + 'static) { + self.entity + .get_channel_info_mut(self.channel) + .unwrap() + .callback = Some(Box::new(cb)); + } + + pub async fn send_rpc( + &self, + addr: SocketAddr, + rpc_arg: Box<[u8]>, + to_channel: u16, + arg_uid: u64, + ) { + let _ = self + .service_backend + .upgrade() + .unwrap() + .send_rpc( + self.entity.clone(), + self.channel, + to_channel, + addr, + rpc_arg, + Duration::ZERO, + arg_uid == 0, + arg_uid, + ) + .await; + } + + pub async fn call_rpc( + &self, + addr: SocketAddr, + rpc_arg: Box<[u8]>, + timeout: Duration, + ) -> Option> { + self.service_backend + .upgrade() + .unwrap() + .send_rpc( + self.entity.clone(), + self.channel, + 0, + addr, + rpc_arg, + timeout, + false, + 0, + ) + .await + .inspect_err(|err| tracing::error!("ProtocolPoint::CallRpc -> send_rpc failed: {err}")) + .ok() + .flatten() + } + + pub fn close(&self, addr: SocketAddr) { + self.service_backend + .upgrade() + .unwrap() + .close_session(&self.entity, addr); + } + + pub fn get_channel(&self) -> u16 { + self.channel + } +} diff --git a/crates/qwer-rpc/src/protocol/protocol_service.rs b/crates/qwer-rpc/src/protocol/protocol_service.rs new file mode 100644 index 0000000..faa085e --- /dev/null +++ b/crates/qwer-rpc/src/protocol/protocol_service.rs @@ -0,0 +1,336 @@ +use std::{ + io::Cursor, + net::SocketAddr, + sync::{ + atomic::{self, AtomicU16}, + Arc, + }, + time::Duration, +}; + +use common::time_util; +use dashmap::DashMap; +use qwer::{ProtocolHeader, ProtocolStream}; +use tokio::{ + sync::{oneshot, OnceCell}, + time, +}; + +use crate::{ + object_res_mini_mgr::{ObjectResMiniMgr, ResObj}, + protocol::protocol_entity::{ProtocolChannelInfo, ProtocolEntity}, + protocol::protocol_helper, + protocol::protocol_point::ProtocolPoint, + ProtocolContext, ProtocolSession, ProtocolSessionImpl, +}; + +pub struct RpcArgInfo { + #[expect(unused)] + pub session: ProtocolSession, + pub sender: oneshot::Sender>, + uid: OnceCell, +} + +impl RpcArgInfo { + pub fn new(session: ProtocolSession, sender: oneshot::Sender>) -> Self { + Self { + session, + sender, + uid: OnceCell::new(), + } + } +} + +impl ResObj for RpcArgInfo { + fn set_uid(&self, uid: u64) { + let _ = self.uid.set(uid); + } + + fn get_uid(&self) -> u64 { + self.uid.get().copied().unwrap_or_default() + } +} + +pub struct ProtocolServiceFrontend { + backend: Arc, +} + +impl ProtocolServiceFrontend { + pub fn new() -> Self { + Self { + backend: ProtocolServiceFrontendImpl::new(), + } + } + + pub async fn create_point( + &self, + local_addr: Option, + ) -> Result { + self.backend.create_point(local_addr).await + } +} + +pub struct ProtocolServiceFrontendImpl { + protocol_entity_map: DashMap, Arc>, + pub session_mgr: ObjectResMiniMgr>, + rpc_arg_mgr: ObjectResMiniMgr, + channel_counter: AtomicU16, +} + +#[derive(thiserror::Error, Debug)] +pub enum ProtocolError { + #[error("I/O Error: {0}")] + Io(#[from] std::io::Error), + #[error("header size doesn't match, expected: {0}, received: {1}")] + HeaderSize(usize, usize), +} + +#[derive(thiserror::Error, Debug)] +pub enum SendRpcError { + #[error("I/O Error: {0}")] + Io(#[from] std::io::Error), + #[error("RPC timeout reached")] + Timeout, +} + +impl ProtocolServiceFrontendImpl { + pub fn new() -> Arc { + let inst = Arc::new(Self { + protocol_entity_map: DashMap::new(), + session_mgr: ObjectResMiniMgr::new(), + rpc_arg_mgr: ObjectResMiniMgr::new(), + channel_counter: AtomicU16::new(0), + }); + + let inst_clone = inst.clone(); + tokio::spawn(async move { inst_clone.check_active_sessions() }); + + inst + } + + pub async fn send_rpc( + &self, + entity: Arc, + from_channel: u16, + to_channel: u16, + to_addr: SocketAddr, + body: Box<[u8]>, + timeout: Duration, + is_ptc: bool, + arg_uid: u64, + ) -> Result>, SendRpcError> { + let session_uid = entity.connect(to_addr, true).await?; + + let Some(session_impl) = self.session_mgr.get(session_uid).map(|s| s.clone()) else { + tracing::error!("self.session_mgr.get({session_uid}) = None"); + return Ok(None); + }; + + let (rpc_arg_uid, receiver) = if !is_ptc && arg_uid == 0 { + let (sender, receiver) = oneshot::channel(); + let arg_info = RpcArgInfo::new( + ProtocolSession { + remote_addr: session_impl.linker.remote_addr, + session_id: session_impl.get_uid(), + local_channel: from_channel, + remote_channel: to_channel, + }, + sender, + ); + + (self.rpc_arg_mgr.insert(arg_info), Some(receiver)) + } else { + (arg_uid, None) + }; + + let header = ProtocolHeader { + from_channel, + to_channel: 0, + is_rpc_ret: arg_uid != 0, + rpc_arg_uid, + }; + + let mut buf = Vec::new(); + let mut ps = ProtocolStream::new(Cursor::new(&mut buf)); + ps.push_u16(to_channel)?; + ps.push_u32(body.len() as u32)?; + ps.push_u16(ProtocolHeader::SIZE as u16)?; + header.marshal_to(&mut ps)?; + ps.push(&body)?; + + session_impl.linker.send(&buf).await; + + match receiver { + Some(r) => Ok(time::timeout(timeout, r) + .await + .map_err(|_| SendRpcError::Timeout)? + .ok()), + None => Ok(None), + } + } + + pub async fn begin_accept(self: Arc, protocol_entity: Arc) { + loop { + let protocol_session = protocol_entity.accept().await.unwrap(); // TODO: handle err + let uid = self.session_mgr.insert(protocol_session.clone()); + + tracing::info!("[SERVICE] new ProtocolSession, uid: {uid}"); + + let s = self.clone(); + tokio::spawn(async { s.begin_recv(protocol_session).await }); + } + } + + pub async fn begin_recv(self: Arc, session: Arc) { + let uid = session.get_uid(); + if let Err(err) = self.do_recv(session).await { + tracing::error!("ProtocolServiceFrontendImpl: session: {uid} recv failed: {err}",); + } + + self.release_session(uid); + } + + async fn do_recv(&self, session: Arc) -> Result<(), ProtocolError> { + let mut buf = [0u8; 16384]; + let mut n = 0; + loop { + while n < 8 { + match session.linker.recv_some(&mut buf[n..]).await? { + r if r > 0 => n += r, + _ => return Ok(()), + } + } + + let mut ps = ProtocolStream::new(Cursor::new(&mut buf)); + + let to_channel = ps.pop_u16()?; + let body_len = ps.pop_u32()? as usize; + let header_len = ps.pop_u16()? as usize; + + if header_len != ProtocolHeader::SIZE { + return Err(ProtocolError::HeaderSize(ProtocolHeader::SIZE, header_len)); + } + + while n < 8 + header_len + body_len { + match session.linker.recv_some(&mut buf[n..]).await? { + r if r > 0 => n += r, + _ => return Ok(()), + } + } + + let mut ps = ProtocolStream::new(Cursor::new(&mut buf[8..])); + let header = ProtocolHeader::unmarshal_from(&mut ps)?; + + if let Some(channel_info) = session.entity.get_channel_info(to_channel) { + let body = ps.pop(body_len)?; + self.handle_received_rpc(&session, &channel_info, header, body) + .await; + } + + buf.copy_within(8 + header_len + body_len..n, 0); + n -= 8 + header_len + body_len; + } + } + + async fn handle_received_rpc( + &self, + session: &Arc, + info: &ProtocolChannelInfo, + header: ProtocolHeader, + body: Vec, + ) { + session + .last_active_time + .store(time_util::unix_timestamp(), atomic::Ordering::SeqCst); + + if header.is_rpc_ret { + if let Some((_, rpc_arg_info)) = self.rpc_arg_mgr.release(header.rpc_arg_uid) { + let _ = rpc_arg_info.sender.send(body.into_boxed_slice()); + } + } else { + if let Some(cb) = info.callback.as_ref() { + cb(ProtocolContext { + session: ProtocolSession { + remote_addr: session.linker.remote_addr, + session_id: session.get_uid(), + local_channel: header.to_channel, + remote_channel: header.from_channel, + }, + rpc_arg_uid: header.rpc_arg_uid, + body: body.into_boxed_slice(), + local_channel: header.to_channel, + remote_channel: header.from_channel, + }) + } + } + } + + async fn check_active_sessions(self: Arc) { + loop { + time::sleep(Duration::from_millis(2000)).await; + let cur_time = time_util::unix_timestamp(); + + let mut remove_session_vec = Vec::new(); + for session in self.session_mgr.iter() { + if cur_time - session.last_active_time.load(atomic::Ordering::SeqCst) > 30000 { + remove_session_vec.push(session.get_uid()); + } + } + + remove_session_vec + .into_iter() + .for_each(|uid| self.release_session(uid)); + } + } + + pub async fn create_point( + self: &Arc, + addr: Option, + ) -> Result { + let entity = if let Some(entity) = self.protocol_entity_map.get(&addr) { + entity.clone() + } else { + let listener = match addr { + Some(addr) => Some(protocol_helper::listen(addr).await?), + None => None, + }; + + let protocol_entity = Arc::new(ProtocolEntity::new(addr, listener)); + protocol_entity.set_backend(self.clone()); + + self.protocol_entity_map + .insert(addr, protocol_entity.clone()); + + if protocol_entity.has_listener() { + let s = self.clone(); + let e = protocol_entity.clone(); + tokio::spawn(async move { + s.begin_accept(e).await; + }); + } + protocol_entity + }; + + Ok(entity + .create_point(self.channel_counter.fetch_add(1, atomic::Ordering::SeqCst)) + .unwrap()) + } + + pub fn close_session(&self, entity: &Arc, addr: SocketAddr) { + if let Some(session) = entity.sessions.get(&addr) { + self.release_session(session.get_uid()); + } + } + + fn release_session(&self, uid: u64) { + tracing::info!("[SERVICE] released ProtocolSession, uid: {uid}"); + + self.protocol_entity_map.iter().for_each(|e| { + if let Some((_, addr)) = e.value().session_uid_map.remove(&uid) { + e.value().sessions.remove(&addr); + } + }); + + self.session_mgr.release(uid); + } +} diff --git a/crates/qwer-rpc/src/protocol/protocol_session.rs b/crates/qwer-rpc/src/protocol/protocol_session.rs new file mode 100644 index 0000000..95a2ab7 --- /dev/null +++ b/crates/qwer-rpc/src/protocol/protocol_session.rs @@ -0,0 +1,68 @@ +use std::{ + fmt, + net::SocketAddr, + sync::{atomic::AtomicU64, Arc}, +}; + +use common::time_util; +use tokio::sync::OnceCell; + +use crate::{ + object_res_mini_mgr::ResObj, protocol::protocol_entity::ProtocolEntity, ProtocolLinker, +}; + +#[derive(Clone)] +pub struct ProtocolSession { + pub session_id: u64, + pub local_channel: u16, + pub remote_channel: u16, + pub remote_addr: SocketAddr, +} + +pub struct ProtocolSessionImpl { + pub is_connector: bool, + pub linker: ProtocolLinker, + pub entity: Arc, + pub last_active_time: AtomicU64, + uid: OnceCell, +} + +pub struct ProtocolContext { + pub session: ProtocolSession, + pub body: Box<[u8]>, + pub rpc_arg_uid: u64, + pub local_channel: u16, + pub remote_channel: u16, +} + +impl fmt::Display for ProtocolSession { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!( + f, + "{}/{}/{}", + self.session_id, self.local_channel, self.remote_channel + ) + } +} + +impl ProtocolSessionImpl { + pub fn new(is_connector: bool, linker: ProtocolLinker, entity: Arc) -> Self { + ProtocolSessionImpl { + is_connector, + linker, + entity, + last_active_time: AtomicU64::new(time_util::unix_timestamp()), + uid: OnceCell::new(), + } + } +} + +impl ResObj for Arc { + fn set_uid(&self, uid: u64) { + let _ = self.uid.set(uid); + } + + fn get_uid(&self) -> u64 { + self.uid.get().copied().unwrap_or_default() + } +} diff --git a/crates/qwer-rpc/src/rpc_ptc/middleware.rs b/crates/qwer-rpc/src/rpc_ptc/middleware.rs new file mode 100644 index 0000000..2b50280 --- /dev/null +++ b/crates/qwer-rpc/src/rpc_ptc/middleware.rs @@ -0,0 +1,88 @@ +use std::io::{Cursor, Read, Write}; + +use qwer::{OctData, ProtocolStream}; +use tracing::debug; + +#[derive(Debug, Clone)] +pub enum MiddlewareModel { + Account(AccountMiddlewareModel), + Unknown(u16, Box<[u8]>), +} + +pub fn unmarshal_middleware_list( + s: &mut ProtocolStream, +) -> std::io::Result> { + let size = s.pop_u16()?; + (0..size) + .map(|_| { + let middleware_type = s.pop_u16()?; + let middleware_size = s.pop_u16()?; + let buf = s.pop(middleware_size as usize)?; + + match middleware_type { + 1 => Ok(MiddlewareModel::Account( + AccountMiddlewareModel::unmarshal_from(&mut Cursor::new(&buf), 0)?, + )), + _ => { + debug!("unknown middleware_type encountered: {middleware_type}"); + Ok(MiddlewareModel::Unknown( + middleware_type, + buf.into_boxed_slice(), + )) + } + } + }) + .collect() +} + +pub fn marshal_middleware_list( + s: &mut ProtocolStream, + list: &[MiddlewareModel], +) -> std::io::Result<()> { + s.push_u16(list.len() as u16)?; + list.iter() + .try_for_each(|middleware_model| match middleware_model { + MiddlewareModel::Account(model) => { + let mut data = [0u8; 17]; + model.marshal_to(&mut Cursor::new(&mut data[..]), 0)?; + + s.push_u16(1)?; + s.push_u16(data.len() as u16)?; + s.push(&data) + } + MiddlewareModel::Unknown(ty, data) => { + s.push_u16(*ty)?; + s.push_u16(data.len() as u16)?; + s.push(&data) + } + }) +} + +#[derive(Debug, Clone)] +pub struct AccountMiddlewareModel { + pub player_uid: u64, + pub client_protocol_uid: u64, + pub is_resend: bool, +} + +impl OctData for AccountMiddlewareModel { + fn marshal_to(&self, w: &mut W, _: u16) -> std::io::Result<()> { + use byteorder::{WriteBytesExt, LE}; + w.write_u64::(self.player_uid)?; + w.write_u64::(self.client_protocol_uid)?; + w.write_u8(self.is_resend as u8) + } + + fn unmarshal_from(r: &mut R, _: u16) -> std::io::Result + where + Self: Sized, + { + use byteorder::{ReadBytesExt, LE}; + + Ok(Self { + player_uid: r.read_u64::()?, + client_protocol_uid: r.read_u64::()?, + is_resend: r.read_u8()? != 0, + }) + } +} diff --git a/crates/qwer-rpc/src/rpc_ptc/mod.rs b/crates/qwer-rpc/src/rpc_ptc/mod.rs new file mode 100644 index 0000000..91ec8bb --- /dev/null +++ b/crates/qwer-rpc/src/rpc_ptc/mod.rs @@ -0,0 +1,3 @@ +pub mod middleware; +pub mod rpc_ptc_point; +pub mod rpc_ptc_service; diff --git a/crates/qwer-rpc/src/rpc_ptc/rpc_ptc_point.rs b/crates/qwer-rpc/src/rpc_ptc/rpc_ptc_point.rs new file mode 100644 index 0000000..2d1b1fb --- /dev/null +++ b/crates/qwer-rpc/src/rpc_ptc/rpc_ptc_point.rs @@ -0,0 +1,246 @@ +use std::{ + future::Future, + io::{Cursor, Read, Write}, + net::SocketAddr, + sync::Arc, + time::Duration, +}; + +use byteorder::{ReadBytesExt, WriteBytesExt, BE, LE}; +use dashmap::DashMap; +use futures::future::BoxFuture; +use qwer::{OctData, ProtocolID, ProtocolStream}; +use tracing::{debug, warn}; + +use crate::{ProtocolContext, ProtocolPoint}; + +use super::middleware::{marshal_middleware_list, unmarshal_middleware_list, MiddlewareModel}; + +pub struct RpcPtcContext { + pub point: Arc, + pub protocol_id: u16, + pub arg: Box<[u8]>, + pub addr: SocketAddr, + pub middleware_list: Vec, + arg_uid: u64, + remote_channel: u16, +} + +impl RpcPtcContext { + pub fn get_arg(&self) -> Result { + let mut r = Cursor::new(&self.arg); + Arg::unmarshal_from(&mut r, 0) + } + + pub async fn send_ptc(&self, arg: RpcArg) { + self.point + .send_rpc( + self.addr, + self.remote_channel, + arg, + 0, + Vec::with_capacity(0), + ) + .await; + } + + pub async fn send_ret(&self, ret: RpcRet) { + self.point.send_ret(self.addr, ret, self.arg_uid).await; + } +} + +pub trait RpcHandler: Send + Sync { + fn call(&self, context: RpcPtcContext) -> BoxFuture<'static, ()>; +} + +impl RpcHandler for T +where + T: Fn(RpcPtcContext) -> F + Send + Sync, + F: Future + 'static + Send + Sync, +{ + fn call(&self, context: RpcPtcContext) -> BoxFuture<'static, ()> { + Box::pin(self(context)) + } +} + +pub struct RpcPtcPoint { + pub protocol_point: ProtocolPoint, + rpc_handlers: DashMap>, +} + +pub struct RpcRawRet(Box<[u8]>); + +impl RpcRawRet { + pub fn as_bytes(&self) -> &[u8] { + &self.0 + } +} + +#[derive(thiserror::Error, Debug)] +pub enum RpcCallError { + #[error("remote protocol service didn't reply")] + NoResponse, + #[error("failed to decode RpcRet")] + Decode(#[from] std::io::Error), +} + +impl RpcPtcPoint { + pub fn new(point: ProtocolPoint) -> Arc { + let point = Arc::new(Self { + protocol_point: point, + rpc_handlers: DashMap::new(), + }); + + let pt_clone = point.clone(); + point.protocol_point.register_rpc_call(move |ctx| { + let point = pt_clone.clone(); + tokio::spawn(async move { + point.handle_protocol_context(ctx).await; + }); + }); + point + } + + async fn handle_protocol_context(self: &Arc, context: ProtocolContext) { + if context.body.len() < 6 { + return; + } + + let mut r = Cursor::new(&context.body); + let protocol_id = r.read_u16::().unwrap(); + let arg_size = r.read_u32::().unwrap() as usize; + if arg_size + 6 > context.body.len() { + return; + } + + let mut arg = vec![0u8; arg_size]; + r.read_exact(&mut arg).unwrap(); + + let Ok(middleware_list) = unmarshal_middleware_list(&mut ProtocolStream::new(&mut r)) + else { + debug!("failed to decode middleware list"); + return; + }; + + if let Some(cb) = self.rpc_handlers.get(&protocol_id) { + cb.call(RpcPtcContext { + point: self.clone(), + protocol_id, + arg: arg.into_boxed_slice(), + arg_uid: context.rpc_arg_uid, + addr: context.session.remote_addr, + middleware_list, + remote_channel: context.remote_channel, + }) + .await; + } else { + warn!("RpcPtc: no handler registered for {protocol_id}"); + } + } + + pub async fn send_rpc( + &self, + addr: SocketAddr, + to_channel: u16, + rpc_arg: RpcArg, + arg_uid: u64, + middleware_list: Vec, + ) where + RpcArg: OctData + ProtocolID, + { + let mut buf = Vec::new(); + let mut cursor = Cursor::new(&mut buf); + + let protocol_id = rpc_arg.get_protocol_id(); + cursor.write_u16::(protocol_id).unwrap(); + + let mut arg_buf = Vec::new(); + rpc_arg + .marshal_to(&mut Cursor::new(&mut arg_buf), 0) + .unwrap(); + cursor.write_u32::(arg_buf.len() as u32).unwrap(); + cursor.write_all(&arg_buf).unwrap(); + + marshal_middleware_list(&mut ProtocolStream::new(&mut cursor), &middleware_list).unwrap(); + + self.protocol_point + .send_rpc(addr, buf.into_boxed_slice(), to_channel, arg_uid) + .await; + + if arg_uid == 0 { + tokio::time::sleep(Duration::from_millis(10)).await; + } + } + + pub async fn send_ret(&self, addr: SocketAddr, rpc_ret: RpcRet, arg_uid: u64) + where + RpcRet: OctData, + { + let mut buf = Vec::new(); + let mut cursor = Cursor::new(&mut buf); + rpc_ret.marshal_to(&mut cursor, 0).unwrap(); + + self.protocol_point + .send_rpc(addr, buf.into_boxed_slice(), 0, arg_uid) + .await; + } + + pub async fn call_rpc( + &self, + addr: SocketAddr, + rpc_arg: RpcArg, + middleware_list: Vec, + timeout: Duration, + ) -> Result + where + RpcArg: OctData + ProtocolID, + RpcRet: OctData, + { + let raw_ret = self + .call_rpc_raw(addr, rpc_arg, middleware_list, timeout) + .await + .ok_or(RpcCallError::NoResponse)?; + + let mut r = Cursor::new(raw_ret.as_bytes()); + let ret = RpcRet::unmarshal_from(&mut r, 0)?; + + Ok(ret) + } + + pub async fn call_rpc_raw( + &self, + addr: SocketAddr, + rpc_arg: RpcArg, + middleware_list: Vec, + timeout: Duration, + ) -> Option + where + RpcArg: OctData + ProtocolID, + { + let mut buf = Vec::new(); + let mut cursor = Cursor::new(&mut buf); + + let protocol_id = rpc_arg.get_protocol_id(); + cursor.write_u16::(protocol_id).unwrap(); + + let mut arg_buf = Vec::new(); + rpc_arg + .marshal_to(&mut Cursor::new(&mut arg_buf), 0) + .unwrap(); + cursor.write_u32::(arg_buf.len() as u32).unwrap(); + cursor.write_all(&arg_buf).unwrap(); + + marshal_middleware_list(&mut ProtocolStream::new(&mut cursor), &middleware_list).unwrap(); + + let ret_buf = self + .protocol_point + .call_rpc(addr, buf.into_boxed_slice(), timeout) + .await?; + + Some(RpcRawRet(ret_buf)) + } + + pub fn register_rpc_recv(&self, protocol_id: u16, cb: T) { + self.rpc_handlers.insert(protocol_id, Box::new(cb)); + } +} diff --git a/crates/qwer-rpc/src/rpc_ptc/rpc_ptc_service.rs b/crates/qwer-rpc/src/rpc_ptc/rpc_ptc_service.rs new file mode 100644 index 0000000..9f8ec89 --- /dev/null +++ b/crates/qwer-rpc/src/rpc_ptc/rpc_ptc_service.rs @@ -0,0 +1,28 @@ +use std::{net::SocketAddr, sync::Arc}; + +use crate::ProtocolServiceFrontend; + +use super::rpc_ptc_point::RpcPtcPoint; + +pub struct RpcPtcServiceFrontend { + pub protocol_service_frontend: ProtocolServiceFrontend, +} + +impl RpcPtcServiceFrontend { + pub fn new(protocol_service: ProtocolServiceFrontend) -> Self { + Self { + protocol_service_frontend: protocol_service, + } + } + + pub async fn create_point( + &self, + local_addr: Option, + ) -> Result, std::io::Error> { + let protocol_point = self + .protocol_service_frontend + .create_point(local_addr) + .await?; + Ok(RpcPtcPoint::new(protocol_point)) + } +} diff --git a/crates/qwer/Cargo.toml b/crates/qwer/Cargo.toml new file mode 100644 index 0000000..99f8d47 --- /dev/null +++ b/crates/qwer/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "qwer" +edition = "2021" +version.workspace = true + +[dependencies] +byteorder.workspace = true +paste.workspace = true +qwer-derive.workspace = true diff --git a/crates/qwer/qwer-derive/Cargo.toml b/crates/qwer/qwer-derive/Cargo.toml new file mode 100644 index 0000000..04128ff --- /dev/null +++ b/crates/qwer/qwer-derive/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "qwer-derive" +edition = "2021" +version.workspace = true + +[lib] +proc-macro = true + +[dependencies] +heck = "0.5.0" +proc-macro2 = "1.0.86" +quote = "1.0.37" +syn = "2.0.79" diff --git a/crates/qwer/qwer-derive/src/lib.rs b/crates/qwer/qwer-derive/src/lib.rs new file mode 100644 index 0000000..52643ab --- /dev/null +++ b/crates/qwer/qwer-derive/src/lib.rs @@ -0,0 +1,62 @@ +use proc_macro::TokenStream; +use quote::ToTokens; +use syn::{parse_macro_input, DeriveInput, Meta, MetaList}; + +mod oct_data_derive; + +/// Generate `OctData` implementation for structs and enums that have all fields +/// implement `OctData`. +/// +/// For structs, fields are written one by one in order. +/// If the struct must pad a byte due to it being a `CPropertyObject`, the `#[property_object]` +/// attribute must be present, and must contain the value to pad with. +/// +/// e.g. `#[property_object(u16, 0x01)]` will pad with 0x01 as a u16. +/// +/// In the presence of these property objects, all fields must be Optional, e.g. `Option`, +/// and must also have a tag attribute attached to them for marshalling and unmarshalling, of the +/// form `#[tag = ]`. +/// +/// For enums, the structure starts with a discriminant with the type specified in the `#[repr]` of +/// the enum, followed by the fields of the enum one by one. +#[proc_macro_derive( + OctData, + attributes( + property_object, + property_blob, + server_only, + tag, + root, + base, + polymorphic_none + ) +)] +pub fn derive_message(item: TokenStream) -> TokenStream { + let parsed = parse_macro_input!(item as DeriveInput); + match oct_data_derive::imp(&parsed) { + Ok(item) => item.into(), + Err(err) => err.to_compile_error().into(), + } +} + +#[proc_macro_derive(ProtocolID, attributes(id))] +pub fn derive_protocol_id(input: TokenStream) -> TokenStream { + let input = parse_macro_input!(input as DeriveInput); + let struct_name = input.ident; + + let id = match input.attrs.iter().find(|attr| attr.path().is_ident("id")) { + Some(attr) => match attr.meta { + Meta::List(MetaList { ref tokens, .. }) => tokens.into_token_stream(), + _ => panic!("Invalid cmdid attribute value"), + }, + _ => panic!("Protocol ID should be specified with 'id' attribute"), + }; + + let protocol_name_str = struct_name.to_string(); + TokenStream::from(::quote::quote! { + impl crate::ProtocolID for #struct_name { + const PROTOCOL_ID: u16 = #id; + const NAME: &str = #protocol_name_str; + } + }) +} diff --git a/crates/qwer/qwer-derive/src/oct_data_derive.rs b/crates/qwer/qwer-derive/src/oct_data_derive.rs new file mode 100644 index 0000000..00d9965 --- /dev/null +++ b/crates/qwer/qwer-derive/src/oct_data_derive.rs @@ -0,0 +1,1004 @@ +use heck::ToPascalCase; +use proc_macro2::{Literal, Span, TokenStream}; +use quote::{quote, ToTokens}; +use syn::{ + parse::Parse, spanned::Spanned, Attribute, Data, DeriveInput, Error, Fields, Ident, LitInt, + Meta, MetaNameValue, Result, Token, Type, +}; + +// Define a struct to hold the parsed data +struct PropertyObject { + ty: Ident, + value: LitInt, +} + +impl Parse for PropertyObject { + fn parse(input: syn::parse::ParseStream) -> syn::Result { + let ty = input.parse()?; + input.parse::()?; + let value = input.parse()?; + Ok(Self { ty, value }) + } +} + +pub fn imp(item: &DeriveInput) -> Result { + let item_name = &item.ident; + + let (marshal_to, unmarshal_from, lifetimes, format) = match &item.data { + Data::Struct(data) => { + let num_fields = data.fields.len() as u16; + let name = item.ident.to_string(); + let mut marshal_to = quote!(); + let mut unmarshal_from = quote!(); + let mut is_property_object = false; + let is_root_object = find_attr(&item.attrs, "root").is_some(); + let is_packet = item_name.to_string().starts_with("Rpc") + || item_name.to_string().starts_with("Ptc"); + + let mut lifetimes = quote!(); + + for lifetime in item.generics.lifetimes() { + lifetimes.extend(quote! {#lifetime,}); + } + + let lifetimes = if lifetimes.is_empty() { + quote!() + } else { + quote! {<#lifetimes>} + }; + + // check for #[property_object] attribute] + if let Some(attr) = find_attr(&item.attrs, "property_object") { + is_property_object = true; + + // check that all fields are optional + for field in &data.fields { + let ty = &field.ty; + let strfy = ty.to_token_stream().to_string(); + if !strfy.contains("Option") { + return Err(Error::new( + field.span(), + "All fields in a property object must be Option", + )); + } + } + + // extract type and value of the property_object attribute + // e.g. #[property_object(u16, 0x01)] + if let Ok(PropertyObject { ty, value }) = attr.parse_args() { + marshal_to.extend(quote! { + bt_property_tag = #value as u16; + }); + + unmarshal_from.extend(quote! { + bt_property_tag = #value as u16; + }); + + marshal_to.extend(match ty.to_string().as_str() { + "u8" | "u16" | "u32" | "u64" => { + quote! { + #ty::marshal_to(&#value, w, bt_property_tag)?; + } + } + _ => Err(Error::new( + ty.span(), + "Only u8, u16, u32, and u64 are supported for #[property_object]", + ))?, + }); + + unmarshal_from.extend(match ty.to_string().as_str() { + "u8" | "u16" | "u32" | "u64" => { + quote! { + assert!(#ty::unmarshal_from(r, bt_property_tag)? == #value, "Failed for {}", #name); + } + } + _ => Err(Error::new( + ty.span(), + "Only u8, u16, u32, and u64 are supported for #[property_object]", + ))?, + }); + } else { + marshal_to.extend(quote! { + if bt_property_tag == 0 { + #num_fields.marshal_to(w, bt_property_tag)?; + } + }); + + unmarshal_from.extend(quote! { + if bt_property_tag == 0 { + assert!(u16::unmarshal_from(r, bt_property_tag)? == #num_fields, "Failed for {}", #name); + } + }); + } + + let generated_ident = generate_ident(0, Span::call_site()); + + let mut loop_count_fields = quote! { + let mut #generated_ident = 0; + }; + + for field in &data.fields { + let ident = &field.ident; + loop_count_fields.extend(quote! { + if self.#ident.is_some() { + #generated_ident += 1; + } + }); + } + + // extend with # of fields that are NOT none + marshal_to.extend(quote! { + #loop_count_fields + (#generated_ident as u16).marshal_to(w, bt_property_tag)?; + }); + + let num_fields = data.fields.len() as u16; + unmarshal_from.extend(quote! { + let num_fields: u16 = ::qwer::OctData::unmarshal_from(r, bt_property_tag)?; + if num_fields > #num_fields { + return Err(::std::io::Error::new( + ::std::io::ErrorKind::InvalidData, + format!("Unexpected number of fields, expected at most {}, got {}", #num_fields, num_fields), + )); + } + }); + } else if !is_packet { + marshal_to.extend(quote! { + if bt_property_tag == 0 { + #num_fields.marshal_to(w, bt_property_tag)?; + } + }); + unmarshal_from.extend(quote! { + if bt_property_tag == 0 { + assert!(u16::unmarshal_from(r, bt_property_tag)? == #num_fields, "Failed for {}", #name); + } + }); + } + + marshal_to.extend(write_fields( + &data.fields, + |ident| quote!(self.#ident), + |i, _| { + let i = Literal::usize_unsuffixed(i); + quote!(self.#i) + }, + if is_property_object { + write_property_field + } else { + write_field + }, + is_root_object, + None, + )); + + let unmarshal_body = if is_property_object { + // we need to wrap the reads in a for loop, otherwise just assign by default for + // every field type + let mut fields = quote!(); + let mut nones = quote!(); + let mut cases = quote!(); + + for field in &data.fields { + let ident = &field.ident; + + fields.extend(quote! { + mut #ident, + }); + + nones.extend(quote! { + None, + }); + + let tag_attr = find_attr(&field.attrs, "tag").ok_or_else(|| { + Error::new(field.span(), "Property fields must have a #[tag]") + })?; + let Meta::NameValue(MetaNameValue { ref value, .. }) = tag_attr.meta else { + return Err(Error::new( + tag_attr.span(), + format!("Expected #[tag = ] for field {ident:?}"), + )); + }; + + let case = value + .into_token_stream() + .to_string() + .parse::() + .unwrap(); + + let read_case = + read_property_field(&field.ty, &field.attrs, is_root_object, None); + + cases.extend(quote! { + #case => { #ident = Some(#read_case) } + }); + } + + let field_assign = quote! { + let ( #fields ) = ( #nones ); + }; + + unmarshal_from.extend(field_assign); + + let r#for = quote!( + for _ in 0..num_fields { + let tag: u16 = ::qwer::OctData::unmarshal_from(r, bt_property_tag)?; + match tag { + #cases + unexpected => { + return Err(::std::io::Error::new( + ::std::io::ErrorKind::InvalidData, + format!("Unexpected tag {unexpected}"), + )); + } + } + } + ); + + let mut result_fields = quote!(); + for field in &data.fields { + let ident = &field.ident; + result_fields.extend(quote! { + #ident, + }); + } + + quote! { + #r#for + Ok(Self { + #result_fields + }) + } + } else { + let reads = read_fields( + &data.fields, + if is_property_object { + read_property_field + } else { + read_field + }, + is_root_object, + None, + ); + + quote! { + Ok(Self #reads) + } + }; + + unmarshal_from.extend(unmarshal_body); + + let mut format = quote!(); + for field in &data.fields { + let ident = &field.ident; + let ty = &field.ty; + if ident.as_ref().unwrap().to_string().starts_with("unk") { + let strfy = quote!(#ty).to_string(); + if strfy.starts_with("Option") && strfy.ends_with('>') && strfy.contains('<') { + let inner = strfy[7..strfy.len() - 1].to_string(); + format.extend(quote! { + writeln!(f, "({}) {:?}", #inner, self.#ident)?; + }); + } else { + format.extend(quote! { + writeln!(f, "({}) {}", #strfy, self.#ident)?; + }); + } + } else { + let strfy = ident.as_ref().unwrap().to_string().to_pascal_case(); + let ty_name = quote!(#ty).to_string(); + if (ty_name.contains("Option") + || ty_name.contains("Vec") + || ty_name.contains("HashSet") + || ty_name.contains("HashMap")) + && ty_name.ends_with('>') + && ty_name.contains('<') + { + format.extend(quote! { + writeln!(f, "({}) {:?}", #strfy, self.#ident)?; + }); + } else { + format.extend(quote! { + writeln!(f, "({}) {}", #strfy, self.#ident)?; + }); + } + } + } + + (marshal_to, unmarshal_from, lifetimes, format) + } + Data::Enum(data) => { + let repr_attr = find_attr(&item.attrs, "repr") + .ok_or_else(|| Error::new(item.span(), "Enum packets must declare #[repr]"))?; + let repr_ty = repr_attr.parse_args::()?; + + let mut marshal_vars = Vec::with_capacity(data.variants.len()); + let mut unmarshal_vars = Vec::with_capacity(data.variants.len()); + let mut print_vars = Vec::with_capacity(data.variants.len()); + + let base = find_attr(&item.attrs, "base") + .map(|attr| { + let Meta::NameValue(MetaNameValue { ref value, .. }) = attr.meta else { + panic!("Failed to get base field count") + }; + value + .into_token_stream() + .to_string() + .parse::() + .map_err(|_| { + Error::new( + value.span(), + format!( + "Failed to parse base field count ({}) as a valid u16", + value.to_token_stream() + ), + ) + }) + }) + .transpose()?; + + for variant in &data.variants { + let var_name = &variant.ident; + let (_, discrim) = variant.discriminant.as_ref().ok_or_else(|| { + Error::new( + variant.span(), + "All enum packet variants must have discriminants", + ) + })?; + let polymorphic_none = find_attr(&variant.attrs, "polymorphic_none"); + + let fields_pat = pat_fields(&variant.fields); + + let fields_write = write_fields( + &variant.fields, + |ident| quote!(#ident), + |id, span| { + let ident = generate_ident(id, span); + quote!(#ident) + }, + write_field, + false, + base, + ); + let fields_read = read_fields(&variant.fields, read_field, false, base); + let fields_print = print_fields(&variant.fields); + + let marshal_header = quote! { + #repr_ty::marshal_to(&#discrim, w, bt_property_tag)?; + }; + + let unmarshal_header = quote!(); + if polymorphic_none.is_none() { + marshal_vars.push(quote!(#item_name::#var_name #fields_pat => { + #marshal_header + #fields_write + })); + unmarshal_vars.push(quote! {#discrim => { + #unmarshal_header + Ok(#item_name::#var_name #fields_read) + }}); + } else { + marshal_vars.push(quote!(#item_name::#var_name #fields_pat => { + #marshal_header + })); + unmarshal_vars.push(quote! {#discrim => { + Ok(#item_name::#var_name {}) + }}); + } + + print_vars.push(quote!(#item_name::#var_name #fields_pat => { + #fields_print + })); + } + + let marshal_to = quote! { + match self { + #(#marshal_vars),* + } + }; + + let read_repr = quote!(#repr_ty); + + let unmarshal_from = if base == Some(0) { + quote! {{ + let id = #read_repr::unmarshal_from(r, bt_property_tag)?; + if id != 0xFFFF { + assert!(u16::unmarshal_from(r, bt_property_tag)? == 0); + } + match id { + #(#unmarshal_vars,)* + _ => Err(::std::io::Error::new( + ::std::io::ErrorKind::InvalidData, + format!("Unexpected discriminant {}", id), + ))?, + } + }} + } else { + quote! {{ + let id = #read_repr::unmarshal_from(r, bt_property_tag)?; + match id { + #(#unmarshal_vars,)* + _ => Err(::std::io::Error::new( + ::std::io::ErrorKind::InvalidData, + format!("Unexpected discriminant {}", id), + ))?, + } + }} + }; + let format = quote! { + match self { + #(#print_vars),* + } + }; + (marshal_to, unmarshal_from, quote!(), format) + } + Data::Union(_) => Err(Error::new( + item.span(), + "Unions cannot be derived as Packet", + ))?, + }; + + Ok(quote! { + #[automatically_derived] + impl #lifetimes ::qwer::OctData for #item_name #lifetimes { + fn marshal_to(&self, w: &mut W, mut bt_property_tag: u16) -> ::std::io::Result<()> { + use ::qwer::OctData; + #marshal_to + Ok(()) + } + + fn unmarshal_from(r: &mut R, mut bt_property_tag: u16) -> ::std::io::Result { + use ::qwer::OctData; + #unmarshal_from + } + } + + #[automatically_derived] + impl #lifetimes ::std::fmt::Display for #item_name #lifetimes { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + #format + Ok(()) + } + } + }) +} + +fn find_attr<'a, I, S>(attr: I, name: S) -> Option<&'a Attribute> +where + I: IntoIterator, + S: AsRef, +{ + attr.into_iter().find(|attr| attr.path().is_ident(&name)) +} + +fn write_fields( + fields: &Fields, + access_named: F, + access_unnamed: G, + write: H, + is_root: bool, + base: Option, +) -> TokenStream +where + F: Fn(&Ident) -> TokenStream, + G: Fn(usize, Span) -> TokenStream, + H: Fn(&Type, &[Attribute], &TokenStream, bool, Option) -> TokenStream, +{ + let mut operations = if let Some(base) = base { + if base == 0 { + quote! { + if bt_property_tag == 0 { + 0u16.marshal_to(w, bt_property_tag)?; + } + } + } else { + quote!() + } + } else { + quote!() + }; + + let fields_operations = match fields { + Fields::Named(fields) => { + let fields = fields + .named + .iter() + .enumerate() + .map(|(i, field)| { + let ident = field.ident.as_ref().unwrap(); + let accessor = access_named(ident); + if let Some(base) = base { + if i == 0 && base != 0 { + write(&field.ty, &field.attrs, &accessor, is_root, Some(base)) + } else if i == base as usize { + write( + &field.ty, + &field.attrs, + &accessor, + is_root, + Some(fields.named.len() as i16 - base), + ) + } else if i == fields.named.len() - 1 && i < base as usize { + let mut write_op = + write(&field.ty, &field.attrs, &accessor, is_root, None); + let num = base - fields.named.len() as i16; + write_op.extend(quote! { + if bt_property_tag == 0 { + (#num as u16).marshal_to(w, bt_property_tag)?; + } + }); + write_op + } else { + write(&field.ty, &field.attrs, &accessor, is_root, None) + } + } else { + write(&field.ty, &field.attrs, &accessor, is_root, None) + } + }) + .collect::>(); + quote!(#(#fields)*) + } + Fields::Unnamed(fields) => { + let fields = fields + .unnamed + .iter() + .enumerate() + .map(|(i, field)| { + let accessor = access_unnamed(i, field.span()); + if let Some(base) = base { + if i == 0 && base != 0 { + write(&field.ty, &field.attrs, &accessor, is_root, Some(base)) + } else if i == base as usize { + write( + &field.ty, + &field.attrs, + &accessor, + is_root, + Some(fields.unnamed.len() as i16 - base), + ) + } else if i == fields.unnamed.len() - 1 && i < base as usize { + write( + &field.ty, + &field.attrs, + &accessor, + is_root, + Some(base - fields.unnamed.len() as i16), + ) + } else { + write(&field.ty, &field.attrs, &accessor, is_root, None) + } + } else { + write(&field.ty, &field.attrs, &accessor, is_root, None) + } + }) + .collect::>(); + quote!(#(#fields)*) + } + Fields::Unit => quote!(), + }; + operations.extend(fields_operations); + + if let Some(base) = base { + let field_num = match fields { + Fields::Named(fields) => fields.named.len(), + Fields::Unnamed(fields) => fields.unnamed.len(), + Fields::Unit => 0, + }; + + if field_num == base as usize && base == 1 { + operations.extend(quote! { + if bt_property_tag == 0 { + 0u16.marshal_to(w, bt_property_tag)?; + } + }); + } + } + + operations +} + +fn read_fields(fields: &Fields, read: R, is_root: bool, base: Option) -> TokenStream +where + R: Fn(&Type, &[Attribute], bool, Option) -> TokenStream, +{ + match fields { + Fields::Named(fields) => { + let fields = fields + .named + .iter() + .enumerate() + .map(|(i, field)| { + let field_name = &field.ident; + let read_expr = if let Some(base) = base { + if i == 0 && base != 0 { + let read_op = read(&field.ty, &field.attrs, is_root, Some(base)); + if base == 1 && fields.named.len() == base as usize { + quote! {{ + let ret = #read_op; + if bt_property_tag == 0 { + assert!(u16::unmarshal_from(r, bt_property_tag)? == 0); + } + ret + }} + } else { + read_op + } + } else if i == base as usize { + read( + &field.ty, + &field.attrs, + is_root, + Some(fields.named.len() as i16 - base), + ) + } else if i == fields.named.len() - 1 && i < base as usize { + read( + &field.ty, + &field.attrs, + is_root, + Some(base - fields.named.len() as i16), + ) + } else { + read(&field.ty, &field.attrs, is_root, None) + } + } else { + read(&field.ty, &field.attrs, is_root, None) + }; + quote!(#field_name: #read_expr) + }) + .collect::>(); + quote!({ #(#fields),* }) + } + Fields::Unnamed(fields) => { + let fields = fields + .unnamed + .iter() + .enumerate() + .map(|(i, field)| { + let read_expr = if let Some(base) = base { + if i == 0 { + read(&field.ty, &field.attrs, is_root, Some(base)) + } else if i == base as usize { + read( + &field.ty, + &field.attrs, + is_root, + Some(fields.unnamed.len() as i16 - base), + ) + } else if i == fields.unnamed.len() - 1 && i < base as usize { + read( + &field.ty, + &field.attrs, + is_root, + Some(base - fields.unnamed.len() as i16), + ) + } else { + read(&field.ty, &field.attrs, is_root, None) + } + } else { + read(&field.ty, &field.attrs, is_root, None) + }; + quote!(#read_expr) + }) + .collect::>(); + quote!(( #(#fields),* )) + } + Fields::Unit => quote!(), + } +} + +fn print_fields(fields: &Fields) -> TokenStream { + match fields { + Fields::Named(fields) => { + let fields = fields + .named + .iter() + .map(|field| { + let ident = field.ident.as_ref().unwrap(); + // let accessor = access_named(ident); + if ident.to_string().starts_with("unk") { + let strfy = quote!(#field.ty).to_string(); + // check if field.ty is an option + if (strfy.starts_with("Option") + || strfy.starts_with("Vec") + || strfy.starts_with("HashSet") + || strfy.starts_with("HashMap")) + && strfy.ends_with('>') + && strfy.contains('<') + { + let inner = strfy[7..strfy.len() - 1].to_string(); + quote! {writeln!(f, "({}) {:?}", #inner, #ident)?;} + } else { + quote! {writeln!(f, "({}) {}", #strfy, #ident)?;} + } + } else { + let strfy = ident.to_string().to_pascal_case(); + let ty = quote!(#field.ty).to_string(); + if (ty.contains("Option") + || ty.contains("Vec") + || ty.contains("HashSet") + || ty.contains("HashMap")) + && ty.contains('>') + && ty.contains('<') + { + let inner = match ty.find('<') { + Some(i) => ty[i + 1..ty.len() - 1].to_string(), + None => ty, + }; + quote! {writeln!(f, "({}) {:?}", #inner, #ident)?;} + } else { + quote! {writeln!(f, "({}) {}", #strfy, #ident)?;} + } + } + }) + .collect::>(); + quote!(#(#fields)*) + } + Fields::Unnamed(fields) => { + let fields = fields + .unnamed + .iter() + .enumerate() + .map(|(_, field)| { + // let accessor = access_unnamed(i, field.span()); + // let ident = field.ident.as_ref().unwrap(); + // if ident.to_string().starts_with("unk") { + // let strfy = quote!(#field.ty).to_string(); + // quote! {writeln!(f, "({}) {}", #strfy, #ident)?;} + // } else { + // let strfy = ident.to_string().to_pascal_case(); + // quote! { writeln!(f, "({}) {}", #strfy, #ident)?;} + // } + let strfy = quote!(#field.ty).to_string(); + quote! {writeln!(f, "({}) {}", #strfy, #field)?;} + }) + .collect::>(); + quote!(#(#fields)*) + } + Fields::Unit => quote!(), + } +} + +fn pat_fields(fields: &Fields) -> TokenStream { + match fields { + Fields::Named(fields) => { + let fields = fields + .named + .iter() + .map(|field| field.ident.as_ref().unwrap()); + quote!({ #(#fields),* }) + } + Fields::Unnamed(fields) => { + let fields = fields + .unnamed + .iter() + .enumerate() + .map(|(i, field)| generate_ident(i, field.span())); + quote!(( #(#fields),* )) + } + Fields::Unit => quote!(), + } +} + +fn write_field( + _ty: &Type, + attrs: &[Attribute], + expr: &TokenStream, + _is_root: bool, + base_to_write: Option, +) -> TokenStream { + let mut property_quote = quote!(); + + if let Some(property_attr) = find_attr(attrs, "property_object") { + let PropertyObject { ty, value } = property_attr.parse_args().unwrap(); + match ty.to_string().as_str() { + "u8" | "u16" | "u32" | "u64" => { + let scratch = quote! {w}; + property_quote = quote! { + #ty::marshal_to(&#value, #scratch, bt_property_tag)?; + }; + } + _ => panic!("Only u8, u16, u32, and u64 are supported for #[property_object]"), + } + } + + let mut negative = false; + if let Some(base_to_write) = base_to_write { + negative = base_to_write < 0; + let base_to_write = base_to_write.unsigned_abs(); + property_quote = quote! { + if bt_property_tag == 0 { + #base_to_write.marshal_to(w, bt_property_tag)?; + } + }; + } + + if find_attr(attrs, "property_blob").is_some() { + // scratch and encode length then extend + quote! {{ + #property_quote + let mut scratch = ::std::io::Cursor::new(Vec::new()); + #expr.marshal_to(&mut scratch, bt_property_tag)?; + let len = scratch.get_ref().len() as u32; + len.marshal_to(w, bt_property_tag)?; + w.write_all(scratch.get_ref())?; + }} + } else if negative { + quote! { + #expr.marshal_to(w, bt_property_tag)?; + #property_quote + } + } else { + quote! { + #property_quote + #expr.marshal_to(w, bt_property_tag)?; + } + } +} + +// Tags encode the id, length, and then the actual field +fn write_property_field( + _ty: &Type, + attrs: &[Attribute], + expr: &TokenStream, + is_root: bool, + _base_to_write: Option, +) -> TokenStream { + // If we have a `property_object` attribute then write a PropertyObject beforehand of the + // specified size like with the top-level struct + + let mut property_quote = quote!(); + + if let Some(property_attr) = find_attr(attrs, "property_object") { + let PropertyObject { ty, value } = property_attr.parse_args().unwrap(); + match ty.to_string().as_str() { + "u8" | "u16" | "u32" | "u64" => { + let scratch = if is_root { + quote! {scratch} + } else { + quote! {w} + }; + property_quote = if is_root { + quote! { + #ty::marshal_to(&#value, &mut #scratch, bt_property_tag)?; + } + } else { + quote! { + #ty::marshal_to(&#value, #scratch, bt_property_tag)?; + } + }; + } + _ => panic!("Only u8, u16, u32, and u64 are supported for #[property_object]"), + } + } + + let Some(tag_attr) = find_attr(attrs, "tag") else { + panic!("tag attribute missing!") + }; + + let Meta::NameValue(MetaNameValue { ref value, .. }) = tag_attr.meta else { + panic!("Failed to get tag id") + }; + + if is_root { + quote! {{ + if let Some(val) = #expr.as_ref() { + let mut scratch = ::std::io::Cursor::new(Vec::new()); + #property_quote + val.marshal_to(&mut scratch, bt_property_tag)?; + (#value as u16).marshal_to(w, bt_property_tag)?; + let len = scratch.get_ref().len() as u32; + len.marshal_to(w, bt_property_tag)?; + w.write_all(scratch.get_ref())?; + } + }} + } else { + quote! { + if let Some(val) = #expr.as_ref() { + (#value as u16).marshal_to(w, bt_property_tag)?; + #property_quote + val.marshal_to(w, bt_property_tag)?; + } + } + } +} + +fn read_field( + _ty: &Type, + attrs: &[Attribute], + _is_root: bool, + base_to_read: Option, +) -> TokenStream { + if find_attr(attrs, "property_blob").is_some() { + // read length, then read the field + quote! {{ + let len = u32::unmarshal_from(r, bt_property_tag)?; + let mut buf = vec![0; len as usize]; + r.read_exact(&mut buf)?; + let mut scratch = ::std::io::Cursor::new(buf); + ::qwer::OctData::unmarshal_from(&mut scratch, bt_property_tag)? + }} + } else if let Some(base_to_read) = base_to_read { + if base_to_read > 0 { + let base_to_read = base_to_read.unsigned_abs(); + quote! {{ + if bt_property_tag == 0 { + assert!(u16::unmarshal_from(r, bt_property_tag)? == #base_to_read); + } + ::qwer::OctData::unmarshal_from(r, bt_property_tag)? + }} + } else { + let base_to_read = base_to_read.unsigned_abs(); + let generated_ident = generate_ident(1, Span::call_site()); + quote! {{ + let #generated_ident = ::qwer::OctData::unmarshal_from(r, bt_property_tag)?; + if bt_property_tag == 0 { + assert!(u16::unmarshal_from(r, bt_property_tag)? == #base_to_read); + } + #generated_ident + }} + } + } else { + quote! {{ + ::qwer::OctData::unmarshal_from(r, bt_property_tag)? + }} + } +} + +fn read_property_field( + _ty: &Type, + attrs: &[Attribute], + is_root: bool, + _base_to_read: Option, +) -> TokenStream { + let mut header = if is_root { + quote! { + let len = u32::unmarshal_from(r, bt_property_tag)?; + } + } else { + quote!() + }; + + if let Some(attr) = find_attr(attrs, "property_object") { + let PropertyObject { ty, value } = attr.parse_args().unwrap(); + match ty.to_string().as_str() { + "u8" | "u16" | "u32" | "u64" => { + let pre_length = match ty.to_string().as_str() { + "u8" => 1, + "u16" => 2, + "u32" => 4, + "u64" => 8, + _ => panic!("Not allowed type"), + } as u32; + + if is_root { + header = quote! { + let len = u32::unmarshal_from(r, bt_property_tag)? - #pre_length; + }; + } + header = quote! { + #header + assert!(#ty::unmarshal_from(r, bt_property_tag)? == #value); + }; + } + _ => panic!("Only u8, u16, u32, and u64 are supported for #[property_object]"), + } + } + + if is_root { + quote! {{ + #header + let mut buf = vec![0; len as usize]; + r.read_exact(&mut buf)?; + let mut scratch = ::std::io::Cursor::new(buf); + ::qwer::OctData::unmarshal_from(&mut scratch, bt_property_tag)? + }} + } else { + quote! {{ + #header + ::qwer::OctData::unmarshal_from(r, bt_property_tag)? + }} + } +} + +fn generate_ident(i: usize, span: Span) -> Ident { + Ident::new(&format!("generated_ident_{i}"), span) +} diff --git a/crates/qwer/src/lib.rs b/crates/qwer/src/lib.rs new file mode 100644 index 0000000..23b4e31 --- /dev/null +++ b/crates/qwer/src/lib.rs @@ -0,0 +1,23 @@ +mod oct_data; +mod property_data; +mod protocol_header; +mod protocol_stream; + +pub use oct_data::OctData; +pub use property_data::*; +pub use protocol_header::ProtocolHeader; +pub use protocol_stream::ProtocolStream; +pub use qwer_derive::{OctData, ProtocolID}; + +pub trait ProtocolID { + const PROTOCOL_ID: u16; + const NAME: &str; + + fn get_protocol_id(&self) -> u16 { + Self::PROTOCOL_ID + } + + fn get_protocol_name(&self) -> &str { + Self::NAME + } +} diff --git a/crates/qwer/src/oct_data.rs b/crates/qwer/src/oct_data.rs new file mode 100644 index 0000000..5dea5be --- /dev/null +++ b/crates/qwer/src/oct_data.rs @@ -0,0 +1,222 @@ +use byteorder::{ReadBytesExt, WriteBytesExt}; +use paste::paste; + +use std::collections::{HashMap, HashSet}; +use std::hash::Hash; +use std::io::{Read, Result, Write}; + +pub trait OctData: Send + Sync { + fn marshal_to(&self, w: &mut W, serializer_tag: u16) -> Result<()>; + fn unmarshal_from(r: &mut R, serializer_tag: u16) -> Result + where + Self: Sized; +} + +impl OctData for bool { + fn marshal_to(&self, w: &mut W, _: u16) -> Result<()> { + w.write_u8(u8::from(*self)) + } + + fn unmarshal_from(r: &mut R, _: u16) -> Result { + Ok(r.read_u8()? != 0) + } +} + +impl OctData for u8 { + fn marshal_to(&self, w: &mut W, _: u16) -> Result<()> { + w.write_u8(*self) + } + + fn unmarshal_from(r: &mut R, _: u16) -> Result { + r.read_u8() + } +} + +impl OctData for i8 { + fn marshal_to(&self, w: &mut W, _: u16) -> Result<()> { + w.write_i8(*self) + } + + fn unmarshal_from(r: &mut R, _: u16) -> Result { + r.read_i8() + } +} + +macro_rules! impl_primitive { + ($($t:ty,)*) => { + $( + impl OctData for $t { + fn marshal_to(&self, w: &mut W, _: u16) -> Result<()> { + paste!(w.[]::(*self)) + } + + fn unmarshal_from(r: &mut R, _: u16) -> Result { + paste!(r.[]::()) + } + } + )* + }; +} + +impl_primitive! { + u16, i16, u32, i32, u64, i64, +} + +// floats are a bit special, the bits are casted to an integer and then treated as an integer + +impl OctData for f32 { + fn marshal_to(&self, w: &mut W, _: u16) -> Result<()> { + w.write_u32::(self.to_bits()) + } + + fn unmarshal_from(r: &mut R, _: u16) -> Result { + Ok(Self::from_bits(r.read_u32::()?)) + } +} + +impl OctData for f64 { + fn marshal_to(&self, w: &mut W, _: u16) -> Result<()> { + w.write_u64::(self.to_bits()) + } + + fn unmarshal_from(r: &mut R, _: u16) -> Result { + Ok(Self::from_bits(r.read_u64::()?)) + } +} + +impl OctData for Vec +where + T: OctData, +{ + fn marshal_to(&self, w: &mut W, bt_property_tag: u16) -> Result<()> { + if self.is_empty() { + (0i32).marshal_to(w, bt_property_tag)?; + return Ok(()); + } + (self.len() as i32).marshal_to(w, bt_property_tag)?; + for item in self { + item.marshal_to(w, bt_property_tag)?; + } + Ok(()) + } + + fn unmarshal_from(r: &mut R, bt_property_tag: u16) -> Result { + let len = i32::unmarshal_from(r, bt_property_tag)?; + if len < 0 { + let len = -len; + let mut vec = Self::with_capacity(len as usize); + for _ in 0..len { + bool::unmarshal_from(r, bt_property_tag)?; + vec.push(T::unmarshal_from(r, bt_property_tag)?); + } + Ok(vec) + } else { + let mut vec = Self::with_capacity(len as usize); + for _ in 0..len { + vec.push(T::unmarshal_from(r, bt_property_tag)?); + } + Ok(vec) + } + } +} + +impl OctData for HashMap +where + K: OctData + Eq + Hash + Ord, + V: OctData, +{ + fn marshal_to(&self, w: &mut W, bt_property_tag: u16) -> Result<()> { + (self.len() as i32).marshal_to(w, bt_property_tag)?; + for (key, value) in self.iter() { + key.marshal_to(w, bt_property_tag)?; + value.marshal_to(w, bt_property_tag)?; + } + Ok(()) + } + + fn unmarshal_from(r: &mut R, bt_property_tag: u16) -> Result { + let len = i32::unmarshal_from(r, bt_property_tag)?; + if len == -1 { + return Ok(Self::new()); + } + + let mut map = Self::with_capacity(len as usize); + for _ in 0..len { + map.insert( + K::unmarshal_from(r, bt_property_tag)?, + V::unmarshal_from(r, bt_property_tag)?, + ); + } + Ok(map) + } +} + +impl OctData for Option +where + T: OctData, +{ + fn marshal_to(&self, w: &mut W, bt_property_tag: u16) -> Result<()> { + if let Some(item) = self { + true.marshal_to(w, bt_property_tag)?; + item.marshal_to(w, bt_property_tag)?; + } else { + false.marshal_to(w, bt_property_tag)?; + } + + Ok(()) + } + + fn unmarshal_from(r: &mut R, bt_property_tag: u16) -> Result { + if bool::unmarshal_from(r, bt_property_tag)? { + Ok(Some(T::unmarshal_from(r, bt_property_tag)?)) + } else { + Ok(None) + } + } +} + +impl OctData for String { + fn marshal_to(&self, w: &mut W, bt_property_tag: u16) -> Result<()> { + if self.is_empty() { + (-1i32).marshal_to(w, bt_property_tag)?; + return Ok(()); + } + (self.len() as i32).marshal_to(w, bt_property_tag)?; + w.write_all(self.as_bytes()) + } + + fn unmarshal_from(r: &mut R, bt_property_tag: u16) -> Result { + let len = i32::unmarshal_from(r, bt_property_tag)?; + if len == -1 { + return Ok(Self::new()); + } + let mut buf = vec![0; len as usize]; + r.read_exact(&mut buf)?; + Ok(Self::from_utf8(buf).unwrap()) + } +} + +impl OctData for HashSet +where + T: OctData + Eq + Hash, +{ + fn marshal_to(&self, w: &mut W, bt_property_tag: u16) -> Result<()> { + (self.len() as i32).marshal_to(w, bt_property_tag)?; + for item in self { + item.marshal_to(w, bt_property_tag)?; + } + Ok(()) + } + + fn unmarshal_from(r: &mut R, bt_property_tag: u16) -> Result { + let len = i32::unmarshal_from(r, bt_property_tag)?; + if len == -1 { + return Ok(Self::new()); + } + let mut set = Self::with_capacity(len as usize); + for _ in 0..len { + set.insert(T::unmarshal_from(r, bt_property_tag)?); + } + Ok(set) + } +} diff --git a/crates/qwer/src/property_data.rs b/crates/qwer/src/property_data.rs new file mode 100644 index 0000000..8cb483f --- /dev/null +++ b/crates/qwer/src/property_data.rs @@ -0,0 +1,790 @@ +use std::{ + collections::{HashMap, HashSet}, + io::Result, +}; + +use crate::OctData; + +pub type DoubleKeyHashMap = HashMap>; + +#[macro_export] +macro_rules! phashmap { + ($(($key:expr, $value:expr)),*) => { + PropertyHashMap::Base( + { + let mut map = std::collections::HashMap::new(); + $( + map.insert($key, $value); + )* + map + } + ) + }; +} + +#[macro_export] +macro_rules! phashset { + ($($value:expr),*) => { + PropertyHashSet::Base( + { + let mut set = std::collections::HashSet::new(); + $( + set.insert($value); + )* + set + } + ) + }; +} + +#[macro_export] +macro_rules! pdkhashmap { + ($(($key1:expr, $key2:expr, $value:expr)),*) => { + PropertyDoubleKeyHashMap::Base( + { + let mut map = qwer::DoubleKeyHashMap::new(); + $( + map.entry($key1).or_insert(HashMap::new()).insert($key2, $value); + )* + map + } + ) + }; +} + +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum PropertyHashMap +where + K: OctData + Eq + std::hash::Hash, + V: OctData, +{ + Base(HashMap), + Modify { + to_add: Vec<(K, V)>, + to_remove: Vec, + }, +} + +impl PropertyHashMap +where + K: OctData + Eq + std::hash::Hash, + V: OctData, +{ + pub fn insert(&mut self, key: K, value: V) { + match self { + Self::Base(base) => { + base.insert(key, value); + } + Self::Modify { to_add, .. } => { + to_add.push((key, value)); + } + } + } + + pub fn remove(&mut self, key: K) -> Option { + match self { + Self::Base(base) => base.remove(&key), + Self::Modify { to_remove, .. } => { + to_remove.push(key); + None + } + } + } + + pub fn get(&self, key: &K) -> Option<&V> { + match self { + Self::Base(base) => base.get(key), + Self::Modify { .. } => None, + } + } + + pub fn get_mut(&mut self, key: &K) -> Option<&mut V> { + match self { + Self::Base(base) => base.get_mut(key), + Self::Modify { .. } => None, + } + } + + #[must_use] + pub fn len(&self) -> usize { + match self { + Self::Base(base) => base.len(), + Self::Modify { to_add, to_remove } => to_add.len() + to_remove.len(), + } + } + + #[must_use] + pub fn is_empty(&self) -> bool { + match self { + Self::Base(base) => base.is_empty(), + Self::Modify { to_add, to_remove } => to_add.is_empty() && to_remove.is_empty(), + } + } + + #[must_use] + pub fn iter(&self) -> std::collections::hash_map::Iter { + match self { + Self::Base(base) => base.iter(), + Self::Modify { .. } => unreachable!("PropertyHashMap::Modify::iter()"), + } + } + + pub fn iter_mut(&mut self) -> std::collections::hash_map::IterMut { + match self { + Self::Base(base) => base.iter_mut(), + Self::Modify { .. } => unreachable!("PropertyHashMap::Modify::iter_mut()"), + } + } +} + +impl IntoIterator for PropertyHashMap +where + K: OctData + Eq + std::hash::Hash, + V: OctData, +{ + type IntoIter = std::collections::hash_map::IntoIter; + type Item = (K, V); + fn into_iter(self) -> Self::IntoIter { + match self { + Self::Base(base) => base.into_iter(), + Self::Modify { .. } => unreachable!("PropertyHashMap::Modify::into_iter()"), + } + } +} + +impl<'a, K, V> IntoIterator for &'a PropertyHashMap +where + K: OctData + Eq + std::hash::Hash, + V: OctData, +{ + type IntoIter = std::collections::hash_map::Iter<'a, K, V>; + type Item = (&'a K, &'a V); + fn into_iter(self) -> Self::IntoIter { + match self { + PropertyHashMap::Base(base) => base.iter(), + PropertyHashMap::Modify { .. } => unreachable!("PropertyHashMap::Modify::into_iter()"), + } + } +} + +impl<'a, K, V> IntoIterator for &'a mut PropertyHashMap +where + K: OctData + Eq + std::hash::Hash, + V: OctData, +{ + type IntoIter = std::collections::hash_map::IterMut<'a, K, V>; + type Item = (&'a K, &'a mut V); + fn into_iter(self) -> Self::IntoIter { + match self { + PropertyHashMap::Base(base) => base.iter_mut(), + PropertyHashMap::Modify { .. } => unreachable!("PropertyHashMap::Modify::into_iter()"), + } + } +} + +#[test] +fn test_hashmap_iter() { + let mut map = phashmap![(1, 2), (3, 4)]; + let mut expecting = vec![(1, 2), (3, 4)]; + let iter = map.iter_mut(); + for (key, value) in iter { + assert!(expecting.contains(&(*key, *value))); + expecting.retain(|x| x != &(*key, *value)); + *value += 1; + } +} + +impl PropertyHashSet +where + T: OctData + Eq + std::hash::Hash, +{ + pub fn insert(&mut self, value: T) { + match self { + Self::Base(base) => { + base.insert(value); + } + Self::Modify { to_add, .. } => { + to_add.push(value); + } + } + } + + pub fn remove(&mut self, value: T) { + match self { + Self::Base(base) => { + base.remove(&value); + } + Self::Modify { to_remove, .. } => { + to_remove.push(value); + } + } + } + + #[must_use] + pub fn len(&self) -> usize { + match self { + Self::Base(base) => base.len(), + Self::Modify { to_add, to_remove } => to_add.len() + to_remove.len(), + } + } + + #[must_use] + pub fn is_empty(&self) -> bool { + match self { + Self::Base(base) => base.is_empty(), + Self::Modify { to_add, to_remove } => to_add.is_empty() && to_remove.is_empty(), + } + } + + #[must_use] + pub fn iter(&self) -> std::collections::hash_set::Iter { + match self { + Self::Base(base) => base.iter(), + Self::Modify { .. } => unreachable!("PropertyHashSet::Modify::iter()"), + } + } + + #[must_use] + pub fn iter_mut(&mut self) -> std::collections::hash_set::Iter { + self.into_iter() + } +} + +impl IntoIterator for PropertyHashSet +where + T: OctData + Eq + std::hash::Hash, +{ + type IntoIter = std::collections::hash_set::IntoIter; + type Item = T; + fn into_iter(self) -> Self::IntoIter { + match self { + Self::Base(base) => base.into_iter(), + Self::Modify { .. } => unreachable!("PropertyHashSet::Modify::into_iter()"), + } + } +} + +impl<'a, T> IntoIterator for &'a PropertyHashSet +where + T: OctData + Eq + std::hash::Hash, +{ + type IntoIter = std::collections::hash_set::Iter<'a, T>; + type Item = &'a T; + fn into_iter(self) -> Self::IntoIter { + match self { + PropertyHashSet::Base(base) => base.iter(), + PropertyHashSet::Modify { .. } => unreachable!("PropertyHashSet::Modify::into_iter()"), + } + } +} + +impl<'a, T> IntoIterator for &'a mut PropertyHashSet +where + T: OctData + Eq + std::hash::Hash, +{ + type IntoIter = std::collections::hash_set::Iter<'a, T>; + type Item = &'a T; + fn into_iter(self) -> Self::IntoIter { + match self { + PropertyHashSet::Base(base) => base.iter(), + PropertyHashSet::Modify { .. } => unreachable!("PropertyHashSet::Modify::into_iter()"), + } + } +} + +#[test] +fn test_phashmap_macro() { + let map = phashmap![(1, 2), (3, 4)]; + assert_eq!( + map, + PropertyHashMap::Base([(1, 2), (3, 4)].into_iter().collect()) + ); +} + +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum PropertyHashSet +where + T: OctData + Eq + std::hash::Hash, +{ + Base(HashSet), + Modify { to_add: Vec, to_remove: Vec }, +} + +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum PropertyDoubleKeyHashMap +where + K1: OctData + Eq + std::hash::Hash, + K2: OctData + Eq + std::hash::Hash, + V: OctData, +{ + Base(DoubleKeyHashMap), + Modify { + to_add: Vec<(K1, K2, V)>, + to_remove: Vec<(K1, K2)>, + }, +} + +pub struct PropertyDoubleKeyHashMapIterMut<'a, K1, K2, V> { + outer_iter: std::collections::hash_map::IterMut<'a, K1, HashMap>, + inner_iter: Option>, + current_outer_key: Option<&'a K1>, +} + +pub struct PropertyDoubleKeyHashMapIter<'a, K1, K2, V> { + outer_iter: std::collections::hash_map::Iter<'a, K1, HashMap>, + inner_iter: Option>, + current_outer_key: Option<&'a K1>, +} + +pub struct PropertyDoubleKeyHashMapIntoIter { + outer_iter: std::collections::hash_map::IntoIter>, + inner_iter: Option>, + current_outer_key: Option, +} + +impl<'a, K1, K2, V> Iterator for PropertyDoubleKeyHashMapIterMut<'a, K1, K2, V> +where + K1: OctData + Eq + std::hash::Hash, + K2: OctData + Eq + std::hash::Hash, + V: OctData, +{ + type Item = (&'a K1, &'a K2, &'a mut V); + + fn next(&mut self) -> Option { + loop { + if self.inner_iter.is_none() { + if let Some((key1, sub_map)) = self.outer_iter.next() { + self.current_outer_key = Some(key1); + self.inner_iter = Some(sub_map.iter_mut()); + } else { + return None; + } + } + + if let Some(inner_iter) = &mut self.inner_iter { + if let Some((key2, value)) = inner_iter.next() { + return Some((self.current_outer_key.unwrap(), key2, value)); + } + self.inner_iter = None; + } + } + } +} + +impl<'a, K1, K2, V> Iterator for PropertyDoubleKeyHashMapIter<'a, K1, K2, V> +where + K1: OctData + Eq + std::hash::Hash, + K2: OctData + Eq + std::hash::Hash, + V: OctData, +{ + type Item = (&'a K1, &'a K2, &'a V); + + fn next(&mut self) -> Option { + loop { + if self.inner_iter.is_none() { + if let Some((key1, sub_map)) = self.outer_iter.next() { + self.current_outer_key = Some(key1); + self.inner_iter = Some(sub_map.iter()); + } else { + return None; + } + } + + if let Some(inner_iter) = &mut self.inner_iter { + if let Some((key2, value)) = inner_iter.next() { + return Some((self.current_outer_key.unwrap(), key2, value)); + } + self.inner_iter = None; + } + } + } +} + +impl Iterator for PropertyDoubleKeyHashMapIntoIter +where + K1: OctData + Eq + std::hash::Hash + Copy, + K2: OctData + Eq + std::hash::Hash, + V: OctData, +{ + type Item = (K1, K2, V); + + fn next(&mut self) -> Option { + loop { + if self.inner_iter.is_none() { + if let Some((key1, sub_map)) = self.outer_iter.next() { + self.current_outer_key = Some(key1); + self.inner_iter = Some(sub_map.into_iter()); + } else { + return None; + } + } + + if let Some(inner_iter) = &mut self.inner_iter { + if let Some((key2, value)) = inner_iter.next() { + return Some((self.current_outer_key.unwrap(), key2, value)); + } + self.inner_iter = None; + } + } + } +} + +impl IntoIterator for PropertyDoubleKeyHashMap +where + K1: OctData + Eq + std::hash::Hash + Copy, + K2: OctData + Eq + std::hash::Hash, + V: OctData, +{ + type IntoIter = PropertyDoubleKeyHashMapIntoIter; + type Item = (K1, K2, V); + + fn into_iter(self) -> Self::IntoIter { + match self { + Self::Base(base) => PropertyDoubleKeyHashMapIntoIter { + outer_iter: base.into_iter(), + inner_iter: None, + current_outer_key: None, + }, + Self::Modify { .. } => { + unreachable!("PropertyDoubleKeyHashMap::Modify::into_iter() is not implemented") + } + } + } +} + +impl<'a, K1, K2, V> IntoIterator for &'a PropertyDoubleKeyHashMap +where + K1: OctData + Eq + std::hash::Hash, + K2: OctData + Eq + std::hash::Hash, + V: OctData, +{ + type IntoIter = PropertyDoubleKeyHashMapIter<'a, K1, K2, V>; + type Item = (&'a K1, &'a K2, &'a V); + + fn into_iter(self) -> Self::IntoIter { + match self { + PropertyDoubleKeyHashMap::Base(base) => PropertyDoubleKeyHashMapIter { + outer_iter: base.iter(), + inner_iter: None, + current_outer_key: None, + }, + PropertyDoubleKeyHashMap::Modify { .. } => { + unreachable!("PropertyDoubleKeyHashMap::Modify::into_iter() is not implemented") + } + } + } +} + +impl<'a, K1, K2, V> IntoIterator for &'a mut PropertyDoubleKeyHashMap +where + K1: OctData + Eq + std::hash::Hash, + K2: OctData + Eq + std::hash::Hash, + V: OctData, +{ + type IntoIter = PropertyDoubleKeyHashMapIterMut<'a, K1, K2, V>; + type Item = (&'a K1, &'a K2, &'a mut V); + + fn into_iter(self) -> Self::IntoIter { + match self { + PropertyDoubleKeyHashMap::Base(base) => PropertyDoubleKeyHashMapIterMut { + outer_iter: base.iter_mut(), + inner_iter: None, + current_outer_key: None, + }, + PropertyDoubleKeyHashMap::Modify { .. } => { + unreachable!("PropertyDoubleKeyHashMap::Modify::into_iter() is not implemented") + } + } + } +} + +impl PropertyDoubleKeyHashMap +where + K1: OctData + Eq + std::hash::Hash, + K2: OctData + Eq + std::hash::Hash, + V: OctData, +{ + pub fn insert(&mut self, key: K1, sub_key: K2, value: V) { + match self { + Self::Base(base) => { + base.entry(key) + .or_insert_with(HashMap::new) + .insert(sub_key, value); + } + Self::Modify { to_add, .. } => { + to_add.push((key, sub_key, value)); + } + } + } + + pub fn get(&self, key: &K1, sub_key: &K2) -> Option<&V> { + match self { + Self::Base(base) => base.get(key).and_then(|sub_map| sub_map.get(sub_key)), + Self::Modify { .. } => { + unreachable!("PropertyDoubleKeyHashMap::Modify::get() is not implemented") + } + } + } + + pub fn get_mut(&mut self, key: &K1, sub_key: &K2) -> Option<&mut V> { + match self { + Self::Base(base) => base + .get_mut(key) + .and_then(|sub_map| sub_map.get_mut(sub_key)), + Self::Modify { .. } => { + unreachable!("PropertyDoubleKeyHashMap::Modify::get_mut() is not implemented") + } + } + } + + pub fn remove(&mut self, key: K1, sub_key: K2) -> Option { + match self { + Self::Base(base) => { + let mut removed = None; + base.entry(key) + .and_modify(|sub_map| removed = sub_map.remove(&sub_key)); + removed + } + Self::Modify { to_remove, .. } => { + to_remove.push((key, sub_key)); + None + } + } + } + + #[must_use] + pub fn len(&self) -> usize { + match self { + Self::Base(base) => base.len(), + Self::Modify { to_add, to_remove } => to_add.len() + to_remove.len(), + } + } + + #[must_use] + pub fn is_empty(&self) -> bool { + match self { + Self::Base(base) => base.is_empty(), + Self::Modify { to_add, to_remove } => to_add.is_empty() && to_remove.is_empty(), + } + } + + #[must_use] + pub fn contains(&self, key: &K1, sub_key: &K2) -> bool { + match self { + Self::Base(base) => base + .get(key) + .map(|sub| sub.contains_key(sub_key)) + .unwrap_or(false), + Self::Modify { to_add, .. } => { + to_add.iter().any(|(k, sk, _)| k == key && sk == sub_key) + } + } + } + + #[must_use] + pub fn iter(&self) -> PropertyDoubleKeyHashMapIter { + match self { + Self::Base(base) => PropertyDoubleKeyHashMapIter { + outer_iter: base.iter(), + inner_iter: None, + current_outer_key: None, + }, + Self::Modify { .. } => { + unreachable!("PropertyDoubleKeyHashMap::Modify::iter() is not implemented") + } + } + } + + pub fn iter_mut(&mut self) -> PropertyDoubleKeyHashMapIterMut { + match self { + Self::Base(base) => PropertyDoubleKeyHashMapIterMut { + outer_iter: base.iter_mut(), + inner_iter: None, + current_outer_key: None, + }, + Self::Modify { .. } => { + unreachable!("PropertyDoubleKeyHashMap::Modify::iter_mut() is not implemented") + } + } + } +} + +#[test] +fn test_dkhashmap_iter() { + let mut map = PropertyDoubleKeyHashMap::Base( + std::iter::once((1, [(2, 3), (4, 5)].into_iter().collect())).collect(), + ); + let mut expecting = vec![(1, 2, 3), (1, 4, 5)]; + let iter = map.iter_mut(); + for (key1, key2, value) in iter { + assert!(expecting.contains(&(*key1, *key2, *value))); + expecting.retain(|x| x != &(*key1, *key2, *value)); + *value += 1; + } +} + +impl OctData for PropertyHashMap +where + K: OctData + Eq + Ord + std::hash::Hash, + V: OctData, +{ + fn marshal_to(&self, w: &mut W, bt_property_tag: u16) -> Result<()> { + match self { + Self::Base(map) => { + map.marshal_to(w, bt_property_tag)?; + } + Self::Modify { to_add, to_remove } => { + let len = -(to_add.len() as i32 + to_remove.len() as i32); + len.marshal_to(w, bt_property_tag)?; + for (key, value) in to_add { + key.marshal_to(w, bt_property_tag)?; + false.marshal_to(w, bt_property_tag)?; + value.marshal_to(w, bt_property_tag)?; + } + for key in to_remove { + key.marshal_to(w, bt_property_tag)?; + true.marshal_to(w, bt_property_tag)?; + } + } + } + Ok(()) + } + + fn unmarshal_from(r: &mut R, bt_property_tag: u16) -> Result { + let len = i32::unmarshal_from(r, bt_property_tag)?; + if len >= 0 { + let mut map = HashMap::with_capacity(len as usize); + for _ in 0..len { + map.insert( + K::unmarshal_from(r, bt_property_tag)?, + V::unmarshal_from(r, bt_property_tag)?, + ); + } + Ok(Self::Base(map)) + } else { + let mut to_add = Vec::new(); + let mut to_remove = Vec::new(); + + for _ in 0..-len { + let key = K::unmarshal_from(r, bt_property_tag)?; + if !bool::unmarshal_from(r, bt_property_tag)? { + to_add.push((key, V::unmarshal_from(r, bt_property_tag)?)); + } else { + to_remove.push(key); + } + } + + Ok(Self::Modify { to_add, to_remove }) + } + } +} + +impl OctData for PropertyHashSet +where + K: OctData + Eq + std::hash::Hash, +{ + fn marshal_to(&self, w: &mut W, bt_property_tag: u16) -> Result<()> { + match self { + Self::Base(set) => { + set.marshal_to(w, bt_property_tag)?; + } + Self::Modify { to_add, to_remove } => { + let len = -(to_add.len() as i32 + to_remove.len() as i32); + len.marshal_to(w, bt_property_tag)?; + for value in to_add { + value.marshal_to(w, bt_property_tag)?; + false.marshal_to(w, bt_property_tag)?; + } + for value in to_remove { + value.marshal_to(w, bt_property_tag)?; + true.marshal_to(w, bt_property_tag)?; + } + } + } + Ok(()) + } + + fn unmarshal_from(r: &mut R, bt_property_tag: u16) -> Result { + let len = i32::unmarshal_from(r, bt_property_tag)?; + + if len >= 0 { + let mut set = HashSet::with_capacity(len as usize); + for _ in 0..len { + set.insert(K::unmarshal_from(r, bt_property_tag)?); + } + Ok(Self::Base(set)) + } else { + let mut to_add = Vec::new(); + let mut to_remove = Vec::new(); + + for _ in 0..-len { + let value = K::unmarshal_from(r, bt_property_tag)?; + if !bool::unmarshal_from(r, bt_property_tag)? { + to_add.push(value); + } else { + to_remove.push(value); + } + } + + Ok(Self::Modify { to_add, to_remove }) + } + } +} + +impl OctData for PropertyDoubleKeyHashMap +where + K1: OctData + Eq + Ord + std::hash::Hash, + K2: OctData + Eq + Ord + std::hash::Hash, + V: OctData, +{ + fn marshal_to(&self, w: &mut W, bt_property_tag: u16) -> Result<()> { + match self { + Self::Base(map) => { + map.marshal_to(w, bt_property_tag)?; + } + Self::Modify { to_add, to_remove } => { + let len = -(to_add.len() as i32 + to_remove.len() as i32); + len.marshal_to(w, bt_property_tag)?; + for (key1, key2, value) in to_add { + key1.marshal_to(w, bt_property_tag)?; + key2.marshal_to(w, bt_property_tag)?; + false.marshal_to(w, bt_property_tag)?; + value.marshal_to(w, bt_property_tag)?; + } + for (key1, key2) in to_remove { + key1.marshal_to(w, bt_property_tag)?; + key2.marshal_to(w, bt_property_tag)?; + true.marshal_to(w, bt_property_tag)?; + } + } + } + Ok(()) + } + + fn unmarshal_from(r: &mut R, bt_property_tag: u16) -> Result { + let len = i32::unmarshal_from(r, bt_property_tag)?; + if len >= 0 { + let mut map = HashMap::new(); + for _ in 0..len { + let key1 = K1::unmarshal_from(r, bt_property_tag)?; + map.insert(key1, OctData::unmarshal_from(r, bt_property_tag)?); + } + Ok(Self::Base(map)) + } else { + let mut to_add = Vec::new(); + let mut to_remove = Vec::new(); + + for _ in 0..-len { + let key1 = K1::unmarshal_from(r, bt_property_tag)?; + let key2 = K2::unmarshal_from(r, bt_property_tag)?; + if !bool::unmarshal_from(r, bt_property_tag)? { + to_add.push((key1, key2, V::unmarshal_from(r, bt_property_tag)?)); + } else { + to_remove.push((key1, key2)); + } + } + + Ok(Self::Modify { to_add, to_remove }) + } + } +} diff --git a/crates/qwer/src/protocol_header.rs b/crates/qwer/src/protocol_header.rs new file mode 100644 index 0000000..6cdef66 --- /dev/null +++ b/crates/qwer/src/protocol_header.rs @@ -0,0 +1,31 @@ +use std::io::{Read, Result, Write}; + +use crate::protocol_stream::ProtocolStream; + +#[derive(Debug, Default)] +pub struct ProtocolHeader { + pub to_channel: u16, + pub from_channel: u16, + pub is_rpc_ret: bool, + pub rpc_arg_uid: u64, +} + +impl ProtocolHeader { + pub const SIZE: usize = 13; + + pub fn marshal_to(&self, ps: &mut ProtocolStream) -> Result<()> { + ps.push_u16(self.to_channel)?; + ps.push_u16(self.from_channel)?; + ps.push_boolean(self.is_rpc_ret)?; + ps.push_u64(self.rpc_arg_uid) + } + + pub fn unmarshal_from(ps: &mut ProtocolStream) -> Result { + Ok(Self { + to_channel: ps.pop_u16()?, + from_channel: ps.pop_u16()?, + is_rpc_ret: ps.pop_boolean()?, + rpc_arg_uid: ps.pop_u64()?, + }) + } +} diff --git a/crates/qwer/src/protocol_stream.rs b/crates/qwer/src/protocol_stream.rs new file mode 100644 index 0000000..44efe58 --- /dev/null +++ b/crates/qwer/src/protocol_stream.rs @@ -0,0 +1,66 @@ +use std::io::{Read, Result, Write}; + +use byteorder::{ReadBytesExt, WriteBytesExt, LE}; + +pub struct ProtocolStream { + buf: Buf, +} + +impl ProtocolStream { + pub fn new(buf: B) -> Self { + Self { buf } + } +} + +impl ProtocolStream { + pub fn push(&mut self, value: &[u8]) -> Result<()> { + self.buf.write_all(value) + } + + pub fn push_boolean(&mut self, value: bool) -> Result<()> { + self.buf.write_u8(if value { 1 } else { 100 }) + } + + pub fn push_u8(&mut self, value: u8) -> Result<()> { + self.buf.write_u8(value) + } + + pub fn push_u16(&mut self, value: u16) -> Result<()> { + self.buf.write_u16::(value) + } + + pub fn push_u32(&mut self, value: u32) -> Result<()> { + self.buf.write_u32::(value) + } + + pub fn push_u64(&mut self, value: u64) -> Result<()> { + self.buf.write_u64::(value) + } +} + +impl ProtocolStream { + pub fn pop(&mut self, n: usize) -> Result> { + let mut out = vec![0u8; n]; + self.buf.read_exact(&mut out).map(|_| out) + } + + pub fn pop_boolean(&mut self) -> Result { + Ok(self.buf.read_u8()? != 100) + } + + pub fn pop_u8(&mut self) -> Result { + self.buf.read_u8() + } + + pub fn pop_u16(&mut self) -> Result { + self.buf.read_u16::() + } + + pub fn pop_u32(&mut self) -> Result { + self.buf.read_u32::() + } + + pub fn pop_u64(&mut self) -> Result { + self.buf.read_u64::() + } +} diff --git a/crates/sdk-server/Cargo.toml b/crates/sdk-server/Cargo.toml new file mode 100644 index 0000000..7e690f6 --- /dev/null +++ b/crates/sdk-server/Cargo.toml @@ -0,0 +1,42 @@ +[package] +name = "sdk-server" +edition = "2021" +version.workspace = true + +[[bin]] +name = "yanagi-sdk-server" +path = "src/main.rs" + +[dependencies] +# Framework +tokio.workspace = true +axum.workspace = true +axum-server.workspace = true + +# Cryptography +rsa.workspace = true +password-hash.workspace = true +pbkdf2.workspace = true + +# Database +surrealdb.workspace = true + +# Error processing +anyhow.workspace = true +thiserror.workspace = true + +# Util +rand.workspace = true +regex.workspace = true + +# Serialization +serde.workspace = true +serde_json.workspace = true +rbase64.workspace = true +byteorder.workspace = true + +# Tracing +tracing.workspace = true + +# Internal +common.workspace = true diff --git a/crates/sdk-server/html/register.html b/crates/sdk-server/html/register.html new file mode 100644 index 0000000..0ca68b5 --- /dev/null +++ b/crates/sdk-server/html/register.html @@ -0,0 +1,191 @@ + + + + + + + + Register account + + + +
+
+
Register account
+
+
+ + + + +
+
+
+
+ + diff --git a/crates/sdk-server/html/result.html b/crates/sdk-server/html/result.html new file mode 100644 index 0000000..341d2b2 --- /dev/null +++ b/crates/sdk-server/html/result.html @@ -0,0 +1,171 @@ + + + + + + + + Register account + + + +
+
+
Register account
+
+
%MESSAGE%
+
+
+
+ + diff --git a/crates/sdk-server/rsa/private_key.der b/crates/sdk-server/rsa/private_key.der new file mode 100644 index 0000000..f5dde8b Binary files /dev/null and b/crates/sdk-server/rsa/private_key.der differ diff --git a/crates/sdk-server/sdk_server.toml b/crates/sdk-server/sdk_server.toml new file mode 100644 index 0000000..70361ee --- /dev/null +++ b/crates/sdk-server/sdk_server.toml @@ -0,0 +1,6 @@ +http_addr = "0.0.0.0:10001" + +[database] +url = "localhost:8000" +username = "root" +password = "root" diff --git a/crates/sdk-server/src/config.rs b/crates/sdk-server/src/config.rs new file mode 100644 index 0000000..a3d3972 --- /dev/null +++ b/crates/sdk-server/src/config.rs @@ -0,0 +1,12 @@ +use common::config::{DatabaseSettings, TomlConfig}; +use serde::Deserialize; + +#[derive(Deserialize)] +pub struct SdkConfig { + pub http_addr: String, + pub database: DatabaseSettings, +} + +impl TomlConfig for SdkConfig { + const DEFAULT_TOML: &str = include_str!("../sdk_server.toml"); +} diff --git a/crates/sdk-server/src/database/mod.rs b/crates/sdk-server/src/database/mod.rs new file mode 100644 index 0000000..24c7497 --- /dev/null +++ b/crates/sdk-server/src/database/mod.rs @@ -0,0 +1,93 @@ +use common::{config::DatabaseSettings, db_const}; +use schema::{Account, Password, Username}; +use surrealdb::{ + engine::remote::ws::{Client, Ws}, + Surreal, +}; + +pub mod schema; + +const SDK_NAMESPACE: &str = "yanagi_sdk"; +const SDK_DB_NAME: &str = "user"; + +const ACCOUNT_UID_COUNTER: &str = "account_uid"; +const ACCOUNT_TABLE: &str = "account"; + +#[derive(Clone)] +pub struct DbContext(Surreal); +type Result = std::result::Result; + +impl DbContext { + pub async fn connect(settings: &DatabaseSettings) -> Result { + use surrealdb::opt::auth::Root; + + let database = Surreal::new::(&settings.url).await?; + database + .signin(Root { + username: &settings.username, + password: &settings.password, + }) + .await?; + + database.use_ns(SDK_NAMESPACE).use_db(SDK_DB_NAME).await?; + + // For uid auto-increment + database + .query(db_const::DEFINE_INCREMENT_FUNC_QUERY) + .await?; + + Ok(Self(database)) + } + + pub async fn create_account( + &self, + username: Username, + password: Password, + ) -> Result> { + if self + .get_account_by_name(username.as_str().to_string()) + .await? + .is_some() + { + return Ok(None); + } + + let account = Account::new(username, password); + let id = self.get_next_uid(ACCOUNT_UID_COUNTER).await?; + + let account: Account = self + .0 + .create((ACCOUNT_TABLE, id.to_string())) + .content(account) + .await? + .unwrap(); + + Ok(Some(account)) + } + + pub async fn get_account_by_name(&self, username: String) -> Result> { + const SELECT_WHERE_QUERY: &str = r#"SELECT * FROM account WHERE username = $value"#; + const VALUE_BIND: &str = "value"; + + self.0 + .query(SELECT_WHERE_QUERY) + .bind((VALUE_BIND, username)) + .await? + .take(0) + } + + pub async fn get_account_by_uid(&self, uid: &str) -> Result> { + self.0.select((ACCOUNT_TABLE, uid)).await + } + + async fn get_next_uid(&self, counter_name: &'static str) -> Result { + Ok(self + .0 + .query(db_const::UID_INCREMENT_QUERY) + .bind((db_const::UID_COUNTER_NAME_BIND, counter_name)) + .await? + .check()? + .take::>(0)? + .unwrap()) + } +} diff --git a/crates/sdk-server/src/database/schema.rs b/crates/sdk-server/src/database/schema.rs new file mode 100644 index 0000000..cac960d --- /dev/null +++ b/crates/sdk-server/src/database/schema.rs @@ -0,0 +1,89 @@ +use std::sync::LazyLock; + +use rand::distributions::{Alphanumeric, DistString}; +use regex::Regex; +use serde::{Deserialize, Serialize}; +use surrealdb::RecordId; + +use crate::util; + +#[derive(Debug, Serialize, Deserialize)] +pub struct Account { + pub id: Option, + pub username: Username, + pub password: Password, + pub token: String, +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(transparent)] +pub struct Username(String); + +#[derive(Debug, Serialize, Deserialize)] +pub struct Password(String); + +impl Account { + pub fn new(username: Username, password: Password) -> Self { + const TOKEN_LENGTH: usize = 64; + + Self { + id: None, + username, + password, + token: Alphanumeric.sample_string(&mut rand::thread_rng(), TOKEN_LENGTH), + } + } + + pub fn uid(&self) -> String { + let mut uid = self.id.clone().unwrap().key().to_string(); + uid.retain(|c| !['⟨', '⟩'].contains(&c)); + + uid + } +} + +impl Username { + pub fn parse(username: String) -> Option { + static ALLOWED_PATTERN: LazyLock = + LazyLock::new(|| Regex::new("^[a-zA-Z0-9._@-]{6,25}$").unwrap()); + + ALLOWED_PATTERN + .is_match(&username) + .then_some(Self(username)) + } + + pub fn as_str(&self) -> &str { + self.0.as_str() + } +} + +impl Password { + const PASSWORD_LENGTH: std::ops::Range = 8..30; + + pub fn new(password: String, password_v2: String) -> Result { + if password != password_v2 { + return Err(PasswordError::PairMismatch); + } + + if !Self::PASSWORD_LENGTH.contains(&password.len()) { + return Err(PasswordError::LengthMismatch); + } + + let hash = util::hash_string(&password).map_err(PasswordError::HashFailed)?; + Ok(Self(hash)) + } + + pub fn verify(&self, password: &str) -> bool { + util::verify_hash(password, &self.0).is_some() + } +} + +#[derive(thiserror::Error, Debug)] +pub enum PasswordError { + #[error("password pair mismatch")] + PairMismatch, + #[error("password length mismatch")] + LengthMismatch, + #[error("failed to generate password hash: {0}")] + HashFailed(pbkdf2::password_hash::Error), +} diff --git a/crates/sdk-server/src/handlers/combo_granter.rs b/crates/sdk-server/src/handlers/combo_granter.rs new file mode 100644 index 0000000..92cba49 --- /dev/null +++ b/crates/sdk-server/src/handlers/combo_granter.rs @@ -0,0 +1,61 @@ +use axum::{extract::State, routing::post, Json, Router}; +use serde::{Deserialize, Serialize}; + +use crate::AppStateRef; + +use super::Response; + +#[derive(Deserialize)] +struct RequestData { + pub uid: String, + pub token: String, +} + +#[derive(Deserialize)] +struct GranterTokenRequest { + pub data: String, +} + +pub fn routes() -> Router { + Router::new().route( + "/:product_name/combo/granter/login/v2/login", + post(login_v2), + ) +} + +#[derive(Serialize)] +struct ResponseData { + pub account_type: u32, + pub combo_id: String, + pub combo_token: String, + pub data: &'static str, + pub heartbeat: bool, + pub open_id: String, +} + +async fn login_v2( + state: State, + request: Json, +) -> Json> { + let Ok(data) = serde_json::from_str::(&request.data) else { + return Json(Response::error(-101, "Account token error")); + }; + + match state.db.get_account_by_uid(&data.uid).await { + Ok(Some(account)) if account.token == data.token => { + success_rsp(data.uid.clone(), account.token) + } + _ => Json(Response::error(-101, "Account token error")), + } +} + +fn success_rsp(uid: String, token: String) -> Json> { + Json(Response::new(ResponseData { + account_type: 1, + combo_id: uid.clone(), + combo_token: token, + data: r#"{"guest":false}"#, + heartbeat: false, + open_id: uid, + })) +} diff --git a/crates/sdk-server/src/handlers/mdk_shield_api.rs b/crates/sdk-server/src/handlers/mdk_shield_api.rs new file mode 100644 index 0000000..c9eee66 --- /dev/null +++ b/crates/sdk-server/src/handlers/mdk_shield_api.rs @@ -0,0 +1,118 @@ +use axum::{extract::State, routing::post, Json, Router}; +use serde::{Deserialize, Serialize}; + +use crate::{util, AppStateRef}; + +use super::Response; + +pub fn routes() -> Router { + Router::new() + .route("/:product_name/mdk/shield/api/login", post(login)) + .route("/:product_name/mdk/shield/api/verify", post(verify)) +} + +#[derive(Deserialize)] +struct LoginRequest { + pub account: String, + pub password: String, + pub is_crypto: bool, +} + +#[derive(Deserialize)] +struct VerifyRequest { + pub uid: String, + pub token: String, +} + +#[derive(Serialize, Default)] +struct ResponseData { + pub account: ResponseAccountData, + pub device_grant_required: bool, + pub reactive_required: bool, + pub realperson_required: bool, + pub safe_mobile_required: bool, +} + +#[derive(Serialize, Default)] +struct ResponseAccountData { + pub area_code: String, + pub email: String, + pub country: String, + pub is_email_verify: String, + pub token: String, + pub uid: String, +} + +async fn login( + state: State, + request: Json, +) -> Json> { + if !request.is_crypto { + return Json(Response::error( + -10, + "Invalid account format: unencrypted passwords are disabled by SDK security policy", + )); + } + + let Ok(password) = util::rsa_decrypt(&request.password) else { + return Json(Response::error(-10, "Your patch is outdated, get a new one at https://discord.gg/reversedrooms (Password decryption failed)")); + }; + + let account = match state.db.get_account_by_name(request.account.clone()).await { + Ok(Some(account)) => account, + Ok(None) => return Json(Response::error(-101, "Account or password error")), + Err(err) => { + tracing::error!("database error: {err}"); + return Json(Response::error(-1, "Internal server error")); + } + }; + + if !account.password.verify(&password) { + return Json(Response::error(-101, "Account or password error")); + } + + Json(Response::new(ResponseData { + account: ResponseAccountData { + area_code: String::from("**"), + email: account.username.as_str().to_string(), + country: String::from("RU"), + is_email_verify: String::from("1"), + uid: account.uid(), + token: account.token, + }, + ..Default::default() + })) +} + +async fn verify( + state: State, + request: Json, +) -> Json> { + let account = match state.db.get_account_by_uid(&request.uid).await { + Ok(Some(account)) => account, + Ok(None) => return Json(Response::error(-101, "Account cache error")), + Err(err) => { + tracing::error!("database error: {err}"); + return Json(Response::error(-1, "Internal server error")); + } + }; + + if account.token == request.token { + Json(Response::new(ResponseData { + account: ResponseAccountData { + area_code: String::from("**"), + email: account.username.as_str().to_string(), + country: String::from("RU"), + is_email_verify: String::from("1"), + uid: account.uid(), + token: account.token, + }, + ..Default::default() + })) + } else { + Json(Response::error( + -101, + "For account safety, please log in again", + )) + } +} diff --git a/crates/sdk-server/src/handlers/mod.rs b/crates/sdk-server/src/handlers/mod.rs new file mode 100644 index 0000000..858368f --- /dev/null +++ b/crates/sdk-server/src/handlers/mod.rs @@ -0,0 +1,31 @@ +use serde::Serialize; + +pub mod combo_granter; +pub mod mdk_shield_api; +pub mod register; +pub mod risky_api; + +#[derive(Serialize)] +pub struct Response { + data: Option, + message: String, + retcode: i32, +} + +impl Response { + pub fn new(data: T) -> Self { + Self { + data: Some(data), + message: String::from("OK"), + retcode: 0, + } + } + + pub fn error(retcode: i32, message: &str) -> Self { + Self { + data: None, + message: message.to_string(), + retcode, + } + } +} diff --git a/crates/sdk-server/src/handlers/register.rs b/crates/sdk-server/src/handlers/register.rs new file mode 100644 index 0000000..dca36d9 --- /dev/null +++ b/crates/sdk-server/src/handlers/register.rs @@ -0,0 +1,92 @@ +use axum::{ + extract::State, + response::Html, + routing::{get, post}, + Form, Router, +}; +use serde::Deserialize; + +use crate::{ + database::schema::{Password, PasswordError, Username}, + AppStateRef, +}; + +const REGISTER_PAGE: Html<&str> = Html(include_str!("../../html/register.html")); + +pub fn routes() -> Router { + Router::new() + .route("/account/register", get(|| async { REGISTER_PAGE })) + .route("/account/register", post(process_register_request)) +} + +#[derive(Deserialize)] +struct RegisterForm { + pub username: String, + pub password: String, + pub password_v2: String, +} + +async fn process_register_request( + State(state): State, + Form(form): Form, +) -> Html { + let Some(username) = Username::parse(form.username) else { + return html_result(ResultStatus::Failure, "Invalid username format; should consists of characters [A-Za-z0-9_] and be at least 6 characters long."); + }; + + let password = match Password::new(form.password, form.password_v2) { + Ok(password) => password, + Err(PasswordError::PairMismatch) => { + return html_result(ResultStatus::Failure, "Passwords pair doesn't match") + } + Err(PasswordError::LengthMismatch) => { + return html_result( + ResultStatus::Failure, + "Password should contain at least 8 and not more than 30 characters", + ) + } + Err(PasswordError::HashFailed(err)) => { + tracing::error!("failed to hash password, err: {err}"); + return html_result(ResultStatus::Failure, "Internal server error"); + } + }; + + match state.db.create_account(username, password).await { + Ok(Some(_)) => html_result( + ResultStatus::Success, + "Account successfully registered, now you can use in-game login", + ), + Ok(None) => html_result( + ResultStatus::Failure, + "Account with specified username already exists", + ), + Err(err) => { + tracing::error!("database operation error: {err}"); + html_result(ResultStatus::Failure, "Internal server error") + } + } +} + +enum ResultStatus { + Failure, + Success, +} + +impl ResultStatus { + pub fn as_str(&self) -> &str { + match self { + Self::Failure => "error", + Self::Success => "success", + } + } +} + +fn html_result(result: ResultStatus, message: &str) -> Html { + static RESULT_HTML: &str = include_str!("../../html/result.html"); + + Html( + RESULT_HTML + .replace("%RESULT%", result.as_str()) + .replace("%MESSAGE%", message), + ) +} diff --git a/crates/sdk-server/src/handlers/risky_api.rs b/crates/sdk-server/src/handlers/risky_api.rs new file mode 100644 index 0000000..48835c7 --- /dev/null +++ b/crates/sdk-server/src/handlers/risky_api.rs @@ -0,0 +1,11 @@ +use axum::{routing::post, Router}; + +use crate::AppState; + +pub fn routes() -> Router<&'static AppState> { + Router::new().route("/account/risky/api/check", post(risky_api_check)) +} + +async fn risky_api_check(_: String) -> &'static str { + r#"{"data":{},message:"OK",retcode:0}"# +} diff --git a/crates/sdk-server/src/main.rs b/crates/sdk-server/src/main.rs new file mode 100644 index 0000000..b0771da --- /dev/null +++ b/crates/sdk-server/src/main.rs @@ -0,0 +1,50 @@ +use std::sync::{LazyLock, OnceLock}; + +use anyhow::Result; +use axum::Router; +use common::config::TomlConfig; +use config::SdkConfig; +use database::DbContext; +use handlers::{combo_granter, mdk_shield_api, register, risky_api}; + +mod config; +mod database; +mod handlers; +mod util; + +struct AppState { + db: DbContext, + #[expect(dead_code)] + config: &'static SdkConfig, +} + +type AppStateRef = &'static AppState; + +#[tokio::main] +async fn main() -> Result<()> { + static CONFIG: LazyLock = + LazyLock::new(|| SdkConfig::load_or_create("sdk_server.toml")); + static STATE: OnceLock = OnceLock::new(); + + common::print_splash(); + common::logging::init(tracing::Level::DEBUG); + let db = DbContext::connect(&CONFIG.database).await?; + + let _ = STATE.set(AppState { + db, + config: &CONFIG, + }); + + let router = Router::new() + .merge(risky_api::routes()) + .merge(register::routes()) + .merge(mdk_shield_api::routes()) + .merge(combo_granter::routes()) + .with_state(STATE.get().unwrap()); + + axum_server::bind(CONFIG.http_addr.parse()?) + .serve(router.into_make_service()) + .await?; + + Ok(()) +} diff --git a/crates/sdk-server/src/util.rs b/crates/sdk-server/src/util.rs new file mode 100644 index 0000000..702d16b --- /dev/null +++ b/crates/sdk-server/src/util.rs @@ -0,0 +1,46 @@ +use rsa::{Pkcs1v15Encrypt, RsaPrivateKey}; +use thiserror::Error; + +use password_hash::{PasswordHash, PasswordHasher, SaltString}; +use pbkdf2::Pbkdf2; +const SDK_PRIVATE_KEY: &[u8] = include_bytes!("../rsa/private_key.der"); + +#[derive(Error, Debug)] +pub enum CryptoError { + #[error("failed to decrypt: {0}")] + Decrypt(#[from] rsa::Error), + #[error("failed to decode base64 string")] + FromBase64, + #[error("from_utf8 failed: {0}")] + FromUtf8(#[from] std::string::FromUtf8Error), +} + +pub fn rsa_decrypt(cipher: &str) -> Result { + let private_key: RsaPrivateKey = rsa::pkcs8::DecodePrivateKey::from_pkcs8_der(SDK_PRIVATE_KEY) + .expect("failed to decode private key"); + let payload = private_key.decrypt( + Pkcs1v15Encrypt, + &rbase64::decode(cipher).map_err(|_| CryptoError::FromBase64)?, + )?; + + Ok(String::from_utf8(payload)?) +} + +pub fn hash_string(content: &str) -> Result { + const HASH_PARAMS: pbkdf2::Params = pbkdf2::Params { + rounds: 10_000, + output_length: 32, + }; + + let salt = SaltString::generate(rand::thread_rng()); + let hash = + Pbkdf2.hash_password_customized(content.as_bytes(), None, None, HASH_PARAMS, &salt)?; + + Ok(hash.serialize().to_string()) +} + +#[must_use] +pub fn verify_hash(content: &str, hash_str: &str) -> Option<()> { + let hash = PasswordHash::new(hash_str).ok()?; + hash.verify_password(&[&Pbkdf2], content).ok() +} diff --git a/crates/yanagi-data/Cargo.toml b/crates/yanagi-data/Cargo.toml new file mode 100644 index 0000000..0b75dd1 --- /dev/null +++ b/crates/yanagi-data/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "yanagi-data" +edition = "2021" +version.workspace = true + +[dependencies] +byteorder.workspace = true +flatbuffers.workspace = true +hex.workspace = true +paste.workspace = true +xxhash-rust.workspace = true +const_format.workspace = true +blockfile = { path = "blockfile" } + +[dev-dependencies] +ureq.workspace = true + +[build-dependencies] +flatc-rust.workspace = true diff --git a/crates/yanagi-data/blockfile/Cargo.toml b/crates/yanagi-data/blockfile/Cargo.toml new file mode 100644 index 0000000..bc8a49b --- /dev/null +++ b/crates/yanagi-data/blockfile/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "blockfile" +version = "0.1.0" +edition = "2021" + +[dependencies] +byteorder.workspace = true +hex.workspace = true + +aes = "0.8.4" +ecb = { version = "0.1.2", features = ["alloc"] } +lz4_flex = "0.11.3" diff --git a/crates/yanagi-data/blockfile/src/lib.rs b/crates/yanagi-data/blockfile/src/lib.rs new file mode 100644 index 0000000..e4e0f0c --- /dev/null +++ b/crates/yanagi-data/blockfile/src/lib.rs @@ -0,0 +1,111 @@ +mod magic; +mod unpack; +mod util; + +use std::{ + collections::HashMap, + io::{Cursor, Read, Seek}, +}; + +use byteorder::{ReadBytesExt, BE, LE}; +pub use unpack::unpack_blk_raw; + +pub struct ArchiveFile { + data: Box<[u8]>, + file_map: HashMap, +} + +impl ArchiveFile { + pub fn from_raw(data: Box<[u8]>) -> std::io::Result { + let mut reader = Cursor::new(&data); + + // Skip unity slop + let header_size = reader.read_u32::()?; + reader.seek_relative(header_size as i64)?; + + while let Ok(b) = reader.read_u8() { + if b != 0 { + reader.seek_relative(-1)?; + break; + } + } + + let mut file_map = HashMap::new(); + + // read to end + while reader.read_u8().is_ok() { + reader.seek_relative(-1)?; + + let file_name = reader.read_string()?; + let mut file_size = reader.read_u32::()? as usize; + while file_size & 0xFF == 0 { + let b = reader.read_u8()?; + reader.seek_relative(-1)?; + + // Beginning of data + if b == 0xC || b == 0x10 { + break; + } + + reader.seek_relative(-3)?; + file_size = reader.read_u32::()? as usize; + } + if file_name.ends_with(".bundle") { + // when .bundle encoded, it ends with name of itself. + let mut buf = vec![0u8; file_name.len()]; + loop { + reader.seek_relative(1)?; + reader.read_exact(&mut buf)?; + if file_name.as_bytes() == &buf { + reader.seek_relative(0x15)?; + break; + } + + reader.seek_relative(-(file_name.len() as i64))?; + } + } else { + let offset = reader.stream_position()?; + reader.seek_relative(file_size as i64)?; // skip data + + let eof = loop { + match reader.read_u8() { + Ok(0) => (), + Ok(_) => break false, + Err(_) => break true, + } + }; + + //println!("got file: {file_name}, size: {file_size} bytes"); + file_map.insert(file_name, (offset as usize, file_size)); + + if eof { + break; + } + + reader.seek_relative(-1)?; + } + } + + Ok(Self { data, file_map }) + } + + pub fn open(&self, file_name: &str) -> Option<&[u8]> { + self.file_map + .get(file_name) + .map(|&(start, size)| &self.data[start..start + size]) + } +} + +pub trait ReadHelper { + fn read_string(&mut self) -> std::io::Result; +} + +impl ReadHelper for R { + fn read_string(&mut self) -> std::io::Result { + let str_len = self.read_u32::()? as usize; + let mut buf = vec![0u8; str_len]; + self.read_exact(&mut buf)?; + + Ok(String::from_utf8_lossy(&buf).to_string()) + } +} diff --git a/crates/yanagi-data/blockfile/src/magic.rs b/crates/yanagi-data/blockfile/src/magic.rs new file mode 100644 index 0000000..8394a9d --- /dev/null +++ b/crates/yanagi-data/blockfile/src/magic.rs @@ -0,0 +1,137 @@ +pub static XMMWORD_181D77E00: u128 = 0x0FFFFFFFF00000001636577656E79686D; // "mhynewec" + +pub static UNK_181D77E50: [u8; 256] = [ + 0x29, 0x23, 0xbe, 0x84, 0xe1, 0x6c, 0xd6, 0xae, 0x52, 0x90, 0x49, 0xf1, 0xf1, 0xbb, 0xe9, 0xeb, + 0xb3, 0xa6, 0xdb, 0x3c, 0x87, 0xc, 0x3e, 0x99, 0x24, 0x5e, 0xd, 0x1c, 0x6, 0xb7, 0x47, 0xde, + 0xb3, 0x12, 0x4d, 0xc8, 0x43, 0xbb, 0x8b, 0xa6, 0x1f, 0x3, 0x5a, 0x7d, 0x9, 0x38, 0x25, 0x1f, + 0x5d, 0xd4, 0xcb, 0xfc, 0x96, 0xf5, 0x45, 0x3b, 0x13, 0xd, 0x89, 0xa, 0x1c, 0xdb, 0xae, 0x32, + 0x20, 0x9a, 0x50, 0xee, 0x40, 0x78, 0x36, 0xfd, 0x12, 0x49, 0x32, 0xf6, 0x9e, 0x7d, 0x49, 0xdc, + 0xad, 0x4f, 0x14, 0xf2, 0x44, 0x40, 0x66, 0xd0, 0x6b, 0xc4, 0x30, 0xb7, 0x32, 0x3b, 0xa1, 0x22, + 0xf6, 0x22, 0x91, 0x9d, 0xe1, 0x8b, 0x1f, 0xda, 0xb0, 0xca, 0x99, 0x2, 0xb9, 0x72, 0x9d, 0x49, + 0x2c, 0x80, 0x7e, 0xc5, 0x99, 0xd5, 0xe9, 0x80, 0xb2, 0xea, 0xc9, 0xcc, 0x53, 0xbf, 0x67, 0xd6, + 0xbf, 0x14, 0xd6, 0x7e, 0x2d, 0xdc, 0x8e, 0x66, 0x83, 0xef, 0x57, 0x49, 0x61, 0xff, 0x69, 0x8f, + 0x61, 0xcd, 0xd1, 0x1e, 0x9d, 0x9c, 0x16, 0x72, 0x72, 0xe6, 0x1d, 0xf0, 0x84, 0x4f, 0x4a, 0x77, + 0x2, 0xd7, 0xe8, 0x39, 0x2c, 0x53, 0xcb, 0xc9, 0x12, 0x1e, 0x33, 0x74, 0x9e, 0xc, 0xf4, 0xd5, + 0xd4, 0x9f, 0xd4, 0xa4, 0x59, 0x7e, 0x35, 0xcf, 0x32, 0x22, 0xf4, 0xcc, 0xcf, 0xd3, 0x90, 0x2d, + 0x48, 0xd3, 0x8f, 0x75, 0xe6, 0xd9, 0x1d, 0x2a, 0xe5, 0xc0, 0xf7, 0x2b, 0x78, 0x81, 0x87, 0x44, + 0xe, 0x5f, 0x50, 0x0, 0xd4, 0x61, 0x8d, 0xbe, 0x7b, 0x5, 0x15, 0x7, 0x3b, 0x33, 0x82, 0x1f, + 0x18, 0x70, 0x92, 0xda, 0x64, 0x54, 0xce, 0xb1, 0x85, 0x3e, 0x69, 0x15, 0xf8, 0x46, 0x6a, 0x4, + 0x96, 0x73, 0xe, 0xd9, 0x16, 0x2f, 0x67, 0x68, 0xd4, 0xf7, 0x4a, 0x4a, 0xd0, 0x57, 0x68, 0x76, +]; + +// shuffle128 tables +// UnityPlayer: byte_181d7c580 +pub static SHUFFLE_TABLE: [u8; 48] = [ + 0xb, 0x2, 0x8, 0xc, 0x1, 0x5, 0x0, 0xf, 0x6, 0x7, 0x9, 0x3, 0xd, 0x4, 0xe, 0xa, 0x4, 0x5, 0x7, + 0xa, 0x2, 0xf, 0xb, 0x8, 0xe, 0xd, 0x9, 0x6, 0xc, 0x3, 0x0, 0x1, 0x8, 0x0, 0xc, 0x6, 0x4, 0xb, + 0x7, 0x9, 0x5, 0x3, 0xf, 0x1, 0xd, 0xa, 0x2, 0xe, +]; + +pub static BYTE_181D7BF80: [u8; 256] = [ + 0x1, 0x3, 0x5, 0xf, 0x11, 0x33, 0x55, 0xff, 0x1a, 0x2e, 0x72, 0x96, 0xa1, 0xf8, 0x13, 0x35, + 0x5f, 0xe1, 0x38, 0x48, 0xd8, 0x73, 0x95, 0xa4, 0xf7, 0x2, 0x6, 0xa, 0x1e, 0x22, 0x66, 0xaa, + 0xe5, 0x34, 0x5c, 0xe4, 0x37, 0x59, 0xeb, 0x26, 0x6a, 0xbe, 0xd9, 0x70, 0x90, 0xab, 0xe6, 0x31, + 0x53, 0xf5, 0x4, 0xc, 0x14, 0x3c, 0x44, 0xcc, 0x4f, 0xd1, 0x68, 0xb8, 0xd3, 0x6e, 0xb2, 0xcd, + 0x4c, 0xd4, 0x67, 0xa9, 0xe0, 0x3b, 0x4d, 0xd7, 0x62, 0xa6, 0xf1, 0x8, 0x18, 0x28, 0x78, 0x88, + 0x83, 0x9e, 0xb9, 0xd0, 0x6b, 0xbd, 0xdc, 0x7f, 0x81, 0x98, 0xb3, 0xce, 0x49, 0xdb, 0x76, 0x9a, + 0xb5, 0xc4, 0x57, 0xf9, 0x10, 0x30, 0x50, 0xf0, 0xb, 0x1d, 0x27, 0x69, 0xbb, 0xd6, 0x61, 0xa3, + 0xfe, 0x19, 0x2b, 0x7d, 0x87, 0x92, 0xad, 0xec, 0x2f, 0x71, 0x93, 0xae, 0xe9, 0x20, 0x60, 0xa0, + 0xfb, 0x16, 0x3a, 0x4e, 0xd2, 0x6d, 0xb7, 0xc2, 0x5d, 0xe7, 0x32, 0x56, 0xfa, 0x15, 0x3f, 0x41, + 0xc3, 0x5e, 0xe2, 0x3d, 0x47, 0xc9, 0x40, 0xc0, 0x5b, 0xed, 0x2c, 0x74, 0x9c, 0xbf, 0xda, 0x75, + 0x9f, 0xba, 0xd5, 0x64, 0xac, 0xef, 0x2a, 0x7e, 0x82, 0x9d, 0xbc, 0xdf, 0x7a, 0x8e, 0x89, 0x80, + 0x9b, 0xb6, 0xc1, 0x58, 0xe8, 0x23, 0x65, 0xaf, 0xea, 0x25, 0x6f, 0xb1, 0xc8, 0x43, 0xc5, 0x54, + 0xfc, 0x1f, 0x21, 0x63, 0xa5, 0xf4, 0x7, 0x9, 0x1b, 0x2d, 0x77, 0x99, 0xb0, 0xcb, 0x46, 0xca, + 0x45, 0xcf, 0x4a, 0xde, 0x79, 0x8b, 0x86, 0x91, 0xa8, 0xe3, 0x3e, 0x42, 0xc6, 0x51, 0xf3, 0xe, + 0x12, 0x36, 0x5a, 0xee, 0x29, 0x7b, 0x8d, 0x8c, 0x8f, 0x8a, 0x85, 0x94, 0xa7, 0xf2, 0xd, 0x17, + 0x39, 0x4b, 0xdd, 0x7c, 0x84, 0x97, 0xa2, 0xfd, 0x1c, 0x24, 0x6c, 0xb4, 0xc7, 0x52, 0xf6, 0xc5, +]; + +pub static BYTE_181D7C080: [u8; 256] = [ + 0x3e, 0x0, 0x19, 0x1, 0x32, 0x2, 0x1a, 0xc6, 0x4b, 0xc7, 0x1b, 0x68, 0x33, 0xee, 0xdf, 0x3, + 0x64, 0x4, 0xe0, 0xe, 0x34, 0x8d, 0x81, 0xef, 0x4c, 0x71, 0x8, 0xc8, 0xf8, 0x69, 0x1c, 0xc1, + 0x7d, 0xc2, 0x1d, 0xb5, 0xf9, 0xb9, 0x27, 0x6a, 0x4d, 0xe4, 0xa6, 0x72, 0x9a, 0xc9, 0x9, 0x78, + 0x65, 0x2f, 0x8a, 0x5, 0x21, 0xf, 0xe1, 0x24, 0x12, 0xf0, 0x82, 0x45, 0x35, 0x93, 0xda, 0x8e, + 0x96, 0x8f, 0xdb, 0xbd, 0x36, 0xd0, 0xce, 0x94, 0x13, 0x5c, 0xd2, 0xf1, 0x40, 0x46, 0x83, 0x38, + 0x66, 0xdd, 0xfd, 0x30, 0xbf, 0x6, 0x8b, 0x62, 0xb3, 0x25, 0xe2, 0x98, 0x22, 0x88, 0x91, 0x10, + 0x7e, 0x6e, 0x48, 0xc3, 0xa3, 0xb6, 0x1e, 0x42, 0x3a, 0x6b, 0x28, 0x54, 0xfa, 0x85, 0x3d, 0xba, + 0x2b, 0x79, 0xa, 0x15, 0x9b, 0x9f, 0x5e, 0xca, 0x4e, 0xd4, 0xac, 0xe5, 0xf3, 0x73, 0xa7, 0x57, + 0xaf, 0x58, 0xa8, 0x50, 0xf4, 0xea, 0xd6, 0x74, 0x4f, 0xae, 0xe9, 0xd5, 0xe7, 0xe6, 0xad, 0xe8, + 0x2c, 0xd7, 0x75, 0x7a, 0xeb, 0x16, 0xb, 0xf5, 0x59, 0xcb, 0x5f, 0xb0, 0x9c, 0xa9, 0x51, 0xa0, + 0x7f, 0xc, 0xf6, 0x6f, 0x17, 0xc4, 0x49, 0xec, 0xd8, 0x43, 0x1f, 0x2d, 0xa4, 0x76, 0x7b, 0xb7, + 0xcc, 0xbb, 0x3e, 0x5a, 0xfb, 0x60, 0xb1, 0x86, 0x3b, 0x52, 0xa1, 0x6c, 0xaa, 0x55, 0x29, 0x9d, + 0x97, 0xb2, 0x87, 0x90, 0x61, 0xbe, 0xdc, 0xfc, 0xbc, 0x95, 0xcf, 0xcd, 0x37, 0x3f, 0x5b, 0xd1, + 0x53, 0x39, 0x84, 0x3c, 0x41, 0xa2, 0x6d, 0x47, 0x14, 0x2a, 0x9e, 0x5d, 0x56, 0xf2, 0xd3, 0xab, + 0x44, 0x11, 0x92, 0xd9, 0x23, 0x20, 0x2e, 0x89, 0xb4, 0x7c, 0xb8, 0x26, 0x77, 0x99, 0xe3, 0xa5, + 0x67, 0x4a, 0xed, 0xde, 0xc5, 0x31, 0xfe, 0x18, 0xd, 0x63, 0x8c, 0x80, 0xc0, 0xf7, 0x70, 0x7, +]; + +pub static BYTE_181D7C5B8: [u8; 8] = [0xa7, 0x99, 0x66, 0x50, 0xb9, 0x2d, 0xf0, 0x78]; + +pub static BYTE_181D7C5B0: [u8; 8] = [0x48, 0x14, 0x36, 0xed, 0x8e, 0x44, 0x5b, 0xb6]; + +pub static BYTE_181D7C180: [u8; 1024] = [ + 0xf7, 0xe7, 0xd8, 0xb8, 0x64, 0x31, 0xd1, 0x74, 0x88, 0xaa, 0xb4, 0x8b, 0x6a, 0xa3, 0xfc, 0x55, + 0x59, 0xc5, 0x6d, 0xc9, 0x9a, 0x11, 0x2f, 0x37, 0xad, 0x35, 0x15, 0x62, 0x61, 0x4, 0x44, 0x1, + 0xdd, 0x47, 0x3d, 0xff, 0x8f, 0x51, 0xaf, 0xf, 0x19, 0x23, 0x92, 0x13, 0x0, 0x53, 0x4b, 0x67, + 0x21, 0x1c, 0x1b, 0x94, 0xe2, 0x29, 0x9f, 0x4c, 0xfb, 0xbb, 0x75, 0xf0, 0xfe, 0x1f, 0xdb, 0xef, + 0x1d, 0xf1, 0x3a, 0x1a, 0x5, 0x6, 0xce, 0xde, 0x63, 0xa, 0x6b, 0x2d, 0x28, 0x41, 0x6c, 0xc, + 0x42, 0xdc, 0x58, 0xb6, 0x39, 0x2e, 0xd2, 0xf6, 0x2b, 0xac, 0x84, 0x96, 0x17, 0xf3, 0x3f, 0x8d, + 0xab, 0x95, 0xcd, 0x30, 0xe, 0x66, 0x90, 0xf4, 0xed, 0xe0, 0x8e, 0xc2, 0x78, 0x2c, 0x7e, 0xf8, + 0x5d, 0x2, 0x91, 0xfa, 0x3c, 0xda, 0xb7, 0x6f, 0xf9, 0x4f, 0x14, 0x5e, 0xea, 0x24, 0x56, 0x9e, + 0xc1, 0xa5, 0x85, 0xd7, 0x8, 0x83, 0x4e, 0xf5, 0x76, 0x32, 0x86, 0x5c, 0xd3, 0x9, 0x5f, 0xfd, + 0x36, 0x3, 0xee, 0xe3, 0x34, 0x77, 0x79, 0x18, 0xbd, 0xdf, 0x97, 0x71, 0xba, 0x65, 0x68, 0x7a, + 0x54, 0x80, 0x48, 0x38, 0x5b, 0x4d, 0x5a, 0x7f, 0xb, 0x7c, 0xa6, 0x7b, 0x25, 0xd6, 0xd, 0x40, + 0xd0, 0x7, 0x99, 0x9d, 0x93, 0x69, 0xd9, 0x8c, 0xb3, 0xb5, 0xa4, 0x1e, 0xcb, 0x33, 0x82, 0xe9, + 0xc3, 0x60, 0xa7, 0xae, 0x45, 0xbe, 0xb1, 0x46, 0xb2, 0x9c, 0x22, 0xc7, 0x81, 0x98, 0xa9, 0xd5, + 0x6e, 0xe1, 0x10, 0xca, 0xbc, 0x4a, 0x70, 0xd4, 0xc4, 0x72, 0x12, 0xcf, 0x2a, 0x87, 0x16, 0xc8, + 0x73, 0xa1, 0x3e, 0x52, 0x50, 0xa8, 0x57, 0x27, 0xec, 0xcc, 0x7d, 0xe4, 0xa0, 0x89, 0xbf, 0xe5, + 0x8a, 0x20, 0xeb, 0xc0, 0xa2, 0x49, 0xb9, 0xe8, 0x26, 0xc6, 0xe6, 0xb0, 0x3b, 0x9b, 0xf2, 0x43, + 0x5e, 0xb0, 0xe6, 0xd, 0xf9, 0x87, 0xd7, 0x8a, 0xdf, 0xe7, 0x19, 0x99, 0x6f, 0xd5, 0x5b, 0x4e, + 0xcb, 0xc2, 0x48, 0xd2, 0xf2, 0x44, 0x35, 0x3, 0xe9, 0x86, 0xd0, 0x95, 0x2, 0x4a, 0x4, 0x62, + 0xc5, 0x9d, 0x1d, 0xe2, 0xfd, 0x53, 0x8, 0x8d, 0x5d, 0x75, 0xd9, 0x3f, 0x94, 0x59, 0x14, 0x29, + 0x98, 0x76, 0x8c, 0x79, 0x2e, 0x8f, 0x39, 0xc, 0x4c, 0xc8, 0xc0, 0x81, 0x9c, 0x10, 0xbb, 0xaf, + 0xf7, 0xe5, 0xb2, 0xb3, 0xee, 0x56, 0x57, 0xb8, 0xfa, 0x40, 0x7a, 0x72, 0x77, 0x24, 0x6c, 0xc6, + 0x47, 0x3a, 0x74, 0xcf, 0x89, 0xb4, 0x9b, 0x26, 0xaa, 0x38, 0x9, 0xc3, 0x1c, 0xde, 0x9f, 0xdd, + 0x16, 0x1f, 0x55, 0xbd, 0xad, 0xac, 0x80, 0x4f, 0x64, 0x4b, 0x71, 0xb7, 0xf6, 0x6, 0x2b, 0xc7, + 0x1, 0xea, 0x46, 0xa6, 0xeb, 0x3d, 0xca, 0x7, 0x34, 0x1b, 0xff, 0x7c, 0x7d, 0x2d, 0x37, 0x67, + 0x60, 0x9a, 0xc4, 0x97, 0x7f, 0xd6, 0xbe, 0xae, 0x85, 0x25, 0x88, 0x65, 0xa2, 0x0, 0xb6, 0x8e, + 0xd4, 0x6e, 0x1a, 0x63, 0x36, 0x92, 0xc1, 0xe1, 0x15, 0xa5, 0x58, 0x3b, 0x7e, 0x22, 0x2f, 0x84, + 0xf, 0x5c, 0x96, 0xb1, 0xf1, 0x6d, 0x8b, 0xf4, 0xa8, 0xb5, 0xb, 0xfe, 0x23, 0xe3, 0xce, 0xf8, + 0xf5, 0x51, 0x45, 0x43, 0x18, 0x1e, 0xd1, 0xba, 0xbc, 0x90, 0x21, 0x70, 0x30, 0xc9, 0x2a, 0xec, + 0x61, 0x7b, 0x66, 0x5f, 0x13, 0x33, 0x20, 0x6b, 0xcd, 0x3c, 0xa0, 0x93, 0x31, 0xb9, 0x5, 0x82, + 0xfb, 0x3e, 0x17, 0x12, 0x6a, 0xa, 0xcc, 0x4d, 0xa1, 0x73, 0x52, 0x78, 0xbf, 0x28, 0x50, 0x69, + 0xdc, 0x68, 0x42, 0xe0, 0xa4, 0x2c, 0xef, 0xf0, 0x11, 0xe8, 0x91, 0x49, 0x83, 0x5a, 0xf3, 0x32, + 0xdb, 0xab, 0xda, 0x27, 0xe, 0xed, 0xa3, 0xfc, 0x41, 0xa7, 0xa9, 0xd3, 0x9e, 0xe4, 0xd8, 0x54, + 0x95, 0xae, 0xf0, 0xd5, 0x73, 0x24, 0xd2, 0xa5, 0x99, 0xb, 0x1b, 0xc4, 0x9a, 0xd8, 0x69, 0x6f, + 0x25, 0xed, 0x8e, 0x91, 0x63, 0xf8, 0x35, 0x62, 0x5b, 0x94, 0x88, 0xb2, 0x5c, 0xf, 0xdd, 0xa4, + 0x7a, 0x1a, 0x12, 0xc6, 0x37, 0x44, 0xf1, 0x4e, 0xb9, 0x4d, 0x43, 0xd1, 0xad, 0xeb, 0xb4, 0x46, + 0x80, 0x30, 0x5e, 0xe4, 0x87, 0x6e, 0xa, 0x82, 0xcf, 0x74, 0x38, 0xb5, 0xc1, 0xd6, 0x1, 0x5, + 0xe8, 0x83, 0xa9, 0x6d, 0xce, 0xa8, 0xc5, 0x51, 0xa3, 0x3f, 0xda, 0x3, 0xd0, 0x3a, 0x39, 0x6c, + 0x11, 0x97, 0x68, 0x54, 0xc0, 0x4b, 0xdf, 0x19, 0xc, 0x21, 0x1f, 0x66, 0xbd, 0xe9, 0x61, 0x49, + 0xc8, 0x42, 0xbc, 0xec, 0x7f, 0xc3, 0x4f, 0x2e, 0xa1, 0x58, 0x3d, 0x81, 0xe3, 0x14, 0xb8, 0x2, + 0x23, 0x9e, 0x77, 0x2b, 0x33, 0xa6, 0x93, 0x13, 0x34, 0xe, 0x6, 0x45, 0xfb, 0x7, 0x75, 0xd, + 0x1e, 0x40, 0xab, 0x7d, 0xf5, 0xbb, 0x55, 0xef, 0x4, 0x65, 0x79, 0x2f, 0xca, 0xf3, 0x29, 0xcb, + 0xea, 0x17, 0xf4, 0xe6, 0x71, 0x4c, 0x50, 0x26, 0xd9, 0x78, 0x5f, 0x9, 0x9c, 0x1c, 0x85, 0x31, + 0x22, 0x9b, 0xc9, 0xe0, 0x8f, 0xac, 0x57, 0x8b, 0x7c, 0x47, 0x7e, 0x16, 0xf7, 0x8, 0x5a, 0x59, + 0x1d, 0xc7, 0xf9, 0x0, 0x2d, 0x60, 0x3c, 0x9f, 0x96, 0xa2, 0xba, 0x20, 0x70, 0xf6, 0x48, 0xb0, + 0x2c, 0x72, 0xe1, 0x64, 0xe7, 0xff, 0xb7, 0x56, 0xa7, 0x53, 0x84, 0xd7, 0xe2, 0xd4, 0xa0, 0xb1, + 0x8c, 0xe5, 0x2a, 0xdc, 0x15, 0x28, 0x5d, 0x3b, 0x36, 0x7b, 0x86, 0x6a, 0xdb, 0x10, 0xbe, 0x6b, + 0xfe, 0x9d, 0x18, 0xde, 0x76, 0xf2, 0xcd, 0xb6, 0x32, 0xfc, 0x41, 0xaf, 0xbf, 0x67, 0xb3, 0xaa, + 0xc2, 0x8a, 0xfd, 0x89, 0xcc, 0xfa, 0x90, 0x98, 0x8d, 0x52, 0xd3, 0xee, 0x92, 0x3e, 0x4a, 0x27, + 0x2a, 0xd7, 0x9e, 0x2, 0x53, 0x63, 0xea, 0xe9, 0x8f, 0x35, 0x22, 0x7f, 0xfe, 0xca, 0x75, 0x46, + 0x57, 0x94, 0xd9, 0x4e, 0xd2, 0xd4, 0x76, 0xa1, 0xc3, 0xd8, 0xbc, 0x9b, 0x84, 0x87, 0x91, 0x51, + 0xb1, 0xab, 0x81, 0x64, 0x47, 0xaf, 0x9d, 0x6a, 0x5b, 0x2d, 0xd6, 0x95, 0x77, 0x3, 0xc1, 0x10, + 0xad, 0x61, 0xc, 0xbf, 0x11, 0x34, 0x7e, 0x1, 0x38, 0x20, 0x4b, 0xb6, 0x4a, 0x1a, 0x45, 0x99, + 0x5f, 0x26, 0xbb, 0xc5, 0xcd, 0x23, 0xf1, 0xf7, 0xb4, 0x8e, 0xe1, 0xf8, 0x68, 0x56, 0x29, 0xd5, + 0x3d, 0xef, 0x12, 0x28, 0xc4, 0x2e, 0x79, 0xa6, 0x48, 0x85, 0x73, 0x14, 0xe4, 0xc6, 0x6b, 0x92, + 0x30, 0x27, 0x93, 0x13, 0xd, 0xe2, 0xc9, 0xf0, 0x65, 0xdf, 0xfb, 0xe3, 0x6, 0x2f, 0x8c, 0x4c, + 0x18, 0x15, 0xd3, 0x49, 0x3e, 0x7, 0x59, 0xb0, 0x88, 0xa9, 0xc8, 0x3b, 0x86, 0xee, 0x5c, 0x7a, + 0x5e, 0xff, 0x8d, 0xac, 0x8, 0xe6, 0x60, 0x54, 0xa0, 0x7d, 0x40, 0x33, 0xa8, 0xfc, 0xe0, 0x37, + 0x98, 0xbd, 0xec, 0x9, 0xb2, 0x71, 0x58, 0x1f, 0xde, 0x74, 0x89, 0x36, 0x52, 0x66, 0xa2, 0x3c, + 0x96, 0x5d, 0x50, 0x90, 0x41, 0xf5, 0x17, 0x2b, 0xb, 0xdc, 0xf6, 0x0, 0x83, 0xdd, 0x6d, 0xb5, + 0x3a, 0x9c, 0xb8, 0x70, 0x7c, 0x43, 0x69, 0xfd, 0x32, 0x1b, 0xed, 0xf, 0x55, 0x97, 0xc2, 0xfa, + 0x39, 0x4f, 0x9a, 0x82, 0x19, 0xe7, 0x78, 0x6e, 0xcb, 0xa4, 0xbe, 0x24, 0xb3, 0xf3, 0xcc, 0xcf, + 0x1c, 0xf9, 0x44, 0xa5, 0x1e, 0x80, 0x3f, 0xd0, 0x21, 0xa3, 0xe8, 0x31, 0x5, 0x16, 0x8a, 0xba, + 0x67, 0xe, 0xe5, 0xb7, 0xd1, 0x42, 0x1d, 0xdb, 0x72, 0x6c, 0xa7, 0xce, 0x4, 0x4d, 0xda, 0xc7, + 0x8b, 0x9f, 0x6f, 0xa, 0x2c, 0xeb, 0xf2, 0x5a, 0x7b, 0xaa, 0x25, 0xc0, 0x62, 0xae, 0xf4, 0xb9, +]; diff --git a/crates/yanagi-data/blockfile/src/unpack.rs b/crates/yanagi-data/blockfile/src/unpack.rs new file mode 100644 index 0000000..afa35dd --- /dev/null +++ b/crates/yanagi-data/blockfile/src/unpack.rs @@ -0,0 +1,98 @@ +use std::{ + cmp, + io::{self, Cursor, Read}, +}; + +use byteorder::{ReadBytesExt, LE}; + +use crate::util::{sub_18001A770, MhyObscureReadExt}; + +#[derive(Debug)] +#[expect(unused)] +struct CabFileInfo { + pub path: String, + pub flag: bool, + pub offset: usize, + pub size: usize, +} + +#[derive(Debug)] +struct BlockInfo { + pub compressed_size: usize, + pub decompressed_size: usize, +} + +impl CabFileInfo { + pub fn read(r: &mut R) -> io::Result { + Ok(Self { + path: r.read_path_string()?, + flag: r.read_bool()?, + offset: r.read_obscure_i32()? as usize, + size: r.read_obscure_u32()? as usize, + }) + } +} + +impl BlockInfo { + pub fn read(r: &mut R) -> io::Result { + Ok(Self { + compressed_size: r.read_obscure_i32()? as usize, + decompressed_size: r.read_obscure_u32()? as usize, + }) + } +} + +pub fn unpack_blk_raw(mut buf: R) -> io::Result> { + let v45 = buf.read_u64::()?; + assert_eq!((v45 as u32) | 0x1000000, 0x3179686D); // "mhy1" + + let v6 = (v45 >> 32) as usize; + let mut v8 = vec![0u8; v6]; + buf.read_exact(&mut v8)?; + + sub_18001A770(&mut v8, cmp::min(v6, 128), 0x1C); + if v6 >= 0x27 { + let data = &v8[48..]; + let decompressed_size = (data[1] as u32) + | ((data[6] as u32) << 8) + | ((data[3] as u32) << 16) + | ((data[2] as u32) << 24); + + let data = lz4_flex::block::decompress(&data[7..], decompressed_size as usize).unwrap(); + let mut reader = Cursor::new(&data); + + let _ = (0..reader.read_obscure_i32()?) + .map(|_| CabFileInfo::read(&mut reader)) + .collect::, _>>()?; + + let compressed_blocks = (0..reader.read_obscure_i32()?) + .map(|_| BlockInfo::read(&mut reader)) + .collect::, _>>()?; + + let mut decompressed_data = vec![ + 0u8; + compressed_blocks + .iter() + .fold(0usize, |len, b| len + b.decompressed_size) + ]; + + let mut idx = 0; + for block in compressed_blocks { + let mut compressed = vec![0u8; block.compressed_size]; + buf.read(&mut compressed)?; + + sub_18001A770(&mut compressed, cmp::min(128, block.compressed_size), 8); + lz4_flex::block::decompress_into( + &compressed[28..], + &mut decompressed_data[idx..idx + block.decompressed_size], + ) + .unwrap(); + + idx += block.decompressed_size; + } + + Ok(decompressed_data.into_boxed_slice()) + } else { + Ok(Vec::with_capacity(0).into_boxed_slice()) + } +} diff --git a/crates/yanagi-data/blockfile/src/util.rs b/crates/yanagi-data/blockfile/src/util.rs new file mode 100644 index 0000000..92bcec6 --- /dev/null +++ b/crates/yanagi-data/blockfile/src/util.rs @@ -0,0 +1,146 @@ +use byteorder::{ByteOrder, LE}; + +use crate::magic::*; +use std::io::{Read, Result}; + +pub trait MhyObscureReadExt { + fn read_obscure_u32(&mut self) -> Result; + fn read_obscure_i32(&mut self) -> Result; + fn read_path_string(&mut self) -> Result; + fn read_bool(&mut self) -> Result; +} + +impl MhyObscureReadExt for R { + fn read_obscure_u32(&mut self) -> Result { + let mut buf = [0u8; 7]; + self.read_exact(&mut buf)?; + + Ok((buf[1] as u32) + | ((buf[6] as u32) << 8) + | ((buf[3] as u32) << 16) + | ((buf[2] as u32) << 24)) + } + + fn read_obscure_i32(&mut self) -> Result { + let mut buf = [0u8; 6]; + self.read_exact(&mut buf)?; + + Ok((buf[2] as i32) + | ((buf[4] as i32) << 8) + | ((buf[0] as i32) << 16) + | ((buf[5] as i32) << 24)) + } + + fn read_path_string(&mut self) -> Result { + const WIN32_MAX_PATH: usize = 260; + + let mut buf = [0u8; WIN32_MAX_PATH + 1]; + self.read_exact(&mut buf)?; + + let str_len = buf.iter().position(|&c| c == 0).unwrap_or(WIN32_MAX_PATH); + Ok(String::from_utf8(buf[..str_len].to_vec()).unwrap()) + } + + fn read_bool(&mut self) -> Result { + use byteorder::ReadBytesExt; + Ok(self.read_u8()? != 0) + } +} + +type Aes128Encryptor = ecb::Encryptor; + +// UnityPlayer: 0x1A770 +#[allow(non_snake_case)] +pub fn sub_18001A770(a1: &mut Vec, len: usize, a4: usize) { + use aes::cipher::{block_padding::NoPadding, BlockEncryptMut, KeyInit}; + + let v5 = a4 + 15; + shuffle128(&mut a1[4..20]); + let v20 = v5 & 0xFFFFFFF0; + assert_eq!(LE::read_u128(&a1[4..20]), XMMWORD_181D77E00); + if len >= 0x24 { + let v70 = v20; + shuffle128(&mut a1[20..36]); + + let en = Aes128Encryptor::new(a1[0..16].into()); + en.encrypt_padded_mut::(&mut a1[20..36], 16) + .unwrap(); + + (0..4).for_each(|i| a1[i] ^= a1[20 + i]); + + let v58 = a1[20..28].to_vec(); + let v73 = a1[28..36].to_vec(); + + sub_18001A5E0(&mut a1[20 + v70..len], len - 20 - v70, &v58, 8, &v73); + } +} + +// UnityPlayer: 0x1A5E0 +#[allow(non_snake_case)] +fn sub_18001A5E0(a1: &mut [u8], a2: usize, a3: &[u8], a4: usize, a5: &[u8]) { + let mut v21 = UNK_181D77E50.to_vec(); + let mut v11 = 0u8; + for v9 in 0..256 { + let v10 = v21[v9]; + v11 = v11.wrapping_add(a3[v9 % a4].wrapping_add(v10)); + v21[v9] = v21[v11 as usize]; + v21[v11 as usize] = v10; + } + + let mut v13 = 0u8; + let mut v14 = 0u8; + for v12 in 0..a2 { + let v15 = v14.wrapping_add(1); + v14 = v14.wrapping_add(1); + let v16 = v21[v14 as usize]; + v13 = v13.wrapping_add(v16); + v21[v14 as usize] = v21[v13 as usize]; + v21[v13 as usize] = v16; + let v17 = v16.wrapping_add(v21[v14 as usize]); + let v18 = a5[v15 as usize & 7] % 3; + match v18 { + 2 => { + a1[v12] = a1[v12].wrapping_add(v21[v17 as usize]); + } + 1 => { + a1[v12] = a1[v12].wrapping_sub(v21[v17 as usize]); + } + 0 => { + a1[v12] ^= v21[v17 as usize]; + } + _ => unreachable!(), + } + } +} + +// inlined 3 times in sub_18001A770 +// 'decrypts' 16-byte chunks of data +fn shuffle128(a1: &mut [u8]) { + assert_eq!(a1.len(), 16); + for v6 in 0..3 { + let v8 = 32 - 16 * v6; + + let mut temp = [0u8; 16]; + for i in 0..16 { + temp[i] = a1[SHUFFLE_TABLE[v8 + i] as usize]; + } + a1.copy_from_slice(&temp); + + let mut v16 = 0; + for v17 in 0..16 { + let v9 = a1[v17]; + let v18 = v17 & 7; + let v19 = if v9 != 0 { + BYTE_181D7BF80[(((BYTE_181D7C080[v9 as usize] as u16) + + (BYTE_181D7C080[BYTE_181D7C5B8[v18] as usize] as u16)) + % 0xFF) as usize] as usize + | (v16 & 0x300) + } else { + v16 & 0x300 + }; + + a1[v17] = BYTE_181D7C180[v19 as usize] ^ BYTE_181D7C5B0[v18 as usize]; + v16 += 256; + } + } +} diff --git a/crates/yanagi-data/build.rs b/crates/yanagi-data/build.rs new file mode 100644 index 0000000..a2b8b06 --- /dev/null +++ b/crates/yanagi-data/build.rs @@ -0,0 +1,11 @@ +use std::path::Path; + +fn main() { + println!("cargo:rerun-if-changed=fbs"); + + let _ = flatc_rust::run(flatc_rust::Args { + inputs: &[Path::new("fbs/tables.fbs")], + out_dir: Path::new("gen_flatbuffers"), + ..Default::default() + }); +} diff --git a/crates/yanagi-data/fbs/tables.fbs b/crates/yanagi-data/fbs/tables.fbs new file mode 100644 index 0000000..32089cf --- /dev/null +++ b/crates/yanagi-data/fbs/tables.fbs @@ -0,0 +1,20 @@ +table AvatarBaseTemplate { + id: int; + code_name: string; + name: string; + full_name: string; + audio_event_replace_param: string; + audio_bank: string; + hit_types: [int]; + element_types: [int]; + unk_1: int; + gender: int; + camp: int; + unk_2: [string]; +} + +table AvatarBaseTemplateTb { + data: [AvatarBaseTemplate]; +} + +root_type AvatarBaseTemplateTb; diff --git a/crates/yanagi-data/gen_flatbuffers/tables_generated.rs b/crates/yanagi-data/gen_flatbuffers/tables_generated.rs new file mode 100644 index 0000000..0309324 --- /dev/null +++ b/crates/yanagi-data/gen_flatbuffers/tables_generated.rs @@ -0,0 +1,463 @@ +// automatically generated by the FlatBuffers compiler, do not modify + + +// @generated + +use core::mem; +use core::cmp::Ordering; + +extern crate flatbuffers; +use self::flatbuffers::{EndianScalar, Follow}; + +pub enum AvatarBaseTemplateOffset {} +#[derive(Copy, Clone, PartialEq)] + +pub struct AvatarBaseTemplate<'a> { + pub _tab: flatbuffers::Table<'a>, +} + +impl<'a> flatbuffers::Follow<'a> for AvatarBaseTemplate<'a> { + type Inner = AvatarBaseTemplate<'a>; + #[inline] + unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner { + Self { _tab: flatbuffers::Table::new(buf, loc) } + } +} + +impl<'a> AvatarBaseTemplate<'a> { + pub const VT_ID: flatbuffers::VOffsetT = 4; + pub const VT_CODE_NAME: flatbuffers::VOffsetT = 6; + pub const VT_NAME: flatbuffers::VOffsetT = 8; + pub const VT_FULL_NAME: flatbuffers::VOffsetT = 10; + pub const VT_AUDIO_EVENT_REPLACE_PARAM: flatbuffers::VOffsetT = 12; + pub const VT_AUDIO_BANK: flatbuffers::VOffsetT = 14; + pub const VT_HIT_TYPES: flatbuffers::VOffsetT = 16; + pub const VT_ELEMENT_TYPES: flatbuffers::VOffsetT = 18; + pub const VT_UNK_1: flatbuffers::VOffsetT = 20; + pub const VT_GENDER: flatbuffers::VOffsetT = 22; + pub const VT_CAMP: flatbuffers::VOffsetT = 24; + pub const VT_UNK_2: flatbuffers::VOffsetT = 26; + + #[inline] + pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self { + AvatarBaseTemplate { _tab: table } + } + #[allow(unused_mut)] + pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>( + _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>, + args: &'args AvatarBaseTemplateArgs<'args> + ) -> flatbuffers::WIPOffset> { + let mut builder = AvatarBaseTemplateBuilder::new(_fbb); + if let Some(x) = args.unk_2 { builder.add_unk_2(x); } + builder.add_camp(args.camp); + builder.add_gender(args.gender); + builder.add_unk_1(args.unk_1); + if let Some(x) = args.element_types { builder.add_element_types(x); } + if let Some(x) = args.hit_types { builder.add_hit_types(x); } + if let Some(x) = args.audio_bank { builder.add_audio_bank(x); } + if let Some(x) = args.audio_event_replace_param { builder.add_audio_event_replace_param(x); } + if let Some(x) = args.full_name { builder.add_full_name(x); } + if let Some(x) = args.name { builder.add_name(x); } + if let Some(x) = args.code_name { builder.add_code_name(x); } + builder.add_id(args.id); + builder.finish() + } + + + #[inline] + pub fn id(&self) -> i32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(AvatarBaseTemplate::VT_ID, Some(0)).unwrap()} + } + #[inline] + pub fn code_name(&self) -> Option<&'a str> { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::>(AvatarBaseTemplate::VT_CODE_NAME, None)} + } + #[inline] + pub fn name(&self) -> Option<&'a str> { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::>(AvatarBaseTemplate::VT_NAME, None)} + } + #[inline] + pub fn full_name(&self) -> Option<&'a str> { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::>(AvatarBaseTemplate::VT_FULL_NAME, None)} + } + #[inline] + pub fn audio_event_replace_param(&self) -> Option<&'a str> { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::>(AvatarBaseTemplate::VT_AUDIO_EVENT_REPLACE_PARAM, None)} + } + #[inline] + pub fn audio_bank(&self) -> Option<&'a str> { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::>(AvatarBaseTemplate::VT_AUDIO_BANK, None)} + } + #[inline] + pub fn hit_types(&self) -> Option> { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::>>(AvatarBaseTemplate::VT_HIT_TYPES, None)} + } + #[inline] + pub fn element_types(&self) -> Option> { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::>>(AvatarBaseTemplate::VT_ELEMENT_TYPES, None)} + } + #[inline] + pub fn unk_1(&self) -> i32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(AvatarBaseTemplate::VT_UNK_1, Some(0)).unwrap()} + } + #[inline] + pub fn gender(&self) -> i32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(AvatarBaseTemplate::VT_GENDER, Some(0)).unwrap()} + } + #[inline] + pub fn camp(&self) -> i32 { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::(AvatarBaseTemplate::VT_CAMP, Some(0)).unwrap()} + } + #[inline] + pub fn unk_2(&self) -> Option>> { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::>>>(AvatarBaseTemplate::VT_UNK_2, None)} + } +} + +impl flatbuffers::Verifiable for AvatarBaseTemplate<'_> { + #[inline] + fn run_verifier( + v: &mut flatbuffers::Verifier, pos: usize + ) -> Result<(), flatbuffers::InvalidFlatbuffer> { + use self::flatbuffers::Verifiable; + v.visit_table(pos)? + .visit_field::("id", Self::VT_ID, false)? + .visit_field::>("code_name", Self::VT_CODE_NAME, false)? + .visit_field::>("name", Self::VT_NAME, false)? + .visit_field::>("full_name", Self::VT_FULL_NAME, false)? + .visit_field::>("audio_event_replace_param", Self::VT_AUDIO_EVENT_REPLACE_PARAM, false)? + .visit_field::>("audio_bank", Self::VT_AUDIO_BANK, false)? + .visit_field::>>("hit_types", Self::VT_HIT_TYPES, false)? + .visit_field::>>("element_types", Self::VT_ELEMENT_TYPES, false)? + .visit_field::("unk_1", Self::VT_UNK_1, false)? + .visit_field::("gender", Self::VT_GENDER, false)? + .visit_field::("camp", Self::VT_CAMP, false)? + .visit_field::>>>("unk_2", Self::VT_UNK_2, false)? + .finish(); + Ok(()) + } +} +pub struct AvatarBaseTemplateArgs<'a> { + pub id: i32, + pub code_name: Option>, + pub name: Option>, + pub full_name: Option>, + pub audio_event_replace_param: Option>, + pub audio_bank: Option>, + pub hit_types: Option>>, + pub element_types: Option>>, + pub unk_1: i32, + pub gender: i32, + pub camp: i32, + pub unk_2: Option>>>, +} +impl<'a> Default for AvatarBaseTemplateArgs<'a> { + #[inline] + fn default() -> Self { + AvatarBaseTemplateArgs { + id: 0, + code_name: None, + name: None, + full_name: None, + audio_event_replace_param: None, + audio_bank: None, + hit_types: None, + element_types: None, + unk_1: 0, + gender: 0, + camp: 0, + unk_2: None, + } + } +} + +pub struct AvatarBaseTemplateBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> { + fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, + start_: flatbuffers::WIPOffset, +} +impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> AvatarBaseTemplateBuilder<'a, 'b, A> { + #[inline] + pub fn add_id(&mut self, id: i32) { + self.fbb_.push_slot::(AvatarBaseTemplate::VT_ID, id, 0); + } + #[inline] + pub fn add_code_name(&mut self, code_name: flatbuffers::WIPOffset<&'b str>) { + self.fbb_.push_slot_always::>(AvatarBaseTemplate::VT_CODE_NAME, code_name); + } + #[inline] + pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>) { + self.fbb_.push_slot_always::>(AvatarBaseTemplate::VT_NAME, name); + } + #[inline] + pub fn add_full_name(&mut self, full_name: flatbuffers::WIPOffset<&'b str>) { + self.fbb_.push_slot_always::>(AvatarBaseTemplate::VT_FULL_NAME, full_name); + } + #[inline] + pub fn add_audio_event_replace_param(&mut self, audio_event_replace_param: flatbuffers::WIPOffset<&'b str>) { + self.fbb_.push_slot_always::>(AvatarBaseTemplate::VT_AUDIO_EVENT_REPLACE_PARAM, audio_event_replace_param); + } + #[inline] + pub fn add_audio_bank(&mut self, audio_bank: flatbuffers::WIPOffset<&'b str>) { + self.fbb_.push_slot_always::>(AvatarBaseTemplate::VT_AUDIO_BANK, audio_bank); + } + #[inline] + pub fn add_hit_types(&mut self, hit_types: flatbuffers::WIPOffset>) { + self.fbb_.push_slot_always::>(AvatarBaseTemplate::VT_HIT_TYPES, hit_types); + } + #[inline] + pub fn add_element_types(&mut self, element_types: flatbuffers::WIPOffset>) { + self.fbb_.push_slot_always::>(AvatarBaseTemplate::VT_ELEMENT_TYPES, element_types); + } + #[inline] + pub fn add_unk_1(&mut self, unk_1: i32) { + self.fbb_.push_slot::(AvatarBaseTemplate::VT_UNK_1, unk_1, 0); + } + #[inline] + pub fn add_gender(&mut self, gender: i32) { + self.fbb_.push_slot::(AvatarBaseTemplate::VT_GENDER, gender, 0); + } + #[inline] + pub fn add_camp(&mut self, camp: i32) { + self.fbb_.push_slot::(AvatarBaseTemplate::VT_CAMP, camp, 0); + } + #[inline] + pub fn add_unk_2(&mut self, unk_2: flatbuffers::WIPOffset>>) { + self.fbb_.push_slot_always::>(AvatarBaseTemplate::VT_UNK_2, unk_2); + } + #[inline] + pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> AvatarBaseTemplateBuilder<'a, 'b, A> { + let start = _fbb.start_table(); + AvatarBaseTemplateBuilder { + fbb_: _fbb, + start_: start, + } + } + #[inline] + pub fn finish(self) -> flatbuffers::WIPOffset> { + let o = self.fbb_.end_table(self.start_); + flatbuffers::WIPOffset::new(o.value()) + } +} + +impl core::fmt::Debug for AvatarBaseTemplate<'_> { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + let mut ds = f.debug_struct("AvatarBaseTemplate"); + ds.field("id", &self.id()); + ds.field("code_name", &self.code_name()); + ds.field("name", &self.name()); + ds.field("full_name", &self.full_name()); + ds.field("audio_event_replace_param", &self.audio_event_replace_param()); + ds.field("audio_bank", &self.audio_bank()); + ds.field("hit_types", &self.hit_types()); + ds.field("element_types", &self.element_types()); + ds.field("unk_1", &self.unk_1()); + ds.field("gender", &self.gender()); + ds.field("camp", &self.camp()); + ds.field("unk_2", &self.unk_2()); + ds.finish() + } +} +pub enum AvatarBaseTemplateTbOffset {} +#[derive(Copy, Clone, PartialEq)] + +pub struct AvatarBaseTemplateTb<'a> { + pub _tab: flatbuffers::Table<'a>, +} + +impl<'a> flatbuffers::Follow<'a> for AvatarBaseTemplateTb<'a> { + type Inner = AvatarBaseTemplateTb<'a>; + #[inline] + unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner { + Self { _tab: flatbuffers::Table::new(buf, loc) } + } +} + +impl<'a> AvatarBaseTemplateTb<'a> { + pub const VT_DATA: flatbuffers::VOffsetT = 4; + + #[inline] + pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self { + AvatarBaseTemplateTb { _tab: table } + } + #[allow(unused_mut)] + pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>( + _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>, + args: &'args AvatarBaseTemplateTbArgs<'args> + ) -> flatbuffers::WIPOffset> { + let mut builder = AvatarBaseTemplateTbBuilder::new(_fbb); + if let Some(x) = args.data { builder.add_data(x); } + builder.finish() + } + + + #[inline] + pub fn data(&self) -> Option>>> { + // Safety: + // Created from valid Table for this object + // which contains a valid value in this slot + unsafe { self._tab.get::>>>(AvatarBaseTemplateTb::VT_DATA, None)} + } +} + +impl flatbuffers::Verifiable for AvatarBaseTemplateTb<'_> { + #[inline] + fn run_verifier( + v: &mut flatbuffers::Verifier, pos: usize + ) -> Result<(), flatbuffers::InvalidFlatbuffer> { + use self::flatbuffers::Verifiable; + v.visit_table(pos)? + .visit_field::>>>("data", Self::VT_DATA, false)? + .finish(); + Ok(()) + } +} +pub struct AvatarBaseTemplateTbArgs<'a> { + pub data: Option>>>>, +} +impl<'a> Default for AvatarBaseTemplateTbArgs<'a> { + #[inline] + fn default() -> Self { + AvatarBaseTemplateTbArgs { + data: None, + } + } +} + +pub struct AvatarBaseTemplateTbBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> { + fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, + start_: flatbuffers::WIPOffset, +} +impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> AvatarBaseTemplateTbBuilder<'a, 'b, A> { + #[inline] + pub fn add_data(&mut self, data: flatbuffers::WIPOffset>>>) { + self.fbb_.push_slot_always::>(AvatarBaseTemplateTb::VT_DATA, data); + } + #[inline] + pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> AvatarBaseTemplateTbBuilder<'a, 'b, A> { + let start = _fbb.start_table(); + AvatarBaseTemplateTbBuilder { + fbb_: _fbb, + start_: start, + } + } + #[inline] + pub fn finish(self) -> flatbuffers::WIPOffset> { + let o = self.fbb_.end_table(self.start_); + flatbuffers::WIPOffset::new(o.value()) + } +} + +impl core::fmt::Debug for AvatarBaseTemplateTb<'_> { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + let mut ds = f.debug_struct("AvatarBaseTemplateTb"); + ds.field("data", &self.data()); + ds.finish() + } +} +#[inline] +/// Verifies that a buffer of bytes contains a `AvatarBaseTemplateTb` +/// and returns it. +/// Note that verification is still experimental and may not +/// catch every error, or be maximally performant. For the +/// previous, unchecked, behavior use +/// `root_as_avatar_base_template_tb_unchecked`. +pub fn root_as_avatar_base_template_tb(buf: &[u8]) -> Result { + flatbuffers::root::(buf) +} +#[inline] +/// Verifies that a buffer of bytes contains a size prefixed +/// `AvatarBaseTemplateTb` and returns it. +/// Note that verification is still experimental and may not +/// catch every error, or be maximally performant. For the +/// previous, unchecked, behavior use +/// `size_prefixed_root_as_avatar_base_template_tb_unchecked`. +pub fn size_prefixed_root_as_avatar_base_template_tb(buf: &[u8]) -> Result { + flatbuffers::size_prefixed_root::(buf) +} +#[inline] +/// Verifies, with the given options, that a buffer of bytes +/// contains a `AvatarBaseTemplateTb` and returns it. +/// Note that verification is still experimental and may not +/// catch every error, or be maximally performant. For the +/// previous, unchecked, behavior use +/// `root_as_avatar_base_template_tb_unchecked`. +pub fn root_as_avatar_base_template_tb_with_opts<'b, 'o>( + opts: &'o flatbuffers::VerifierOptions, + buf: &'b [u8], +) -> Result, flatbuffers::InvalidFlatbuffer> { + flatbuffers::root_with_opts::>(opts, buf) +} +#[inline] +/// Verifies, with the given verifier options, that a buffer of +/// bytes contains a size prefixed `AvatarBaseTemplateTb` and returns +/// it. Note that verification is still experimental and may not +/// catch every error, or be maximally performant. For the +/// previous, unchecked, behavior use +/// `root_as_avatar_base_template_tb_unchecked`. +pub fn size_prefixed_root_as_avatar_base_template_tb_with_opts<'b, 'o>( + opts: &'o flatbuffers::VerifierOptions, + buf: &'b [u8], +) -> Result, flatbuffers::InvalidFlatbuffer> { + flatbuffers::size_prefixed_root_with_opts::>(opts, buf) +} +#[inline] +/// Assumes, without verification, that a buffer of bytes contains a AvatarBaseTemplateTb and returns it. +/// # Safety +/// Callers must trust the given bytes do indeed contain a valid `AvatarBaseTemplateTb`. +pub unsafe fn root_as_avatar_base_template_tb_unchecked(buf: &[u8]) -> AvatarBaseTemplateTb { + flatbuffers::root_unchecked::(buf) +} +#[inline] +/// Assumes, without verification, that a buffer of bytes contains a size prefixed AvatarBaseTemplateTb and returns it. +/// # Safety +/// Callers must trust the given bytes do indeed contain a valid size prefixed `AvatarBaseTemplateTb`. +pub unsafe fn size_prefixed_root_as_avatar_base_template_tb_unchecked(buf: &[u8]) -> AvatarBaseTemplateTb { + flatbuffers::size_prefixed_root_unchecked::(buf) +} +#[inline] +pub fn finish_avatar_base_template_tb_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>( + fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, + root: flatbuffers::WIPOffset>) { + fbb.finish(root, None); +} + +#[inline] +pub fn finish_size_prefixed_avatar_base_template_tb_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, root: flatbuffers::WIPOffset>) { + fbb.finish_size_prefixed(root, None); +} diff --git a/crates/yanagi-data/src/lib.rs b/crates/yanagi-data/src/lib.rs new file mode 100644 index 0000000..de2beb2 --- /dev/null +++ b/crates/yanagi-data/src/lib.rs @@ -0,0 +1,39 @@ +#[allow(dead_code, unused_imports)] +#[path = "../gen_flatbuffers/tables_generated.rs"] +mod data; +use std::io::Read; + +pub use blockfile::ArchiveFile; +pub use data::*; + +macro_rules! file_cfg { + ($($name:ident;)*) => { + ::paste::paste!{ + pub struct NapFileCfg { + $(pub [<$name:snake>]: $name<'static>,)* + }} + + impl NapFileCfg { + ::paste::paste!{ + pub fn new(archive_file: &'static ArchiveFile) -> Self { + Self { + $( + [<$name:snake>]: { + [](archive_file.open(::const_format::formatcp!("{}", ::xxhash_rust::const_xxh64::xxh64(stringify!([<$name:lower>]).as_bytes(), 0))).unwrap()).unwrap() + }, + )* + } + } + } + } + }; +} + +file_cfg! { + AvatarBaseTemplateTb; +} + +pub fn read_archive_file(buf: R) -> std::io::Result { + let raw_data = blockfile::unpack_blk_raw(buf)?; + ArchiveFile::from_raw(raw_data) +} diff --git a/crates/yanagi-encryption/Cargo.toml b/crates/yanagi-encryption/Cargo.toml new file mode 100644 index 0000000..53d3226 --- /dev/null +++ b/crates/yanagi-encryption/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "yanagi-encryption" +edition = "2021" +version.workspace = true + +[dependencies] +rsa.workspace = true +rand.workspace = true +rand_mt.workspace = true +thiserror.workspace = true +byteorder.workspace = true +common.workspace = true diff --git a/crates/yanagi-encryption/src/ec2b/magic.rs b/crates/yanagi-encryption/src/ec2b/magic.rs new file mode 100644 index 0000000..477632a --- /dev/null +++ b/crates/yanagi-encryption/src/ec2b/magic.rs @@ -0,0 +1,536 @@ +#![allow(unused)] + +pub const SHIFT_ROWS_TABLE: [u8; 16] = [0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11]; +pub const SHIFT_ROWS_TABLE_INV: [u8; 16] = [0, 13, 10, 7, 4, 1, 14, 11, 8, 5, 2, 15, 12, 9, 6, 3]; +pub const LOOKUP_RCON: [u8; 16] = [ + 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, +]; +pub const LOOKUP_SBOX: [u8; 256] = [ + 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, + 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, + 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, + 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, + 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, + 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, + 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, + 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, + 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, + 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, + 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, + 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, + 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, + 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, + 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, + 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16, +]; +pub const LOOKUP_SBOX_INV: [u8; 256] = [ + 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, + 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, + 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, + 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, + 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, + 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, + 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, + 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, + 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, + 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, + 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, + 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, + 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, + 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, + 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, + 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d, +]; +pub const LOOKUP_G2: [u8; 256] = [ + 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, + 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, + 0x40, 0x42, 0x44, 0x46, 0x48, 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, + 0x60, 0x62, 0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70, 0x72, 0x74, 0x76, 0x78, 0x7a, 0x7c, 0x7e, + 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c, 0x8e, 0x90, 0x92, 0x94, 0x96, 0x98, 0x9a, 0x9c, 0x9e, + 0xa0, 0xa2, 0xa4, 0xa6, 0xa8, 0xaa, 0xac, 0xae, 0xb0, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, + 0xc0, 0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, 0xd8, 0xda, 0xdc, 0xde, + 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, + 0x1b, 0x19, 0x1f, 0x1d, 0x13, 0x11, 0x17, 0x15, 0x0b, 0x09, 0x0f, 0x0d, 0x03, 0x01, 0x07, 0x05, + 0x3b, 0x39, 0x3f, 0x3d, 0x33, 0x31, 0x37, 0x35, 0x2b, 0x29, 0x2f, 0x2d, 0x23, 0x21, 0x27, 0x25, + 0x5b, 0x59, 0x5f, 0x5d, 0x53, 0x51, 0x57, 0x55, 0x4b, 0x49, 0x4f, 0x4d, 0x43, 0x41, 0x47, 0x45, + 0x7b, 0x79, 0x7f, 0x7d, 0x73, 0x71, 0x77, 0x75, 0x6b, 0x69, 0x6f, 0x6d, 0x63, 0x61, 0x67, 0x65, + 0x9b, 0x99, 0x9f, 0x9d, 0x93, 0x91, 0x97, 0x95, 0x8b, 0x89, 0x8f, 0x8d, 0x83, 0x81, 0x87, 0x85, + 0xbb, 0xb9, 0xbf, 0xbd, 0xb3, 0xb1, 0xb7, 0xb5, 0xab, 0xa9, 0xaf, 0xad, 0xa3, 0xa1, 0xa7, 0xa5, + 0xdb, 0xd9, 0xdf, 0xdd, 0xd3, 0xd1, 0xd7, 0xd5, 0xcb, 0xc9, 0xcf, 0xcd, 0xc3, 0xc1, 0xc7, 0xc5, + 0xfb, 0xf9, 0xff, 0xfd, 0xf3, 0xf1, 0xf7, 0xf5, 0xeb, 0xe9, 0xef, 0xed, 0xe3, 0xe1, 0xe7, 0xe5, +]; +pub const LOOKUP_G3: [u8; 256] = [ + 0x00, 0x03, 0x06, 0x05, 0x0c, 0x0f, 0x0a, 0x09, 0x18, 0x1b, 0x1e, 0x1d, 0x14, 0x17, 0x12, 0x11, + 0x30, 0x33, 0x36, 0x35, 0x3c, 0x3f, 0x3a, 0x39, 0x28, 0x2b, 0x2e, 0x2d, 0x24, 0x27, 0x22, 0x21, + 0x60, 0x63, 0x66, 0x65, 0x6c, 0x6f, 0x6a, 0x69, 0x78, 0x7b, 0x7e, 0x7d, 0x74, 0x77, 0x72, 0x71, + 0x50, 0x53, 0x56, 0x55, 0x5c, 0x5f, 0x5a, 0x59, 0x48, 0x4b, 0x4e, 0x4d, 0x44, 0x47, 0x42, 0x41, + 0xc0, 0xc3, 0xc6, 0xc5, 0xcc, 0xcf, 0xca, 0xc9, 0xd8, 0xdb, 0xde, 0xdd, 0xd4, 0xd7, 0xd2, 0xd1, + 0xf0, 0xf3, 0xf6, 0xf5, 0xfc, 0xff, 0xfa, 0xf9, 0xe8, 0xeb, 0xee, 0xed, 0xe4, 0xe7, 0xe2, 0xe1, + 0xa0, 0xa3, 0xa6, 0xa5, 0xac, 0xaf, 0xaa, 0xa9, 0xb8, 0xbb, 0xbe, 0xbd, 0xb4, 0xb7, 0xb2, 0xb1, + 0x90, 0x93, 0x96, 0x95, 0x9c, 0x9f, 0x9a, 0x99, 0x88, 0x8b, 0x8e, 0x8d, 0x84, 0x87, 0x82, 0x81, + 0x9b, 0x98, 0x9d, 0x9e, 0x97, 0x94, 0x91, 0x92, 0x83, 0x80, 0x85, 0x86, 0x8f, 0x8c, 0x89, 0x8a, + 0xab, 0xa8, 0xad, 0xae, 0xa7, 0xa4, 0xa1, 0xa2, 0xb3, 0xb0, 0xb5, 0xb6, 0xbf, 0xbc, 0xb9, 0xba, + 0xfb, 0xf8, 0xfd, 0xfe, 0xf7, 0xf4, 0xf1, 0xf2, 0xe3, 0xe0, 0xe5, 0xe6, 0xef, 0xec, 0xe9, 0xea, + 0xcb, 0xc8, 0xcd, 0xce, 0xc7, 0xc4, 0xc1, 0xc2, 0xd3, 0xd0, 0xd5, 0xd6, 0xdf, 0xdc, 0xd9, 0xda, + 0x5b, 0x58, 0x5d, 0x5e, 0x57, 0x54, 0x51, 0x52, 0x43, 0x40, 0x45, 0x46, 0x4f, 0x4c, 0x49, 0x4a, + 0x6b, 0x68, 0x6d, 0x6e, 0x67, 0x64, 0x61, 0x62, 0x73, 0x70, 0x75, 0x76, 0x7f, 0x7c, 0x79, 0x7a, + 0x3b, 0x38, 0x3d, 0x3e, 0x37, 0x34, 0x31, 0x32, 0x23, 0x20, 0x25, 0x26, 0x2f, 0x2c, 0x29, 0x2a, + 0x0b, 0x08, 0x0d, 0x0e, 0x07, 0x04, 0x01, 0x02, 0x13, 0x10, 0x15, 0x16, 0x1f, 0x1c, 0x19, 0x1a, +]; +pub const LOOKUP_G9: [u8; 256] = [ + 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x3f, 0x48, 0x41, 0x5a, 0x53, 0x6c, 0x65, 0x7e, 0x77, + 0x90, 0x99, 0x82, 0x8b, 0xb4, 0xbd, 0xa6, 0xaf, 0xd8, 0xd1, 0xca, 0xc3, 0xfc, 0xf5, 0xee, 0xe7, + 0x3b, 0x32, 0x29, 0x20, 0x1f, 0x16, 0x0d, 0x04, 0x73, 0x7a, 0x61, 0x68, 0x57, 0x5e, 0x45, 0x4c, + 0xab, 0xa2, 0xb9, 0xb0, 0x8f, 0x86, 0x9d, 0x94, 0xe3, 0xea, 0xf1, 0xf8, 0xc7, 0xce, 0xd5, 0xdc, + 0x76, 0x7f, 0x64, 0x6d, 0x52, 0x5b, 0x40, 0x49, 0x3e, 0x37, 0x2c, 0x25, 0x1a, 0x13, 0x08, 0x01, + 0xe6, 0xef, 0xf4, 0xfd, 0xc2, 0xcb, 0xd0, 0xd9, 0xae, 0xa7, 0xbc, 0xb5, 0x8a, 0x83, 0x98, 0x91, + 0x4d, 0x44, 0x5f, 0x56, 0x69, 0x60, 0x7b, 0x72, 0x05, 0x0c, 0x17, 0x1e, 0x21, 0x28, 0x33, 0x3a, + 0xdd, 0xd4, 0xcf, 0xc6, 0xf9, 0xf0, 0xeb, 0xe2, 0x95, 0x9c, 0x87, 0x8e, 0xb1, 0xb8, 0xa3, 0xaa, + 0xec, 0xe5, 0xfe, 0xf7, 0xc8, 0xc1, 0xda, 0xd3, 0xa4, 0xad, 0xb6, 0xbf, 0x80, 0x89, 0x92, 0x9b, + 0x7c, 0x75, 0x6e, 0x67, 0x58, 0x51, 0x4a, 0x43, 0x34, 0x3d, 0x26, 0x2f, 0x10, 0x19, 0x02, 0x0b, + 0xd7, 0xde, 0xc5, 0xcc, 0xf3, 0xfa, 0xe1, 0xe8, 0x9f, 0x96, 0x8d, 0x84, 0xbb, 0xb2, 0xa9, 0xa0, + 0x47, 0x4e, 0x55, 0x5c, 0x63, 0x6a, 0x71, 0x78, 0x0f, 0x06, 0x1d, 0x14, 0x2b, 0x22, 0x39, 0x30, + 0x9a, 0x93, 0x88, 0x81, 0xbe, 0xb7, 0xac, 0xa5, 0xd2, 0xdb, 0xc0, 0xc9, 0xf6, 0xff, 0xe4, 0xed, + 0x0a, 0x03, 0x18, 0x11, 0x2e, 0x27, 0x3c, 0x35, 0x42, 0x4b, 0x50, 0x59, 0x66, 0x6f, 0x74, 0x7d, + 0xa1, 0xa8, 0xb3, 0xba, 0x85, 0x8c, 0x97, 0x9e, 0xe9, 0xe0, 0xfb, 0xf2, 0xcd, 0xc4, 0xdf, 0xd6, + 0x31, 0x38, 0x23, 0x2a, 0x15, 0x1c, 0x07, 0x0e, 0x79, 0x70, 0x6b, 0x62, 0x5d, 0x54, 0x4f, 0x46, +]; +pub const LOOKUP_G11: [u8; 256] = [ + 0x00, 0x0b, 0x16, 0x1d, 0x2c, 0x27, 0x3a, 0x31, 0x58, 0x53, 0x4e, 0x45, 0x74, 0x7f, 0x62, 0x69, + 0xb0, 0xbb, 0xa6, 0xad, 0x9c, 0x97, 0x8a, 0x81, 0xe8, 0xe3, 0xfe, 0xf5, 0xc4, 0xcf, 0xd2, 0xd9, + 0x7b, 0x70, 0x6d, 0x66, 0x57, 0x5c, 0x41, 0x4a, 0x23, 0x28, 0x35, 0x3e, 0x0f, 0x04, 0x19, 0x12, + 0xcb, 0xc0, 0xdd, 0xd6, 0xe7, 0xec, 0xf1, 0xfa, 0x93, 0x98, 0x85, 0x8e, 0xbf, 0xb4, 0xa9, 0xa2, + 0xf6, 0xfd, 0xe0, 0xeb, 0xda, 0xd1, 0xcc, 0xc7, 0xae, 0xa5, 0xb8, 0xb3, 0x82, 0x89, 0x94, 0x9f, + 0x46, 0x4d, 0x50, 0x5b, 0x6a, 0x61, 0x7c, 0x77, 0x1e, 0x15, 0x08, 0x03, 0x32, 0x39, 0x24, 0x2f, + 0x8d, 0x86, 0x9b, 0x90, 0xa1, 0xaa, 0xb7, 0xbc, 0xd5, 0xde, 0xc3, 0xc8, 0xf9, 0xf2, 0xef, 0xe4, + 0x3d, 0x36, 0x2b, 0x20, 0x11, 0x1a, 0x07, 0x0c, 0x65, 0x6e, 0x73, 0x78, 0x49, 0x42, 0x5f, 0x54, + 0xf7, 0xfc, 0xe1, 0xea, 0xdb, 0xd0, 0xcd, 0xc6, 0xaf, 0xa4, 0xb9, 0xb2, 0x83, 0x88, 0x95, 0x9e, + 0x47, 0x4c, 0x51, 0x5a, 0x6b, 0x60, 0x7d, 0x76, 0x1f, 0x14, 0x09, 0x02, 0x33, 0x38, 0x25, 0x2e, + 0x8c, 0x87, 0x9a, 0x91, 0xa0, 0xab, 0xb6, 0xbd, 0xd4, 0xdf, 0xc2, 0xc9, 0xf8, 0xf3, 0xee, 0xe5, + 0x3c, 0x37, 0x2a, 0x21, 0x10, 0x1b, 0x06, 0x0d, 0x64, 0x6f, 0x72, 0x79, 0x48, 0x43, 0x5e, 0x55, + 0x01, 0x0a, 0x17, 0x1c, 0x2d, 0x26, 0x3b, 0x30, 0x59, 0x52, 0x4f, 0x44, 0x75, 0x7e, 0x63, 0x68, + 0xb1, 0xba, 0xa7, 0xac, 0x9d, 0x96, 0x8b, 0x80, 0xe9, 0xe2, 0xff, 0xf4, 0xc5, 0xce, 0xd3, 0xd8, + 0x7a, 0x71, 0x6c, 0x67, 0x56, 0x5d, 0x40, 0x4b, 0x22, 0x29, 0x34, 0x3f, 0x0e, 0x05, 0x18, 0x13, + 0xca, 0xc1, 0xdc, 0xd7, 0xe6, 0xed, 0xf0, 0xfb, 0x92, 0x99, 0x84, 0x8f, 0xbe, 0xb5, 0xa8, 0xa3, +]; +pub const LOOKUP_G13: [u8; 256] = [ + 0x00, 0x0d, 0x1a, 0x17, 0x34, 0x39, 0x2e, 0x23, 0x68, 0x65, 0x72, 0x7f, 0x5c, 0x51, 0x46, 0x4b, + 0xd0, 0xdd, 0xca, 0xc7, 0xe4, 0xe9, 0xfe, 0xf3, 0xb8, 0xb5, 0xa2, 0xaf, 0x8c, 0x81, 0x96, 0x9b, + 0xbb, 0xb6, 0xa1, 0xac, 0x8f, 0x82, 0x95, 0x98, 0xd3, 0xde, 0xc9, 0xc4, 0xe7, 0xea, 0xfd, 0xf0, + 0x6b, 0x66, 0x71, 0x7c, 0x5f, 0x52, 0x45, 0x48, 0x03, 0x0e, 0x19, 0x14, 0x37, 0x3a, 0x2d, 0x20, + 0x6d, 0x60, 0x77, 0x7a, 0x59, 0x54, 0x43, 0x4e, 0x05, 0x08, 0x1f, 0x12, 0x31, 0x3c, 0x2b, 0x26, + 0xbd, 0xb0, 0xa7, 0xaa, 0x89, 0x84, 0x93, 0x9e, 0xd5, 0xd8, 0xcf, 0xc2, 0xe1, 0xec, 0xfb, 0xf6, + 0xd6, 0xdb, 0xcc, 0xc1, 0xe2, 0xef, 0xf8, 0xf5, 0xbe, 0xb3, 0xa4, 0xa9, 0x8a, 0x87, 0x90, 0x9d, + 0x06, 0x0b, 0x1c, 0x11, 0x32, 0x3f, 0x28, 0x25, 0x6e, 0x63, 0x74, 0x79, 0x5a, 0x57, 0x40, 0x4d, + 0xda, 0xd7, 0xc0, 0xcd, 0xee, 0xe3, 0xf4, 0xf9, 0xb2, 0xbf, 0xa8, 0xa5, 0x86, 0x8b, 0x9c, 0x91, + 0x0a, 0x07, 0x10, 0x1d, 0x3e, 0x33, 0x24, 0x29, 0x62, 0x6f, 0x78, 0x75, 0x56, 0x5b, 0x4c, 0x41, + 0x61, 0x6c, 0x7b, 0x76, 0x55, 0x58, 0x4f, 0x42, 0x09, 0x04, 0x13, 0x1e, 0x3d, 0x30, 0x27, 0x2a, + 0xb1, 0xbc, 0xab, 0xa6, 0x85, 0x88, 0x9f, 0x92, 0xd9, 0xd4, 0xc3, 0xce, 0xed, 0xe0, 0xf7, 0xfa, + 0xb7, 0xba, 0xad, 0xa0, 0x83, 0x8e, 0x99, 0x94, 0xdf, 0xd2, 0xc5, 0xc8, 0xeb, 0xe6, 0xf1, 0xfc, + 0x67, 0x6a, 0x7d, 0x70, 0x53, 0x5e, 0x49, 0x44, 0x0f, 0x02, 0x15, 0x18, 0x3b, 0x36, 0x21, 0x2c, + 0x0c, 0x01, 0x16, 0x1b, 0x38, 0x35, 0x22, 0x2f, 0x64, 0x69, 0x7e, 0x73, 0x50, 0x5d, 0x4a, 0x47, + 0xdc, 0xd1, 0xc6, 0xcb, 0xe8, 0xe5, 0xf2, 0xff, 0xb4, 0xb9, 0xae, 0xa3, 0x80, 0x8d, 0x9a, 0x97, +]; +pub const LOOKUP_G14: [u8; 256] = [ + 0x00, 0x0e, 0x1c, 0x12, 0x38, 0x36, 0x24, 0x2a, 0x70, 0x7e, 0x6c, 0x62, 0x48, 0x46, 0x54, 0x5a, + 0xe0, 0xee, 0xfc, 0xf2, 0xd8, 0xd6, 0xc4, 0xca, 0x90, 0x9e, 0x8c, 0x82, 0xa8, 0xa6, 0xb4, 0xba, + 0xdb, 0xd5, 0xc7, 0xc9, 0xe3, 0xed, 0xff, 0xf1, 0xab, 0xa5, 0xb7, 0xb9, 0x93, 0x9d, 0x8f, 0x81, + 0x3b, 0x35, 0x27, 0x29, 0x03, 0x0d, 0x1f, 0x11, 0x4b, 0x45, 0x57, 0x59, 0x73, 0x7d, 0x6f, 0x61, + 0xad, 0xa3, 0xb1, 0xbf, 0x95, 0x9b, 0x89, 0x87, 0xdd, 0xd3, 0xc1, 0xcf, 0xe5, 0xeb, 0xf9, 0xf7, + 0x4d, 0x43, 0x51, 0x5f, 0x75, 0x7b, 0x69, 0x67, 0x3d, 0x33, 0x21, 0x2f, 0x05, 0x0b, 0x19, 0x17, + 0x76, 0x78, 0x6a, 0x64, 0x4e, 0x40, 0x52, 0x5c, 0x06, 0x08, 0x1a, 0x14, 0x3e, 0x30, 0x22, 0x2c, + 0x96, 0x98, 0x8a, 0x84, 0xae, 0xa0, 0xb2, 0xbc, 0xe6, 0xe8, 0xfa, 0xf4, 0xde, 0xd0, 0xc2, 0xcc, + 0x41, 0x4f, 0x5d, 0x53, 0x79, 0x77, 0x65, 0x6b, 0x31, 0x3f, 0x2d, 0x23, 0x09, 0x07, 0x15, 0x1b, + 0xa1, 0xaf, 0xbd, 0xb3, 0x99, 0x97, 0x85, 0x8b, 0xd1, 0xdf, 0xcd, 0xc3, 0xe9, 0xe7, 0xf5, 0xfb, + 0x9a, 0x94, 0x86, 0x88, 0xa2, 0xac, 0xbe, 0xb0, 0xea, 0xe4, 0xf6, 0xf8, 0xd2, 0xdc, 0xce, 0xc0, + 0x7a, 0x74, 0x66, 0x68, 0x42, 0x4c, 0x5e, 0x50, 0x0a, 0x04, 0x16, 0x18, 0x32, 0x3c, 0x2e, 0x20, + 0xec, 0xe2, 0xf0, 0xfe, 0xd4, 0xda, 0xc8, 0xc6, 0x9c, 0x92, 0x80, 0x8e, 0xa4, 0xaa, 0xb8, 0xb6, + 0x0c, 0x02, 0x10, 0x1e, 0x34, 0x3a, 0x28, 0x26, 0x7c, 0x72, 0x60, 0x6e, 0x44, 0x4a, 0x58, 0x56, + 0x37, 0x39, 0x2b, 0x25, 0x0f, 0x01, 0x13, 0x1d, 0x47, 0x49, 0x5b, 0x55, 0x7f, 0x71, 0x63, 0x6d, + 0xd7, 0xd9, 0xcb, 0xc5, 0xef, 0xe1, 0xf3, 0xfd, 0xa7, 0xa9, 0xbb, 0xb5, 0x9f, 0x91, 0x83, 0x8d, +]; +pub const KEY_XORPAD_TABLE: [u8; 16] = [ + 0xA2, 0x25, 0x25, 0x99, 0xB7, 0x62, 0xF4, 0x39, 0x28, 0xE1, 0xB7, 0x73, 0x91, 0x05, 0x25, 0x87, +]; +pub const AES_XORPAD_TABLE: [[u8; 2816]; 2] = [ + [ + 0xDE, 0xAD, 0xCA, 0xFE, 0xFA, 0xCE, 0xB0, 0x0C, 0xDE, 0xAD, 0xCA, 0xFE, 0xFA, 0xCE, 0xB0, + 0x0C, 0x3A, 0xE6, 0xDE, 0x9C, 0x81, 0xBA, 0x7C, 0xC6, 0x12, 0x1B, 0xAF, 0xD2, 0x8A, 0xBA, + 0xF5, 0xE6, 0x41, 0xDF, 0x71, 0xBA, 0x37, 0x11, 0x50, 0xF3, 0xF3, 0x62, 0x6E, 0x04, 0xF1, + 0x14, 0xFC, 0xBD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x7B, 0x52, 0x7C, + 0x19, 0x98, 0x35, 0x96, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, + 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, + 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, + 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, + 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, + 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, + 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, + 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, + 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, + 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, + 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, + 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, + 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, + 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, + 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, + 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, + 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, + 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, + 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, + 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, + 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, + 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, + 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, + 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, + 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, + 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, + 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, + 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, + 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, + 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, + 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, + 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, + 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, + 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, + 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, + 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, + 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, + 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, + 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, + 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, + 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, + 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, + 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, + 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, + 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, + 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, + 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, + 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, + 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, + 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, + 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, + 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, + 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, + 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, + 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, + 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, + 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, + 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, + 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, + 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, + 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, + 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, + 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, + 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, + 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, + 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, + 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, + 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, + 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, + 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, + 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, + 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, + 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, + 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, + 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, + 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, + 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, + 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, + 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, + 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, + 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, + 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, + 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, + 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, + 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, + 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, + 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, + 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, + 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, + 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, + 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, + 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, + 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, + 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, + 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, + 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, + 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, + 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, + 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, + 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, + 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, + 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, + 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, + 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, + 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, + 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, + 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, + 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, + 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, + 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, + 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, + 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, + 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, + 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, + 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, + 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, + 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, + 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, + 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, + 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, + 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, + 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, + 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, + 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, + 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, + 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, + 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, + 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, + 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, + 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, + 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, + 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, + 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, + 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, + 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, + 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, + 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, + 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, + 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, + 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, + 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, + 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, + 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, + 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, + 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, + 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, + 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, + 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, + 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, + 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, + 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, + 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, + 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, + 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, + 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, + 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, + 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, + 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, + 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, + 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, + 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, + 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, + 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, + 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, + 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, + 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, + 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, + 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, + 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, + 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, + 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, + 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, + 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, + 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, + 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, + 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, + 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, + 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, + 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, + 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, + 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, + 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, + 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, + 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, + ], + [ + 0xC3, 0x20, 0x20, 0xB4, 0xAF, 0x0E, 0x82, 0x2E, 0xEF, 0x29, 0xFE, 0x75, 0x1D, 0xDB, 0x4B, + 0x86, 0x86, 0x23, 0x28, 0x72, 0xA3, 0xF4, 0x1B, 0x4F, 0x5F, 0x0E, 0x02, 0xB1, 0xAC, 0x0D, + 0xE6, 0x4F, 0x8B, 0x0B, 0x3F, 0xF3, 0x5F, 0xB5, 0x09, 0x7E, 0x3B, 0xE9, 0x93, 0x29, 0x55, + 0xE1, 0xB4, 0x9B, 0xCC, 0xCE, 0x37, 0xFC, 0xAB, 0x6B, 0xA4, 0x05, 0xE6, 0xC7, 0x45, 0x34, + 0xC0, 0xFF, 0x7C, 0x24, 0x89, 0x36, 0xBF, 0x17, 0xAB, 0x91, 0xCA, 0x49, 0xF2, 0x74, 0x80, + 0xB6, 0x90, 0x60, 0xFF, 0xD2, 0xA9, 0xE5, 0xC9, 0x64, 0xBC, 0x38, 0x40, 0x98, 0xB3, 0xBA, + 0x8F, 0x8B, 0xBA, 0x9D, 0xF3, 0xCF, 0x57, 0xBA, 0xAC, 0x18, 0xE7, 0xD3, 0x03, 0x01, 0x48, + 0x29, 0x41, 0xF6, 0x2F, 0x89, 0xD4, 0x9F, 0xD7, 0xD3, 0x05, 0x71, 0x63, 0x30, 0x4E, 0xBB, + 0xF7, 0xB0, 0x99, 0xFF, 0x43, 0xDA, 0x87, 0xCA, 0xA7, 0x48, 0x92, 0x9E, 0x76, 0xA6, 0xEE, + 0x48, 0x1C, 0x96, 0x28, 0x8E, 0x54, 0x30, 0xD6, 0xA5, 0xD3, 0x22, 0xA2, 0x30, 0xCB, 0x6A, + 0x85, 0x26, 0x69, 0xE1, 0x7C, 0xEC, 0xDC, 0xD4, 0x89, 0x2A, 0xB8, 0xAE, 0xDF, 0x12, 0x6E, + 0x39, 0x8A, 0x9B, 0x48, 0x61, 0xF9, 0x4B, 0x34, 0xD0, 0xF1, 0x60, 0x87, 0xBA, 0x88, 0x86, + 0x68, 0x8C, 0xBE, 0xC1, 0x9C, 0xAE, 0x30, 0xBC, 0xE6, 0x62, 0xFF, 0xEB, 0xBB, 0x88, 0x7C, + 0xD2, 0xBB, 0x57, 0xB4, 0x02, 0x82, 0x06, 0x72, 0xD2, 0x94, 0x60, 0x86, 0x4A, 0x29, 0xF0, + 0xEA, 0xD3, 0x88, 0x92, 0xF1, 0x22, 0xD1, 0x5C, 0x88, 0x65, 0xE6, 0xFB, 0xEE, 0x28, 0x79, + 0x86, 0x68, 0x7D, 0xA6, 0x5A, 0xBF, 0xBD, 0x7D, 0x15, 0xEF, 0x05, 0xF6, 0xF9, 0xE0, 0x11, + 0xD6, 0x30, 0x94, 0xF2, 0x6C, 0x3D, 0x0A, 0xDB, 0xC5, 0x0E, 0xDC, 0xF2, 0xFD, 0x1F, 0x61, + 0x91, 0x5D, 0x80, 0x69, 0xA3, 0xDB, 0x35, 0x98, 0x4E, 0x4A, 0xC1, 0x49, 0x76, 0xAB, 0xC0, + 0x67, 0x36, 0x3F, 0xA4, 0xC6, 0xE8, 0xCA, 0x25, 0x44, 0x63, 0x23, 0xB5, 0xC8, 0xBB, 0x3A, + 0xAC, 0xA1, 0x09, 0xC3, 0x10, 0x57, 0xA5, 0x5B, 0x3B, 0x33, 0x21, 0xCD, 0x3C, 0x88, 0xAE, + 0x1E, 0x8F, 0xC1, 0xD6, 0xFB, 0x94, 0x61, 0x38, 0xAB, 0xF1, 0x9C, 0x06, 0xCB, 0x89, 0x58, + 0x9A, 0xF4, 0xF4, 0x33, 0x80, 0x66, 0x13, 0xC0, 0xFD, 0xE2, 0x16, 0xE0, 0x89, 0x65, 0xE2, + 0xC1, 0xA6, 0xE3, 0x74, 0xD2, 0x5F, 0xA0, 0x76, 0xAD, 0xF5, 0x6B, 0x4F, 0xE0, 0xF7, 0x52, + 0xB0, 0xB1, 0x48, 0xDD, 0xEE, 0xB6, 0x01, 0x9A, 0x90, 0x91, 0x18, 0xEC, 0xCB, 0xCB, 0xAD, + 0x04, 0xB6, 0x73, 0xCF, 0x7F, 0xF3, 0xAC, 0xBE, 0xEC, 0x91, 0x44, 0x56, 0x81, 0xB8, 0x74, + 0xAE, 0x28, 0x5D, 0xC7, 0x5C, 0xAB, 0x8B, 0x56, 0x21, 0x32, 0x91, 0xB9, 0x9E, 0x70, 0xF6, + 0x9B, 0xAC, 0x50, 0x0B, 0x2E, 0x4B, 0x8B, 0xA2, 0xA5, 0x24, 0x5B, 0x91, 0xDF, 0x24, 0xA7, + 0xB0, 0x79, 0xA7, 0x16, 0x54, 0x44, 0x2E, 0xBC, 0x48, 0xCD, 0x87, 0xBA, 0xAF, 0xD4, 0xB9, + 0x1C, 0x0F, 0xAA, 0xFA, 0x3A, 0x3F, 0x3A, 0x3D, 0x68, 0x5A, 0xAE, 0xAC, 0xBA, 0xBE, 0xA3, + 0x92, 0x6E, 0x38, 0x8E, 0x33, 0x3E, 0x0A, 0xCC, 0xF6, 0xE3, 0x26, 0x57, 0xEC, 0x8E, 0x63, + 0x31, 0x27, 0xBA, 0x20, 0x4E, 0x7F, 0x34, 0xE5, 0x19, 0xFE, 0x7F, 0xA6, 0x97, 0x90, 0xD6, + 0x29, 0x1C, 0x3F, 0x8C, 0x3F, 0x81, 0x62, 0x3D, 0xF5, 0x00, 0xD4, 0xC5, 0xE2, 0xE1, 0x42, + 0x42, 0x8C, 0x65, 0x8F, 0x5A, 0x66, 0x59, 0xE1, 0xDD, 0xEC, 0xDC, 0x1B, 0x4E, 0x63, 0x82, + 0xFF, 0x02, 0x9D, 0x53, 0xDE, 0xBD, 0xB4, 0x80, 0xCF, 0x2B, 0xB7, 0xDE, 0x69, 0x5D, 0x1B, + 0xCA, 0xFB, 0xB3, 0xF9, 0xBE, 0xD0, 0xF5, 0x79, 0x86, 0x2F, 0x0E, 0xB6, 0xA9, 0x87, 0xF4, + 0x68, 0xC1, 0xBF, 0x4F, 0xB8, 0xA6, 0x2D, 0x03, 0xA9, 0x72, 0x04, 0xCA, 0x37, 0x6D, 0x1B, + 0x90, 0xDD, 0xBC, 0x52, 0xAE, 0xF3, 0xFF, 0x08, 0xDD, 0x4B, 0x46, 0xD0, 0xCD, 0xB1, 0x8A, + 0x35, 0x9A, 0x02, 0x64, 0x64, 0x2F, 0x57, 0xA5, 0x7B, 0x9A, 0x0D, 0x2B, 0x55, 0x11, 0x3C, + 0xC0, 0x35, 0x74, 0x69, 0xD9, 0x7B, 0x43, 0x1D, 0xAC, 0xB2, 0xC2, 0x8A, 0xBE, 0x22, 0x45, + 0x46, 0x76, 0xA9, 0x8A, 0x49, 0xB2, 0x5F, 0xC0, 0xB8, 0xBC, 0xCD, 0x27, 0xF8, 0x14, 0xB2, + 0xA9, 0x6D, 0x5A, 0x1F, 0xA4, 0x43, 0x1E, 0x0F, 0xDB, 0xA4, 0x9E, 0x2B, 0xCA, 0xFC, 0x98, + 0x7F, 0xF1, 0x18, 0x87, 0x5B, 0x11, 0x2D, 0xC5, 0xE4, 0x91, 0x20, 0xA9, 0x6A, 0x2D, 0xAC, + 0xA8, 0xFA, 0x94, 0x57, 0x7F, 0x30, 0x73, 0x08, 0xE8, 0x49, 0xF0, 0xC8, 0x63, 0xDA, 0x83, + 0x87, 0x2A, 0xC3, 0x31, 0x1A, 0xFC, 0xB7, 0x57, 0xB2, 0x40, 0x46, 0x09, 0x6D, 0x84, 0xB4, + 0x66, 0xF1, 0x13, 0x16, 0x3A, 0x3A, 0xFB, 0xC6, 0x6E, 0xB0, 0x71, 0xB8, 0x23, 0x74, 0x22, + 0x89, 0xFC, 0xBE, 0x34, 0xB3, 0x17, 0xB6, 0xC9, 0x68, 0x53, 0x64, 0x47, 0xAF, 0xCA, 0x1D, + 0x5F, 0xB4, 0x74, 0xA3, 0x77, 0xB5, 0xFB, 0x77, 0xD9, 0x69, 0x2B, 0x3A, 0xAA, 0xAE, 0xE4, + 0x03, 0x81, 0x6B, 0x3A, 0x35, 0x9C, 0x45, 0x50, 0x9C, 0x76, 0xCE, 0xE3, 0x7F, 0x64, 0x4B, + 0x9F, 0x83, 0x7B, 0x72, 0xBC, 0x02, 0x1E, 0x94, 0x99, 0xC1, 0x1C, 0x45, 0x19, 0x1D, 0x56, + 0x74, 0x73, 0xE7, 0xFC, 0x58, 0x72, 0x2D, 0xE3, 0x50, 0xA4, 0x21, 0xBE, 0x81, 0xDF, 0x80, + 0xDA, 0x40, 0xDB, 0x79, 0x67, 0x0E, 0x94, 0xA3, 0x05, 0xDD, 0xF7, 0x14, 0x28, 0xD6, 0xC4, + 0x2B, 0xF3, 0xCF, 0x36, 0x08, 0x84, 0xF3, 0xC8, 0x8C, 0xAD, 0xCE, 0x7F, 0x7C, 0x0F, 0xC6, + 0xFE, 0x05, 0x54, 0x4B, 0x17, 0xA1, 0x83, 0x65, 0x97, 0x29, 0x01, 0x70, 0xC1, 0x16, 0xAE, + 0x69, 0xA4, 0x90, 0xB9, 0xBE, 0x17, 0x05, 0x50, 0xF1, 0x65, 0x07, 0x23, 0x76, 0x64, 0x84, + 0x2D, 0x40, 0x34, 0xFD, 0xDF, 0x62, 0x7E, 0x4C, 0x85, 0xD2, 0x6D, 0x17, 0xE1, 0x41, 0x12, + 0xC6, 0x3E, 0xD6, 0x14, 0xB8, 0x5F, 0x8F, 0x39, 0x65, 0xC2, 0x62, 0x21, 0x06, 0x5C, 0xC9, + 0xB8, 0x99, 0xA5, 0x00, 0xE3, 0x9C, 0x73, 0xAB, 0xB9, 0x76, 0x12, 0xD2, 0xFA, 0x7F, 0x7D, + 0x64, 0x63, 0x9E, 0x26, 0xAA, 0x89, 0x85, 0x3A, 0xC9, 0x94, 0x04, 0x97, 0xEC, 0xFD, 0xC5, + 0xA3, 0xB1, 0x7D, 0xD6, 0x07, 0x9C, 0x47, 0x30, 0x9C, 0x64, 0x97, 0x0E, 0xC6, 0xFC, 0x0B, + 0xFF, 0xA7, 0xF9, 0x46, 0x5B, 0x2B, 0xDB, 0x9E, 0x1C, 0x85, 0x3A, 0x75, 0xD6, 0xEB, 0x9B, + 0x15, 0x36, 0xD7, 0x1A, 0x3D, 0xFC, 0x0B, 0x75, 0x08, 0x5E, 0x32, 0x23, 0xE0, 0xA5, 0xAD, + 0x0F, 0x45, 0xB3, 0x78, 0x20, 0x22, 0x24, 0x64, 0x0C, 0xCF, 0xD6, 0x3C, 0xA4, 0x48, 0xC7, + 0xB3, 0x6E, 0x02, 0xE2, 0x0A, 0xAB, 0x92, 0xFC, 0x40, 0x7D, 0xF5, 0x02, 0x61, 0x56, 0xAB, + 0xC5, 0x68, 0x38, 0xE0, 0x01, 0xF1, 0x94, 0x73, 0xC6, 0xFE, 0xC2, 0x34, 0x67, 0x8E, 0xB1, + 0x73, 0x72, 0xD4, 0x3B, 0xFD, 0x1F, 0xE2, 0xA8, 0xED, 0x20, 0x14, 0x0A, 0x60, 0x6D, 0xD1, + 0x85, 0x14, 0x05, 0x54, 0x96, 0xC6, 0x3D, 0xB5, 0x1B, 0x37, 0x56, 0x24, 0xF7, 0x7C, 0x0F, + 0x55, 0xC6, 0xAA, 0x7E, 0x33, 0x2D, 0xE1, 0x97, 0x74, 0xA8, 0xDC, 0xC5, 0xA1, 0xEC, 0x8C, + 0xEF, 0x28, 0x3B, 0x49, 0x8B, 0x00, 0xED, 0x8B, 0xD9, 0xE9, 0x65, 0xD5, 0x05, 0x7B, 0x6D, + 0x20, 0xCA, 0x8F, 0x93, 0xB4, 0xCA, 0x36, 0x34, 0x8E, 0x16, 0x46, 0xCE, 0x02, 0x23, 0x43, + 0x22, 0xF6, 0xBD, 0x10, 0xCC, 0xD0, 0xA3, 0xB0, 0x42, 0xA5, 0xAF, 0x59, 0x72, 0x97, 0x0B, + 0xAE, 0x80, 0x8D, 0x19, 0xD0, 0x1D, 0x7D, 0x30, 0x4E, 0x5B, 0x46, 0xC0, 0xC2, 0x5C, 0x40, + 0xFC, 0xF3, 0xEF, 0x05, 0x84, 0xE8, 0x0C, 0x80, 0xD7, 0x37, 0xA1, 0x6F, 0xC1, 0x8C, 0xE0, + 0xBA, 0xA1, 0x88, 0x7B, 0xE7, 0x20, 0xBF, 0x18, 0x02, 0x40, 0x9F, 0x6F, 0x23, 0x11, 0x78, + 0x07, 0xD0, 0x92, 0x87, 0x2D, 0xB5, 0xE0, 0xE9, 0xE9, 0xAA, 0x32, 0x88, 0x57, 0xF8, 0x9B, + 0x01, 0x93, 0x2D, 0x07, 0x77, 0x68, 0x86, 0xAD, 0x06, 0xDE, 0x57, 0xA9, 0xA4, 0x96, 0x33, + 0x42, 0xF8, 0xFB, 0x23, 0x1F, 0x99, 0xB6, 0x62, 0x93, 0x6B, 0x12, 0xBE, 0x72, 0x9F, 0x96, + 0x1A, 0xDA, 0x05, 0x60, 0xF1, 0xD5, 0x40, 0x9F, 0x75, 0xF3, 0x1D, 0xBE, 0xD7, 0x87, 0x5D, + 0x3A, 0x55, 0xF0, 0x9B, 0xBF, 0xE8, 0xB9, 0x72, 0xC2, 0xDD, 0x4D, 0x27, 0xF6, 0xA9, 0x37, + 0x96, 0x7E, 0x6E, 0x6E, 0x64, 0x37, 0x4E, 0x2E, 0x3F, 0xFD, 0x3C, 0xF4, 0xA6, 0xF5, 0x22, + 0xA8, 0x43, 0xF4, 0x13, 0x21, 0xB5, 0x4E, 0xA8, 0x6D, 0x50, 0x0A, 0xB3, 0xFE, 0x9F, 0x5C, + 0xE7, 0x1A, 0xCF, 0x36, 0x42, 0x30, 0x1C, 0x88, 0x7F, 0x29, 0xE9, 0xCD, 0x96, 0xF2, 0x6A, + 0x52, 0xB2, 0x25, 0x87, 0x63, 0xDC, 0xFC, 0x72, 0xE4, 0xF8, 0x5E, 0xB1, 0x97, 0xB4, 0x1E, + 0x08, 0x90, 0x68, 0x10, 0x73, 0x7F, 0x94, 0x61, 0x48, 0x49, 0x36, 0x9B, 0x7D, 0xBD, 0xDF, + 0xCD, 0xB1, 0xA3, 0x7D, 0xFB, 0xDD, 0x97, 0x8A, 0x0D, 0xFC, 0x9A, 0xB8, 0xA9, 0x33, 0xB5, + 0x4E, 0x50, 0x3D, 0x60, 0x90, 0xEB, 0xAB, 0xB8, 0xCB, 0x6E, 0x32, 0xE4, 0x6B, 0xB0, 0x3F, + 0x57, 0xB8, 0xA4, 0x6A, 0x7C, 0x00, 0x66, 0x39, 0xB1, 0x22, 0xE2, 0x04, 0x26, 0xA1, 0x5A, + 0x17, 0xAA, 0x80, 0xB6, 0xC0, 0xF6, 0xCF, 0x7A, 0xF8, 0x60, 0xE9, 0x52, 0xB8, 0x0E, 0x08, + 0xC0, 0xD5, 0x1F, 0xAB, 0x61, 0x62, 0x1A, 0x83, 0xD1, 0x92, 0xE1, 0x4D, 0x6D, 0xDF, 0x27, + 0x0E, 0xFF, 0xF9, 0xA3, 0x36, 0xFF, 0x73, 0xEF, 0x1D, 0xAB, 0xAC, 0xBF, 0xA7, 0xB3, 0x29, + 0xD2, 0xB2, 0x37, 0xAB, 0x08, 0x7D, 0xB6, 0x7E, 0x0D, 0x25, 0xAA, 0x49, 0x29, 0x9F, 0x61, + 0x52, 0x44, 0x19, 0x1C, 0x51, 0x95, 0x74, 0xB9, 0x3D, 0xDD, 0x95, 0x2C, 0x4F, 0x30, 0x56, + 0xC9, 0xEF, 0x3D, 0x87, 0x90, 0x1E, 0xF8, 0x69, 0xFF, 0x37, 0x06, 0x27, 0xDB, 0x72, 0x82, + 0x2C, 0xDE, 0xB8, 0x39, 0x0B, 0x78, 0xB1, 0x1F, 0x37, 0x54, 0xBF, 0x21, 0x32, 0x87, 0xB4, + 0xD9, 0x49, 0x2D, 0x29, 0x19, 0x43, 0x01, 0xD4, 0xC0, 0xA3, 0xFF, 0x09, 0x6F, 0x69, 0xC8, + 0x5D, 0x35, 0x1D, 0x10, 0x09, 0x91, 0xB6, 0x12, 0xEC, 0x04, 0xA6, 0x61, 0xEF, 0x73, 0xC7, + 0x4C, 0x04, 0x8E, 0x3E, 0xAE, 0xD7, 0xC2, 0x84, 0x48, 0xAB, 0x99, 0x96, 0x75, 0xD8, 0xAD, + 0xA7, 0x5B, 0xDE, 0x72, 0x44, 0x96, 0xC5, 0xB3, 0xEB, 0x8E, 0xED, 0xD6, 0x69, 0x81, 0xE6, + 0x07, 0x3A, 0x15, 0x0D, 0x66, 0x5F, 0x36, 0xA9, 0xAB, 0x53, 0x82, 0x47, 0x98, 0x27, 0xF2, + 0x16, 0x95, 0x05, 0x0B, 0xAE, 0xF1, 0x04, 0x92, 0x80, 0x20, 0xA4, 0x9B, 0x43, 0x66, 0x70, + 0x7F, 0x45, 0x0B, 0x4B, 0x85, 0x95, 0x10, 0x09, 0xC8, 0xD9, 0xF9, 0x5D, 0x40, 0x6D, 0x07, + 0x69, 0x18, 0xF3, 0xD6, 0x98, 0x61, 0x25, 0x8E, 0xA1, 0xE2, 0x24, 0xBD, 0xF0, 0xFA, 0x89, + 0xD8, 0x68, 0xB2, 0x03, 0x81, 0x63, 0xF9, 0x42, 0xD4, 0x1A, 0xD9, 0x4D, 0xCD, 0x30, 0x36, + 0x2D, 0xB1, 0x63, 0xFC, 0xA3, 0x2B, 0xA7, 0x07, 0x50, 0xBC, 0x67, 0xAB, 0x7D, 0x33, 0x1D, + 0xEC, 0x62, 0xFE, 0xD2, 0x65, 0xAA, 0xBA, 0x37, 0xC9, 0x7F, 0x67, 0x26, 0x9D, 0x8A, 0x8B, + 0x63, 0x0B, 0xE0, 0x30, 0x65, 0x07, 0x8C, 0xF3, 0xD1, 0xCF, 0x0D, 0xB4, 0x1E, 0xF3, 0x29, + 0xBE, 0x43, 0x1F, 0x34, 0x1E, 0x52, 0x02, 0xA7, 0x8D, 0x30, 0x2E, 0x3E, 0x39, 0x00, 0xB6, + 0x7B, 0x5C, 0x29, 0x39, 0xC0, 0x0D, 0xAB, 0xA0, 0x6D, 0x77, 0x3C, 0xB2, 0x18, 0x42, 0x57, + 0x63, 0xDA, 0x9E, 0xF5, 0xE0, 0x42, 0x43, 0xF6, 0x50, 0xFD, 0x71, 0x9B, 0x30, 0xE0, 0x92, + 0x8B, 0xD1, 0xE1, 0xC4, 0x96, 0xC9, 0xF5, 0x14, 0xB6, 0xF7, 0xA5, 0x10, 0x77, 0xF4, 0xF9, + 0xAC, 0xDC, 0x45, 0xE1, 0x3C, 0xD6, 0x0B, 0xA5, 0xE2, 0x58, 0x01, 0x19, 0x39, 0x14, 0x68, + 0x96, 0xC0, 0xCE, 0xA9, 0xDE, 0x84, 0x22, 0x59, 0x87, 0x70, 0xFD, 0x8A, 0x71, 0x64, 0x79, + 0x16, 0x37, 0x80, 0x83, 0xFD, 0x9C, 0x73, 0xE6, 0x9C, 0x8B, 0xCD, 0xC0, 0x69, 0x66, 0x90, + 0x45, 0x0A, 0xC9, 0x81, 0x4A, 0xDA, 0x26, 0xDA, 0xA1, 0x70, 0x03, 0x6C, 0x36, 0x9D, 0xAD, + 0xD7, 0xE2, 0x1F, 0x27, 0xBE, 0xBB, 0xEC, 0x63, 0xD9, 0xC2, 0x2A, 0x56, 0x4D, 0x63, 0xCD, + 0x92, 0xEE, 0xAF, 0xCA, 0xD0, 0x11, 0x35, 0x2F, 0x1D, 0xF1, 0x96, 0xD1, 0xAA, 0xDC, 0xF6, + 0x14, 0x3F, 0xA0, 0xEE, 0x90, 0x83, 0x9F, 0x42, 0x40, 0xE6, 0x2C, 0x10, 0x23, 0x00, 0x23, + 0x18, 0x8C, 0xA1, 0x26, 0x4B, 0x22, 0xE1, 0x36, 0x07, 0x55, 0xCB, 0xC3, 0xD2, 0xDD, 0x12, + 0x58, 0x19, 0x75, 0x03, 0xC6, 0xD8, 0x2E, 0xCE, 0x87, 0x1C, 0xC3, 0x15, 0x44, 0x2A, 0x30, + 0x00, 0x52, 0x39, 0x31, 0x13, 0xF4, 0x25, 0x75, 0x74, 0x15, 0x6C, 0xC5, 0xC1, 0xD2, 0x33, + 0x75, 0xC2, 0x41, 0x22, 0x28, 0x95, 0xDF, 0x97, 0x6C, 0x31, 0xF8, 0x35, 0xA6, 0x54, 0x29, + 0x5C, 0xF4, 0x20, 0x97, 0x69, 0xE5, 0x46, 0xFF, 0x34, 0x24, 0x73, 0x12, 0xB8, 0x61, 0x25, + 0x46, 0xB3, 0x8F, 0xBA, 0x3C, 0xFA, 0x06, 0xFF, 0x3F, 0x66, 0x9D, 0x22, 0x55, 0x46, 0x2F, + 0xFF, 0x44, 0xDB, 0x25, 0x29, 0xE0, 0x16, 0x6E, 0xEC, 0x87, 0x97, 0x92, 0x37, 0x23, 0x0E, + 0x52, 0x4E, 0xBB, 0x10, 0xBB, 0x1C, 0x73, 0x75, 0xD1, 0x31, 0xC3, 0xAD, 0xFE, 0xB8, 0x12, + 0x50, 0xA0, 0x69, 0x91, 0x36, 0xEA, 0x5F, 0x0D, 0xEC, 0x1A, 0x23, 0x4A, 0x7D, 0x94, 0x84, + 0xC8, 0x4A, 0x58, 0x6A, 0xA1, 0xA3, 0x75, 0xCA, 0x85, 0xE7, 0x96, 0x91, 0x07, 0x05, 0x3A, + 0x57, 0x61, 0x6A, 0x6F, 0xF1, 0xEF, 0xF7, 0xB3, 0xB1, 0x09, 0xB8, 0x91, 0xA8, 0xF9, 0x57, + 0xB8, 0x63, 0x95, 0xFF, 0xB4, 0x1C, 0x96, 0xE7, 0xE5, 0xEC, 0x06, 0x3A, 0x11, 0xE6, 0x81, + 0xAB, 0x23, 0xE4, 0x5E, 0x5A, 0xB6, 0x6B, 0x69, 0x62, 0x6F, 0x9D, 0xC4, 0x08, 0x6F, 0xA6, + 0xBE, 0x4D, 0x09, 0x12, 0x77, 0xCA, 0xDD, 0xB5, 0x2D, 0x66, 0xCB, 0x4F, 0x4F, 0x11, 0xF2, + 0x3A, 0x1A, 0x97, 0x1F, 0xFE, 0x50, 0x2F, 0x19, 0x32, 0x05, 0x45, 0xA0, 0x50, 0x60, 0x58, + 0x40, 0x40, 0x3D, 0xF6, 0xC3, 0x6F, 0x07, 0xC8, 0x26, 0x26, 0x0E, 0x42, 0x22, 0x96, 0x6D, + 0xFE, 0x95, 0x53, 0x70, 0xDC, 0x92, 0x12, 0x63, 0xFD, 0xA3, 0x7D, 0x6E, 0x44, 0xCD, 0x11, + 0x2C, 0x51, 0x6F, 0xBC, 0x50, 0xFC, 0x1C, 0xC8, 0x3A, 0x28, 0xF5, 0x39, 0xF8, 0x8C, 0x60, + 0x5D, 0xA5, 0x4A, 0xFA, 0xAB, 0x04, 0x7F, 0x34, 0x91, 0x53, 0xE7, 0x6C, 0x56, 0xC6, 0x14, + 0xE4, 0xCC, 0xE4, 0xBB, 0x6E, 0x47, 0x7A, 0x46, 0x6B, 0xE2, 0x88, 0xA0, 0xBD, 0xBD, 0xCC, + 0x51, 0xF3, 0x37, 0x4B, 0xB3, 0xA0, 0x19, 0x92, 0x48, 0x35, 0xBB, 0xBC, 0x79, 0x78, 0xFF, + 0x49, 0xC1, 0x2B, 0x93, 0xDF, 0x75, 0xA7, 0xFB, 0x94, 0x89, 0xAF, 0x50, 0x5E, 0x2D, 0xE1, + 0x78, 0x60, 0x0C, 0xDF, 0xF8, 0x7C, 0xFD, 0xCD, 0x2D, 0xE2, 0xFF, 0xD3, 0xA3, 0x4A, 0x48, + 0x0D, 0x40, 0x8F, 0x03, 0x4F, 0x2C, 0xBD, 0xFA, 0x2E, 0x16, 0xC3, 0xD4, 0xFD, 0x0B, 0xB3, + 0xBD, 0x4F, 0x30, 0xAD, 0xD0, 0xAE, 0xCA, 0x77, 0x9D, 0xDD, 0x3D, 0xA3, 0x66, 0xD0, 0xC1, + 0x6D, 0xCC, 0x3B, 0x56, 0x81, 0x5D, 0x80, 0x07, 0xD8, 0x84, 0x46, 0x71, 0x40, 0x57, 0xB3, + 0x44, 0x85, 0x63, 0x4E, 0x17, 0x2C, 0xB0, 0x21, 0x98, 0x43, 0x42, 0x04, 0x18, 0x84, 0xFA, + 0xB1, 0xD7, 0xC5, 0x5C, 0xCA, 0x25, 0x8B, 0x1A, 0x7A, 0x50, 0x60, 0x68, 0x4A, 0x30, 0xEA, + 0xE6, 0xDE, 0x19, 0xBB, 0x9F, 0x47, 0xEF, 0xDB, 0xC5, 0x81, 0x72, 0xF0, 0x8D, 0xBA, 0x74, + 0x3A, 0xD1, 0xD5, 0xC6, 0xD1, 0xE0, 0xAE, 0x28, 0x2A, 0x65, 0xE5, 0x0B, 0x09, 0xFA, 0xEA, + 0x5B, 0xA6, 0xDB, 0x38, 0xD8, 0x67, 0xC0, 0xBE, 0xA1, 0x12, 0x1C, 0x03, 0xB1, 0x81, 0xB8, + 0x95, 0xDD, 0x78, 0xF8, 0x16, 0x6E, 0xAB, 0xBB, 0xAA, 0x33, 0x54, 0x0E, 0x39, 0x83, 0x24, + 0x17, 0xB3, 0x0B, 0x3C, 0xA1, 0x62, 0x21, 0xB2, 0xA0, 0xF8, 0x49, 0xAB, 0x8B, 0x80, 0xC6, + 0x3D, 0xF1, 0x2E, 0x18, 0x44, 0x74, 0x5F, 0x98, 0x92, 0x33, 0xFB, 0xB2, 0x52, 0x6B, 0x97, + 0xE9, 0x48, 0x12, 0x91, 0x32, 0x50, 0x21, 0x75, 0x74, 0x69, 0x88, 0x54, 0xC6, 0xF3, 0xC9, + 0x37, 0x3C, 0xB3, 0x89, 0xAB, 0x33, 0x1F, 0x79, 0x57, 0xF7, 0xE4, 0xB5, 0x87, 0x0C, 0xA4, + 0x99, 0x48, 0x89, 0x63, 0x5F, 0x72, 0xA1, 0xBC, 0xFF, 0xFE, 0xF8, 0xB3, 0xF1, 0x00, 0xE4, + 0xD4, 0x01, 0x9B, 0xB7, 0x2E, 0x4F, 0xA0, 0x90, 0xE4, 0x9B, 0x6A, 0xA8, 0xBA, 0xE1, 0xD3, + 0xD5, 0xBC, 0xEB, 0xC5, 0xB2, 0x89, 0xB4, 0xE9, 0x4D, 0x3F, 0x4C, 0xFA, 0x8C, 0xCB, 0xCD, + 0x22, 0x08, 0xB8, 0xC7, 0xB3, 0xA3, 0xED, 0x6B, 0xAC, 0xF3, 0x2D, 0x98, 0x70, 0x41, 0x47, + 0x85, 0xE8, 0x6E, 0x31, 0x0A, 0xC2, 0x3E, 0x51, 0x39, 0x55, 0xF8, 0x4A, 0xE9, 0x48, 0x64, + 0x01, 0xDB, 0x8D, 0xE3, 0xAF, 0xA4, 0xB9, 0xD8, 0x19, 0xCA, 0x86, 0xCA, 0xA1, 0x6C, 0x1C, + 0x12, 0x3D, 0xA1, 0x02, 0x23, 0x1D, 0x29, 0x5D, 0x94, 0x04, 0xC6, 0x51, 0x01, 0x40, 0x0B, + 0xB3, 0x69, 0x25, 0x45, 0xEF, 0x43, 0x81, 0x4F, 0x97, 0x57, 0x0D, 0xA1, 0xA5, 0xC9, 0x9D, + 0xE6, 0x56, 0xB9, 0x38, 0x93, 0xA1, 0x78, 0xC5, 0xBF, 0x75, 0xFE, 0x81, 0x6A, 0x35, 0x64, + 0x89, 0x64, 0x43, 0x75, 0xFD, 0x29, 0x63, 0xD1, 0x15, 0xAB, 0x43, 0x60, 0x65, 0xDC, 0x98, + 0xD5, 0xC7, 0x6E, 0xF9, 0xB2, 0x38, 0xFB, 0x6E, 0xB0, 0x34, 0x9C, 0xA3, 0x73, 0x61, 0xF5, + 0x51, 0xFF, 0x1F, 0xCE, 0xB0, 0x08, 0x83, 0x29, 0xB3, 0x82, 0x07, 0xFA, 0xC4, 0xE5, 0x21, + 0xD3, 0xA0, 0xD4, 0xC0, 0xF8, 0x1A, 0x65, 0x9B, 0x35, 0x7A, 0xE3, 0x32, 0xA5, 0x4D, 0x77, + 0x1F, 0x23, 0x19, 0xCC, 0xE1, 0xB3, 0x50, 0x0D, 0xE8, 0x2F, 0x8B, 0x18, 0x89, 0x61, 0xCB, + 0x22, 0xBA, 0xE0, 0x4A, 0xA2, 0x7F, 0xA5, 0x1B, 0x45, 0x59, 0x33, 0xC4, 0x73, 0xDF, 0x42, + 0xC6, 0x00, 0x11, 0x37, 0xF2, 0x3C, 0x1B, 0xF4, 0x26, 0xD1, 0x6D, 0x93, 0xC1, 0x94, 0xD2, + 0x60, 0xE5, 0xF3, 0x91, 0x66, 0x92, 0x3C, 0x65, 0x27, 0xC1, 0x83, 0x13, 0x76, 0x5A, 0x88, + 0xEC, 0xB2, 0x59, 0x95, 0x18, 0x81, 0x2E, 0x94, 0x96, 0x53, 0x17, 0xB6, 0xFD, 0x8C, 0xCC, + 0xBE, 0x8D, 0x36, 0xB3, 0xC8, 0xF2, 0xB2, 0xBE, 0x0F, 0x12, 0x99, 0xFF, 0xFA, 0xF9, 0x18, + 0xAB, 0x30, 0xFA, 0xB1, 0x5B, 0xF2, 0xEE, 0xCA, 0x6E, 0xA1, 0xD9, 0xCE, 0xCC, 0x60, 0xA0, + 0x4D, 0xFD, 0x7C, 0xAD, 0x4D, 0x50, 0xB6, 0x88, 0x0D, 0x88, 0x3B, 0x28, 0x7F, 0xA1, 0x28, + 0x41, 0x0A, 0x43, 0xAD, 0xCC, 0x08, 0x14, 0xF3, 0xF2, 0x43, 0xE7, 0xCF, 0x6A, 0x5C, 0x11, + 0xD0, 0x6D, 0x99, 0xC8, 0x4F, 0xB1, 0x14, 0x06, 0xBC, 0x68, 0x6D, 0xBE, 0xCD, 0xD7, 0x58, + 0xA2, 0x17, 0xF5, 0x9E, 0xFD, 0xDA, 0xFA, 0xBF, 0x73, 0x57, 0x4A, 0xF8, 0xF3, 0xA9, 0x94, + 0xB3, 0x01, 0xE9, 0xA3, 0xDA, 0xEA, 0xC1, 0x40, 0x33, 0xAA, 0x3F, 0xE6, 0x0D, 0x6A, 0xE2, + 0xF3, 0x74, 0xE8, 0x1B, 0x3C, 0x2B, 0x25, 0x44, 0x8E, 0x1C, 0x36, 0xBE, 0xA9, 0x27, 0x6E, + 0x6A, 0x48, 0x8E, 0x2F, 0x2C, 0x9D, 0x71, 0x66, 0x23, 0x7C, 0x7A, 0x74, 0x93, 0x46, 0x2D, + 0xCA, 0x6B, 0xC6, 0x33, 0xDA, 0x1E, 0x1E, 0x44, 0x07, 0xFD, 0x89, 0x5D, 0x30, 0x02, 0x4C, + 0xB1, 0x73, 0xC0, 0x91, 0xEB, 0xA5, 0x61, 0x89, 0xA4, 0x04, 0xFD, 0xD5, 0x5F, 0x54, 0x59, + 0x81, 0xC3, 0x2A, 0x13, 0x89, 0xDA, 0x68, 0xB6, 0x3A, 0x9C, 0x70, 0x6F, 0x48, 0xB4, 0x3C, + 0xF8, 0x9B, 0xF8, 0xF2, 0x59, 0xBF, 0xF4, 0x8D, 0x06, 0x58, 0xEA, 0xA2, 0xA6, 0xB4, 0x70, + 0x08, 0x80, 0x2B, 0x50, 0x13, 0x36, 0x79, 0x17, 0x0B, 0x94, 0x0E, 0x4D, 0xF5, 0xC8, 0x14, + 0xB9, 0x02, 0x7D, 0xEE, 0x6B, 0xBD, 0x10, 0xB4, 0x85, 0x74, 0xA1, 0xB9, 0x84, 0x67, 0xC6, + 0x2C, 0xDB, 0xDA, 0x55, 0x54, 0x16, 0xDA, 0x02, 0xB6, 0xDA, 0x2A, 0x9B, 0x51, 0xD6, 0xDC, + 0x87, 0x80, 0xC1, 0xB8, 0x6F, 0x0C, 0xEF, 0x4B, 0xD1, 0x1A, 0x9F, 0x36, 0x2E, 0x9C, 0x7E, + 0x5F, 0x17, 0xE2, 0xC1, 0x82, 0x0C, 0x42, 0x0D, 0x15, 0x18, 0xCA, + ], +]; diff --git a/crates/yanagi-encryption/src/ec2b/mhy_aes.rs b/crates/yanagi-encryption/src/ec2b/mhy_aes.rs new file mode 100644 index 0000000..bab11d3 --- /dev/null +++ b/crates/yanagi-encryption/src/ec2b/mhy_aes.rs @@ -0,0 +1,178 @@ +#![allow(unused)] + +use super::magic::{ + LOOKUP_G11, LOOKUP_G13, LOOKUP_G14, LOOKUP_G2, LOOKUP_G3, LOOKUP_G9, LOOKUP_RCON, LOOKUP_SBOX, + LOOKUP_SBOX_INV, SHIFT_ROWS_TABLE, SHIFT_ROWS_TABLE_INV, +}; + +fn xorr(a: &mut [u8], b: &[u8], n: usize) { + (0..n).for_each(|i| a[i] ^= b[i]); +} + +fn xor_round_key(state: &mut [u8], keys: &[u8], round: usize) { + xorr(state, &keys[round * 16..], 16); +} + +fn sub_bytes(a: &mut [u8], n: usize) { + (0..n).for_each(|i| a[i] = LOOKUP_SBOX[a[i] as usize]); +} + +fn sub_bytes_inv(a: &mut [u8], n: usize) { + (0..n).for_each(|i| a[i] = LOOKUP_SBOX_INV[a[i] as usize]); +} + +fn key_schedule_core(a: &mut [u8], i: usize) { + let temp = a[0]; + a[0] = a[1]; + a[1] = a[2]; + a[2] = a[3]; + a[3] = temp; + sub_bytes(a, 4); + a[0] ^= LOOKUP_RCON[i]; +} + +fn oqs_aes128_load_schedule_c(key: &[u8]) -> [u8; 176] { + let mut schedule = [0u8; 176]; + + let mut bytes = 16; + let mut i = 1; + let mut t = [0u8; 4]; + + schedule[0..16].copy_from_slice(key); + + while bytes < 176 { + t.copy_from_slice(&schedule[bytes - 4..]); + key_schedule_core(&mut t, i); + i += 1; + xorr(&mut schedule[bytes..], &t, 4); + schedule[bytes..].copy_from_slice(&t); + bytes += 4; + + for _ in 0..3 { + t.copy_from_slice(&schedule[bytes - 4..]); + xorr(&mut t, &schedule[bytes - 16..], 4); + schedule[bytes..].copy_from_slice(&t); + bytes += 4; + } + } + + schedule +} + +fn shift_rows(state: &mut [u8]) { + let temp = state.to_vec(); + (0..16).for_each(|i| state[i] = temp[SHIFT_ROWS_TABLE[i] as usize]); +} + +fn shift_rows_inv(state: &mut [u8]) { + let temp = state.to_vec(); + (0..16).for_each(|i| state[i] = temp[SHIFT_ROWS_TABLE_INV[i] as usize]); +} + +fn mix_col(state: &mut [u8]) { + let (a0, a1, a2, a3) = (state[0], state[1], state[2], state[3]); + + state[0] = LOOKUP_G2[a0 as usize] ^ LOOKUP_G3[a1 as usize] ^ a2 ^ a3; + state[1] = LOOKUP_G2[a1 as usize] ^ LOOKUP_G3[a2 as usize] ^ a3 ^ a0; + state[2] = LOOKUP_G2[a2 as usize] ^ LOOKUP_G3[a3 as usize] ^ a0 ^ a1; + state[3] = LOOKUP_G2[a3 as usize] ^ LOOKUP_G3[a0 as usize] ^ a1 ^ a2; +} + +fn mix_cols(state: &mut [u8]) { + mix_col(&mut state[0..4]); + mix_col(&mut state[4..8]); + mix_col(&mut state[8..12]); + mix_col(&mut state[12..16]); +} + +fn mix_col_inv(state: &mut [u8]) { + let (a0, a1, a2, a3) = (state[0], state[1], state[2], state[3]); + + state[0] = LOOKUP_G14[a0 as usize] + ^ LOOKUP_G9[a3 as usize] + ^ LOOKUP_G13[a2 as usize] + ^ LOOKUP_G11[a1 as usize]; + state[1] = LOOKUP_G14[a1 as usize] + ^ LOOKUP_G9[a0 as usize] + ^ LOOKUP_G13[a3 as usize] + ^ LOOKUP_G11[a2 as usize]; + state[2] = LOOKUP_G14[a2 as usize] + ^ LOOKUP_G9[a1 as usize] + ^ LOOKUP_G13[a0 as usize] + ^ LOOKUP_G11[a3 as usize]; + state[3] = LOOKUP_G14[a3 as usize] + ^ LOOKUP_G9[a2 as usize] + ^ LOOKUP_G13[a1 as usize] + ^ LOOKUP_G11[a0 as usize]; +} + +fn mix_cols_inv(state: &mut [u8]) { + mix_col_inv(&mut state[0..4]); + mix_col_inv(&mut state[4..8]); + mix_col_inv(&mut state[8..12]); + mix_col_inv(&mut state[12..16]); +} + +fn oqs_aes128_enc_c(plaintext: &[u8], schedule: &[u8], ciphertext: &mut [u8]) { + ciphertext.copy_from_slice(&plaintext[..16]); + xor_round_key(ciphertext, schedule, 0); + + for i in 1..10 { + sub_bytes(ciphertext, 16); + shift_rows(ciphertext); + mix_cols(ciphertext); + xor_round_key(ciphertext, schedule, i); + } + + sub_bytes(ciphertext, 16); + shift_rows(ciphertext); + xor_round_key(ciphertext, schedule, 10); +} + +pub fn oqs_mhy128_enc_c(plaintext: &[u8], schedule: &[u8], ciphertext: &mut [u8]) { + ciphertext.copy_from_slice(&plaintext[..16]); + xor_round_key(ciphertext, schedule, 0); + + for i in 1..10 { + sub_bytes_inv(ciphertext, 16); + shift_rows_inv(ciphertext); + mix_cols_inv(ciphertext); + xor_round_key(ciphertext, schedule, i); + } + + sub_bytes_inv(ciphertext, 16); + shift_rows_inv(ciphertext); + xor_round_key(ciphertext, schedule, 10); +} + +fn oqs_aes128_dec_c(ciphertext: &[u8], schedule: &[u8], plaintext: &mut [u8]) { + plaintext.copy_from_slice(&ciphertext[..16]); + xor_round_key(plaintext, schedule, 10); + shift_rows_inv(plaintext); + sub_bytes_inv(plaintext, 16); + + for i in 0..9 { + xor_round_key(plaintext, schedule, 9 - i); + mix_cols_inv(plaintext); + shift_rows_inv(plaintext); + sub_bytes_inv(plaintext, 16); + } + + xor_round_key(plaintext, schedule, 0); +} + +fn oqs_mhy128_dec_c(ciphertext: &[u8], schedule: &[u8], plaintext: &mut [u8]) { + plaintext.copy_from_slice(&ciphertext[..16]); + xor_round_key(plaintext, schedule, 10); + shift_rows(plaintext); + sub_bytes(plaintext, 16); + + for i in 0..9 { + xor_round_key(plaintext, schedule, 9 - i); + mix_cols(plaintext); + shift_rows(plaintext); + sub_bytes(plaintext, 16); + } + + xor_round_key(plaintext, schedule, 0); +} diff --git a/crates/yanagi-encryption/src/ec2b/mod.rs b/crates/yanagi-encryption/src/ec2b/mod.rs new file mode 100644 index 0000000..3273dda --- /dev/null +++ b/crates/yanagi-encryption/src/ec2b/mod.rs @@ -0,0 +1,93 @@ +mod magic; +pub mod mhy_aes; + +use byteorder::{BigEndian, LittleEndian, ReadBytesExt}; +use magic::{AES_XORPAD_TABLE, KEY_XORPAD_TABLE}; +use mhy_aes::oqs_mhy128_enc_c; +use std::io::Read; +use thiserror::Error; + +const HEAD_MAGIC: u32 = 0x45633262; // "Ec2b" +const KEY_SIZE: usize = 16; +const DATA_SIZE: usize = 2048; + +pub struct Ec2b { + key: [u8; KEY_SIZE], + data: [u8; DATA_SIZE], +} + +#[derive(Error, Debug)] +pub enum DecodeError { + #[error("I/O error: {0}")] + IoError(#[from] std::io::Error), + #[error("magic mismatch, expected: {HEAD_MAGIC}, got: {0}")] + MagicMismatch(u32), + #[error("invalid key size, expected: {KEY_SIZE}, got: {0}")] + InvalidKeySize(usize), + #[error("invalid data size, expected: {DATA_SIZE}, got: {0}")] + InvalidDataSize(usize), +} + +impl Ec2b { + const XOR_MAGIC: u64 = 0xCEAC3B5A867837AC; + + pub fn read(r: &mut R) -> Result { + let magic = r.read_u32::()?; + matches!(magic, HEAD_MAGIC) + .then_some(()) + .ok_or(DecodeError::MagicMismatch(magic))?; + + let key_size = r.read_u32::()? as usize; + matches!(key_size, KEY_SIZE) + .then_some(()) + .ok_or(DecodeError::InvalidKeySize(key_size))?; + + let mut key = [0u8; KEY_SIZE]; + r.read_exact(&mut key)?; + + let data_size = r.read_u32::()? as usize; + matches!(data_size, DATA_SIZE) + .then_some(()) + .ok_or(DecodeError::InvalidDataSize(data_size))?; + + let mut data = [0u8; DATA_SIZE]; + r.read_exact(&mut data)?; + + Self::key_scramble(&mut key); + (0..16).for_each(|i| key[i] ^= KEY_XORPAD_TABLE[i]); + + Ok(Self { key, data }) + } + + #[must_use] + pub fn derive_seed(&self) -> u64 { + let val = self + .data + .chunks_exact(8) + .map(|chunk| u64::from_le_bytes(chunk.try_into().unwrap())) + .fold(0xFFFFFFFFFFFFFFFF, |val, i| val ^ i); + + let key_qword_0 = u64::from_le_bytes(self.key[0..8].try_into().unwrap()); + let key_qword_1 = u64::from_le_bytes(self.key[8..16].try_into().unwrap()); + + key_qword_1 ^ Self::XOR_MAGIC ^ val ^ key_qword_0 + } + + fn key_scramble(key: &mut [u8]) { + let mut round_keys = [0u8; 176]; + for round in 0..11 { + for i in 0..16 { + for j in 0..16 { + let idx = (round << 8) + (i * 16) + j; + round_keys[round * 16 + i] ^= + AES_XORPAD_TABLE[1][idx] ^ AES_XORPAD_TABLE[0][idx]; + } + } + } + + let mut chip = [0u8; 16]; + oqs_mhy128_enc_c(key, &round_keys, &mut chip); + + key.copy_from_slice(&chip); + } +} diff --git a/crates/yanagi-encryption/src/lib.rs b/crates/yanagi-encryption/src/lib.rs new file mode 100644 index 0000000..d52de08 --- /dev/null +++ b/crates/yanagi-encryption/src/lib.rs @@ -0,0 +1,4 @@ +mod ec2b; +pub use ec2b::mhy_aes; +pub mod rsa; +pub mod xor; diff --git a/crates/yanagi-encryption/src/rsa.rs b/crates/yanagi-encryption/src/rsa.rs new file mode 100644 index 0000000..bb9ed8f --- /dev/null +++ b/crates/yanagi-encryption/src/rsa.rs @@ -0,0 +1,45 @@ +use common::config::EncryptionConfig; +use rsa::{ + pkcs1v15::SigningKey, sha2::Sha256, signature::RandomizedSigner, Pkcs1v15Encrypt, + RsaPrivateKey, RsaPublicKey, +}; + +const RSA_CHUNK_SIZE: usize = 117; + +pub fn encrypt(conf: &EncryptionConfig, data: &[u8]) -> Box<[u8]> { + let public_key: RsaPublicKey = + rsa::pkcs8::DecodePublicKey::from_public_key_der(&conf.client_public_key) + .expect("Failed to read public key from der"); + let mut rng = rand::thread_rng(); + + let mut result: Vec = Vec::new(); + for chunk in data.chunks(RSA_CHUNK_SIZE) { + let encrypted_chunk = public_key + .encrypt(&mut rng, Pkcs1v15Encrypt, chunk) + .expect("Encryption failed"); + + result.extend(encrypted_chunk); + } + + result.into() +} + +pub fn sign(conf: &EncryptionConfig, data: &[u8]) -> Box<[u8]> { + let private_key = rsa::pkcs8::DecodePrivateKey::from_pkcs8_der(&conf.server_private_key) + .expect("Failed to read pkcs8 private key"); + let signing_key = SigningKey::::new(private_key); + + signing_key + .sign_with_rng(&mut rand::thread_rng(), data) + .into() +} + +pub fn decrypt(conf: &EncryptionConfig, cipher: &[u8]) -> Vec { + let private_key: RsaPrivateKey = + rsa::pkcs8::DecodePrivateKey::from_pkcs8_der(&conf.server_private_key) + .expect("Failed to read pkcs8 private key"); + + private_key + .decrypt(Pkcs1v15Encrypt, cipher) + .expect("Decryption failed") +} diff --git a/crates/yanagi-encryption/src/xor.rs b/crates/yanagi-encryption/src/xor.rs new file mode 100644 index 0000000..eedcd14 --- /dev/null +++ b/crates/yanagi-encryption/src/xor.rs @@ -0,0 +1,32 @@ +use std::io::Cursor; + +use byteorder::ByteOrder; +use rand_mt::Mt64; + +use crate::ec2b::Ec2b; + +const SIZE: usize = 4096; +pub struct MhyXorpad([u8; SIZE]); + +impl MhyXorpad { + pub fn from_ec2b(ec2b: &[u8]) -> Result { + let mut r = Cursor::new(ec2b); + let ec2b = Ec2b::read(&mut r)?; + Ok(Self::new::(ec2b.derive_seed())) + } + + #[must_use] + pub fn new(seed: u64) -> Self { + let mut mt = Mt64::new(seed); + let mut buf = [0u8; 4096]; + + (0..(SIZE >> 3)).for_each(|i| E::write_u64(&mut buf[i * 8..(i + 1) * 8], mt.next_u64())); + Self(buf) + } + + pub fn xor(&self, buf: &mut [u8]) { + buf.iter_mut() + .enumerate() + .for_each(|(i, v)| *v ^= self.0[i % SIZE]); + } +} diff --git a/crates/yanagi-eventgraph/Cargo.toml b/crates/yanagi-eventgraph/Cargo.toml new file mode 100644 index 0000000..9596b91 --- /dev/null +++ b/crates/yanagi-eventgraph/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "yanagi-eventgraph" +edition = "2021" +version.workspace = true + +[dependencies] +serde.workspace = true +prost.workspace = true + +[build-dependencies] +prost-build.workspace = true diff --git a/crates/yanagi-eventgraph/build.rs b/crates/yanagi-eventgraph/build.rs new file mode 100644 index 0000000..20222dd --- /dev/null +++ b/crates/yanagi-eventgraph/build.rs @@ -0,0 +1,14 @@ +use std::{fs, path::Path}; + +pub fn main() { + let proto_file = "action_info.proto"; + if Path::new(&proto_file).exists() { + println!("cargo:rerun-if-changed={proto_file}"); + let _ = fs::create_dir("out/"); + + prost_build::Config::new() + .out_dir("out/") + .compile_protos(&[proto_file], &["."]) + .unwrap(); + } +} diff --git a/crates/yanagi-eventgraph/out/action_info.rs b/crates/yanagi-eventgraph/out/action_info.rs new file mode 100644 index 0000000..99eced0 --- /dev/null +++ b/crates/yanagi-eventgraph/out/action_info.rs @@ -0,0 +1,23 @@ +// This file is @generated by prost-build. +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActionOpenUi { + #[prost(string, tag = "1")] + pub ui: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub args: i32, + #[prost(int32, tag = "4")] + pub store_template_id: i32, + #[prost(int32, tag = "5")] + pub npc_id: i32, +} +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActionSwitchSection { + #[prost(uint32, tag = "1")] + pub section: u32, + #[prost(string, tag = "2")] + pub transform_id: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub camera_x: u32, + #[prost(uint32, tag = "4")] + pub camera_y: u32, +} diff --git a/crates/yanagi-eventgraph/src/event_config.rs b/crates/yanagi-eventgraph/src/event_config.rs new file mode 100644 index 0000000..af6984c --- /dev/null +++ b/crates/yanagi-eventgraph/src/event_config.rs @@ -0,0 +1,142 @@ +use std::collections::HashMap; + +use serde::Deserialize; + +#[derive(Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct ConfigInteractScale { + pub x: f64, + pub y: f64, + pub z: f64, +} + +#[derive(Deserialize)] +#[serde(tag = "$type")] +pub enum ConfigEventAction { + #[serde(rename = "Share.CActionCreateNPCCfg")] + ActionCreateNpcCfg { + #[serde(rename = "ID")] + id: i32, + #[serde(rename = "TagID")] + tag_id: i32, + }, + #[serde(rename = "Share.CActionChangeInteractCfg")] + #[serde(rename_all = "PascalCase")] + ActionChangeInteractCfg { + #[serde(rename = "ID")] + id: u32, + #[serde(rename = "InteractID")] + interact_id: i32, + #[serde(rename = "TagIDs")] + tag_ids: Vec, + #[serde(deserialize_with = "deserialize_participators_map")] + participators: HashMap, + interact_shape: String, + interact_scale: ConfigInteractScale, + #[serde(default)] + section_listen_events: HashMap, + }, + #[serde(rename = "Share.CActionSetMainCityObjectState")] + ActionSetMainCityObjectState { + #[serde(rename = "ID")] + id: u32, + #[serde(rename = "ObjectState")] + #[serde(deserialize_with = "deserialize_i32_map")] + object_state: HashMap, + }, + #[serde(rename = "Share.CActionSwitchSection")] + #[serde(rename_all = "PascalCase")] + ActionSwitchSection { + #[serde(rename = "SectionID")] + section_id: u32, + transform: String, + camera_x: u32, + camera_y: u32, + }, + #[serde(rename = "Share.CActionOpenUI")] + #[serde(rename_all = "PascalCase")] + ActionOpenUI { + #[serde(rename = "UI")] + ui: String, + args: i32, + #[serde(rename = "StoreTemplateID")] + store_template_id: i32, + }, +} + +#[derive(Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct ConfigEvent { + #[serde(rename = "ID")] + #[serde(default)] + pub id: u32, + pub actions: Vec, +} + +#[derive(Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct SectionEventGraphConfig { + #[serde(rename = "ID")] + pub id: u32, + pub on_add: Vec, + pub on_enter: Vec, + pub events: HashMap, +} + +#[derive(Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct MainCitySectionConfig { + #[serde(rename = "ID")] + pub id: i32, + pub unity_scene_path: String, + pub born_transform: String, + pub section_progress: SectionEventGraphConfig, +} + +#[derive(Deserialize)] +#[serde(rename_all = "PascalCase")] +pub struct MainCityConfig { + #[serde(rename = "ID")] + pub id: u32, + #[serde(rename = "DefaultSectionID")] + pub default_section_id: u32, + pub sections: HashMap, +} + +fn deserialize_participators_map<'de, D>(deserializer: D) -> Result, D::Error> +where + D: serde::de::Deserializer<'de>, +{ + use serde::de; + let str_map = HashMap::<&str, String>::deserialize(deserializer)?; + + Ok(str_map + .into_iter() + .map(|(str_key, value)| match str_key.parse() { + Ok(int_key) => Ok((int_key, value)), + Err(_) => Err(de::Error::invalid_value( + de::Unexpected::Str(str_key), + &"u32", + )), + }) + .collect::, _>>()?) +} + +fn deserialize_i32_map<'de, D>(deserializer: D) -> Result, D::Error> +where + D: serde::de::Deserializer<'de>, +{ + use serde::de; + let str_map = HashMap::<&str, i32>::deserialize(deserializer)?; + + Ok(str_map + .into_iter() + .map(|(str_key, value)| match str_key.parse() { + Ok(int_key) => Ok((int_key, value)), + Err(_) => Err(de::Error::invalid_value( + de::Unexpected::Str(str_key), + &"i32", + )), + }) + .collect::, _>>()?) +} diff --git a/crates/yanagi-eventgraph/src/lib.rs b/crates/yanagi-eventgraph/src/lib.rs new file mode 100644 index 0000000..7d1f2c8 --- /dev/null +++ b/crates/yanagi-eventgraph/src/lib.rs @@ -0,0 +1,6 @@ +#[path = "../out/action_info.rs"] +pub mod action_pb; +pub use prost::Message; + +mod event_config; +pub use event_config::*; diff --git a/crates/yanagi-http-client/Cargo.toml b/crates/yanagi-http-client/Cargo.toml new file mode 100644 index 0000000..52c6dae --- /dev/null +++ b/crates/yanagi-http-client/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "yanagi-http-client" +edition = "2021" +version.workspace = true + +[dependencies] +ureq.workspace = true + +serde.workspace = true +serde_json.workspace = true + +thiserror.workspace = true diff --git a/crates/yanagi-http-client/src/lib.rs b/crates/yanagi-http-client/src/lib.rs new file mode 100644 index 0000000..6e1a1ef --- /dev/null +++ b/crates/yanagi-http-client/src/lib.rs @@ -0,0 +1,96 @@ +use serde::de::DeserializeOwned; +use std::io::Read; +use std::{thread, time::Duration}; + +#[derive(thiserror::Error, Debug)] +pub enum FetchJsonError { + #[error("http error: {0}")] + Http(#[from] ureq::Error), + #[error("deserialization error: {0}")] + Deserialize(String), +} + +pub struct AutopatchClient<'url, T> { + base_url: &'url str, + agent: ureq::Agent, + retry_after: T, +} + +impl<'url> AutopatchClient<'url, ()> { + pub fn new(base_url: &'url str) -> Self { + Self { + base_url, + agent: ureq::AgentBuilder::new().build(), + retry_after: (), + } + } + + pub fn retry_after(self, retry_after: Duration) -> AutopatchClient<'url, Duration> { + AutopatchClient { + retry_after, + agent: self.agent, + base_url: self.base_url, + } + } +} + +impl AutopatchClient<'_, Duration> { + pub fn fetch_until_success(&self, url: &str) -> T { + loop { + match self.fetch_json(url) { + Ok(data) => break data, + Err(FetchJsonError::Http(_)) => thread::sleep(self.retry_after), + Err(FetchJsonError::Deserialize(err)) => panic!("failed to deserlize {url}: {err}"), + } + } + } + + pub fn fetch_bytes_until_success(&self, url: &str) -> Box<[u8]> { + loop { + match self.fetch_bytes(url) { + Ok(data) => break data, + Err(_) => thread::sleep(self.retry_after), + } + } + } +} + +impl AutopatchClient<'_, R> { + pub fn fetch(&self, path: &str) -> Result { + let result = match path { + url if path.starts_with("http://") || path.starts_with("https://") => { + self.agent.get(url).call()?.into_string()? + } + path => self + .agent + .get(format!("{}{}", self.base_url, path).as_str()) + .call()? + .into_string()?, + }; + + Ok(result) + } + + pub fn fetch_bytes(&self, path: &str) -> Result, ureq::Error> { + let mut result = match path { + url if path.starts_with("http://") || path.starts_with("https://") => { + self.agent.get(url).call()?.into_reader() + } + path => self + .agent + .get(format!("{}{}", self.base_url, path).as_str()) + .call()? + .into_reader(), + }; + + let mut buf = Vec::new(); + result.read_to_end(&mut buf)?; + Ok(buf.into_boxed_slice()) + } + + pub fn fetch_json(&self, url: &str) -> Result { + let content = self.fetch(url)?; + serde_json::from_str(content.as_str()) + .map_err(|err| FetchJsonError::Deserialize(err.to_string())) + } +} diff --git a/crates/yanagi-proto/Cargo.toml b/crates/yanagi-proto/Cargo.toml new file mode 100644 index 0000000..780e5d2 --- /dev/null +++ b/crates/yanagi-proto/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "yanagi-proto" +edition = "2021" +version.workspace = true + +[dependencies] +qwer.workspace = true +protocol.workspace = true +prost.workspace = true +prost-types.workspace = true +yanagi-proto-derive = { path = "./yanagi-proto-derive" } + +[build-dependencies] +prost-build.workspace = true +syn = "2.0.79" +quote = "1.0.37" +prettyplease = "0.2.22" diff --git a/crates/yanagi-proto/build.rs b/crates/yanagi-proto/build.rs new file mode 100644 index 0000000..00e1e1c --- /dev/null +++ b/crates/yanagi-proto/build.rs @@ -0,0 +1,375 @@ +use std::{ + fs::{self, read_to_string, File}, + io::{BufRead, BufReader}, + path::Path, +}; + +use quote::quote; +use syn::{Field, Ident, Item, Type, TypePath}; + +pub fn main() { + let proto_file = "nap.proto"; + if Path::new(&proto_file).exists() { + println!("cargo:rerun-if-changed={proto_file}"); + let _ = fs::create_dir("out/"); + + prost_build::Config::new() + .out_dir("out/") + .type_attribute(".", "#[derive(yanagi_proto_derive::CmdID)]") + .type_attribute(".", "#[derive(yanagi_proto_derive::XorFields)]") + .compile_protos(&[proto_file], &["."]) + .unwrap(); + apply_xor(Path::new("out/_.rs")).unwrap(); + } + + impl_struct_conversions( + Path::new("out/_.rs"), + Path::new("../protocol/src/lib.rs"), + Path::new("out/proto_conversion.rs"), + ) + .unwrap(); +} + +#[must_use] +fn field_is_optional(field: &Field) -> bool { + match &field.ty { + Type::Path(TypePath { path, .. }) => { + let last_segment = path.segments.last().unwrap(); + last_segment.ident == "Option" + } + _ => panic!("Unsupported field type"), + } +} + +#[must_use] +fn field_is_vector(field: &Field) -> bool { + match &field.ty { + Type::Path(TypePath { path, .. }) => { + let last_segment = path.segments.last().unwrap(); + last_segment.ident == "Vec" + } + _ => panic!("Unsupported field type"), + } +} + +#[must_use] +fn field_is_hash_map(field: &Field) -> bool { + match &field.ty { + Type::Path(TypePath { path, .. }) => { + let last_segment = path.segments.last().unwrap(); + last_segment.ident == "HashMap" + } + _ => panic!("Unsupported field type"), + } +} + +fn impl_struct_conversions( + proto_codegen_path: &Path, + qwer_structures_path: &Path, + output_path: &Path, +) -> std::io::Result<()> { + let proto_file = read_to_string(proto_codegen_path)?; + let qwer_file = read_to_string(qwer_structures_path)?; + + let proto_file = syn::parse_file(&proto_file).unwrap(); + let qwer_file = syn::parse_file(&qwer_file).unwrap(); + + let mut from_impls = quote! {}; + let mut proto_to_qwer_matches = quote! {}; + let mut qwer_to_proto_matches = quote! {}; + let mut ptc_registers = quote! {}; + let mut ptc_matches = quote! {}; + + for item in proto_file.items.iter() { + let Item::Struct(proto) = item else { + continue; + }; + + let proto_ident = &proto.ident; + let qwer_ident = match proto_ident.to_string() { + s if s.ends_with("ScRsp") => Ident::new( + &format!("Rpc{}Ret", &s.as_str()[..s.len() - 5]), + proto_ident.span(), + ), + s if s.ends_with("CsReq") => Ident::new( + &format!("Rpc{}Arg", &s.as_str()[..s.len() - 5]), + proto_ident.span(), + ), + s if s.ends_with("ScNotify") => Ident::new( + &format!("Ptc{}Arg", &s.as_str()[..s.len() - 8]), + proto_ident.span(), + ), + s if s.ends_with("Notify") => Ident::new( + &format!("Ptc{}Arg", &s.as_str()[..s.len() - 6]), + proto_ident.span(), + ), + _ => proto_ident.clone(), + }; + + let Some(Item::Struct(qwer)) = qwer_file.items.iter().find(|i| { + if let Item::Struct(s) = i { + s.ident == qwer_ident + } else { + false + } + }) else { + continue; + }; + + if let Some(req_base_name) = proto_ident.to_string().strip_suffix("CsReq") { + if proto.attrs.iter().any(|attr| { + attr.path() + .get_ident() + .map(|i| i == "cmdid") + .unwrap_or(false) + }) { + let rpc_ret_ident = + Ident::new(&format!("Rpc{req_base_name}Ret"), proto_ident.span()); + + let proto_rsp_name = format!("{req_base_name}ScRsp"); + + // Check if rsp with this name defined in proto + // if it doesn't, send null message. + + let proto_rsp_ident = proto_file + .items + .iter() + .any(|i| { + if let Item::Struct(s) = i { + s.ident == proto_rsp_name + } else { + false + } + }) + .then_some(Ident::new(&proto_rsp_name, proto_ident.span())); + + match proto_rsp_ident { + Some(proto_rsp_ident) => { + proto_to_qwer_matches = quote! { + #proto_to_qwer_matches + #proto_ident::CMD_ID => { + let packet = NetPacket::<::yanagi_proto::#proto_ident>::decode($buf)?; + let rpc_arg = ::protocol::#qwer_ident::from(packet.body); + let rpc_ret: ::protocol::#rpc_ret_ident = $point.call_rpc($addr, rpc_arg, $middlewares, $timeout).await?; + let proto_rsp = ::yanagi_proto::#proto_rsp_ident::from(rpc_ret); + $session.send_rsp(packet.head.packet_id, proto_rsp); + }, + } + } + None => { + proto_to_qwer_matches = quote! { + #proto_to_qwer_matches + #proto_ident::CMD_ID => { + let packet = NetPacket::<::yanagi_proto::#proto_ident>::decode($buf)?; + let rpc_arg = ::protocol::#qwer_ident::from(packet.body); + let rpc_ret: ::protocol::#rpc_ret_ident = $point.call_rpc($addr, rpc_arg, $middlewares, $timeout).await?; + $session.send_null_rsp(packet.head.packet_id); + }, + } + } + } + } + } else if let Some(_ntf_base_name) = proto_ident.to_string().strip_suffix("ScNotify") { + ptc_registers = quote! { + #ptc_registers + $point.register_rpc_recv( + ::protocol::#qwer_ident::PROTOCOL_ID, + move |ctx| async move { + let _ = $tx.get().unwrap().send(Input::Notify($conv, ctx)).await; + } + ); + }; + ptc_matches = quote! { + #ptc_matches + ::protocol::#qwer_ident::PROTOCOL_ID => { + $session.notify(::yanagi_proto::#proto_ident::from( + $ctx.get_arg::<::protocol::#qwer_ident>().unwrap(), + )); + }, + }; + } + + if qwer + .attrs + .iter() + .any(|attr| attr.path().get_ident().map(|i| i == "id").unwrap_or(false)) + { + qwer_to_proto_matches = quote! { + #qwer_to_proto_matches + ::protocol::#qwer_ident::PROTOCOL_ID => $process_proto_message(#proto_ident::from(qwer)), + }; + } + + let mut proto_assignments = quote! {}; + let mut qwer_assignments = quote! {}; + proto + .fields + .iter() + .filter(|f| qwer.fields.iter().any(|ff| ff.ident == f.ident)) + .map(|f| (f, f.ident.as_ref().unwrap())) + .for_each(|(f, ident)| { + let qfield = qwer.fields.iter().find(|ff| ff.ident == f.ident).unwrap(); + if field_is_optional(&f) && field_is_optional(&qfield) { + qwer_assignments = quote! { + #qwer_assignments + #ident: value.#ident.map(|v| v.into()), + }; + + proto_assignments = quote! { + #proto_assignments + #ident: value.#ident.map(|v| v.into()), + }; + } else if field_is_optional(&f) { + qwer_assignments = quote! { + #qwer_assignments + #ident: value.#ident.map(|v| v.into()).unwrap_or_default(), + }; + + proto_assignments = quote! { + #proto_assignments + #ident: Some(value.#ident.into()), + }; + } else if field_is_vector(&f) { + qwer_assignments = quote! { + #qwer_assignments + #ident: value.#ident.into_iter().map(|v| v.into()).collect(), + }; + + proto_assignments = quote! { + #proto_assignments + #ident: value.#ident.into_iter().map(|v| v.into()).collect(), + }; + } else if field_is_hash_map(&f) { + qwer_assignments = quote! { + #qwer_assignments + #ident: value.#ident.into_iter().map(|(k, v)| (k.into(), v.into())).collect(), + }; + + proto_assignments = quote! { + #proto_assignments + #ident: value.#ident.into_iter().map(|(k, v)| (k.into(), v.into())).collect(), + } + } else { + qwer_assignments = quote! { + #qwer_assignments + #ident: value.#ident.into(), + }; + + proto_assignments = quote! { + #proto_assignments + #ident: value.#ident.into(), + }; + } + }); + + let from_qwer = quote! { + #[allow(unused)] + impl From<::protocol::#qwer_ident> for #proto_ident { + fn from(value: ::protocol::#qwer_ident) -> Self { + Self { + #proto_assignments + ..Default::default() + } + } + } + }; + + let from_proto = quote! { + #[allow(unused)] + impl From<#proto_ident> for ::protocol::#qwer_ident { + fn from(value: #proto_ident) -> Self { + Self { + #qwer_assignments + ..Default::default() + } + } + } + }; + + from_impls = quote! { + #from_impls + #from_qwer + #from_proto + }; + } + + let generated_code = quote! { + #from_impls + + #[macro_export] + macro_rules! decode_and_forward_proto { + ($cmd_id:expr, $buf:expr, $session:expr, $point:expr, $addr:expr, $middlewares:expr, $timeout:expr) => { + match $cmd_id { + #proto_to_qwer_matches + _ => ::tracing::warn!("unknown cmd_id: {}", $cmd_id), + } + } + } + + #[macro_export] + macro_rules! impl_qwer_to_proto_match { + ($process_proto_message:ident) => { + match qwer.get_protocol_id() { + #qwer_to_proto_matches + _ => (), + } + } + } + + #[macro_export] + macro_rules! register_ptc_handlers { + ($point:ident, $conv:ident, $tx:ident) => { + #ptc_registers + } + } + + #[macro_export] + macro_rules! forward_as_notify { + ($session:ident, $ctx:ident) => { + match $ctx.protocol_id { + #ptc_matches + _ => (), + } + } + } + }; + + let ast = syn::parse2(generated_code).unwrap(); + fs::write(output_path, prettyplease::unparse(&ast)) +} + +fn apply_xor(path: &Path) -> std::io::Result<()> { + let file = File::open(path)?; + let reader = BufReader::new(file); + let mut output = Vec::new(); + + let mut cmd_id_attr = None; + for line in reader.lines() { + let line = line?; + if line.contains("xor const: ") { + if !line.contains("xor const: 0") { + output.push(make_xor_attr(&line).unwrap()); + } + } else if line.contains("CmdID: ") { + cmd_id_attr = Some(make_cmd_id_attr(&line).unwrap()); + } else { + output.push(line); + if let Some(attr) = cmd_id_attr.take() { + output.push(attr); + } + } + } + + fs::write(path, output.join("\n").as_bytes())?; + Ok(()) +} + +fn make_xor_attr(line: &str) -> Option { + let xor_value = line.split("xor const: ").nth(1)?.parse::().ok()?; + Some(format!(" #[xor({xor_value})]")) +} + +fn make_cmd_id_attr(line: &str) -> Option { + let cmd_id = line.split("CmdID: ").nth(1)?.parse::().ok()?; + Some(format!("#[cmdid({cmd_id})]")) +} diff --git a/crates/yanagi-proto/out/_.rs b/crates/yanagi-proto/out/_.rs new file mode 100644 index 0000000..5c3fa4b --- /dev/null +++ b/crates/yanagi-proto/out/_.rs @@ -0,0 +1,65835 @@ +// This file is @generated by prost-build. +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hhhmlmcinen { + #[xor(11156)] + #[prost(uint64, tag = "5")] + pub hdonikjeenc: u64, + #[xor(1686)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[xor(12121)] + #[prost(uint64, tag = "13")] + pub fdfjcoccaoa: u64, + #[xor(1908)] + #[prost(uint32, tag = "10")] + pub hkopdmjdgjj: u32, + #[xor(12905)] + #[prost(uint64, tag = "4")] + pub bkmgijmnlpf: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ambnghamnml { + #[prost(message, optional, tag = "1")] + pub pjneiaehofa: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gdccimbdaci { + #[xor(10606)] + #[prost(int32, tag = "1")] + pub count: i32, + #[prost(float, tag = "4")] + pub pohnmenbegi: f32, + #[prost(float, tag = "2")] + pub llffkfoejgj: f32, + #[prost(bool, tag = "15")] + pub afjhlogffmf: bool, + #[xor(6738)] + #[prost(int32, tag = "8")] + pub cimmoifgmbn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npjjdjflmhe { + #[xor(7970)] + #[prost(uint64, tag = "8")] + pub kbfnegfbcel: u64, + #[prost(message, repeated, tag = "2")] + pub caiiagbfkoi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8206)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glpgknafkfa { + #[prost(message, repeated, tag = "8")] + pub fdffadchnlj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9458)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdbilpjjmkp { + #[prost(message, repeated, tag = "7")] + pub adipeiaaohn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "9")] + pub ongmonficpi: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bhoebnlhkhm { + #[prost(bool, tag = "1")] + pub hkpieekibia: bool, + #[prost(bool, tag = "2")] + pub ihjjfeefkbj: bool, + #[prost(bool, tag = "3")] + pub lock: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7679)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjdjidlopoa { + #[prost(uint32, repeated, tag = "5")] + pub ehcphbcamii: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub jfpaoolmcdk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7452)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetAbyssRewardDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojpfnkbpnpn { + #[prost(uint32, repeated, tag = "8")] + pub fohmonphnoi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub pmhoehaimgk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub ahlnhgbihic: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub hfdaekahjea: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub bdhbbgdbdfd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1")] + pub jigifdepiol: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub ligbogkakpk: ::prost::alloc::vec::Vec, + #[xor(7503)] + #[prost(uint32, tag = "4")] + pub nkahpibmkmb: u32, + #[prost(uint32, repeated, tag = "10")] + pub aoepnfpfdpo: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub mhlicjmiafa: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dgfdgbbhpoe { + #[xor(7678)] + #[prost(uint32, tag = "14")] + pub accecgcbifa: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aoangbompga { + #[prost(message, repeated, tag = "7")] + pub bhdnoblbnoh: ::prost::alloc::vec::Vec, + #[xor(12301)] + #[prost(uint32, tag = "4")] + pub lhbejkbkbfh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oehebgkimmh { + #[prost(uint32, tag = "1")] + pub bhbfkmpaakh: u32, + #[prost(message, repeated, tag = "2")] + pub noebkmdmfga: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CampIdleData { + #[prost(uint32, repeated, tag = "9")] + pub cpgflkfiglb: ::prost::alloc::vec::Vec, + #[xor(14896)] + #[prost(uint32, tag = "15")] + pub phcbebaelmf: u32, + #[xor(6810)] + #[prost(int32, tag = "6")] + pub pljgoabaknj: i32, + #[prost(message, repeated, tag = "12")] + pub odfecpphheb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub mhgaaficokb: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub cfhinildiph: ::prost::alloc::vec::Vec, + #[xor(1131)] + #[prost(uint32, tag = "13")] + pub bfoalbadljl: u32, + #[xor(4588)] + #[prost(uint32, tag = "2")] + pub dlpjmdlcigp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7454)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetExplorationDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njfdgboghpj { + #[xor(11405)] + #[prost(int32, tag = "7")] + pub fbocogogkhd: i32, + #[prost(message, repeated, tag = "13")] + pub kjmkjjnmihd: ::prost::alloc::vec::Vec, + #[xor(14678)] + #[prost(int32, tag = "8")] + pub efnbmliacmk: i32, + #[prost(bool, tag = "1")] + pub ekaolfapplm: bool, + #[xor(6634)] + #[prost(int32, tag = "2")] + pub iechioocfjh: i32, + #[prost(message, repeated, tag = "10")] + pub kcekjkdopmn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BattleRewardInfo { + #[prost(uint32, tag = "1")] + pub rank: u32, + #[prost(message, repeated, tag = "2")] + pub pglhfljblgi: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "11")] + pub gkakpdnbmhn: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Occjijbapnb { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekcfklhmlfn { + #[prost(message, repeated, tag = "8")] + pub npoeakegpkp: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "9")] + pub cmhnhmcfbde: i32, + #[prost(int32, tag = "10")] + pub apjeehbafed: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2361)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ahifepfheed { + #[xor(14101)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gobnfdoikpf { + #[prost(enumeration = "Hjdpcgjhbon", tag = "1")] + pub gjmpnjbgpln: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7911)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fceggdhdplp { + #[prost(map = "uint32, uint32", tag = "6")] + pub ibonobeajop: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdfmcbhnnaf {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlpongmoeec { + #[prost(string, tag = "1")] + pub dkhkckngpmg: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub mlgibiakeob: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub nghpplpjpea: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub gcinojhmbfd: ::prost::alloc::string::String, + #[prost(int32, tag = "5")] + pub igfpelaffee: i32, + #[prost(int32, tag = "6")] + pub gndceocokgm: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgapdbmlllk { + #[prost(message, repeated, tag = "3")] + pub fknmpphhgod: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "5")] + pub bhkiibghmgn: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "14")] + pub oejejmkcghg: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bcgjgjojhog { + #[prost(uint32, tag = "1")] + pub uid: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bmdlnggocjl { + #[prost(float, tag = "1")] + pub hdaokibdehc: f32, + #[prost(float, tag = "2")] + pub hcopojhoimc: f32, + #[prost(float, tag = "5")] + pub ahmjlglcomj: f32, + #[prost(float, tag = "7")] + pub ajcocoionnb: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ognpfpapjae { + #[prost(message, optional, tag = "1")] + pub efpckpnefdc: ::core::option::Option, + #[prost(string, tag = "2")] + pub lmembdefodj: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5372)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jkadimmfoaj { + #[xor(13885)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kkbjhijjefi { + #[xor(13490)] + #[prost(uint32, tag = "12")] + pub lhbejkbkbfh: u32, + #[xor(1621)] + #[prost(uint32, tag = "9")] + pub ipekkngambd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5734)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mopoalohpnb { + #[xor(12400)] + #[prost(uint32, tag = "9")] + pub imogekpohdj: u32, + #[xor(14721)] + #[prost(uint32, tag = "15")] + pub jkhpachcfgh: u32, + #[xor(3443)] + #[prost(uint32, tag = "8")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bfdndbnedlk { + #[prost(uint32, tag = "1")] + pub fdcmmcglcgl: u32, + #[prost(enumeration = "Pdgafejkkie", tag = "2")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Knpfjehkpnp { + #[prost(bool, tag = "1")] + pub kamkoikfnfp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dpmmcchbekh { + #[xor(2865)] + #[prost(uint32, tag = "8")] + pub pfdkjcdmnnf: u32, + #[prost(bool, tag = "10")] + pub enbccffknld: bool, + #[xor(14457)] + #[prost(uint32, tag = "2")] + pub kfpbjdikmaa: u32, + #[xor(917)] + #[prost(uint32, tag = "5")] + pub mlepcomaiai: u32, + #[prost(bool, tag = "6")] + pub badpgpbliag: bool, + #[xor(6185)] + #[prost(uint32, tag = "14")] + pub ghifdkelobe: u32, + #[prost(bool, tag = "3")] + pub abkkdjklbfk: bool, + #[prost(bool, tag = "4")] + pub fhcffnfcigl: bool, + #[xor(7774)] + #[prost(uint32, tag = "11")] + pub cbdmaffofgc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6431)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Efnkecakjal { + #[prost(bool, tag = "13")] + pub hpbegekjlda: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(51)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epmjmddfcai { + #[prost(uint32, repeated, tag = "8")] + pub fkhmehmkeom: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cebflfbjoej { + #[prost(int32, tag = "1")] + pub damllkmfgab: i32, + #[prost(int32, tag = "2")] + pub mlcpadgnnaa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmafoalaioe { + #[prost(uint32, repeated, tag = "1")] + pub lfdcemphjbk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1214)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Picgbikehid { + #[xor(14489)] + #[prost(uint32, tag = "5")] + pub skill_type: u32, + #[xor(13426)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5342)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgbpmdfjfpp { + #[prost(message, optional, tag = "12")] + pub lhbejkbkbfh: ::core::option::Option, + #[prost(message, repeated, tag = "14")] + pub dodgpciakdp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcicnmfjmfn { + #[prost(map = "uint32, uint32", tag = "1")] + pub ajppilianbi: ::std::collections::HashMap, + #[prost(message, repeated, tag = "2")] + pub ieploccockn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3185)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BeginTrainingCourseBattleCsReq { + #[xor(15140)] + #[prost(uint32, tag = "10")] + pub quest_id: u32, + #[prost(uint32, repeated, tag = "3")] + pub avatars: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub chgpfjcecad: ::prost::alloc::vec::Vec, + #[xor(9360)] + #[prost(uint32, tag = "9")] + pub buddy_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdodoghhodo { + #[prost(message, optional, tag = "1")] + pub kifkkmhflpm: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub mamedlnahae: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijlajhmgikl { + #[prost(string, tag = "1")] + pub ffgkhjefaco: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub gipjpnngpbl: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4412)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abmjccicjjk { + #[prost(message, optional, tag = "7")] + pub edcecdkjhka: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgeahnalihh { + #[prost(int32, repeated, tag = "3")] + pub jelflggokao: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub ajppilianbi: ::core::option::Option, + #[xor(11967)] + #[prost(int32, tag = "11")] + pub pjcklkipfda: i32, + #[prost(uint32, repeated, tag = "1")] + pub ckbopnapbkk: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub kkkaboobimk: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9431)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dojnabmmajn { + #[xor(10251)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(206)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cpjlljagnoj { + #[xor(4185)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgljgadgfmf { + #[prost(int32, tag = "1")] + pub pojiifloojm: i32, + #[prost(string, tag = "2")] + pub kapndmojldo: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + pub nbhlmgjpiad: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lilinbkihic { + #[prost(int32, repeated, tag = "1")] + pub pgdjiocbipe: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ebolgcaddfk { + #[prost(uint32, tag = "1")] + pub odofgndddff: u32, + #[prost(uint32, tag = "2")] + pub jmeklpngfip: u32, + #[prost(uint32, tag = "3")] + pub oiddiobdomk: u32, + #[prost(uint32, tag = "4")] + pub dkdgkfghnig: u32, + #[prost(uint32, tag = "5")] + pub gpdhjjgnkgi: u32, + #[prost(uint32, tag = "6")] + pub ldladebnflc: u32, + #[prost(uint32, tag = "7")] + pub obnamippolk: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddlkanhgfdf { + #[prost(message, optional, tag = "13")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iioikddgoln { + #[xor(11591)] + #[prost(uint32, tag = "11")] + pub pkfmpakneog: u32, + #[xor(7699)] + #[prost(uint32, tag = "10")] + pub nhpgaflbgec: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fohdficplmb { + #[prost(uint32, tag = "1")] + pub bhbfkmpaakh: u32, + #[prost(message, repeated, tag = "2")] + pub noebkmdmfga: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1526)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hiknilefpcb {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1683)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppbagfmageb { + #[xor(8153)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, + #[xor(1723)] + #[prost(uint64, tag = "3")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "15")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdkoeiocido { + #[prost(message, repeated, tag = "1")] + pub dkckjpbdcod: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1712)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnbacgkmbch { + #[prost(uint32, repeated, tag = "6")] + pub bilnlklfcpj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub ahkfpplhkao: ::prost::alloc::vec::Vec, + #[xor(6333)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[xor(1193)] + #[prost(uint32, tag = "9")] + pub iahpcojelin: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmnndmijimi { + #[prost(message, optional, tag = "1")] + pub iidnjcionhi: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub fmkfjcmjjik: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "3")] + pub odnpbhepnoa: i32, + #[prost(enumeration = "Pcekojidped", tag = "4")] + pub ekbfgknccph: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbyssGroupInfo { + #[prost(message, optional, tag = "2")] + pub felmdabgjbe: ::core::option::Option, + #[prost(message, optional, tag = "1")] + pub emgbedkmabb: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub ennekeljkkc: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub fgchapipolp: ::core::option::Option, + #[xor(4648)] + #[prost(uint32, tag = "8")] + pub group: u32, + #[prost(message, optional, tag = "4")] + pub chainokkcmi: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub mdkedcmgbkj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdhlanadfhk { + #[prost(string, tag = "1")] + pub kcclegdlljc: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub eiifnmemmim: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub kpmakfehbal: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub balfodofeha: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub kianbndmmaj: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub pnjiacpannf: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub dcohbnjfkbl: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub fpclgmdcdhm: ::core::option::Option, + #[prost(bool, tag = "9")] + pub fhpomlgdphd: bool, + #[prost(bool, tag = "10")] + pub hocohglfpac: bool, + #[prost(message, repeated, tag = "11")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Aeoihpdcomb", tag = "12")] + pub lcbkchjojhc: i32, + #[prost(uint32, repeated, tag = "13")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Callcbjbeol { + #[xor(5564)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(message, repeated, tag = "6")] + pub amgojlnelol: ::prost::alloc::vec::Vec, + #[prost(string, tag = "14")] + pub lcljjhpcdca: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Elidealjopp { + #[prost(int32, tag = "1")] + pub ebgmdoiddom: i32, + #[prost(int32, tag = "2")] + pub ofkbfbdecof: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(296)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agolkiikkpe { + #[prost(enumeration = "Mdjodbafohl", tag = "1")] + pub aehhddbnnhg: i32, + #[prost(message, repeated, tag = "4")] + pub aoppojcdgge: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1356)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jkkfenkpnjo { + #[xor(11209)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oibljbhbnhf {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edmacnfgodp { + #[prost(message, optional, tag = "12")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5875)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icomkfbinaf { + #[xor(8430)] + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "5")] + pub fndmgcocpmk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2122)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lngmhdefbkc { + #[xor(10315)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pgmpihecgaj { + #[prost(int32, tag = "1")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mleecgoffag { + #[prost(message, repeated, tag = "7")] + pub dkckjpbdcod: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcjnfpgjgjk { + #[prost(map = "string, int64", tag = "1")] + pub hoegdabejca: ::std::collections::HashMap<::prost::alloc::string::String, i64>, + #[prost(map = "string, message", tag = "2")] + pub hgdeilomimc: ::std::collections::HashMap< + ::prost::alloc::string::String, + Jllncghdnnn, + >, + #[prost(map = "string, string", tag = "3")] + pub ncmobilieim: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2492)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SavePosInMainCityCsReq { + #[prost(bool, tag = "7")] + pub hlgokmlgfgb: bool, + #[prost(message, optional, tag = "6")] + pub ekeclglnnfn: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub position: ::core::option::Option, + #[xor(9872)] + #[prost(uint32, tag = "8")] + pub section_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4965)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpmjlooniba { + #[xor(8643)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(message, optional, tag = "3")] + pub lhigkfaedmc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilcfdegbdmd { + #[prost(map = "string, message", tag = "1")] + pub lhnaoomanhn: ::std::collections::HashMap< + ::prost::alloc::string::String, + Hnjnciceapk, + >, + #[prost(int32, tag = "2")] + pub jgekbdlifjb: i32, + #[prost(int32, tag = "3")] + pub gaibkmgmdbi: i32, + #[prost(message, repeated, tag = "4")] + pub hmgbhcpenhh: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "5")] + pub bgcfabhoegb: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2292)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Andemobcpad { + #[xor(11754)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "4")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(9145)] + #[prost(uint64, tag = "14")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5151)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nclciogcdhk { + #[xor(11195)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1633)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abdamfhjclj { + #[prost(uint32, repeated, tag = "12")] + pub kmaaclgkphn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpakpemjfja { + #[prost(int32, tag = "1")] + pub canecpnekha: i32, + #[prost(string, repeated, tag = "2")] + pub gejggiljnnk: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddjlomfpfeh { + #[prost(enumeration = "Famllfdoenp", tag = "1")] + pub r#type: i32, + #[prost(int32, repeated, tag = "2")] + pub fihcipfhoip: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct RewardBuff { + #[xor(8481)] + #[prost(int32, tag = "5")] + pub kgnhcmbaebd: i32, + #[xor(9098)] + #[prost(int32, tag = "6")] + pub eoahfahogci: i32, + #[xor(8903)] + #[prost(int32, tag = "14")] + pub ghifdkelobe: i32, + #[xor(4561)] + #[prost(int32, tag = "11")] + pub dcaecnmnbgl: i32, + #[xor(9371)] + #[prost(int64, tag = "3")] + pub bhcedalejdh: i64, + #[xor(10557)] + #[prost(int32, tag = "8")] + pub aijdcmclcjl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bpdlpkfojpl { + #[prost(uint32, tag = "1")] + pub badfgmaibbi: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejeobjobane { + #[prost(message, optional, tag = "1")] + pub lhbejkbkbfh: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ccehanofija: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub oldlacmeodf: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "4")] + pub bbahgnpffni: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EquipWishlistPlan { + #[prost(enumeration = "Fohngdeoabe", tag = "1")] + pub plan_type: i32, + #[prost(uint32, repeated, tag = "2")] + pub wish_weapon_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub wish_equip_id_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7383)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkcmmbdnhjh { + #[prost(message, repeated, tag = "14")] + pub wishlist_plan_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6670)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Agphjggjcog { + #[xor(8854)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5227)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Foabnkbcfbp { + #[xor(10279)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hmdapjaompg {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9265)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbgokcdnnlh { + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(5684)] + #[prost(uint64, tag = "2")] + pub fkcdkdiacni: u64, + #[xor(1787)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "14")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5905)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdlibimjcda { + #[prost(bool, tag = "8")] + pub ooiglkgojao: bool, + #[prost(message, optional, tag = "3")] + pub mcphjdpaonh: ::core::option::Option, + #[xor(4838)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Maipbpekbdc { + #[prost(map = "uint32, message", tag = "1")] + pub ohdjghlgdmn: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4958)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgebkodhdpg { + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(2287)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "11")] + pub info: ::core::option::Option, + #[xor(365)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4296)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nekpgggknap { + #[prost(string, repeated, tag = "10")] + pub aigimnkliaf: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, tag = "13")] + pub gjfhobkjnki: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjkfbojfenj { + #[prost(bool, repeated, tag = "9")] + pub nobebdbohgi: ::prost::alloc::vec::Vec, + #[prost(bool, repeated, tag = "12")] + pub ggclmfflcmo: ::prost::alloc::vec::Vec, + #[xor(15622)] + #[prost(uint32, tag = "8")] + pub gfnhlgbjgob: u32, + #[prost(map = "uint32, message", tag = "4")] + pub dmaekgmngdj: ::std::collections::HashMap, + #[xor(8408)] + #[prost(uint32, tag = "2")] + pub mlcpadgnnaa: u32, + #[xor(7490)] + #[prost(uint32, tag = "3")] + pub ehgnjoadiag: u32, + #[xor(7663)] + #[prost(uint32, tag = "10")] + pub level: u32, + #[xor(5999)] + #[prost(uint32, tag = "7")] + pub bloacjjgihd: u32, + #[prost(uint32, repeated, tag = "15")] + pub idnfeaaogdm: ::prost::alloc::vec::Vec, + #[xor(8613)] + #[prost(uint32, tag = "14")] + pub cinjoonnbdh: u32, + #[xor(12222)] + #[prost(uint32, tag = "13")] + pub mkbmmdfnchh: u32, + #[prost(bool, tag = "5")] + pub dmbhcadiaim: bool, + #[xor(9288)] + #[prost(uint32, tag = "6")] + pub khapdnclhhb: u32, + #[prost(map = "uint32, uint32", tag = "11")] + pub dfiaecgehjf: ::std::collections::HashMap, + #[prost(bool, tag = "1")] + pub gmpfbanibdm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9529)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hegjggcmcno { + #[prost(uint32, repeated, tag = "8")] + pub kdohnlmegii: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub ofelflmaend: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dbolmknjonb { + #[xor(9627)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blaimkmfjom { + #[prost(message, optional, tag = "1")] + pub section_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9399)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bielgljgkil { + #[xor(2770)] + #[prost(uint32, tag = "2")] + pub template_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gjlffeeikik { + #[prost(uint64, tag = "1")] + pub fdfjcoccaoa: u64, + #[prost(uint32, tag = "2")] + pub pkhglebpcjo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fjllikjgdfm { + #[prost(int32, tag = "1")] + pub buddy_id: i32, + #[prost(int32, tag = "2")] + pub level: i32, + #[prost(int32, tag = "3")] + pub dajpnfhnapg: i32, + #[prost(int32, tag = "4")] + pub dghponikjgh: i32, + #[prost(int32, tag = "5")] + pub icoehgohboi: i32, + #[prost(int32, tag = "6")] + pub mmhajfmanmh: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(995)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dkkepppaiff {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7958)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdidjeeemin { + #[prost(message, repeated, tag = "4")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(9176)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, + #[xor(1511)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbollfkoaob { + #[prost(message, repeated, tag = "4")] + pub gffoejhfblb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub bdbmjjndknl: ::prost::alloc::vec::Vec, + #[xor(14708)] + #[prost(uint32, tag = "8")] + pub fhhpfcilimo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnnjlogihae { + #[prost(int32, repeated, tag = "10")] + pub unlock_id_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7514)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetVhsStoreInfoCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dldlohclbkn { + #[prost(bool, tag = "1")] + pub nldbieegndm: bool, + #[prost(bool, tag = "2")] + pub dcmikaacihk: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3815)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Njilnjfcpeg { + #[prost(bool, tag = "11")] + pub aiggacjpnfn: bool, + #[xor(13346)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, optional, tag = "2")] + pub dcpnffhjklk: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhbjnjggmgk { + #[prost(string, tag = "1")] + pub hikmaafpkki: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npkplehajjg { + #[xor(706)] + #[prost(uint32, tag = "6")] + pub hkopdmjdgjj: u32, + #[prost(message, repeated, tag = "2")] + pub mfcpmjmicai: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub aimmdoolkoe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8281)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Foamablgjgg { + #[prost(uint32, repeated, tag = "12")] + pub elgaoopdihb: ::prost::alloc::vec::Vec, + #[xor(832)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cjaplahiief {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(521)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cgcehccolpn { + #[xor(3992)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oaiocgaagmj { + #[prost(enumeration = "ModTimeType", tag = "1")] + pub ofcbapfcngk: i32, + #[prost(int32, tag = "2")] + pub bafafbhebei: i32, + #[prost(enumeration = "TimePeriodType", tag = "3")] + pub time_period: i32, + #[prost(int32, tag = "4")] + pub hdhlcgcaekh: i32, + #[prost(int32, tag = "5")] + pub dcokecdphhp: i32, + #[prost(bool, tag = "6")] + pub cokiofobafi: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5711)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aallcipkdcd { + #[xor(13499)] + #[prost(uint64, tag = "9")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "12")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(16125)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nalakdhfipj { + #[prost(uint32, tag = "1")] + pub lidgkemmpho: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fpnkpnncpja { + #[xor(3528)] + #[prost(uint64, tag = "3")] + pub lakbbenglbc: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aldbgbbgahi { + #[prost(int32, tag = "1")] + pub mahdaplbojj: i32, + #[prost(int32, tag = "2")] + pub piahiiofjdd: i32, + #[prost(string, repeated, tag = "3")] + pub dhmpgblbkod: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3948)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfafdeahooo { + #[prost(enumeration = "Aadpphncbde", tag = "5")] + pub hmndojdccae: i32, + #[xor(6316)] + #[prost(uint32, tag = "13")] + pub eempkedancd: u32, + #[prost(uint32, repeated, tag = "9")] + pub mpcmghnfnik: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(695)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kjffaapjcjd { + #[xor(15221)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3700)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lccoogadomg { + #[xor(1175)] + #[prost(uint32, tag = "3")] + pub ghifdkelobe: u32, + #[xor(2782)] + #[prost(uint32, tag = "10")] + pub cdklkjpfhhl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5050)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cmgffbcgeih { + #[prost(message, optional, tag = "1")] + pub dcpnffhjklk: ::core::option::Option, + #[prost(bool, tag = "14")] + pub aiggacjpnfn: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inlglkdimoh { + #[xor(7977)] + #[prost(uint32, tag = "2")] + pub ieoencendke: u32, + #[xor(3941)] + #[prost(uint32, tag = "4")] + pub kjongknfkee: u32, + #[xor(11509)] + #[prost(uint32, tag = "3")] + pub bhbfkmpaakh: u32, + #[prost(message, optional, tag = "5")] + pub fmopdcmedpc: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub gidapkddnkg: ::core::option::Option, + #[xor(4359)] + #[prost(uint32, tag = "1")] + pub kmmjjgagcch: u32, + #[xor(4249)] + #[prost(uint32, tag = "15")] + pub lcaidhpecok: u32, + #[prost(bool, tag = "13")] + pub ombgkbpjoai: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Heemkialgog { + #[prost(bool, tag = "1")] + pub hogpakjdmep: bool, + #[prost(bool, tag = "2")] + pub lnomjpoikmp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2049)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gljkbdkokpm { + #[xor(11534)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lelhnjloclp { + #[prost(bool, tag = "1")] + pub ldndhabjipp: bool, + #[prost(bool, tag = "2")] + pub jamlhgnkflp: bool, + #[prost(uint32, tag = "3")] + pub lidgkemmpho: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9924)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hakifealkid { + #[xor(9797)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akenaigjpae { + #[prost(message, optional, tag = "1")] + pub cjlmmcemecd: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub efpckpnefdc: ::core::option::Option, + #[prost(string, tag = "3")] + pub ielhgeoodoc: ::prost::alloc::string::String, + #[prost(enumeration = "HollowGridLink", tag = "4")] + pub hbjamoabjkf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BuddyInfo { + #[prost(message, repeated, tag = "5")] + pub skill_type_level: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub piaoijnhgeg: ::prost::alloc::vec::Vec, + #[xor(15660)] + #[prost(uint32, tag = "11")] + pub level: u32, + #[xor(11562)] + #[prost(uint32, tag = "10")] + pub star: u32, + #[prost(bool, tag = "6")] + pub aiggacjpnfn: bool, + #[xor(15563)] + #[prost(int64, tag = "1")] + pub first_get_time: i64, + #[xor(14536)] + #[prost(uint32, tag = "3")] + pub template_id: u32, + #[xor(16351)] + #[prost(uint32, tag = "8")] + pub exp: u32, + #[xor(10787)] + #[prost(uint32, tag = "12")] + pub mbogmbljkmi: u32, + #[xor(2308)] + #[prost(uint32, tag = "14")] + pub rank: u32, + #[prost(uint32, repeated, tag = "2")] + pub iladacjffif: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Biheojjcled { + #[prost(int32, tag = "1")] + pub akacgpjilpb: i32, + #[prost(int32, tag = "2")] + pub mbpojcmnelp: i32, + #[prost(int32, tag = "3")] + pub bbehfhcbgoi: i32, + #[prost(bool, tag = "4")] + pub nmdiinnohif: bool, + #[prost(bool, tag = "5")] + pub mbbckdgmicp: bool, + #[prost(bool, tag = "6")] + pub gggnmboolep: bool, + #[prost(enumeration = "Ggibodiabfo", tag = "7")] + pub perform_type: i32, + #[prost(bool, tag = "8")] + pub pjhldllddgo: bool, + #[prost(int32, repeated, tag = "9")] + pub gicohflnpjh: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "10")] + pub nmacbfegkdd: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, tag = "11")] + pub kmpeoibpobk: bool, + #[prost(bool, tag = "12")] + pub impfnjjaefn: bool, + #[prost(int32, tag = "13")] + pub afmfaeahhpa: i32, + #[prost(string, tag = "14")] + pub transform_id: ::prost::alloc::string::String, + #[prost(bool, tag = "15")] + pub hgingmcoece: bool, + #[prost(uint32, tag = "16")] + pub oohcihjendg: u32, + #[prost(uint32, tag = "17")] + pub kahfegnaikp: u32, + #[prost(bool, tag = "18")] + pub gfhegijnplf: bool, + #[prost(bool, tag = "19")] + pub bkkbljlojal: bool, + #[prost(bool, tag = "20")] + pub fjalikjodji: bool, + #[prost(bool, tag = "21")] + pub ckhgnbloopb: bool, + #[prost(bool, tag = "22")] + pub oifphllnano: bool, + #[prost(message, optional, tag = "23")] + pub ajleagodjfc: ::core::option::Option, + #[prost(enumeration = "Ejboopmcpbe", tag = "24")] + pub lhjlgchmndb: i32, + #[prost(map = "int32, string", tag = "25")] + pub participators: ::std::collections::HashMap, + #[prost(bool, tag = "27")] + pub fjbbogahjmc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7787)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dmhbjmnojjb { + #[xor(7473)] + #[prost(uint32, tag = "11")] + pub cdklkjpfhhl: u32, + #[xor(558)] + #[prost(uint32, tag = "7")] + pub hmmneikfple: u32, + #[xor(4930)] + #[prost(uint32, tag = "15")] + pub rank: u32, + #[xor(10455)] + #[prost(uint32, tag = "12")] + pub ghifdkelobe: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjbmkgldkgj { + #[prost(uint32, tag = "1")] + pub cbodlcbmnln: u32, + #[prost(enumeration = "Dneholfbajh", tag = "2")] + pub pekpeeeabmp: i32, + #[prost(uint32, repeated, tag = "3")] + pub fdmbamfkkbb: ::prost::alloc::vec::Vec, + #[prost(string, tag = "4")] + pub nmpddgmjhfi: ::prost::alloc::string::String, + #[prost(bool, tag = "5")] + pub mmhhmdfgkgm: bool, + #[prost(bool, tag = "6")] + pub ehgjlbopfhg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8638)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kebmchcaofg { + #[prost(message, repeated, tag = "2")] + pub lcipdallclh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6381)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjajbhcndei { + #[xor(11929)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(message, repeated, tag = "4")] + pub ldkdghblham: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Depifnoechk { + #[xor(2211)] + #[prost(uint32, tag = "9")] + pub eeinmbpaibc: u32, + #[xor(581)] + #[prost(uint32, tag = "12")] + pub pcfcghagbai: u32, + #[xor(11669)] + #[prost(uint32, tag = "2")] + pub pfhjoagpplg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kdeccblpofd { + #[prost(uint32, tag = "1")] + pub fiieiehipik: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abpjekeabng { + #[prost(message, optional, tag = "1")] + pub hghkfhimamo: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub bnigilljgip: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Pifnkldafnk", tag = "4")] + pub lbebfpjliob: i32, + #[prost(bool, tag = "5")] + pub kdajpkpfckd: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5471)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmgeeghdnbb { + #[xor(1754)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "1")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(8122)] + #[prost(uint64, tag = "4")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "8")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aonekheomjp { + #[prost(message, optional, tag = "1")] + pub hcnbjkelagn: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hfnjmebmkoi: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8242)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcalhdapgco { + #[xor(13548)] + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "2")] + pub janlibhllod: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnkcciffbom { + #[prost(message, optional, tag = "1")] + pub ccehanofija: ::core::option::Option, + #[prost(enumeration = "Mdamjpnblal", tag = "2")] + pub cjhcjdmdlij: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3259)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eepjdkijilb { + #[xor(2782)] + #[prost(uint32, tag = "13")] + pub buddy_id: u32, + #[xor(13525)] + #[prost(uint32, tag = "4")] + pub aeicekmldco: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Apkaegkfomm { + #[xor(10988)] + #[prost(uint32, tag = "1")] + pub idllagihbdd: u32, + #[prost(message, repeated, tag = "10")] + pub panmgfnlmlk: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Lhckbjiamjd", tag = "9")] + pub ecnaljkfgfk: i32, + #[xor(6548)] + #[prost(uint32, tag = "3")] + pub mfnbmnibilo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(948)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bgjmfbiafld { + #[xor(14274)] + #[prost(uint32, tag = "13")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nplhhkgpbli { + #[xor(6354)] + #[prost(uint32, tag = "1")] + pub ohbbnkgfjaa: u32, + #[xor(12742)] + #[prost(uint32, tag = "10")] + pub ddobnidfide: u32, + #[xor(6319)] + #[prost(uint32, tag = "8")] + pub janpnelangi: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mobajijlana { + #[prost(message, optional, tag = "1")] + pub gnepnfbhfop: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub lkdbeecbglo: ::core::option::Option, + #[prost(enumeration = "Chlbmblieoe", tag = "3")] + pub dkmepflgcmf: i32, + #[prost(bool, tag = "4")] + pub aigbmbgkfkf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4190)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnfjpjjmacm { + #[xor(11701)] + #[prost(uint32, tag = "5")] + pub avatar_id: u32, + #[prost(string, tag = "2")] + pub nick_name: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2056)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kobdodgcldi {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7761)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetVideoUsmKeyDataScRsp { + #[prost(map = "uint32, uint64", tag = "6")] + pub video_usm_key_map: ::std::collections::HashMap, + #[xor(11981)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8998)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetPlayerMailsScRsp { + /// VMP DETECTED + /// + #[prost(message, repeated, tag = "1")] + pub hpcmenijnpk: ::prost::alloc::vec::Vec, + #[xor(3710)] + #[prost(uint32, tag = "2")] + pub mokhbngncba: u32, + #[xor(5499)] + #[prost(int32, tag = "6")] + pub retcode: i32, + #[xor(423)] + #[prost(uint32, tag = "7")] + pub bofegecbbbc: u32, + #[prost(bool, tag = "10")] + pub eijpdgckolc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cemkomcmfcn { + #[prost(enumeration = "Pcekojidped", tag = "1")] + pub ekbfgknccph: i32, + #[prost(string, tag = "2")] + pub dcpnffhjklk: ::prost::alloc::string::String, + #[prost(enumeration = "Elbfmaaicom", tag = "3")] + pub fpbfehmkhgp: i32, + #[prost(message, repeated, tag = "4")] + pub booilddffge: ::prost::alloc::vec::Vec, + #[prost(map = "string, message", tag = "5")] + pub jjfjncfjaca: ::std::collections::HashMap< + ::prost::alloc::string::String, + Jiahalkoppm, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lnpeieklcbp { + #[xor(9601)] + #[prost(uint32, tag = "5")] + pub bmlgnlcbdon: u32, + #[xor(10321)] + #[prost(uint32, tag = "6")] + pub eefnagmngii: u32, + #[xor(12398)] + #[prost(uint32, tag = "2")] + pub edlgemojkgd: u32, + #[prost(bool, tag = "1")] + pub bmmcailanbh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikhadmdegob { + #[prost(enumeration = "Hlccdmafgcg", tag = "1")] + pub owner_type: i32, + #[prost(message, optional, tag = "2")] + pub dflfdcddjfj: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub bojkodfnkdp: ::core::option::Option, + #[prost(bool, tag = "4")] + pub iegidmlamjd: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(575)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjdinccfldl { + #[prost(message, repeated, tag = "3")] + pub mfbankeklmi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcegmgfhgpo { + #[prost(uint32, repeated, tag = "1")] + pub llloljloioh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nkhheoegnal { + #[prost(int32, tag = "1")] + pub lejjmnoopnm: i32, + #[prost(int32, tag = "2")] + pub ofgfdeipfaj: i32, + #[prost(int32, tag = "3")] + pub emboajldipc: i32, + #[prost(int32, tag = "4")] + pub hicelnbodon: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5379)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lkojjlibffm { + #[xor(5969)] + #[prost(uint32, tag = "6")] + pub jhooejigljp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8240)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fogmfnfokob { + #[prost(message, optional, tag = "15")] + pub gfkogpnmnfe: ::core::option::Option, + #[prost(bool, tag = "6")] + pub fflhjpjecci: bool, + #[xor(13654)] + #[prost(int32, tag = "5")] + pub olfbdmnhdgm: i32, + #[xor(11065)] + #[prost(int64, tag = "14")] + pub lcmphgcpdbd: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2862)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ookkhajiefa { + #[prost(string, tag = "15")] + pub pcjfkihokcd: ::prost::alloc::string::String, + #[xor(10412)] + #[prost(uint32, tag = "1")] + pub lgnobbdbgdl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhddbonikef { + #[prost(message, optional, tag = "1")] + pub uid: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub cbdjgmblind: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Khbcdfndoii { + #[prost(int32, tag = "1")] + pub aaehfebimmn: i32, + #[prost(int32, tag = "2")] + pub elhigcnmfpp: i32, + #[prost(int32, tag = "3")] + pub pkgdappamag: i32, + #[prost(message, optional, tag = "4")] + pub bbifhobagom: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8172)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlkpllbdkja { + #[prost(uint32, repeated, tag = "6")] + pub jmbjngjplka: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub omoplmpfpnp: bool, + #[xor(12348)] + #[prost(uint32, tag = "9")] + pub hakcepdodmj: u32, + #[prost(uint32, repeated, tag = "3")] + pub dfdmejeidpg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub ieploccockn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eapifgpdhhd { + #[xor(1291)] + #[prost(int32, tag = "5")] + pub cbdjgmblind: i32, + #[xor(1206)] + #[prost(int32, tag = "6")] + pub ghjlpmnimjm: i32, + #[prost(string, tag = "13")] + pub hfgdjcfhokn: ::prost::alloc::string::String, + #[prost(message, optional, tag = "11")] + pub kbnjjnkohek: ::core::option::Option, + #[prost(enumeration = "Konhdgokibf", tag = "10")] + pub epekkmbndao: i32, + #[prost(string, tag = "4")] + pub fgnjadfcnlj: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cggkgnbkoii { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub fkkbflokodb: i32, + #[prost(message, optional, tag = "2")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub opgkkfolfkn: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub najejmghlin: ::core::option::Option, + #[prost(enumeration = "Dekghfophnj", tag = "5")] + pub gojjfbjajbi: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1607)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pcogfghhfmi { + #[xor(9683)] + #[prost(uint32, tag = "8")] + pub dlpjmdlcigp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmohobjccii { + #[xor(8376)] + #[prost(int64, tag = "8")] + pub ohmjonpccoi: i64, + #[xor(14692)] + #[prost(uint32, tag = "3")] + pub bkhbhkhpfkk: u32, + #[xor(2778)] + #[prost(uint32, tag = "10")] + pub fiieiehipik: u32, + #[xor(4358)] + #[prost(uint32, tag = "6")] + pub lmhbmgijejl: u32, + #[xor(13592)] + #[prost(int64, tag = "11")] + pub gchkakdpagi: i64, + #[xor(15010)] + #[prost(uint32, tag = "7")] + pub buy_times: u32, + #[prost(message, repeated, tag = "14")] + pub hpkglgmeaom: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub idckngiaigp: ::prost::alloc::vec::Vec, + #[xor(3501)] + #[prost(uint32, tag = "2")] + pub lidlknaende: u32, + #[xor(262)] + #[prost(uint32, tag = "15")] + pub nmiichclpgb: u32, + #[xor(1491)] + #[prost(uint32, tag = "12")] + pub ieacoaekljj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hgkpeaginld { + #[xor(3169)] + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(bool, tag = "7")] + pub epekkmbndao: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mmdmkbodmnc { + #[prost(bool, tag = "1")] + pub hphiohioefo: bool, + #[prost(int32, tag = "2")] + pub dbhnkdkfgck: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cbpfcahaffk { + #[xor(5855)] + #[prost(int32, tag = "14")] + pub fhdcilebnje: i32, + #[xor(10993)] + #[prost(uint64, tag = "15")] + pub eklklnfifpd: u64, + #[prost(bool, tag = "11")] + pub kaahefidpdo: bool, + #[xor(9239)] + #[prost(int32, tag = "6")] + pub ngjonildieh: i32, + #[xor(14927)] + #[prost(int32, tag = "1")] + pub ohacekocohk: i32, + #[xor(13813)] + #[prost(uint64, tag = "9")] + pub kdnokkhpppd: u64, + #[prost(bool, tag = "8")] + pub jheoednneco: bool, + #[prost(bool, tag = "13")] + pub dmohodifghj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgchnmjljoe { + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Degmfgmlghf { + #[prost(uint32, repeated, tag = "1")] + pub moonkhcmidl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7925)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jfjnppncaeb { + #[xor(8608)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1823)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehckbijadmm { + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(2721)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[xor(10218)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccddhacohlh { + #[prost(message, optional, tag = "1")] + pub ajahcppikip: ::core::option::Option, + #[prost(bool, tag = "2")] + pub iddjpjibaii: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iaokajjdjhe { + #[prost(enumeration = "Ljkhahbeibc", tag = "1")] + pub iknijigepgi: i32, + #[prost(string, tag = "2")] + pub annagdfjlnl: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hjhhocoamcf { + #[prost(uint32, tag = "1")] + pub npc_id: u32, + #[prost(uint32, tag = "2")] + pub interaction: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbinjfjboil { + #[prost(string, tag = "1")] + pub ogedeeiecbg: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub kfolmoelmno: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub jedjcajmoag: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub cpbdmaeadjb: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub ddpieijfepk: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub ijeeifjcoge: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub mdddnienlne: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Abecmiebjoo { + #[prost(int32, tag = "1")] + pub r#type: i32, + #[prost(int64, tag = "2")] + pub flbkfpdokpd: i64, + #[prost(int32, tag = "3")] + pub dpaeikpkhgl: i32, + #[prost(int32, tag = "4")] + pub mpcjcfjgdoe: i32, + #[prost(int32, tag = "5")] + pub jhimoclhfnl: i32, + #[prost(int32, tag = "6")] + pub eedkkdadncg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iiafhdmdhlb { + #[prost(uint32, tag = "1")] + pub ofkbfbdecof: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gkcllloadhd { + #[xor(10816)] + #[prost(uint32, tag = "8")] + pub quest_id: u32, + #[prost(enumeration = "Jjemckddgna", tag = "7")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3932)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mmiiehdmfgp { + #[xor(10292)] + #[prost(uint32, tag = "4")] + pub plcmabdfkpf: u32, + #[xor(9424)] + #[prost(uint32, tag = "7")] + pub ohdkcchhekh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpacbnjfibm { + #[prost(enumeration = "Dljpnlkgnli", tag = "1")] + pub ggoeinmcnip: i32, + #[prost(message, optional, tag = "2")] + pub koamjailkge: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub pckcfdffhaj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjdbgcpcnjo { + #[prost(message, optional, tag = "1")] + pub dcpnffhjklk: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub lkdbeecbglo: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3768)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aaajggcdjhi { + #[xor(4416)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "4")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[xor(15366)] + #[prost(uint64, tag = "13")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Legmeddenjf { + #[prost(message, optional, tag = "1")] + pub gmgpeclahdm: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hjccppalmgp: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jjoabjhhcgc { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(message, optional, tag = "2")] + pub fanaammajeg: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub ohddhacicke: u32, + #[prost(bool, tag = "4")] + pub claghdagoid: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kibkggifpni { + #[prost(message, repeated, tag = "1")] + pub aekkjojcmih: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub cinjjaaihao: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub fgkkeicjpol: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub lglnlkdegjb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmjmjmklanp { + #[xor(12690)] + #[prost(int64, tag = "10")] + pub ekaidkcbfba: i64, + #[prost(message, repeated, tag = "5")] + pub cadapbfhflm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub jocpnfclmfi: ::prost::alloc::vec::Vec, + #[xor(9169)] + #[prost(uint32, tag = "12")] + pub jeakigaeeek: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6485)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pknhifddhom { + #[xor(3390)] + #[prost(uint32, tag = "8")] + pub quest_id: u32, + #[xor(10035)] + #[prost(uint32, tag = "13")] + pub level: u32, + #[xor(11035)] + #[prost(uint32, tag = "9")] + pub ofkbfbdecof: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1121)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bomelpnkdno { + #[xor(13129)] + #[prost(uint64, tag = "11")] + pub fdfjcoccaoa: u64, + #[xor(3012)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "6")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "12")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ehbnpglnccp { + #[prost(message, optional, tag = "9")] + pub nfmojhjjldd: ::core::option::Option, + #[xor(13034)] + #[prost(uint32, tag = "6")] + pub section_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkgakfobpko { + #[prost(message, repeated, tag = "1")] + pub pcafkgehcan: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub jehbjmehcnf: bool, + #[prost(message, repeated, tag = "3")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub khebfdaihah: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkmljmlfoff { + #[prost(enumeration = "HollowSystemType", repeated, tag = "1")] + pub dcpnffhjklk: ::prost::alloc::vec::Vec, + #[prost(enumeration = "HollowSystemUiState", tag = "2")] + pub hfgdjcfhokn: i32, + #[prost(bool, tag = "3")] + pub jjgifknonmk: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7945)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hobefaohgmh { + #[xor(11044)] + #[prost(uint32, tag = "5")] + pub tag: u32, + #[prost(string, tag = "2")] + pub dbpgkfefhdc: ::prost::alloc::string::String, + #[prost(bool, tag = "13")] + pub aeligclccbc: bool, + #[prost(string, tag = "12")] + pub nbhmladoiha: ::prost::alloc::string::String, + #[xor(5750)] + #[prost(uint32, tag = "14")] + pub mdhgabkhecm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2347)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bkjgakdlnil { + #[xor(13750)] + #[prost(uint32, tag = "10")] + pub tag: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5606)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epiimblfoil { + #[xor(9445)] + #[prost(uint32, tag = "2")] + pub ghifdkelobe: u32, + #[prost(enumeration = "Dhfipdagnca", tag = "9")] + pub r#type: i32, + #[prost(message, repeated, tag = "10")] + pub fdiiceldocj: ::prost::alloc::vec::Vec, + #[xor(14465)] + #[prost(uint32, tag = "1")] + pub ecpkdblgehf: u32, + #[xor(10708)] + #[prost(uint32, tag = "14")] + pub egckaglnjfm: u32, + #[xor(7409)] + #[prost(uint32, tag = "11")] + pub ioogiohdifi: u32, + #[xor(5320)] + #[prost(uint32, tag = "7")] + pub dfimnimpbgi: u32, + #[xor(8311)] + #[prost(uint32, tag = "15")] + pub ocehkhdpked: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(403)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dkgbaoooiae {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6973)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amoddnadeef { + #[prost(int32, repeated, tag = "14")] + pub ghpgoddilaa: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anjighlbghp { + #[prost(int32, repeated, tag = "15")] + pub quest_id: ::prost::alloc::vec::Vec, + #[xor(1602)] + #[prost(int32, tag = "12")] + pub lfdpcgidmoe: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gegkbjlaiff { + #[xor(4668)] + #[prost(uint32, tag = "10")] + pub kjnibibeich: u32, + #[prost(uint32, repeated, tag = "5")] + pub hapibhgaepp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mgjcnojahnj { + #[prost(message, optional, tag = "14")] + pub nfmojhjjldd: ::core::option::Option, + #[xor(13432)] + #[prost(uint32, tag = "10")] + pub lhbejkbkbfh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7167)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oigkgbjllob { + #[prost(bool, tag = "5")] + pub pcgjoacldjj: bool, + #[prost(string, tag = "9")] + pub hffbkejepng: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub dgjkhnbbllh: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljmcpjodflk { + #[prost(uint32, repeated, tag = "15")] + pub acjgglonpao: ::prost::alloc::vec::Vec, + #[xor(1522)] + #[prost(uint32, tag = "12")] + pub dpjkojgfhnj: u32, + #[prost(message, optional, tag = "11")] + pub level_perform_info: ::core::option::Option, + #[prost(uint32, repeated, tag = "3")] + pub fknoiplkjpd: ::prost::alloc::vec::Vec, + #[xor(1702)] + #[prost(uint32, tag = "9")] + pub moinkhdnaoo: u32, + #[xor(5417)] + #[prost(uint32, tag = "2")] + pub ajdbmpdjmcd: u32, + #[xor(2630)] + #[prost(uint32, tag = "5")] + pub pglhelicfcf: u32, + #[xor(692)] + #[prost(uint32, tag = "10")] + pub aiajckoonbf: u32, + #[xor(3853)] + #[prost(uint32, tag = "1")] + pub mnncckhmdnl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4768)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndnlagmjjak { + #[prost(uint32, repeated, tag = "1")] + pub fgddncbdpal: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9704)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mekiclkikcc { + #[xor(13879)] + #[prost(uint32, tag = "6")] + pub iahpcojelin: u32, + #[xor(15137)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6305)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lplmocikfmi { + #[xor(14849)] + #[prost(int32, tag = "12")] + pub avatar_id: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Okjkhnckaln {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9359)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cmjdlfiabjh { + #[xor(3818)] + #[prost(int32, tag = "2")] + pub ioljfbjpdkf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lcdfcingmnn { + #[xor(2412)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lebihdbodgd {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jkemoonnadc { + #[prost(int32, tag = "1")] + pub balojeikfko: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kncpaalffej { + #[prost(message, optional, tag = "1")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub fpclgmdcdhm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8789)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Haaioopgobm { + #[xor(15358)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(15914)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lepabinenpm { + #[prost(message, repeated, tag = "1")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub ddbmjpajmnc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2993)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oilgocfonkj { + #[xor(6280)] + #[prost(uint32, tag = "5")] + pub efpckpnefdc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mclejgfehci { + #[prost(message, optional, tag = "1")] + pub dcpnffhjklk: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub lmembdefodj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8574)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idobpmiikkd { + #[prost(uint32, repeated, tag = "11")] + pub bfgenanklmg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fncblpnlfee { + #[xor(13729)] + #[prost(uint32, tag = "13")] + pub template_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ciibmdoacjk { + #[prost(message, repeated, tag = "1")] + pub dgdgiibpjlb: ::prost::alloc::vec::Vec, + #[prost(enumeration = "HollowShopCurrencyType", tag = "2")] + pub pbjklbpmail: i32, + #[prost(enumeration = "HollowShopType", tag = "3")] + pub kibjdojigki: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imllgaeefpl { + #[prost(message, repeated, tag = "7")] + pub baagkncpoec: ::prost::alloc::vec::Vec, + #[xor(5638)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9920)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aolhmbkelod { + #[prost(uint32, repeated, tag = "8")] + pub iokmnhfmblk: ::prost::alloc::vec::Vec, + #[xor(1068)] + #[prost(uint32, tag = "3")] + pub ghifdkelobe: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1542)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlogcaghjlf { + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, + #[xor(8765)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(7667)] + #[prost(uint64, tag = "1")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3023)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Naedkbfmegg { + #[xor(7007)] + #[prost(uint32, tag = "15")] + pub fimdcbogmnh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cibkdhomnnh { + #[prost(int32, tag = "1")] + pub jaeffcokjfo: i32, + #[prost(int32, tag = "2")] + pub ofkbfbdecof: i32, + #[prost(int32, tag = "3")] + pub flbkfpdokpd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nnnnhendebf { + #[xor(14210)] + #[prost(uint32, tag = "10")] + pub lbcgcfafban: u32, + #[xor(13972)] + #[prost(uint32, tag = "15")] + pub ialhnmeldfj: u32, + #[xor(11287)] + #[prost(uint32, tag = "11")] + pub lfbephmhffn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9027)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khmbbhkilhe { + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, + #[xor(9887)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[xor(6305)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "1")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jpkllomllkf {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5592)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pmhgpkglhcf { + #[prost(bool, tag = "10")] + pub fkfkhallogi: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dfiecljpmeh {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ncdnglmifnl {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7326)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikkfngbpjpj { + /// VMP DETECTED + /// + #[xor(14064)] + #[prost(uint32, tag = "1")] + pub nlfcgpnfohh: u32, + #[prost(message, optional, tag = "2")] + pub ekhpegjllfk: ::core::option::Option, + #[prost(uint32, repeated, tag = "3")] + pub foacgpjpgph: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub avatars: ::prost::alloc::vec::Vec, + #[xor(9370)] + #[prost(uint32, tag = "7")] + pub quest_id: u32, + #[prost(bool, tag = "8")] + pub hpepmipfeab: bool, + #[prost(uint32, repeated, tag = "10")] + pub lknanbnjnig: ::prost::alloc::vec::Vec, + #[xor(5953)] + #[prost(uint32, tag = "11")] + pub level: u32, + #[prost(bool, tag = "13")] + pub mmbkjcekdkd: bool, + #[xor(4741)] + #[prost(uint32, tag = "14")] + pub ofkbfbdecof: u32, + #[prost(bool, tag = "15")] + pub olmbckeopdg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljhpjdcgnel { + #[prost(message, optional, tag = "13")] + pub cmoohlkponc: ::core::option::Option, + #[prost(message, repeated, tag = "14")] + pub kbifaecbfip: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khjoahnaohk { + #[prost(bool, tag = "1")] + pub fcnfkibbleo: bool, + #[prost(message, optional, tag = "2")] + pub ocphdlakcfj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odapckjkeog { + #[prost(string, tag = "1")] + pub interaction: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub interact_id: i32, + #[prost(message, optional, tag = "3")] + pub nognjnhlijl: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub bifkoifhcgh: ::prost::alloc::vec::Vec, + #[prost(map = "int32, string", tag = "5")] + pub participators: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eakjjklglng { + #[xor(7355)] + #[prost(uint32, tag = "5")] + pub avatar_id: u32, + #[xor(1333)] + #[prost(uint32, tag = "8")] + pub count: u32, + #[xor(10237)] + #[prost(uint32, tag = "6")] + pub fiieiehipik: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(52)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jhblcehmgbn { + #[xor(11842)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbknjfagiok { + #[prost(uint32, repeated, tag = "1")] + pub ipmafiacbcf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmmmmmagbpa { + #[prost(map = "string, message", tag = "1")] + pub icmmjhhchlm: ::std::collections::HashMap< + ::prost::alloc::string::String, + Bgfagbigfch, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pojdckdpchk { + #[prost(message, optional, tag = "1")] + pub efhegbaboip: ::core::option::Option, + #[prost(string, tag = "2")] + pub eeajbkdknin: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhaagdpdkon { + #[prost(int32, tag = "1")] + pub kginbigkgdp: i32, + #[prost(int32, tag = "2")] + pub level: i32, + #[prost(int32, tag = "3")] + pub ephpdchbpfd: i32, + #[prost(message, optional, tag = "4")] + pub jmfjopaphof: ::core::option::Option, + #[prost(bool, tag = "5")] + pub akeflfnlnpd: bool, + #[prost(int32, tag = "6")] + pub aldbmeomoni: i32, + #[prost(int32, tag = "7")] + pub dmifmgfbbbp: i32, + #[prost(int32, tag = "8")] + pub eakeljoigdm: i32, + #[prost(message, repeated, tag = "9")] + pub hanmcacjjmi: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "10")] + pub nbhlmgjpiad: u64, + #[prost(string, tag = "11")] + pub ehkaheeajkf: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgeglgnpdoo { + #[prost(map = "uint32, int32", tag = "3")] + pub jffnjbpadnp: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9415)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Phlekahbebp {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4868)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetAbyssInfoCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3119)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekeplmdkpnp { + #[prost(message, optional, tag = "4")] + pub info: ::core::option::Option, + #[xor(10530)] + #[prost(uint64, tag = "6")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(11643)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3602)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cagodlldhec { + #[prost(message, optional, tag = "11")] + pub gnmnjmfceji: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iecnlmdfile { + #[prost(message, repeated, tag = "1")] + pub dedkcldjeke: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "2")] + pub bndbmcimndi: ::std::collections::HashMap, + #[xor(13653)] + #[prost(uint32, tag = "15")] + pub hjgkoppfpoc: u32, + #[xor(3656)] + #[prost(uint32, tag = "8")] + pub gddmfldebba: u32, + #[xor(10033)] + #[prost(uint32, tag = "11")] + pub jnclidfomal: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9520)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjahpdfklpn { + #[prost(uint32, repeated, tag = "15")] + pub oieckpggolh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fniaalmpekn { + #[prost(uint32, tag = "1")] + pub bhjaacppeaj: u32, + #[prost(message, optional, tag = "2")] + pub ocmcopcimdl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub gmjdniciaba: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub mcabfbhhenk: ::core::option::Option, + #[prost(enumeration = "Dljpnlkgnli", tag = "5")] + pub ggoeinmcnip: i32, + #[prost(message, optional, tag = "6")] + pub koamjailkge: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mahjgnnhfcj { + #[prost(bool, tag = "1")] + pub jiohcoaihga: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3970)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bkkghfkdhlk { + #[xor(9039)] + #[prost(uint32, tag = "15")] + pub hfjlnhneoef: u32, + #[prost(message, optional, tag = "12")] + pub peahnpkmoon: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3908)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ffeflcilgne { + #[xor(2191)] + #[prost(int32, tag = "2")] + pub retcode: i32, + #[xor(12341)] + #[prost(uint32, tag = "4")] + pub iahpcojelin: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3615)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dleckgbfolp { + #[xor(7829)] + #[prost(uint64, tag = "4")] + pub gglnpjfcibj: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9463)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmbilipgfeo { + #[xor(2371)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, + #[xor(725)] + #[prost(uint64, tag = "10")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkjgocgogbn { + #[prost(enumeration = "Aeoihpdcomb", tag = "1")] + pub lcbkchjojhc: i32, + #[prost(string, tag = "2")] + pub kcclegdlljc: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub eiifnmemmim: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub kpmakfehbal: ::prost::alloc::string::String, + #[prost(uint32, tag = "5")] + pub balfodofeha: u32, + #[prost(uint32, tag = "6")] + pub kianbndmmaj: u32, + #[prost(float, tag = "7")] + pub pnjiacpannf: f32, + #[prost(uint32, tag = "8")] + pub uid: u32, + #[prost(bool, tag = "9")] + pub llmpakgngpn: bool, + #[prost(bool, tag = "10")] + pub mlhocfiogha: bool, + #[prost(bool, tag = "11")] + pub mleoedkohah: bool, + #[prost(bool, tag = "12")] + pub ngpbempppia: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mnjohnnpnhm { + #[prost(uint32, tag = "1")] + pub fiieiehipik: u32, + #[prost(int32, tag = "2")] + pub padncenkkpd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnmjkpbphph { + #[prost(message, optional, tag = "1")] + pub eoiaolfbaka: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub ibkpcfmcbdm: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Hjjfmgkeadh", tag = "3")] + pub hfobncpfona: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbhcmdjgjfa { + #[prost(enumeration = "ChessUiControlType", tag = "12")] + pub kmmblnlnkgo: i32, + #[xor(381)] + #[prost(int32, tag = "15")] + pub count: i32, + #[prost(string, tag = "10")] + pub dcpnffhjklk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbhbggealji { + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub booilddffge: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4167)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Padjjidniko { + #[xor(9679)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjpdeanepli { + #[prost(string, tag = "1")] + pub dfofmcnifeb: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nmeojnoeicg { + #[xor(9366)] + #[prost(uint32, tag = "4")] + pub bkmgijmnlpf: u32, + #[xor(8258)] + #[prost(int32, tag = "14")] + pub cdadpjibidh: i32, + #[xor(4462)] + #[prost(int32, tag = "8")] + pub dnooflniaah: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejahjjlahdb { + #[prost(uint32, repeated, tag = "1")] + pub nfplimjjegm: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub offdoplcblh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub jolibicmihb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mofaefjglci { + #[prost(message, optional, tag = "1")] + pub dlopoffjoae: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub jkiejmkmfjb: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub khlbmhgjpde: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub dfhcfkhooll: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub pljgoabaknj: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub nnlbkobbakb: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub jbhlcbnfhoa: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub level: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7414)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hiinaokggfi { + #[xor(7069)] + #[prost(uint64, tag = "4")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, + #[xor(6240)] + #[prost(uint64, tag = "2")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfknjfdiphf { + #[prost(bytes = "vec", tag = "10")] + pub bokbobffkkp: ::prost::alloc::vec::Vec, + #[xor(8242)] + #[prost(int32, tag = "5")] + pub fkkbflokodb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9911)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oplhdadpeip { + #[prost(string, repeated, tag = "5")] + pub aigimnkliaf: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, tag = "11")] + pub gjfhobkjnki: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkheokgfbfo { + #[prost(enumeration = "Hlccdmafgcg", tag = "1")] + pub owner_type: i32, + #[prost(message, optional, tag = "2")] + pub bojkodfnkdp: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub dflfdcddjfj: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub jikgnoliede: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub lfenkhmkjbo: bool, + #[prost(bool, tag = "6")] + pub capkioblghb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(208)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkppmbjejfe { + #[prost(message, optional, tag = "14")] + pub abofjbndfif: ::core::option::Option, + #[xor(3263)] + #[prost(uint32, tag = "13")] + pub r#type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jlnpkmeicjp { + #[xor(2182)] + #[prost(int32, tag = "14")] + pub kbhigbiigjl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2922)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetPrivateMessageDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct NewsStandData { + #[prost(bool, tag = "12")] + pub ocmofhoppkc: bool, + #[prost(uint32, repeated, tag = "11")] + pub fdadepmfjac: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub jjgokojnefh: bool, + #[prost(uint32, repeated, tag = "7")] + pub nhgdndafbcc: ::prost::alloc::vec::Vec, + #[xor(9327)] + #[prost(int64, tag = "2")] + pub bedkheljdlh: i64, + #[prost(uint32, repeated, tag = "10")] + pub kdpdanfabji: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub dhecodomobi: ::prost::alloc::vec::Vec, + #[xor(6713)] + #[prost(int64, tag = "15")] + pub inmdjbpgooo: i64, + #[xor(6166)] + #[prost(int32, tag = "1")] + pub aenedopfmad: i32, + #[xor(3386)] + #[prost(uint32, tag = "6")] + pub chjeiofopjp: u32, + #[xor(449)] + #[prost(uint32, tag = "14")] + pub fhmjplajjla: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8092)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gndcoobecbi { + /// VMP DETECTED + /// + #[xor(4454)] + #[prost(uint32, tag = "11")] + pub template_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5511)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Goifhgbolai { + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[xor(7995)] + #[prost(uint64, tag = "12")] + pub fkcdkdiacni: u64, + #[xor(2077)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "5")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1893)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mhkeogcookk { + #[xor(2742)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iciliafecjm { + #[xor(14289)] + #[prost(int32, tag = "1")] + pub pjpkjmkdgmg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Paenajhaklp { + #[prost(int32, tag = "1")] + pub mgkoacfjjea: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kccojhohkhn { + #[prost(message, repeated, tag = "14")] + pub aoppojcdgge: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Namdlaboohm { + #[xor(12262)] + #[prost(uint32, tag = "6")] + pub njejpjnghko: u32, + #[prost(map = "uint32, message", tag = "4")] + pub bmjbbpihpka: ::std::collections::HashMap, + #[xor(12128)] + #[prost(uint32, tag = "13")] + pub mibfimdanol: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4863)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ncfopecbjdf { + #[xor(15421)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iaadompedil { + #[prost(string, repeated, tag = "8")] + pub ihgeceapmdj: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pdgnpglapon { + #[xor(10750)] + #[prost(uint32, tag = "15")] + pub buddy_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4555)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Deonighedhn { + /// VMP DETECTED + /// + #[xor(12492)] + #[prost(int32, tag = "3")] + pub retcode: i32, + #[xor(138)] + #[prost(int32, tag = "13")] + pub dibcimkjiek: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcdillohlpc { + #[prost(message, repeated, tag = "10")] + pub hkmoofcjcao: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Mgnmgkdigof", tag = "4")] + pub pjneiaehofa: i32, + #[prost(bool, tag = "8")] + pub pikcjohhggb: bool, + #[prost(bool, tag = "12")] + pub jmncipfggcl: bool, + #[prost(message, optional, tag = "13")] + pub ndfflmijifd: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub cmdmmekcafk: ::core::option::Option, + #[xor(7578)] + #[prost(int32, tag = "5")] + pub gianhlaenfe: i32, + #[prost(message, optional, tag = "14")] + pub gghjmgpeoef: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub jpjfpclpajl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6980)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetNewsStandDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kndpfelbiog { + #[prost(message, optional, tag = "1")] + pub efpckpnefdc: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub clgdocgoggb: ::core::option::Option, + #[prost(int32, tag = "3")] + pub mcnmkdmidlo: i32, + #[prost(int32, tag = "4")] + pub iimjbhikfoj: i32, + #[prost(int32, tag = "5")] + pub ghjlpmnimjm: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6918)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hhijhknadcd { + #[xor(5064)] + #[prost(uint32, tag = "13")] + pub naddadoemff: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkjilhpflfl { + #[prost(message, optional, tag = "6")] + pub dcpnffhjklk: ::core::option::Option, + #[prost(float, tag = "10")] + pub lkdbeecbglo: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Keibolamhkh { + #[prost(string, tag = "4")] + pub nick_name: ::prost::alloc::string::String, + #[xor(4525)] + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(message, optional, tag = "12")] + pub pidlpiilgmo: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub jjamhmjefdm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fapnmdfibnk { + #[prost(message, optional, tag = "1")] + pub fiieiehipik: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2601)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetVideoUsmKeyDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpeefolbccc { + #[prost(uint32, repeated, tag = "1")] + pub gnbgjkfeckj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub ahebjlfhlma: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(792)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetPlayerBasicInfoCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofpoplhpphj { + #[prost(string, tag = "1")] + pub booilddffge: ::prost::alloc::string::String, + #[prost(string, tag = "14")] + pub lcljjhpcdca: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub sign: ::prost::alloc::string::String, + #[xor(11019)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgmpnogfahj { + #[xor(16027)] + #[prost(uint32, tag = "6")] + pub ioelladeldh: u32, + #[prost(int32, repeated, tag = "2")] + pub lcinneoellg: ::prost::alloc::vec::Vec, + #[xor(10947)] + #[prost(int64, tag = "8")] + pub ahcebnbckcp: i64, + #[xor(14973)] + #[prost(uint32, tag = "13")] + pub occfljmgnlo: u32, + #[prost(message, optional, tag = "15")] + pub ekfnchlpcnp: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9032)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mhbffkmaaeg { + #[xor(4597)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knnbmcoldbg { + #[prost(message, optional, tag = "1")] + pub name: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub lkdbeecbglo: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "3")] + pub ekbfgknccph: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9328)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkbhbbgfiee { + #[xor(15543)] + #[prost(uint32, tag = "13")] + pub quest_id: u32, + #[prost(uint32, repeated, tag = "9")] + pub cphblbejaon: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hcaoihnkiih { + #[prost(int32, tag = "1")] + pub pjbpfknnjem: i32, + #[prost(int32, tag = "2")] + pub r#type: i32, + #[prost(bool, tag = "3")] + pub djldiehhajf: bool, + #[prost(bool, tag = "4")] + pub gfhegijnplf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Efmhlbmmfid { + #[prost(int32, tag = "1")] + pub pohnmenbegi: i32, + #[prost(int32, tag = "2")] + pub llffkfoejgj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Idlcbkcecae { + #[prost(float, tag = "1")] + pub fhaiilcnkmj: f32, + #[prost(bool, tag = "2")] + pub khebfdaihah: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4679)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetServerTimestampScRsp { + #[xor(14515)] + #[prost(int32, tag = "8")] + pub retcode: i32, + #[xor(2465)] + #[prost(uint64, tag = "13")] + pub timestamp: u64, + #[xor(721)] + #[prost(int32, tag = "5")] + pub utc_offset: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iffeadlgjka { + #[prost(map = "int32, message", tag = "6")] + pub ejdpkcajckf: ::std::collections::HashMap, + #[prost(float, repeated, tag = "12")] + pub hfphdjhnldb: ::prost::alloc::vec::Vec, + #[prost(map = "int32, message", tag = "15")] + pub ncmocbajgbc: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6598)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjbekbnkfpm { + #[xor(4233)] + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(message, repeated, tag = "9")] + pub ohlnjffmfbp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9892)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikddmniphdo { + #[xor(6071)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(message, optional, tag = "4")] + pub laalmanagef: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6880)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bklgehcggol { + #[xor(1125)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7659)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dglkpaooale { + #[xor(4569)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3223)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ojdabcmbckf { + #[xor(14207)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Khbiaffekea { + #[xor(15042)] + #[prost(uint32, tag = "8")] + pub lhbejkbkbfh: u32, + #[xor(14576)] + #[prost(uint32, tag = "12")] + pub hkopdmjdgjj: u32, + #[xor(15892)] + #[prost(int32, tag = "7")] + pub fpjmmaabhec: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbhbggpcbcm { + #[prost(message, repeated, tag = "9")] + pub hamjclcinaf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lihehnfecbd { + #[prost(uint32, tag = "1")] + pub bpcdfdnkkoc: u32, + #[prost(uint32, tag = "2")] + pub section_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4949)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ffkjeajkdba {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hplclpikhpa { + #[xor(4898)] + #[prost(uint32, tag = "14")] + pub phcfcidpnck: u32, + #[prost(string, tag = "9")] + pub eaiioagnbfk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3495)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetAuthkeyCsReq { + /// VMP DETECTED + /// + #[prost(string, tag = "3")] + pub eppmlogockb: ::prost::alloc::string::String, + #[xor(13519)] + #[prost(uint32, tag = "5")] + pub fepaimkkoih: u32, + #[xor(11968)] + #[prost(uint32, tag = "7")] + pub ohnppfeppgb: u32, + #[xor(2613)] + #[prost(uint32, tag = "12")] + pub fddfhkekbpd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icehccckimd { + #[prost(message, optional, tag = "1")] + pub dpeflkffjjd: ::core::option::Option, + #[prost(bool, tag = "2")] + pub conmameadcg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egngidpibib { + #[prost(message, optional, tag = "1")] + pub hfgdjcfhokn: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub gaobmaiodij: ::core::option::Option, + #[prost(bool, tag = "3")] + pub mfdaknjeidc: bool, + #[prost(bool, tag = "4")] + pub abkkdjklbfk: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(147)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jaelepjmfli { + #[xor(5032)] + #[prost(uint32, tag = "1")] + pub tag: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Occancajhie { + #[prost(message, optional, tag = "1")] + pub bddlconiggl: ::core::option::Option, + #[prost(enumeration = "HollowEntityType", tag = "2")] + pub fkkbflokodb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Joelfkhchbl { + #[xor(1575)] + #[prost(int32, tag = "5")] + pub template_id: i32, + #[prost(bytes = "vec", tag = "1")] + pub jpobobjoobl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aagpjgacbal { + #[prost(message, optional, tag = "4")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahgajeamhff { + #[prost(message, optional, tag = "1")] + pub appdnhldamm: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub elicklianja: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub kbnkgfomadd: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub pdjoocniemc: u32, + #[prost(uint32, tag = "5")] + pub dkiochlgepc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oicedjfkngp { + #[prost(message, optional, tag = "1")] + pub gmjgfiiomka: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub efpckpnefdc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9691)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetWishlistDataScRsp { + #[xor(15779)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, repeated, tag = "15")] + pub wishlist_plan_list: ::prost::alloc::vec::Vec, + #[xor(14522)] + #[prost(uint32, tag = "14")] + pub gndjmoanhap: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbeapambbfn { + #[prost(message, optional, tag = "1")] + pub section: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8701)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fakmbiapaji { + #[prost(message, optional, tag = "8")] + pub info: ::core::option::Option, + #[xor(1747)] + #[prost(uint64, tag = "3")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "4")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(10886)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgonjpkbkml { + #[prost(message, repeated, tag = "1")] + pub scene_unit_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "2")] + pub pjpjmagpkpc: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "3")] + pub djpecpigahk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub ganninoobel: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub hfmlnfgmapf: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "6")] + pub dggelpeeabb: ::std::collections::HashMap, + #[prost(bool, tag = "7")] + pub ibgjecbknaf: bool, + #[prost(message, optional, tag = "8")] + pub ajgnbjeinmb: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub ggknknfhmph: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub gelblghdcag: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "12")] + pub jfapfdoibpn: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub fiapcipbbna: u32, + #[prost(uint32, repeated, tag = "14")] + pub gnbgjkfeckj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub ahebjlfhlma: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "16")] + pub gakknljjibb: ::std::collections::HashMap, + #[prost(string, repeated, tag = "17")] + pub kegdjjgjabi: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, tag = "18")] + pub jbljbcfddnf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhmbjmkpdgi { + #[prost(uint32, repeated, tag = "11")] + pub jjllggijnef: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub aehdpnmemha: ::prost::alloc::vec::Vec, + #[xor(12351)] + #[prost(uint32, tag = "1")] + pub pmekgkjahii: u32, + #[prost(uint32, repeated, tag = "10")] + pub nmnodbkgfpk: ::prost::alloc::vec::Vec, + #[xor(13739)] + #[prost(uint32, tag = "12")] + pub bkpdmdphihc: u32, + #[prost(bool, tag = "2")] + pub dagpomncnnf: bool, + #[prost(uint32, repeated, tag = "13")] + pub mnjjapcgngp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub fmbapkceojc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub dpgenidifcb: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub npmimnbhkee: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub mgpbfikjnib: ::prost::alloc::vec::Vec, + #[xor(14257)] + #[prost(uint64, tag = "3")] + pub fgkccmlhapl: u64, + #[xor(10512)] + #[prost(uint32, tag = "5")] + pub level: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5499)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nkdohbbifbl { + #[xor(4089)] + #[prost(uint32, tag = "4")] + pub day_of_week: u32, + #[xor(10528)] + #[prost(uint32, tag = "9")] + pub cligphpcbhn: u32, + #[xor(4962)] + #[prost(uint32, tag = "8")] + pub hkmnmbnbahp: u32, + #[prost(bool, tag = "5")] + pub negageboace: bool, + #[xor(8591)] + #[prost(uint32, tag = "12")] + pub gihgnonohop: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kmaiecnifmk { + #[prost(int32, tag = "1")] + pub ifljdmjcfdc: i32, + #[prost(int32, tag = "2")] + pub bkcennknhje: i32, + #[prost(bool, tag = "3")] + pub gfhegijnplf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1672)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ooilekmbanj {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kphbkngjama {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3234)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ifficmbkoab { + #[xor(11410)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7800)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cggpgnagnpe { + #[prost(string, tag = "8")] + pub fmonkcbmdel: ::prost::alloc::string::String, + #[xor(11191)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oepkhegomac { + #[prost(message, optional, tag = "1")] + pub ajbhcenjend: ::core::option::Option, + #[prost(enumeration = "Lojnhkgdbch", tag = "2")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ahkfflemmjm { + #[xor(14721)] + #[prost(int32, tag = "4")] + pub iechioocfjh: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eiooekgpklm { + #[xor(11856)] + #[prost(int32, tag = "14")] + pub dmkpoefedmk: i32, + #[xor(15897)] + #[prost(uint64, tag = "11")] + pub ochfghfmjga: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbephmgccid { + #[prost(message, optional, tag = "8")] + pub epncjjcpchh: ::core::option::Option, + #[xor(10678)] + #[prost(uint32, tag = "3")] + pub bmlgnlcbdon: u32, + #[prost(message, optional, tag = "15")] + pub ljjcbnmjhon: ::core::option::Option, + #[prost(enumeration = "Papneiepfip", tag = "12")] + pub kjongknfkee: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdgfhkfpdgj { + #[prost(string, tag = "1")] + pub kcclegdlljc: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub jhknllpfafm: ::core::option::Option, + #[prost(string, tag = "3")] + pub jmoddhjlecc: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub dcohbnjfkbl: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub fpclgmdcdhm: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub domkbfibcfo: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub acjgpicjihd: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub idjmodhihjj: ::core::option::Option, + #[prost(bool, tag = "9")] + pub cbjeiaelakj: bool, + #[prost(message, repeated, tag = "10")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub ddbmjpajmnc: u32, + #[prost(uint32, repeated, tag = "12")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "13")] + pub jalbcjjdoff: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aaedapleoaj { + #[xor(3002)] + #[prost(uint32, tag = "5")] + pub anogkkcceio: u32, + #[xor(7822)] + #[prost(uint32, tag = "11")] + pub phcbebaelmf: u32, + #[xor(1125)] + #[prost(uint32, tag = "4")] + pub ncaogklmdec: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5866)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetRamenDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbaedlichna { + #[prost(message, optional, tag = "1")] + pub klbdiammibf: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub bddlconiggl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Docfbcccmnd { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub owner_type: i32, + #[prost(message, optional, tag = "2")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(bool, tag = "3")] + pub pfadjalckpn: bool, + #[prost(string, tag = "4")] + pub ldjceenieke: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub hhajlcmecpm: ::prost::alloc::string::String, + #[prost(bool, tag = "6")] + pub bhckcbceolb: bool, + #[prost(message, repeated, tag = "7")] + pub bnidhmdpfgb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nmbodconkld {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Immefjncflb { + #[prost(uint32, tag = "1")] + pub fjdialmanom: u32, + #[prost(bool, tag = "2")] + pub enbccffknld: bool, + #[prost(message, optional, tag = "3")] + pub omogbfodlgg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4982)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bnmdpblkakm { + #[prost(enumeration = "Ljkhahbeibc", tag = "13")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Piabpfdjhbn { + #[prost(message, optional, tag = "1")] + pub efpckpnefdc: ::core::option::Option, + #[prost(string, tag = "2")] + pub hmmneikfple: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kocioigcgeh { + #[prost(enumeration = "Hlccdmafgcg", tag = "1")] + pub owner_type: i32, + #[prost(message, optional, tag = "2")] + pub dflfdcddjfj: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub bojkodfnkdp: ::core::option::Option, + #[prost(enumeration = "Iopjakcolni", tag = "4")] + pub dkmepflgcmf: i32, + #[prost(message, optional, tag = "5")] + pub clgdocgoggb: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub obhhacdlakj: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub dmbipmdaajl: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub jhbkggmecan: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub aiiejpledla: ::core::option::Option, + #[prost(bool, tag = "10")] + pub cjcgaepppib: bool, + #[prost(bool, tag = "11")] + pub klhijdlgijh: bool, + #[prost(bool, tag = "12")] + pub ipkpbdaandb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnpapgkipgn { + #[prost(message, optional, tag = "14")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mehekobidmp { + #[prost(message, repeated, tag = "1")] + pub mabpfnichnk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2874)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikfflehjiid { + #[xor(8503)] + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(map = "uint32, bool", tag = "15")] + pub lckocagllch: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7792)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agndnebhbfd { + #[prost(uint32, repeated, tag = "3")] + pub eolmgjoplkk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2519)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jhdmldnbkki {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amofpjegcmg { + #[prost(map = "uint32, uint32", tag = "1")] + pub gepficdakna: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bohcfcopckl { + #[prost(message, optional, tag = "1")] + pub nfmojhjjldd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgicipindgf { + #[prost(message, optional, tag = "1")] + pub efpckpnefdc: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub bojkodfnkdp: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6577)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetQuestDataScRsp { + #[xor(5822)] + #[prost(uint32, tag = "1")] + pub quest_type: u32, + #[prost(message, optional, tag = "3")] + pub quest_data: ::core::option::Option, + #[xor(14000)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnhcojbfcib { + #[prost(message, optional, tag = "1")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "2")] + pub odnpbhepnoa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmgpjmlgfjf { + #[prost(message, repeated, tag = "4")] + pub ieploccockn: ::prost::alloc::vec::Vec, + #[prost(string, tag = "12")] + pub bnkkgngebjp: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub nmiichclpgb: ::prost::alloc::string::String, + #[xor(10384)] + #[prost(uint32, tag = "15")] + pub bogjholhiid: u32, + #[prost(bool, tag = "1")] + pub phffpliaaln: bool, + #[prost(string, tag = "13")] + pub kaafkebjfph: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub jbhlcbnfhoa: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mibicbddabd { + #[xor(398)] + #[prost(uint32, tag = "5")] + pub plgdgmpokan: u32, + #[xor(2821)] + #[prost(int32, tag = "9")] + pub eedkkdadncg: i32, + #[xor(397)] + #[prost(uint32, tag = "1")] + pub lcffcfemefc: u32, + #[prost(message, optional, tag = "3")] + pub nfmojhjjldd: ::core::option::Option, + #[xor(10226)] + #[prost(int32, tag = "14")] + pub ddpdchojnih: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6332)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhamlhoaale { + #[xor(2512)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "1")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, + #[xor(1955)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfpfjphdgik { + #[prost(string, tag = "1")] + pub mnpphbgdmkl: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub cophhjpkaae: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub cimddebbbph: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub ohadnkglhip: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub cajimaheccm: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub pnalnlmgdkl: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub dpfoelhabbn: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub amkkjgmnjki: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub ngflemingig: ::prost::alloc::string::String, + #[prost(string, tag = "10")] + pub eliadpdbaca: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub jfghpgkmgik: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub ofajknpimmj: ::prost::alloc::string::String, + #[prost(string, tag = "13")] + pub bkofidmgcli: ::prost::alloc::string::String, + #[prost(string, tag = "14")] + pub leanhogoeoa: ::prost::alloc::string::String, + #[prost(string, tag = "15")] + pub gabcopfnpnd: ::prost::alloc::string::String, + #[prost(string, tag = "16")] + pub emcoijgbekk: ::prost::alloc::string::String, + #[prost(string, tag = "17")] + pub eecbljhclmg: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fhghkboekjb { + #[xor(5134)] + #[prost(uint32, tag = "10")] + pub lhbejkbkbfh: u32, + #[prost(message, optional, tag = "3")] + pub nfmojhjjldd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cahfkjbafeo { + #[prost(uint32, repeated, tag = "7")] + pub hmijfeapfil: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub ljhmffcbokj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "1")] + pub ifcopnankpj: bool, + #[prost(message, optional, tag = "15")] + pub iadijgcbfan: ::core::option::Option, + #[xor(7607)] + #[prost(uint32, tag = "9")] + pub plpmodbhbej: u32, + #[prost(message, optional, tag = "11")] + pub hmnlekkhcbo: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekojncojnjm { + #[prost(message, optional, tag = "1")] + pub ebghgbcfgln: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub ddbmjpajmnc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhkfcdkbpae { + #[prost(message, optional, tag = "1")] + pub ohmeifflppm: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub avatar_id: ::core::option::Option, + #[prost(string, tag = "3")] + pub bphoppdahng: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdfmkckhhdp { + #[prost(message, optional, tag = "1")] + pub dcpnffhjklk: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8937)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jppeddijmlb { + #[prost(message, repeated, tag = "11")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(13786)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "15")] + pub info: ::core::option::Option, + #[xor(3873)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfhaacgjpfg { + #[prost(message, optional, tag = "1")] + pub deginnplojj: ::core::option::Option, + #[prost(map = "string, message", tag = "2")] + pub ilclagcmjdn: ::std::collections::HashMap< + ::prost::alloc::string::String, + Jiahalkoppm, + >, + #[prost(map = "string, string", tag = "3")] + pub gpabcfjfaje: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + #[prost(string, tag = "4")] + pub jfgocnomgba: ::prost::alloc::string::String, + #[prost(map = "string, message", tag = "5")] + pub pmpambdnnid: ::std::collections::HashMap< + ::prost::alloc::string::String, + Jiahalkoppm, + >, + #[prost(enumeration = "Eaaffjmlaki", tag = "6")] + pub olopcnmoagp: i32, + #[prost(string, tag = "7")] + pub jnlchfkcnik: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmodpgcpipk { + #[prost(message, repeated, tag = "14")] + pub nkmelimaeda: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9871)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetTrashbinHermitDataScRsp { + #[prost(message, optional, tag = "15")] + pub trashbin_hermit_data: ::core::option::Option, + #[xor(12212)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9564)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kdkpmejaiei { + #[xor(3450)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ancmkbnnndb { + #[prost(enumeration = "Deoobgfghfj", tag = "1")] + pub kmmblnlnkgo: i32, + #[prost(message, optional, tag = "2")] + pub lkbaklckpna: ::core::option::Option, + #[prost(bool, tag = "3")] + pub fjopopcijeb: bool, + #[prost(bool, tag = "4")] + pub abgfbbhcioe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ddlmkfdphkp { + #[prost(enumeration = "Dbpdcokemgl", tag = "1")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgdeddgkman { + #[prost(message, optional, tag = "1")] + pub cljgdbopadm: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(int32, repeated, tag = "3")] + pub nfaeohbkodo: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "4")] + pub lbpdkpjjilj: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "5")] + pub jkipapmgbia: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "6")] + pub bmbdeafhoek: i32, + #[prost(int32, tag = "7")] + pub dbodghhkmpf: i32, + #[prost(int32, tag = "8")] + pub hdakcboemaa: i32, + #[prost(enumeration = "Pifnkldafnk", tag = "9")] + pub lbebfpjliob: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2900)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fkbfiibdfil {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6764)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetFairyInfoCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(779)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Onlefhokaok { + #[prost(bool, tag = "4")] + pub hnhlibkpggd: bool, + #[xor(1710)] + #[prost(uint32, tag = "9")] + pub oekdlbffoia: u32, + #[xor(10050)] + #[prost(uint32, tag = "6")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Delofelkglj { + #[prost(string, tag = "1")] + pub jhpddnbdjcf: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub hjojjebedfd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7610)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jnnegfceccg { + #[xor(8087)] + #[prost(uint32, tag = "10")] + pub jhooejigljp: u32, + #[xor(12670)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5132)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpnahnflhnm { + #[xor(8525)] + #[prost(uint32, tag = "11")] + pub koelfcbhneo: u32, + #[prost(string, tag = "1")] + pub gkdipnedmjk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ockkhfgeipm {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fanhlanhfdg {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eajpmgilmeo { + #[prost(message, optional, tag = "1")] + pub section: ::core::option::Option, + #[prost(int32, tag = "2")] + pub hlnkijemieh: i32, + #[prost(string, tag = "3")] + pub bphoppdahng: ::prost::alloc::string::String, + #[prost(uint32, tag = "4")] + pub camera_x: u32, + #[prost(uint32, tag = "5")] + pub camera_y: u32, + #[prost(uint32, tag = "6")] + pub kedlgoakhld: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6268)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hcmhhfjmpii { + #[xor(4849)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4239)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkpdikmiheo { + #[prost(message, repeated, tag = "14")] + pub ieploccockn: ::prost::alloc::vec::Vec, + #[xor(13695)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3769)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mcbmekjiidp { + #[xor(11559)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcnoiikkcoi { + #[prost(message, optional, tag = "1")] + pub oiidemlgihg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7533)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abjcpikjcng { + #[xor(7554)] + #[prost(uint32, tag = "6")] + pub jeakigaeeek: u32, + #[prost(message, repeated, tag = "5")] + pub ajddecediad: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8297)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ndjlmnpcgln { + #[xor(9520)] + #[prost(uint32, tag = "13")] + pub avatar_id: u32, + #[xor(15168)] + #[prost(uint32, tag = "10")] + pub aldbmeomoni: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfjdcjfcean { + #[xor(4197)] + #[prost(uint32, tag = "14")] + pub pcfcghagbai: u32, + #[prost(uint32, repeated, tag = "4")] + pub aakeciokdlc: ::prost::alloc::vec::Vec, + #[xor(11846)] + #[prost(uint32, tag = "6")] + pub cbnhokchcid: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9582)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetCampIdleDataScRsp { + #[xor(12791)] + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(message, optional, tag = "8")] + pub camp_idle_data: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eaolohommfg { + #[prost(uint32, repeated, tag = "2")] + pub bdhbbgdbdfd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub hfdaekahjea: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub ligbogkakpk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub mhlicjmiafa: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub pmhoehaimgk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub aoepnfpfdpo: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub fohmonphnoi: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub ahlnhgbihic: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iklogppihae { + #[prost(bool, tag = "1")] + pub joamjemcipn: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lmhfejlpipl { + #[xor(4437)] + #[prost(uint32, tag = "4")] + pub egicdhagndj: u32, + #[prost(bool, tag = "7")] + pub hoajkicaamd: bool, + #[xor(15606)] + #[prost(int32, tag = "1")] + pub mlofgofpbli: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmoodghbgam { + #[prost(string, tag = "1")] + pub ui: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub args: i32, + #[prost(string, tag = "3")] + pub beinmnbghnj: ::prost::alloc::string::String, + #[prost(int32, tag = "4")] + pub store_template_id: i32, + #[prost(int32, tag = "5")] + pub npc_id: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fendlmhjgaa { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub cdgbbapponm: u32, + #[prost(bool, tag = "3")] + pub khebfdaihah: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(141)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jionejfobdd { + #[prost(uint32, repeated, tag = "7")] + pub hfnobnddpcd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kbgegipnhio { + #[xor(13184)] + #[prost(int64, tag = "15")] + pub mcpmobeikhc: i64, + #[xor(754)] + #[prost(uint32, tag = "9")] + pub hfgeippbdee: u32, + #[xor(9982)] + #[prost(int64, tag = "10")] + pub hccjckmjabc: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hngjlfbaddp {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ephocikbdjf {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8913)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ehnabpdbhmf { + #[xor(5525)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mopapblhbof { + #[prost(string, repeated, tag = "1")] + pub dkdchcjbdln: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3752)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lognaipehlm { + #[xor(5800)] + #[prost(uint32, tag = "15")] + pub jhooejigljp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adjbemjdeen { + #[xor(15995)] + #[prost(uint32, tag = "13")] + pub kgmdbaomcdo: u32, + #[xor(1322)] + #[prost(int32, tag = "6")] + pub afniabhomkk: i32, + #[xor(11957)] + #[prost(uint32, tag = "3")] + pub eodallhhnib: u32, + #[prost(uint32, repeated, tag = "1")] + pub ekelbfpempg: ::prost::alloc::vec::Vec, + #[xor(12634)] + #[prost(uint32, tag = "4")] + pub jnjapogacbi: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mdggjjelimn {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1930)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Boffefbdhbl { + #[xor(15213)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iihbohfiedi { + #[prost(uint64, tag = "1")] + pub gglnpjfcibj: u64, + #[prost(uint32, tag = "2")] + pub aehcdloifkp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1107)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cddeoiialml { + #[xor(14327)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3634)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mandhcfbjce { + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "11")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(12437)] + #[prost(uint64, tag = "12")] + pub fdfjcoccaoa: u64, + #[xor(12832)] + #[prost(uint64, tag = "2")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihebloceihf { + #[prost(message, optional, tag = "4")] + pub oghcnmnbkcd: ::core::option::Option, + #[xor(3493)] + #[prost(uint64, tag = "6")] + pub lhbejkbkbfh: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(475)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ihnicagabja { + #[xor(11816)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2246)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcocgbgmlnn { + #[xor(10979)] + #[prost(uint64, tag = "4")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(7949)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgnlilenmpm { + #[prost(message, optional, tag = "6")] + pub kcnfmgmgmpn: ::core::option::Option, + #[prost(bool, tag = "12")] + pub cjcgaepppib: bool, + #[xor(6065)] + #[prost(uint32, tag = "5")] + pub efpckpnefdc: u32, + #[prost(bool, tag = "15")] + pub ilikllnocoa: bool, + #[xor(5655)] + #[prost(uint32, tag = "11")] + pub uid: u32, + #[prost(message, repeated, tag = "14")] + pub mdlilfjfddf: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Ibfpmkdjhkb", tag = "9")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3678)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fclecmnmeko { + #[prost(message, repeated, tag = "7")] + pub kenfimjigkf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4580)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjppegoaofb { + #[prost(enumeration = "Deifoghmjog", tag = "10")] + pub hmidcabpchc: i32, + #[prost(message, optional, tag = "7")] + pub fpkfcfmgjdn: ::core::option::Option, + #[xor(15910)] + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(message, optional, tag = "8")] + pub aoelphnpajk: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mapdcdelnnk { + #[xor(15632)] + #[prost(int32, tag = "11")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gnmodjppbhn { + #[xor(12278)] + #[prost(uint32, tag = "12")] + pub template_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Akdomjhblpg { + #[prost(message, optional, tag = "14")] + pub foepmofbapc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2103)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Haocgojckmj { + #[xor(1676)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9295)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nhhhjfbeipb { + #[xor(1093)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kinhpikelam { + #[prost(int32, tag = "1")] + pub quest_id: i32, + #[prost(int32, tag = "2")] + pub r#type: i32, + #[prost(bool, tag = "3")] + pub djldiehhajf: bool, + #[prost(bool, tag = "4")] + pub gfhegijnplf: bool, + #[prost(int32, tag = "5")] + pub akacgpjilpb: i32, + #[prost(bool, tag = "6")] + pub pmnpdknfdge: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ehahbieopbj { + #[prost(bool, tag = "1")] + pub mbcmhncipch: bool, + #[prost(bool, tag = "2")] + pub ilikllnocoa: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8287)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cmibojgkefm { + #[xor(15874)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mldbddejaom { + #[prost(uint32, repeated, tag = "6")] + pub eipodohaopf: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub blkangcgbkj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iiajoaeemom { + #[prost(int32, repeated, tag = "2")] + pub enbageofhkl: ::prost::alloc::vec::Vec, + #[xor(3488)] + #[prost(int32, tag = "13")] + pub ljiplieigbg: i32, + #[prost(float, tag = "12")] + pub hedjcjmmkob: f32, + #[xor(11895)] + #[prost(uint32, tag = "15")] + pub emkbdkpeceh: u32, + #[xor(6)] + #[prost(int32, tag = "11")] + pub bablfaggkfd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdljjjbadbe { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, tag = "2")] + pub hioddaggmak: u32, + #[prost(message, repeated, tag = "3")] + pub hpidcaaffjl: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub lhjeapjfahf: ::core::option::Option, + #[prost(string, tag = "5")] + pub nick_name: ::prost::alloc::string::String, + #[prost(uint32, tag = "6")] + pub hjcanegmain: u32, + #[prost(bool, tag = "7")] + pub hdenpaehopf: bool, + #[prost(message, optional, tag = "8")] + pub fpkfcfmgjdn: ::core::option::Option, + #[prost(bytes = "vec", tag = "9")] + pub ladcjdgjjeg: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "10")] + pub oolmlpknkmg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub ippoejfhlpg: u32, + #[prost(bool, tag = "12")] + pub gdnhpkjphei: bool, + #[prost(uint32, tag = "13")] + pub jdikmpemlmo: u32, + #[prost(uint32, tag = "14")] + pub nfmojhjjldd: u32, + #[prost(enumeration = "Bfoombhjgaa", tag = "15")] + pub glehkceafcl: i32, + #[prost(message, optional, tag = "16")] + pub lbgmecpfodf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(928)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjfpfcnncgp { + #[prost(bool, tag = "2")] + pub okfljejfmdk: bool, + #[prost(string, tag = "10")] + pub token: ::prost::alloc::string::String, + #[prost(message, optional, tag = "11")] + pub febpalgdanf: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub pfdmjhmgaed: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub lhjeapjfahf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4132)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bekmebilpcb { + #[xor(433)] + #[prost(int32, tag = "2")] + pub fmkfjcmjjik: i32, + #[xor(1641)] + #[prost(int32, tag = "6")] + pub dajkfnlgcbh: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2809)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Meagcohflmp { + #[xor(140)] + #[prost(uint32, tag = "6")] + pub ohmaffiofce: u32, + #[prost(uint32, repeated, tag = "2")] + pub ghpgoddilaa: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5468)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Deckeghnaho { + #[xor(8725)] + #[prost(uint32, tag = "12")] + pub buddy_id: u32, + #[xor(678)] + #[prost(uint32, tag = "1")] + pub ebdjkahnpib: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Apleabcjobd { + #[prost(uint32, tag = "1")] + pub chlhlmpdjif: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5919)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hincfkddgmd { + #[xor(14250)] + #[prost(int32, tag = "13")] + pub pkfgamndhjl: i32, + #[xor(14694)] + #[prost(int32, tag = "14")] + pub dgkbbhbljhl: i32, + #[xor(12424)] + #[prost(int32, tag = "11")] + pub bnlafklelio: i32, + #[prost(map = "uint32, int32", tag = "1")] + pub ajppilianbi: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipimeaabodm { + #[prost(bool, tag = "1")] + pub makamedjkfh: bool, + #[prost(bool, tag = "8")] + pub dbjfoancafd: bool, + #[prost(string, tag = "10")] + pub cglcnlabmba: ::prost::alloc::string::String, + #[prost(bool, tag = "11")] + pub opdidljeddm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5796)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fplpeehlfpk { + #[prost(int32, repeated, tag = "7")] + pub delbgoehhop: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1916)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfbcoldhhkk { + #[prost(message, optional, tag = "14")] + pub cenolhfjmjm: ::core::option::Option, + #[xor(497)] + #[prost(uint32, tag = "6")] + pub fbhgidmekpn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7770)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cogfapphkig {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5228)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct InteractWithUnitScRsp { + #[xor(3643)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(707)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbnmfaihfbk { + #[prost(message, repeated, tag = "10")] + pub aoppojcdgge: ::prost::alloc::vec::Vec, + #[xor(505)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(message, repeated, tag = "2")] + pub jdpoggchppp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5891)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Acdepmnpicn { + #[xor(910)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akmnkafdnlk { + #[prost(uint32, tag = "1")] + pub template_id: u32, + #[prost(uint32, tag = "2")] + pub ddbmjpajmnc: u32, + #[prost(message, repeated, tag = "3")] + pub fpjoamkdaon: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub fkkfnjmbgod: ::core::option::Option, + #[prost(bool, tag = "5")] + pub okgkkpafcaj: bool, + #[prost(uint32, repeated, tag = "6")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub oedlmjjmdjg: bool, + #[prost(enumeration = "ActionType", tag = "1000")] + pub nnmfhokflji: i32, + #[prost(message, optional, tag = "1001")] + pub fioaoclnnnp: ::core::option::Option<::prost_types::Any>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5450)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aoomgoljlle { + #[prost(message, repeated, tag = "11")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, + #[xor(2033)] + #[prost(uint64, tag = "6")] + pub fkcdkdiacni: u64, + #[xor(10254)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkfphmlolka { + #[xor(14793)] + #[prost(uint32, tag = "15")] + pub cpkfjdebkon: u32, + #[prost(uint32, repeated, tag = "12")] + pub kndifkcmgcm: ::prost::alloc::vec::Vec, + #[xor(4289)] + #[prost(uint32, tag = "6")] + pub cionidfhigi: u32, + #[prost(bool, tag = "1")] + pub bdlkocjhepl: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2684)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkjddimmfdi { + #[xor(11725)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(message, optional, tag = "3")] + pub battle_reward: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmenflijfng { + #[prost(bool, tag = "1")] + pub gkmdgocecnc: bool, + #[prost(bool, tag = "2")] + pub jdgchifhmpo: bool, + #[prost(message, optional, tag = "3")] + pub hledbngkcdl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4564)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iomimpfkbdf { + #[xor(5685)] + #[prost(uint64, tag = "8")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "3")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[xor(6843)] + #[prost(uint64, tag = "11")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iafcecongde { + #[prost(message, optional, tag = "1")] + pub cfodgobdnnb: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub apacdkacfnd: ::core::option::Option, + #[prost(bytes = "vec", tag = "3")] + pub olpmdmbgpfk: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub niiglkgjmhk: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8293)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mjfnklcbfam { + #[xor(7956)] + #[prost(uint32, tag = "3")] + pub galekebfmim: u32, + #[xor(8965)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dijkmednkfk { + #[prost(message, optional, tag = "1")] + pub ojgiengkmkf: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub section_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nendgofchnn { + #[prost(string, tag = "1")] + pub gelmjhgamjm: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub lkdbeecbglo: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4569)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fhhfhgipjno { + #[xor(9586)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(257)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ggdiflappmm { + #[prost(message, optional, tag = "13")] + pub hkgkgphmjjk: ::core::option::Option, + #[prost(enumeration = "Aecmbdlfkhf", tag = "14")] + pub hmndojdccae: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aomenacngbf { + #[prost(bool, tag = "4")] + pub gjdbgkeeeea: bool, + #[xor(13950)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[xor(14890)] + #[prost(int32, tag = "12")] + pub fkkbflokodb: i32, + #[xor(8649)] + #[prost(uint32, tag = "2")] + pub gpeidhginml: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Immlhbmgdgj { + #[prost(message, optional, tag = "1")] + pub cdklkjpfhhl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub caakiikadep: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "3")] + pub odnpbhepnoa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hafakkdpoig { + #[prost(uint32, tag = "1")] + pub kedlgoakhld: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gaafijpobmj { + #[prost(uint32, tag = "1")] + pub lkdbeecbglo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dakaineniod { + #[prost(message, repeated, tag = "1")] + pub bknegncadkk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1734)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cffbjllgcee { + #[prost(uint32, repeated, tag = "1")] + pub hfnobnddpcd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5743)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inmllifcdha { + #[prost(string, tag = "9")] + pub cnkiocdgalp: ::prost::alloc::string::String, + #[xor(11176)] + #[prost(uint32, tag = "5")] + pub jjjppkiidpd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijkghfhlgjo { + #[xor(65)] + #[prost(int64, tag = "2")] + pub hgcncnmjeob: i64, + #[prost(string, tag = "6")] + pub iiocecjgbnb: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pjpapnfnndb { + #[xor(6031)] + #[prost(uint32, tag = "1")] + pub gghneacaidl: u32, + #[xor(5884)] + #[prost(uint32, tag = "15")] + pub llbdhkdlebh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mdfajkocjbo {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ackgjiobpbg { + #[prost(bool, tag = "10")] + pub cdclblegnpa: bool, + #[xor(16129)] + #[prost(uint32, tag = "15")] + pub jmcgfhdplje: u32, + #[prost(message, repeated, tag = "9")] + pub gohhgfpcgfd: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub ilikllnocoa: bool, + #[xor(4872)] + #[prost(int64, tag = "13")] + pub mcpmobeikhc: i64, + #[xor(12080)] + #[prost(int64, tag = "5")] + pub digblcoafeb: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfpeecffhep { + #[prost(string, tag = "1")] + pub jhpddnbdjcf: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub hjojjebedfd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5243)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnhffkmmaja { + #[xor(8950)] + #[prost(uint64, tag = "9")] + pub fkcdkdiacni: u64, + #[xor(7194)] + #[prost(uint64, tag = "4")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "11")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4729)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkceamijlnc { + #[xor(4110)] + #[prost(uint64, tag = "7")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(6443)] + #[prost(uint64, tag = "14")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3855)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eiikplikino { + #[prost(string, repeated, tag = "4")] + pub aobfhjgnlkh: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(uint32, repeated, tag = "14")] + pub khflcfamdnc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9565)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hijpliicham { + #[prost(message, repeated, tag = "3")] + pub ofoehageglb: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "5")] + pub chfhepgklia: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Meijofnopmo { + #[prost(message, optional, tag = "1")] + pub hocbgjlnmoo: ::core::option::Option, + #[prost(enumeration = "Beomgdokkjo", tag = "2")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1410)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hmomkkgibfj { + #[xor(15062)] + #[prost(uint32, tag = "7")] + pub hfgeippbdee: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdfpkehdged { + #[prost(uint32, repeated, tag = "2")] + pub jpmokbhdnmn: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, int32", tag = "7")] + pub lcilmoiefel: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "14")] + pub mbdjmldabkd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub oagklpamemd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub unlock_hollow_id_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub olkemjgejni: bool, + #[prost(uint32, repeated, tag = "13")] + pub epniimmaepp: ::prost::alloc::vec::Vec, + #[xor(3814)] + #[prost(uint32, tag = "1")] + pub afmfhcbgaem: u32, + #[prost(uint32, repeated, tag = "15")] + pub kncgjfgfala: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub flihmjdnfno: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub ooijkpdandn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mjppigcpadi { + #[xor(10349)] + #[prost(uint32, tag = "4")] + pub cionidfhigi: u32, + #[prost(bool, tag = "2")] + pub bdlkocjhepl: bool, + #[xor(6971)] + #[prost(uint32, tag = "15")] + pub cpkfjdebkon: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nnfeaghcofb { + #[xor(1596)] + #[prost(int32, tag = "9")] + pub lbpophhdine: i32, + #[xor(13838)] + #[prost(int32, tag = "13")] + pub abemdgnoedb: i32, + #[xor(15685)] + #[prost(int32, tag = "11")] + pub lkdbeecbglo: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eefhnlpbldi { + #[prost(string, tag = "1")] + pub ajpncgmcpao: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "7")] + pub onhgafmhkch: ::prost::alloc::vec::Vec, + #[xor(2275)] + #[prost(uint32, tag = "12")] + pub jgmbbjpppmf: u32, + #[prost(message, optional, tag = "11")] + pub lhebinaimdj: ::core::option::Option, + #[xor(4135)] + #[prost(int32, tag = "15")] + pub igmffmkifch: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5196)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpgphdneaea { + #[prost(message, optional, tag = "10")] + pub lagkidpjdkp: ::core::option::Option, + #[xor(16166)] + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(message, repeated, tag = "4")] + pub fmbahlmpldo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub koaghjkjffn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub dbcigdhamoc: bool, + #[prost(bool, tag = "6")] + pub ongmonficpi: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkpcedcnfak { + #[prost(uint32, repeated, tag = "1")] + pub jbbnopcdehe: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub kilcalodpik: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub olcjklbegoh: ::prost::alloc::vec::Vec, + #[xor(3805)] + #[prost(uint32, tag = "9")] + pub kdifkmdkbaf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4049)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Madelfnemjm { + #[xor(7492)] + #[prost(uint32, tag = "5")] + pub cdklkjpfhhl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oceihjajibo { + #[prost(map = "uint32, message", tag = "1")] + pub elcohdfecld: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Olehfjkkohp { + #[prost(bool, tag = "1")] + pub hogpakjdmep: bool, + #[prost(bool, tag = "2")] + pub lnomjpoikmp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7558)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjlnjfkkpjk { + #[prost(uint32, repeated, tag = "8")] + pub djcgkkophfg: ::prost::alloc::vec::Vec, + #[xor(14374)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fbfefljhloi { + #[prost(message, optional, tag = "1")] + pub clgdocgoggb: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub pjmgbgnkikd: u32, + #[prost(uint32, tag = "3")] + pub iimjbhikfoj: u32, + #[prost(uint32, tag = "4")] + pub ghjlpmnimjm: u32, + #[prost(message, optional, tag = "5")] + pub lhbejkbkbfh: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub nfmojhjjldd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kccakfoiidn { + #[prost(message, optional, tag = "1")] + pub dmfpbeopfko: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "2")] + pub odnpbhepnoa: i32, + #[prost(enumeration = "Cdokalhdjfg", tag = "3")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5651)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetCollectMapCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5535)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkhiedkince { + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(3961)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[xor(6317)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6293)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aamblaahegd { + #[xor(9597)] + #[prost(uint32, tag = "7")] + pub icgdmnjkeek: u32, + #[prost(bool, tag = "4")] + pub kpcccpinkmp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3008)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbidfkjkien { + #[xor(10340)] + #[prost(uint64, tag = "6")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(9940)] + #[prost(uint64, tag = "13")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9441)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kofmckedkdb { + #[xor(15412)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Epgdeaponij { + #[prost(uint32, tag = "1")] + pub quest_id: u32, + #[prost(uint32, tag = "2")] + pub level: u32, + #[prost(bool, tag = "3")] + pub olmbckeopdg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnjnciceapk { + #[prost(uint32, tag = "1")] + pub r#type: u32, + #[prost(int64, tag = "3")] + pub kbajlgmahlc: i64, + #[prost(double, tag = "5")] + pub kokcbkldcpd: f64, + #[prost(string, tag = "6")] + pub klojofhjhln: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2026)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kobbbbdjble { + #[xor(617)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(message, optional, tag = "6")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1559)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Omjindfaeia { + #[prost(map = "uint32, int32", tag = "5")] + pub makahklbeoe: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7285)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmjgpndjdcl { + #[prost(message, optional, tag = "1")] + pub fopllkecfgo: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2268)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kefkkglafhg { + #[xor(1441)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "13")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "15")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(15275)] + #[prost(uint64, tag = "2")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7563)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gdohmncpapp { + #[xor(4073)] + #[prost(int32, tag = "12")] + pub igmgikpcili: i32, + #[prost(message, optional, tag = "3")] + pub lhbejkbkbfh: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dhbhglkldlj { + #[xor(12408)] + #[prost(int32, tag = "4")] + pub hmedpoppnpj: i32, + #[prost(bool, tag = "1")] + pub hmmneikfple: bool, + #[xor(12427)] + #[prost(int32, tag = "15")] + pub oobgcncbeii: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7833)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhbkhfboeli { + #[xor(12295)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "2")] + pub bfgenanklmg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9716)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fobbcjccnfg {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcnnpojnfcd { + #[prost(int32, repeated, tag = "1")] + pub dabfcmlhede: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "2")] + pub nndeiolnafb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hoofglofjcp {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aibnkooepan { + #[prost(message, optional, tag = "1")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(enumeration = "Lhijhpadpia", tag = "2")] + pub fjbkkdpbapa: i32, + #[prost(enumeration = "Adfpiodbbll", tag = "3")] + pub hfgdjcfhokn: i32, + #[prost(enumeration = "Jpnihhbgepd", tag = "4")] + pub odnpbhepnoa: i32, + #[prost(message, optional, tag = "5")] + pub avatar_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fakgobmfecj { + #[prost(message, optional, tag = "1")] + pub lbkhcelfccl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub bkogajbhkdc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4597)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iaaocdbckjo { + #[xor(3308)] + #[prost(uint32, tag = "2")] + pub plcmabdfkpf: u32, + #[xor(5780)] + #[prost(uint32, tag = "12")] + pub buddy_id: u32, + #[prost(map = "uint32, uint32", tag = "6")] + pub cgfajbcoice: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9648)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hbkgpjgjbga { + #[xor(5717)] + #[prost(int32, tag = "1")] + pub retcode: i32, + #[xor(3127)] + #[prost(uint32, tag = "2")] + pub efmpiehjjem: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5534)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cgjbnmlmfog { + #[xor(2746)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(848)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct InteractWithClientEntityCsReq { + #[xor(10626)] + #[prost(int32, tag = "1")] + pub interaction: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kjmjclkoomm {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhpkfnlfllk { + #[xor(8695)] + #[prost(uint32, tag = "12")] + pub lfdpcgidmoe: u32, + #[xor(1219)] + #[prost(uint32, tag = "10")] + pub gcncbgjpmom: u32, + #[xor(14798)] + #[prost(uint32, tag = "14")] + pub oiojjpbicfl: u32, + #[xor(3219)] + #[prost(uint32, tag = "2")] + pub llbnfjiggnp: u32, + #[xor(5767)] + #[prost(int64, tag = "6")] + pub aoebgojcefe: i64, + #[prost(string, tag = "5")] + pub nalafejpbng: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9760)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ioibjlmlccl { + #[xor(15695)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhmieffcmdp { + #[prost(enumeration = "ChessUiControlType", tag = "1")] + pub r#type: i32, + #[prost(message, optional, tag = "2")] + pub dcpnffhjklk: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub hhoaffcpgap: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub poejkacmmii: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5791)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Clllfoefphg { + #[xor(736)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(615)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct ModMainCityAvatarScRsp { + #[xor(12925)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dinmlihigij { + #[prost(bool, tag = "14")] + pub maimmkhnldp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pokdmbjfjdm { + #[prost(message, repeated, tag = "4")] + pub bjdiodafadj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5446)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dckddmjnhij { + #[xor(15139)] + #[prost(uint32, tag = "2")] + pub maadjiknjbf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eaoojkimkln {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2992)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Njgdahmgkfk { + #[xor(7417)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2646)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Flmndjdiidi {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8967)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mimnbdbpmfk { + #[xor(6426)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "3")] + pub nhhafmpoipi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub bkdeogdpeld: ::prost::alloc::vec::Vec, + #[xor(14520)] + #[prost(uint32, tag = "11")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5157)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gdhfhcojhoe { + #[xor(6306)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpfdhelpjfc { + #[xor(11655)] + #[prost(uint32, tag = "15")] + pub refresh_status: u32, + #[prost(bool, tag = "8")] + pub gfdoplopbpb: bool, + #[xor(7681)] + #[prost(uint32, tag = "11")] + pub hfgeippbdee: u32, + #[xor(933)] + #[prost(int64, tag = "7")] + pub mcpmobeikhc: i64, + #[prost(message, optional, tag = "10")] + pub nanhcelkgdj: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub bjgebgakebp: ::core::option::Option, + #[prost(string, tag = "2047")] + pub lfedakchemd: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub fakodiiflca: ::prost::alloc::string::String, + #[prost(bool, tag = "12")] + pub eokdoddmiha: bool, + #[prost(bool, tag = "2")] + pub bjfbdgopbhk: bool, + #[xor(8825)] + #[prost(int64, tag = "1")] + pub ldgpffiabcf: i64, + #[xor(9679)] + #[prost(uint32, tag = "13")] + pub emlpikkpakl: u32, + #[xor(12106)] + #[prost(uint32, tag = "14")] + pub lpgcfonkali: u32, + #[prost(bool, tag = "6")] + pub dmckfknodcf: bool, + #[xor(2301)] + #[prost(int64, tag = "3")] + pub iompfopcppk: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mmfghffdebb { + #[prost(uint32, tag = "1")] + pub ddbmjpajmnc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3360)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Odlfcbmokin { + #[xor(4031)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1645)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aoicjncomaa { + #[xor(9917)] + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(bool, tag = "2")] + pub hhcljicoegf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jfegmpakmfc {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1462)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Edfnoeeabpa { + #[xor(11059)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ljmfhhhfmho { + #[xor(12546)] + #[prost(int32, tag = "9")] + pub pohnmenbegi: i32, + #[xor(12547)] + #[prost(int32, tag = "8")] + pub llffkfoejgj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5194)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbakmapldih { + #[prost(message, repeated, tag = "13")] + pub aoppojcdgge: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ooinadfkimn { + #[prost(enumeration = "Fjdagjknojp", tag = "1")] + pub r#type: i32, + #[prost(message, repeated, tag = "2")] + pub lgcdjcdbmml: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub pgjimfdcmgo: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5758)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hiknddfjjnm { + #[xor(11614)] + #[prost(uint32, tag = "10")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khnakiapeck { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub fkkbflokodb: i32, + #[prost(message, optional, tag = "2")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub ffhglkfmhni: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5781)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebmkdnnmnph { + #[prost(message, repeated, tag = "15")] + pub ajddecediad: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6802)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Akbhggkghlp { + #[xor(2584)] + #[prost(uint32, tag = "15")] + pub jodadfonlob: u32, + #[xor(8627)] + #[prost(uint64, tag = "4")] + pub dphiibdjiji: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2377)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ocnlabpfpeh { + #[xor(10669)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nandagnjijg { + #[prost(int32, tag = "1")] + pub mgkoacfjjea: i32, + #[prost(int32, tag = "2")] + pub ianhccpdolj: i32, + #[prost(enumeration = "Klcnpnekjhm", tag = "3")] + pub r#type: i32, + #[prost(int32, tag = "4")] + pub flbkfpdokpd: i32, + #[prost(bool, tag = "5")] + pub jjgifknonmk: bool, + #[prost(bool, tag = "6")] + pub oimdgfanjnd: bool, + #[prost(int32, tag = "7")] + pub gdedgknogfn: i32, + #[prost(bool, tag = "8")] + pub dfhgnjagfpo: bool, + #[prost(bool, tag = "9")] + pub ifaghjkiioa: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lfhjnbchndd { + #[xor(5661)] + #[prost(uint32, tag = "15")] + pub jalbcjjdoff: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RamenData { + #[prost(uint32, repeated, tag = "11")] + pub kbkckfmhpdb: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "1")] + pub llomejgcnef: ::prost::alloc::vec::Vec, + #[xor(10958)] + #[prost(uint32, tag = "9")] + pub gibbgfmiodo: u32, + #[prost(bool, tag = "4")] + pub has_mystical_spice: bool, + #[prost(uint32, repeated, tag = "13")] + pub knpgijfmine: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub edlpfmamohk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub engjebcfcpb: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "10")] + pub bboahjlcgoa: ::std::collections::HashMap, + #[xor(335)] + #[prost(uint32, tag = "6")] + pub obicacdgnjb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilccgfopdjo { + #[prost(message, repeated, tag = "1")] + pub fckhpamjkbn: ::prost::alloc::vec::Vec, + #[prost(enumeration = "HollowEntityType", tag = "2")] + pub pbgfddlpihp: i32, + #[prost(message, repeated, tag = "3")] + pub ooicblaegij: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub igpbdhdnmkm: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Dklgniaakji", tag = "5")] + pub jhooeobinia: i32, + #[prost(message, repeated, tag = "6")] + pub bochicogime: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub pleppbigime: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub dhiafbkblhc: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub cfhmigfkadg: ::core::option::Option, + #[prost(bool, tag = "10")] + pub hjljochckpe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lipclgnomgd { + #[prost(bool, tag = "1")] + pub claghdagoid: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9938)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Joggenifpln { + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(11928)] + #[prost(uint64, tag = "2")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "8")] + pub info: ::core::option::Option, + #[xor(1830)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Blnpmlepdlj { + #[prost(int32, tag = "1")] + pub opnagkkjplp: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4294)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ldcgcipdcch { + #[xor(8977)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1905)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bjeodclgkno { + #[xor(5204)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gmnhekijioa { + #[prost(bool, tag = "1")] + pub jngpmoglnil: bool, + #[prost(bool, tag = "2")] + pub gllaknfphgo: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkllldbankl { + #[prost(uint32, repeated, tag = "1")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6541)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mngnfkagoio { + #[xor(14303)] + #[prost(uint32, tag = "5")] + pub cdklkjpfhhl: u32, + #[xor(16260)] + #[prost(uint32, tag = "1")] + pub eedkkdadncg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7342)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ehgcblfmegb { + #[xor(9802)] + #[prost(uint32, tag = "11")] + pub pfhkpjilong: u32, + #[xor(4763)] + #[prost(uint32, tag = "2")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3717)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnhjbnpiknn { + #[prost(int32, repeated, tag = "15")] + pub nfinlhnhobm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8862)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ecfnbpphhei { + #[xor(13614)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oijbhgdgojo { + #[prost(message, optional, tag = "11")] + pub akmnibpjono: ::core::option::Option, + #[xor(11558)] + #[prost(int32, tag = "8")] + pub ddcnjgiklbp: i32, + #[xor(14898)] + #[prost(int32, tag = "6")] + pub ggdkhpplobj: i32, + #[xor(14828)] + #[prost(int32, tag = "13")] + pub lamomhanken: i32, + #[xor(5392)] + #[prost(int32, tag = "15")] + pub lhgmkeminbn: i32, + #[xor(2032)] + #[prost(int32, tag = "5")] + pub bkmgijmnlpf: i32, + #[xor(2408)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnfeiokplaj { + #[prost(uint32, repeated, tag = "11")] + pub afjhpahjknb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Janjnoajlpg { + #[xor(5826)] + #[prost(uint64, tag = "14")] + pub bkmgijmnlpf: u64, + #[xor(11741)] + #[prost(uint32, tag = "11")] + pub hkopdmjdgjj: u32, + #[xor(11690)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, + #[xor(13460)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, + #[xor(13885)] + #[prost(uint64, tag = "8")] + pub hdonikjeenc: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dkhhbfjpcjc {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3170)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjihfmglmdj { + #[xor(15930)] + #[prost(uint32, tag = "5")] + pub ohldlnkneld: u32, + #[prost(message, repeated, tag = "15")] + pub dgbdkfjknpa: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnkialjmphe { + #[prost(uint32, tag = "1")] + pub bedmgnddnio: u32, + #[prost(uint32, tag = "2")] + pub buddy_id: u32, + #[prost(bool, tag = "3")] + pub hepibgpjmjd: bool, + #[prost(bytes = "vec", tag = "4")] + pub pfpaamkkfcl: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub dkamadpoiad: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub avatar_plan_param2: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ppdejanbabn { + #[prost(message, optional, tag = "4")] + pub cmglbcnkfdm: ::core::option::Option, + #[xor(2125)] + #[prost(uint32, tag = "11")] + pub ppfpphdegci: u32, + #[xor(13699)] + #[prost(uint32, tag = "14")] + pub efjpgeejika: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnmipaiehha { + #[prost(message, optional, tag = "13")] + pub icemikabfhm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bnccjpmdkom { + #[prost(enumeration = "Jdkdapingmh", tag = "1")] + pub fnkpjeodjhh: i32, + #[prost(enumeration = "Gbnhkbnegji", tag = "2")] + pub ajbiidkfbpn: i32, + #[prost(int32, tag = "3")] + pub mahdaplbojj: i32, + #[prost(int32, tag = "4")] + pub piahiiofjdd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2566)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdflfbkcmla { + #[xor(10810)] + #[prost(int32, tag = "14")] + pub gndceocokgm: i32, + #[xor(5465)] + #[prost(uint32, tag = "1")] + pub gcnenlcnlfd: u32, + #[xor(1502)] + #[prost(int32, tag = "12")] + pub igfpelaffee: i32, + #[prost(bool, tag = "11")] + pub faikgjoehmh: bool, + #[xor(11588)] + #[prost(uint64, tag = "2")] + pub gglnpjfcibj: u64, + #[prost(bool, tag = "15")] + pub hinihpdgele: bool, + #[xor(10759)] + #[prost(uint32, tag = "3")] + pub nafkgiconnn: u32, + #[prost(string, tag = "4")] + pub token: ::prost::alloc::string::String, + #[xor(15208)] + #[prost(uint32, tag = "9")] + pub uid: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aonlomhccih { + #[prost(message, optional, tag = "1")] + pub ngfpcabcefn: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub hfgdjcfhokn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iaojkhlbbmn {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbgphghffpe { + #[prost(uint32, repeated, tag = "15")] + pub akphpcjbhjj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oidiaaljodp { + #[prost(message, optional, tag = "1")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(enumeration = "Dklgniaakji", tag = "3")] + pub jhooeobinia: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kngjffbneki { + #[prost(bool, tag = "11")] + pub epekkmbndao: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aokiaajbkdg { + #[prost(message, optional, tag = "1")] + pub mlcpadgnnaa: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub gfnhlgbjgob: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "3")] + pub odnpbhepnoa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2082)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetShoppingMallInfoCsReq { + #[xor(285)] + #[prost(uint32, tag = "3")] + pub ddcnjgiklbp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kighbgmlhjc { + #[prost(enumeration = "Jdkdapingmh", tag = "1")] + pub fnkpjeodjhh: i32, + #[prost(enumeration = "Gbnhkbnegji", tag = "2")] + pub ajbiidkfbpn: i32, + #[prost(int32, repeated, tag = "3")] + pub aekkjojcmih: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Eghnokhjhcm", repeated, tag = "4")] + pub jimghhakmcb: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "5")] + pub gkdfabofolo: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, repeated, tag = "6")] + pub ehfndealfkh: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, repeated, tag = "7")] + pub eefemjdeldi: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5066)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pafpgajifkb { + #[prost(message, repeated, tag = "7")] + pub adodfoghmla: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6748)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetTipsInfoCsReq { + #[xor(7651)] + #[prost(uint32, tag = "3")] + pub r#type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfojdbjgdhn { + #[prost(int32, tag = "1")] + pub buddy_id: i32, + #[prost(int64, tag = "2")] + pub hajhddikadi: i64, + #[prost(int32, tag = "3")] + pub icoehgohboi: i32, + #[prost(int32, tag = "4")] + pub ofldkbiifpf: i32, + #[prost(int32, tag = "5")] + pub dcdmbhmdnin: i32, + #[prost(int32, tag = "6")] + pub edgikldhfec: i32, + #[prost(message, repeated, tag = "7")] + pub jcgebnhagic: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub elfogmijmjl: i32, + #[prost(message, repeated, tag = "9")] + pub bibnoefnfol: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aidknfhcggc {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oghgdocmgim { + #[prost(uint32, repeated, tag = "12")] + pub hapibhgaepp: ::prost::alloc::vec::Vec, + #[xor(8749)] + #[prost(uint32, tag = "1")] + pub kjnibibeich: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iipnflgglmk { + #[prost(uint32, tag = "1")] + pub gnepnfbhfop: u32, + #[prost(int32, tag = "2")] + pub bdkbgenekaa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdffhmdaplh { + #[prost(string, tag = "1")] + pub fepbgchnofe: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Panfocanhli { + #[prost(enumeration = "Nljhpikkdnd", tag = "1")] + pub dkmepflgcmf: i32, + #[prost(message, optional, tag = "2")] + pub cljgdbopadm: ::core::option::Option, + #[prost(enumeration = "AimRectColor", tag = "3")] + pub pcbkafemaab: i32, + #[prost(bool, tag = "4")] + pub ddanjcginpn: bool, + #[prost(bool, tag = "5")] + pub njpnbibkhnn: bool, + #[prost(enumeration = "Pifnkldafnk", tag = "6")] + pub lbebfpjliob: i32, + #[prost(bool, tag = "7")] + pub epkeeppecdj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3573)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdjmhlpnbeb { + #[prost(bool, tag = "3")] + pub akbpkmjenea: bool, + #[xor(11044)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, optional, tag = "12")] + pub kjidoeajjgh: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Goplhmapban { + #[prost(message, optional, tag = "1")] + pub aapeemlfmne: ::core::option::Option, + #[xor(12410)] + #[prost(uint32, tag = "14")] + pub flgfnfnbgmn: u32, + #[prost(message, repeated, tag = "15")] + pub ooicblaegij: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7609)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Filhbhpjemk { + #[xor(75)] + #[prost(uint32, tag = "5")] + pub oefflmlhpca: u32, + #[xor(8547)] + #[prost(uint32, tag = "10")] + pub hnlliaemecn: u32, + #[prost(bool, tag = "4")] + pub jbbalhfeija: bool, + #[xor(13574)] + #[prost(uint32, tag = "2")] + pub bpeicjcnbgl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpbeecllgip { + #[prost(message, optional, tag = "5")] + pub lhebinaimdj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pijalhmgaho { + #[prost(uint32, tag = "1")] + pub section_id: u32, + #[prost(message, optional, tag = "2")] + pub minaoggppmm: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub npoikehikdi: ::core::option::Option, + #[prost(enumeration = "Ablocgbdipn", tag = "4")] + pub bmafhdphlni: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opdgmnjglnl { + #[prost(message, repeated, tag = "11")] + pub djniclmckih: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub mhoafdohonf: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "1")] + pub kpolpdgbjhk: bool, + #[xor(8492)] + #[prost(uint32, tag = "2")] + pub libogmifhem: u32, + #[prost(uint32, repeated, tag = "9")] + pub oijkmfggknf: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub booilddffge: ::core::option::Option, + #[prost(uint32, repeated, tag = "15")] + pub obfbpoddnii: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub dphjbmmfmeb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ebildkdeppm { + #[prost(int32, tag = "1")] + pub ejoccdkolkj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9608)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eleabfbgekh { + #[xor(10839)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nccfcigmipm { + #[prost(int64, tag = "1")] + pub lcmphgcpdbd: i64, + #[prost(int32, tag = "2")] + pub olfbdmnhdgm: i32, + #[prost(int64, tag = "3")] + pub femppbingka: i64, + #[prost(int32, tag = "4")] + pub hmmneikfple: i32, + #[prost(int32, tag = "5")] + pub mjpihoelemh: i32, + #[prost(int32, tag = "6")] + pub eedkkdadncg: i32, + #[prost(message, repeated, tag = "7")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub kmeiejnmaom: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub ciedolknjcc: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub onceekflfhf: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub star: i32, + #[prost(int32, repeated, tag = "12")] + pub bdbdjkhfmbg: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub lfpepddfbdi: ::core::option::Option, + #[prost(message, repeated, tag = "14")] + pub buddy_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub gcaplfhidca: u32, + #[prost(message, optional, tag = "17")] + pub febplmmfogj: ::core::option::Option, + #[prost(map = "uint32, uint32", tag = "18")] + pub mmgmaabagfg: ::std::collections::HashMap, + #[prost(message, repeated, tag = "19")] + pub flodcdfaaao: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "20")] + pub nncbcbeoiac: ::prost::alloc::vec::Vec, + #[prost(int64, tag = "21")] + pub eklklnfifpd: i64, + #[prost(message, optional, tag = "22")] + pub fnagjecjkaa: ::core::option::Option, + #[prost(message, repeated, tag = "23")] + pub geoelhbpnco: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Babjlibpdjh { + #[prost(string, tag = "9")] + pub ibneckkdngh: ::prost::alloc::string::String, + #[prost(map = "string, int32", tag = "11")] + pub ilclagcmjdn: ::std::collections::HashMap<::prost::alloc::string::String, i32>, + #[prost(string, tag = "15")] + pub annagdfjlnl: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpcgnimohil { + #[prost(uint32, repeated, tag = "13")] + pub mdfapdghdah: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub fbaomddpdhm: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1")] + pub oioblbgnfob: ::prost::alloc::vec::Vec, + #[xor(16045)] + #[prost(int32, tag = "15")] + pub eiebnmhcmal: i32, + #[prost(message, repeated, tag = "5")] + pub ecknonfpipf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bocegaemgfl { + #[prost(map = "uint32, message", tag = "2")] + pub ohdjghlgdmn: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfmplkilchn { + #[prost(message, repeated, tag = "6")] + pub popgpgdpepn: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub ijiedkbdmne: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3541)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bickiglcdbf { + #[xor(2923)] + #[prost(uint64, tag = "6")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "14")] + pub info: ::core::option::Option, + #[xor(1246)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Diklafljiph { + #[prost(enumeration = "HollowGridLink", tag = "1")] + pub bdhdkglgljb: i32, + #[prost(enumeration = "Cjbebbigpeo", tag = "2")] + pub dngdefkkckn: i32, + #[prost(enumeration = "HollowEntityType", tag = "3")] + pub fkkbflokodb: i32, + #[prost(message, optional, tag = "4")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub mhchiifggen: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjlfefjeook { + #[prost(uint32, tag = "1")] + pub mgjdcahcpfa: u32, + #[prost(message, repeated, tag = "2")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub jmdcihhhaoc: bool, + #[prost(bool, tag = "4")] + pub pellblmpfld: bool, + #[prost(bool, tag = "5")] + pub nacokmgjccm: bool, + #[prost(bool, tag = "6")] + pub dbjndafglcp: bool, + #[prost(bool, tag = "7")] + pub khebfdaihah: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibacbdmkhge { + #[prost(string, tag = "11")] + pub nmiichclpgb: ::prost::alloc::string::String, + #[xor(9807)] + #[prost(uint32, tag = "6")] + pub mdnjmmidnhi: u32, + #[xor(9229)] + #[prost(uint32, tag = "13")] + pub kmedgakkaop: u32, + #[xor(3377)] + #[prost(uint32, tag = "2")] + pub npgpeififho: u32, + #[xor(3940)] + #[prost(int64, tag = "10")] + pub gchkakdpagi: i64, + #[prost(string, tag = "14")] + pub iecigdepffn: ::prost::alloc::string::String, + #[prost(string, tag = "759")] + pub mikhhicfmac: ::prost::alloc::string::String, + #[xor(1516)] + #[prost(int64, tag = "4")] + pub ohmjonpccoi: i64, + #[xor(1478)] + #[prost(uint32, tag = "1")] + pub igbdkcgnbdn: u32, + #[prost(string, tag = "15")] + pub dkgfmfklakd: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub ikgcjblikbc: ::prost::alloc::string::String, + #[xor(8985)] + #[prost(uint32, tag = "5")] + pub lmhbmgijejl: u32, + #[xor(11841)] + #[prost(uint32, tag = "3")] + pub buy_times: u32, + #[xor(14200)] + #[prost(uint32, tag = "12")] + pub lidlknaende: u32, + #[xor(3238)] + #[prost(uint32, tag = "8")] + pub ieacoaekljj: u32, + #[xor(4690)] + #[prost(uint32, tag = "9")] + pub fiieiehipik: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3554)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mhlmllcoigj { + /// VMP DETECTED + /// + #[xor(7968)] + #[prost(uint32, tag = "3")] + pub mibfimdanol: u32, + #[xor(9996)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fgdniligkmo { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4588)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ejgbiophdkp { + #[xor(11419)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfpnngkjiab { + #[prost(message, optional, tag = "1")] + pub damllkmfgab: ::core::option::Option, + #[prost(int32, tag = "2")] + pub mlcpadgnnaa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8853)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lilfmgcffmh { + #[xor(4882)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[xor(2539)] + #[prost(uint32, tag = "6")] + pub efpckpnefdc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipgadegjikh { + #[prost(uint32, repeated, tag = "4")] + pub lanpdihfhfc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub dkdegjlgeml: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub cciafphmifk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub kdldcjkbejk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1851)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dhjobkiddma { + #[xor(15573)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Malgbkoifbn { + #[xor(12941)] + #[prost(uint32, tag = "14")] + pub ckkkheoalae: u32, + #[prost(uint32, repeated, tag = "11")] + pub amnohomebnl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub ngjmnbbkomg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub mepjbfohmcj: ::prost::alloc::vec::Vec, + #[xor(657)] + #[prost(uint32, tag = "3")] + pub gmhacfgboao: u32, + #[prost(message, repeated, tag = "15")] + pub jidlgaebgmf: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1")] + pub jooogcgldgg: ::prost::alloc::vec::Vec, + #[xor(15879)] + #[prost(uint32, tag = "10")] + pub oobpkgknamg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8205)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pckbmnepdng { + #[xor(7777)] + #[prost(uint32, tag = "12")] + pub jpeclneklpe: u32, + #[prost(enumeration = "Eanenhahgpm", tag = "9")] + pub ogdkohphenc: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ocdblkanjih { + #[xor(5459)] + #[prost(uint32, tag = "8")] + pub lhbejkbkbfh: u32, + #[xor(1042)] + #[prost(int32, tag = "11")] + pub eoahfahogci: i32, + #[xor(6264)] + #[prost(int32, tag = "10")] + pub eclciahjbka: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pllnkcindlj {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jocofamadee { + #[prost(uint32, tag = "1")] + pub cdklkjpfhhl: u32, + #[prost(uint64, tag = "2")] + pub hccjckmjabc: u64, + #[prost(uint64, tag = "3")] + pub mcpmobeikhc: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lbdncliojkc { + #[prost(bool, tag = "15")] + pub epekkmbndao: bool, + #[xor(5479)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1440)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmdojfillie { + #[prost(int32, repeated, tag = "3")] + pub jbchoegilal: ::prost::alloc::vec::Vec, + #[xor(7980)] + #[prost(int32, tag = "15")] + pub flbkfpdokpd: i32, + #[xor(10495)] + #[prost(int32, tag = "8")] + pub cdklkjpfhhl: i32, + #[prost(enumeration = "Nnclecoblio", tag = "11")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6084)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Febdhgffkbb { + #[xor(10809)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5562)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dchmhnablgd { + #[xor(11089)] + #[prost(uint32, tag = "1")] + pub dimdlbpkbaj: u32, + #[xor(1941)] + #[prost(uint32, tag = "11")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientSystemsInfo { + #[prost(message, optional, tag = "1")] + pub phnaojdchmh: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub fdeokhpfnfn: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub flbnmpmdmfn: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub okleoknooga: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub mkjkdndkbpk: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub pladipcbadp: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub onpoacgocof: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub agneedblifb: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub fighhnhdonm: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub kooaifabmhm: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub cpoleaebfib: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub idfpoacebkh: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub hnahedffona: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub trashbin_hermit_data: ::core::option::Option, + #[prost(message, optional, tag = "89")] + pub majnhdojplo: ::core::option::Option, + #[prost(message, optional, tag = "376")] + pub gjdlmeeakjn: ::core::option::Option, + #[prost(message, optional, tag = "498")] + pub kepmknijehb: ::core::option::Option, + #[prost(map = "uint32, int32", tag = "710")] + pub djklfkplljh: ::std::collections::HashMap, + #[prost(message, optional, tag = "1233")] + pub dnopipopcio: ::core::option::Option, + #[prost(message, optional, tag = "1498")] + pub agjpooolnhg: ::core::option::Option, + #[prost(message, optional, tag = "1814")] + pub mgidkpgjhhm: ::core::option::Option, + #[prost(message, repeated, tag = "1815")] + pub ngfdmmgfihd: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "1830")] + pub jahhifcibaf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okofhadkokf { + #[prost(bool, tag = "1")] + pub eoodcplmmlp: bool, + #[prost(message, optional, tag = "2")] + pub almbpkfhepe: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub febglbabbnn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffldjohffnb { + #[prost(int32, tag = "1")] + pub dnjdbbambeo: i32, + #[prost(int32, tag = "2")] + pub icoehgohboi: i32, + #[prost(int32, tag = "3")] + pub level: i32, + #[prost(int32, tag = "4")] + pub ibdjjdjkpln: i32, + #[prost(int32, tag = "5")] + pub cjjcnoabeoj: i32, + #[prost(string, tag = "6")] + pub boodaebpjip: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "7")] + pub fcmnkakfeon: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub skill_type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjjejehjfbc { + #[prost(message, optional, tag = "1")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(int32, tag = "2")] + pub dkmepflgcmf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9706)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ciobpakckob { + #[xor(3391)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgllddndlhf { + #[prost(message, optional, tag = "14")] + pub lcbjpmnpckl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnbdecablki { + #[prost(string, tag = "1")] + pub appdnhldamm: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub ekhcjpfgibk: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub dedkcldjeke: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub pndaflglbma: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ccajjhfbdkc { + #[xor(1159)] + #[prost(uint32, tag = "13")] + pub aagmalpelel: u32, + #[prost(bool, tag = "5")] + pub ilikllnocoa: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lbakhjilpjl { + #[xor(7867)] + #[prost(uint32, tag = "5")] + pub avatar_plan_param2: u32, + #[xor(565)] + #[prost(uint32, tag = "8")] + pub fcjgaigcogm: u32, + #[xor(13140)] + #[prost(uint32, tag = "7")] + pub pomflmajcmp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4891)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ponllbaobho { + #[xor(13316)] + #[prost(uint32, tag = "2")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3966)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetActivityDataScRsp { + #[xor(8727)] + #[prost(int32, tag = "9")] + pub activity_type: i32, + #[prost(message, repeated, tag = "6")] + pub admfgehfjeg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1")] + pub mfldncoijja: ::prost::alloc::vec::Vec, + #[xor(5913)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7551)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ppllmddminj {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5654)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ncdcmbfcnbi {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfemkhailhe { + #[prost(message, optional, tag = "1")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4107)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ohphhcfcoap { + #[xor(12798)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3167)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ehbmlofliac {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5302)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ehmjlcljhlc { + #[xor(1662)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4131)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Becddbbadhb { + #[xor(4491)] + #[prost(uint32, tag = "2")] + pub fcfbjmhjpjg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7779)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdjbakkgpok { + #[xor(10296)] + #[prost(uint32, tag = "9")] + pub kbnohlffjil: u32, + #[prost(uint32, repeated, tag = "7")] + pub jdacddhjkpn: ::prost::alloc::vec::Vec, + #[xor(9390)] + #[prost(uint32, tag = "14")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6922)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmfaaegdnne { + #[prost(message, optional, tag = "8")] + pub gfkogpnmnfe: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Geepbijhnpg { + #[prost(string, tag = "1")] + pub hkjfgkgfpao: ::prost::alloc::string::String, + #[prost(enumeration = "Poappelpmmi", tag = "2")] + pub r#type: i32, + #[prost(bool, tag = "3")] + pub mhcjpndapbh: bool, + #[prost(message, optional, tag = "4")] + pub mnlneniidfp: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub ofpgeipahnf: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub pkegclfmpgc: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub ldamlealjmf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dlglooolpge { + #[prost(message, optional, tag = "2")] + pub cmaiimjehic: ::core::option::Option, + #[prost(bool, tag = "7")] + pub ooiglkgojao: bool, + #[xor(10967)] + #[prost(uint32, tag = "13")] + pub cdklkjpfhhl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7936)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Efhgkiondaf { + #[xor(10372)] + #[prost(uint32, tag = "8")] + pub fcmajdepikp: u32, + #[xor(2640)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5557)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Blokfkpmcdd {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5288)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jidnigmejnn { + #[prost(map = "uint32, uint32", tag = "14")] + pub gepficdakna: ::std::collections::HashMap, + #[xor(15722)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9487)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Klpkpnndinh { + #[xor(14923)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6595)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mhfjomnmimf { + #[xor(14165)] + #[prost(uint32, tag = "6")] + pub group: u32, + #[xor(14158)] + #[prost(uint32, tag = "14")] + pub kbnohlffjil: u32, + #[xor(5341)] + #[prost(uint32, tag = "10")] + pub efpckpnefdc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dndjeoopcik { + #[prost(uint32, tag = "1")] + pub jhooejigljp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9316)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oddcnjmknbi { + #[prost(enumeration = "Hnnpaiehmcp", tag = "7")] + pub hodaogbdhod: i32, + #[xor(3291)] + #[prost(uint32, tag = "13")] + pub jlpdoafnoie: u32, + #[xor(5254)] + #[prost(uint32, tag = "5")] + pub mlcpadgnnaa: u32, + #[xor(2374)] + #[prost(uint32, tag = "4")] + pub cbpbpdfahbb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbngjebecfl { + #[prost(message, repeated, tag = "1")] + pub dedkcldjeke: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2750)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetYorozuyaInfoCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7252)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Knnoamjfdhp { + #[xor(9970)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(686)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hijkomipcdf { + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(9988)] + #[prost(uint64, tag = "2")] + pub fkcdkdiacni: u64, + #[xor(2310)] + #[prost(uint64, tag = "4")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "15")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ckjiacemeal { + #[prost(uint32, tag = "1")] + pub lgnobbdbgdl: u32, + #[prost(uint32, tag = "2")] + pub phpgbloebdf: u32, + #[prost(uint32, tag = "3")] + pub neehbakfffa: u32, + #[prost(message, optional, tag = "4")] + pub lmekinajfad: ::core::option::Option, + #[prost(bool, tag = "5")] + pub gjdchdfejhl: bool, + #[prost(bool, tag = "6")] + pub nhhkigmaklf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3959)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct ReportUiLayoutPlatformCsReq { + #[xor(6639)] + #[prost(uint32, tag = "3")] + pub plkmnkobgae: u32, + #[xor(11149)] + #[prost(uint32, tag = "14")] + pub lababfegbph: u32, + #[prost(bool, tag = "10")] + pub ikbeommcihm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oakjllkipao { + #[xor(3058)] + #[prost(uint32, tag = "3")] + pub klionofjpja: u32, + #[xor(9043)] + #[prost(uint32, tag = "12")] + pub ffkiepppapi: u32, + #[xor(10831)] + #[prost(uint32, tag = "6")] + pub eeinmbpaibc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dglajielmdc { + #[prost(message, optional, tag = "8")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnokgfhnjah { + #[prost(string, tag = "1")] + pub pdkepajpele: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7939)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iaklgbglpem { + #[xor(16360)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pokljdnilhl { + #[prost(uint32, repeated, tag = "1")] + pub icdbfaacpgk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub bhpjgedjadk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub pninkkjeipi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub kbnffcbcngh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub ffjpmalgdef: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub weapon_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "8")] + pub auto_recovery_info: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "9")] + pub kpfjakkegoi: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub eokeefliolo: ::core::option::Option, + #[prost(message, repeated, tag = "14")] + pub resource_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub equip_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6342)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BattleReportCsReq { + #[prost(map = "uint32, int32", tag = "3")] + pub kiabkfncndl: ::std::collections::HashMap, + #[prost(map = "uint32, int32", tag = "10")] + pub iaohaipmlhp: ::std::collections::HashMap, + #[prost(map = "uint32, int32", tag = "11")] + pub lnnegniibkj: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iiklfhddhhd { + #[prost(float, tag = "1")] + pub pohnmenbegi: f32, + #[prost(float, tag = "2")] + pub llffkfoejgj: f32, + #[prost(float, tag = "3")] + pub cgcpijamknl: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Colominmeai {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jnecbcnadij { + #[prost(uint64, tag = "1")] + pub olfbdmnhdgm: u64, + #[prost(uint32, tag = "2")] + pub aehcdloifkp: u32, + #[prost(enumeration = "Nngkmcdibgn", tag = "3")] + pub nknommddndc: i32, + #[prost(uint32, tag = "4")] + pub ihagncbcjmd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4608)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Apagmgpjokk { + #[xor(4612)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngjlabeanpc { + #[xor(7357)] + #[prost(uint64, tag = "12")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "13")] + pub info: ::core::option::Option, + #[xor(12418)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4950)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cbjdphcecbk { + #[xor(6828)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dfkgbppfeka { + #[prost(bool, tag = "1")] + pub aeifgbpooob: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8727)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Edpmedflhko { + #[xor(3961)] + #[prost(int32, tag = "3")] + pub fhpalfbcgad: i32, + #[prost(message, optional, tag = "13")] + pub position: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub lhbejkbkbfh: ::core::option::Option, + #[xor(14263)] + #[prost(uint32, tag = "10")] + pub ohldlnkneld: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Blgkmjclfcc { + #[prost(bool, tag = "1")] + pub lock: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmhghgpehlj { + #[prost(message, optional, tag = "1")] + pub ifljdmjcfdc: ::core::option::Option, + #[prost(bool, tag = "3")] + pub bclokhnehbh: bool, + #[prost(bool, tag = "4")] + pub cejkifoijih: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdakpdcnlmj { + #[xor(13704)] + #[prost(uint32, tag = "10")] + pub efpckpnefdc: u32, + #[xor(16055)] + #[prost(uint32, tag = "15")] + pub jkhpachcfgh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5109)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpahfkhiepj { + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(8702)] + #[prost(uint64, tag = "1")] + pub fdfjcoccaoa: u64, + #[xor(6339)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "15")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cikfjcnopap { + #[prost(message, repeated, tag = "7")] + pub gffoejhfblb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hgjjmhdanic { + #[prost(bool, tag = "1")] + pub pajlimanbjn: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Laoiogfjpnh {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4171)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkloikhhjog { + #[xor(349)] + #[prost(uint64, tag = "3")] + pub fkcdkdiacni: u64, + #[xor(2680)] + #[prost(uint64, tag = "4")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmgdhmdigah { + #[prost(uint32, tag = "1")] + pub cibcmgbaflm: u32, + #[prost(message, repeated, tag = "2")] + pub pbpphccccma: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndppkmmoodf { + #[prost(uint32, repeated, tag = "2")] + pub nhhafmpoipi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub bkdeogdpeld: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbgnflphkea { + #[xor(15576)] + #[prost(uint32, tag = "6")] + pub efpckpnefdc: u32, + #[prost(message, optional, tag = "13")] + pub pheaeeecdmg: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub level_perform_info: ::core::option::Option, + #[prost(bool, tag = "7")] + pub end_hollow: bool, + #[prost(string, tag = "11")] + pub eibpdaaabdh: ::prost::alloc::string::String, + #[prost(enumeration = "Geeejnimdmd", tag = "3")] + pub perform_type: i32, + #[prost(message, repeated, tag = "5")] + pub enocgpmifoj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1149)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Feldpjfbpme { + #[prost(uint32, repeated, tag = "1")] + pub hfnobnddpcd: ::prost::alloc::vec::Vec, + #[xor(9533)] + #[prost(uint32, tag = "10")] + pub quest_id: u32, + #[prost(bool, tag = "12")] + pub hkdbnpendnh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4322)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cddjpacacbi { + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, + #[xor(2205)] + #[prost(uint64, tag = "12")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(12290)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Clnipkagban { + #[prost(int32, tag = "1")] + pub jpeamfkagof: i32, + #[prost(int32, tag = "2")] + pub dpaeikpkhgl: i32, + #[prost(int32, tag = "3")] + pub icoehgohboi: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clbhlliocpa { + #[prost(map = "uint32, bool", tag = "4")] + pub lhblfjmfmhc: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4059)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetDisplayCaseDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8417)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mkgjjgjjddf { + #[xor(15399)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[xor(15680)] + #[prost(uint32, tag = "2")] + pub buddy_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nghmemdfmda { + #[prost(uint32, repeated, tag = "1")] + pub gnbgjkfeckj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub ieeeklnbloc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7104)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Doeobohobib { + #[xor(2522)] + #[prost(uint32, tag = "3")] + pub fiieiehipik: u32, + #[xor(16028)] + #[prost(uint32, tag = "5")] + pub ileoefbmcfo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcjkhihfkmd { + #[prost(message, repeated, tag = "10")] + pub pgkmmimfddl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eemcehbdfgp { + #[prost(uint32, tag = "1")] + pub fcmajdepikp: u32, + #[prost(bool, tag = "2")] + pub fdbadcfkdfi: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1470)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ppkamkcaapi {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcmiljmebmm { + #[prost(string, tag = "1")] + pub majnhdojplo: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub appdnhldamm: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub elgcbflfjno: ::prost::alloc::string::String, + #[prost(enumeration = "Mjejehpehpe", tag = "4")] + pub nibcngpennk: i32, + #[prost(enumeration = "Pelhdnfcpem", tag = "5")] + pub nhahoapiomm: i32, + #[prost(enumeration = "Kkaipocmkbc", tag = "6")] + pub cghoionfijn: i32, + #[prost(message, optional, tag = "7")] + pub jbcbamblgjk: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub hoknlmepmgb: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub beecmpjjmne: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub dedkcldjeke: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub aiofomleecc: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub mfpcbboigec: ::core::option::Option, + #[prost(bool, tag = "13")] + pub algeopajhco: bool, + #[prost(bool, tag = "14")] + pub gbplhncibee: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6866)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cepkfafjkbc { + #[prost(bool, tag = "8")] + pub lpkhknjmjhc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4095)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ooaijgcocob { + #[xor(14305)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4822)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct RunEventGraphScRsp { + #[prost(bool, tag = "14")] + pub kgkcjopccak: bool, + #[xor(14830)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9420)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cabcpfmdkfd { + #[prost(message, repeated, tag = "9")] + pub dlkfddbjeon: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cilameijfpd { + #[prost(bool, tag = "1")] + pub jgoaknljoip: bool, + #[prost(bool, tag = "2")] + pub gkmdgocecnc: bool, + #[prost(bool, tag = "3")] + pub nldbieegndm: bool, + #[prost(uint32, tag = "4")] + pub nligpolonjp: u32, + #[prost(uint32, tag = "5")] + pub obpdlgfmjop: u32, + #[prost(message, optional, tag = "6")] + pub kkpabofhfkp: ::core::option::Option, + #[prost(bool, tag = "7")] + pub ioobeeffhpb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ebcljmchhim { + #[xor(13913)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8387)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hkipplhlkig {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fiapahffklb { + #[prost(string, tag = "1")] + pub hkjfgkgfpao: ::prost::alloc::string::String, + #[prost(enumeration = "Poappelpmmi", tag = "2")] + pub r#type: i32, + #[prost(bool, tag = "3")] + pub mhcjpndapbh: bool, + #[prost(string, tag = "4")] + pub mnlneniidfp: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub ofpgeipahnf: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub pkegclfmpgc: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub ldamlealjmf: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Niolhgdfekc { + #[xor(4858)] + #[prost(uint32, tag = "7")] + pub kocafnbpjpb: u32, + #[prost(message, optional, tag = "3")] + pub level_perform_info: ::core::option::Option, + #[prost(enumeration = "Geeejnimdmd", tag = "12")] + pub perform_type: i32, + #[prost(message, optional, tag = "10")] + pub level_reward_info: ::core::option::Option, + #[prost(bool, tag = "13")] + pub end_hollow: bool, + #[xor(2133)] + #[prost(uint32, tag = "4")] + pub bbiidnnlech: u32, + #[prost(message, optional, tag = "2")] + pub mdlkgdlcegl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hocppmmallp { + #[prost(uint32, tag = "1")] + pub bdcdigobcdi: u32, + #[prost(uint32, tag = "2")] + pub fpkcdoibhlj: u32, + #[prost(message, repeated, tag = "3")] + pub bkdeogdpeld: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub bgnfoabaajk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8515)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gilllfjlbhj { + #[xor(6913)] + #[prost(int32, tag = "6")] + pub retcode: i32, + #[xor(3426)] + #[prost(int64, tag = "10")] + pub fdpaimmgagp: i64, + #[xor(15536)] + #[prost(uint32, tag = "12")] + pub pigjgigjngb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9774)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ekafnkelepa {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4017)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerGetTokenCsReq { + /// VMP DETECTED + /// + #[xor(8488)] + #[prost(uint32, tag = "1")] + pub hkaogojandi: u32, + #[prost(string, tag = "2")] + pub token: ::prost::alloc::string::String, + #[xor(1234)] + #[prost(uint32, tag = "3")] + pub mgfifdgbdej: u32, + #[prost(string, tag = "4")] + pub gccnjikhcho: ::prost::alloc::string::String, + #[xor(4423)] + #[prost(uint32, tag = "6")] + pub aiikoccmkkn: u32, + #[xor(12036)] + #[prost(uint32, tag = "7")] + pub eiiglghffce: u32, + #[prost(string, tag = "8")] + pub client_rand_key: ::prost::alloc::string::String, + #[xor(6134)] + #[prost(uint32, tag = "10")] + pub pgoddhoecan: u32, + #[xor(8893)] + #[prost(uint32, tag = "11")] + pub hkbedoodano: u32, + #[xor(14740)] + #[prost(uint32, tag = "12")] + pub ofjdingpclf: u32, + #[prost(string, tag = "13")] + pub account_uid: ::prost::alloc::string::String, + #[prost(string, tag = "14")] + pub device: ::prost::alloc::string::String, + #[xor(12801)] + #[prost(uint32, tag = "15")] + pub uid: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Obgbnnpbjmh {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfgelihokkp { + #[xor(5016)] + #[prost(uint32, tag = "9")] + pub ekigkbhfgom: u32, + #[xor(13445)] + #[prost(uint64, tag = "6")] + pub pjncabbfhlm: u64, + #[prost(message, repeated, tag = "8")] + pub ecedolahaob: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "15")] + pub mldkmglklio: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "10")] + pub nicaanchglk: ::std::collections::HashMap, + #[xor(15791)] + #[prost(uint64, tag = "3")] + pub epfmdjegaob: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3924)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct LeaveCurDungeonCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdghfpknmam { + #[xor(372)] + #[prost(uint32, tag = "5")] + pub jmcgfhdplje: u32, + #[prost(bool, tag = "2")] + pub kjfbdcalkgc: bool, + #[prost(bool, tag = "9")] + pub ilikllnocoa: bool, + #[xor(12491)] + #[prost(int64, tag = "12")] + pub digblcoafeb: i64, + #[prost(map = "uint32, uint32", tag = "4")] + pub ohkfncepmam: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phomgihbfgi { + #[prost(map = "string, int32", tag = "1")] + pub gpabcfjfaje: ::std::collections::HashMap<::prost::alloc::string::String, i32>, + #[prost(bool, tag = "2")] + pub cdeekplpgfb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fniddfigflb { + #[prost(message, repeated, tag = "1")] + pub dajddmdjgbl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub gldhagkgidh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oianoidceoo {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjljkenhjdi { + #[xor(13478)] + #[prost(uint32, tag = "1")] + pub gaomandddbl: u32, + #[xor(14637)] + #[prost(int32, tag = "8")] + pub eedkkdadncg: i32, + #[prost(message, repeated, tag = "2")] + pub bhglpnbbpjf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6163)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Concjljiepf {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Plpnhihbdid { + #[prost(bool, tag = "1")] + pub jgoaknljoip: bool, + #[prost(enumeration = "TimePeriodType", tag = "2")] + pub time_period: i32, + #[prost(uint32, tag = "3")] + pub hccbgkjolcb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bomcdbikejj { + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1832)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocifmmnfgjf { + #[prost(bool, tag = "8")] + pub hhjnofgafng: bool, + #[prost(uint32, repeated, tag = "4")] + pub gbenfgahbkj: ::prost::alloc::vec::Vec, + #[xor(1079)] + #[prost(uint32, tag = "15")] + pub iakbomjphnh: u32, + #[xor(2831)] + #[prost(uint32, tag = "6")] + pub jhgaoacoipj: u32, + #[prost(uint32, repeated, tag = "11")] + pub amnohomebnl: ::prost::alloc::vec::Vec, + #[xor(3864)] + #[prost(uint32, tag = "1")] + pub buddy_id: u32, + #[prost(uint32, repeated, tag = "7")] + pub dnlpighcbpd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnanoobjomm { + #[prost(message, optional, tag = "1")] + pub gcabahdaahc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dlchilbfbfo { + #[prost(int32, tag = "1")] + pub hdbbkfkiehf: i32, + #[prost(int32, tag = "2")] + pub cmcjbihepei: i32, + #[prost(int32, tag = "3")] + pub ekpcpcnhbcc: i32, + #[prost(uint32, tag = "4")] + pub phaeekbmfcj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ebnaacjfgef { + #[prost(int32, tag = "1")] + pub mgkoacfjjea: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llponfjondb { + #[prost(message, repeated, tag = "9")] + pub kialeffcmgp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gelhpempcpj { + #[prost(message, optional, tag = "1")] + pub quest_id: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub clgdocgoggb: ::core::option::Option, + #[prost(int32, tag = "3")] + pub dkmepflgcmf: i32, + #[prost(message, optional, tag = "4")] + pub count: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8114)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hohpbnpfloe { + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[xor(10727)] + #[prost(uint64, tag = "9")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(5140)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Abjjnfmfiaj { + #[prost(int32, tag = "1")] + pub mgkoacfjjea: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nbjddhdajpe { + #[xor(2852)] + #[prost(uint32, tag = "10")] + pub avatar_id: u32, + #[xor(1246)] + #[prost(uint32, tag = "15")] + pub icoehgohboi: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obojidpafgm { + #[prost(int32, repeated, tag = "11")] + pub ncbahpoldbo: ::prost::alloc::vec::Vec, + #[xor(16051)] + #[prost(int32, tag = "9")] + pub kfobnfboaoi: i32, + #[xor(1789)] + #[prost(int32, tag = "15")] + pub flbkfpdokpd: i32, + #[xor(3944)] + #[prost(int32, tag = "4")] + pub hmmneikfple: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7266)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UpdateEventGraphScNotify { + #[prost(bool, tag = "10")] + pub is_event_success: bool, + #[xor(6482)] + #[prost(uint32, tag = "7")] + pub event_graph_uid: u32, + #[xor(10514)] + #[prost(uint32, tag = "11")] + pub paplimhfgmb: u32, + #[xor(10297)] + #[prost(uint32, tag = "13")] + pub event_graph_owner_uid: u32, + #[xor(14032)] + #[prost(uint32, tag = "5")] + pub tag: u32, + #[prost(string, tag = "3")] + pub npc_interaction: ::prost::alloc::string::String, + #[prost(enumeration = "EventGraphOwnerType", tag = "8")] + pub owner_type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjdlljnbodj { + #[prost(message, optional, tag = "1")] + pub mimfgpbeaeb: ::core::option::Option, + #[prost(enumeration = "Fmflljdejnn", tag = "2")] + pub bnmdgdpbeej: i32, + #[prost(message, optional, tag = "3")] + pub himpcagiloj: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub noccpcofebl: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Hhfhcilfaoa", tag = "5")] + pub fkmbkkldckl: i32, + #[prost(int32, repeated, tag = "6")] + pub ckimaiigded: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "7")] + pub onbjnjebcma: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub apmgkdkmjmo: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "9")] + pub pjmgbgnkikd: i32, + #[prost(int32, tag = "10")] + pub iimjbhikfoj: i32, + #[prost(message, optional, tag = "11")] + pub pohnmenbegi: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub llffkfoejgj: ::core::option::Option, + #[prost(enumeration = "Clhfpgmncdb", tag = "13")] + pub position: i32, + #[prost(message, optional, tag = "14")] + pub lcjdkmhnjbp: ::core::option::Option, + #[prost(bool, tag = "15")] + pub ljbabolalfk: bool, + #[prost(message, repeated, tag = "16")] + pub ljkphaonake: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "17")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "19")] + pub fdgombmcafl: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "20")] + pub ghjlpmnimjm: i32, + #[prost(enumeration = "Pifnkldafnk", tag = "21")] + pub lbebfpjliob: i32, + #[prost(message, optional, tag = "22")] + pub ojldlpbkinl: ::core::option::Option, + #[prost(message, optional, tag = "23")] + pub aokebkkgcig: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dmponhmapkp { + #[xor(8726)] + #[prost(uint32, tag = "1")] + pub cdklkjpfhhl: u32, + #[xor(12795)] + #[prost(int64, tag = "2")] + pub kggpcmomkbp: i64, + #[prost(bool, tag = "12")] + pub lnljphgoaij: bool, + #[xor(8135)] + #[prost(uint32, tag = "9")] + pub rank: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Macpnembgpk { + #[prost(int32, tag = "1")] + pub quest_id: i32, + #[prost(int32, tag = "2")] + pub r#type: i32, + #[prost(bool, tag = "3")] + pub djldiehhajf: bool, + #[prost(bool, tag = "4")] + pub gfhegijnplf: bool, + #[prost(int32, tag = "5")] + pub akacgpjilpb: i32, + #[prost(bool, tag = "6")] + pub pmnpdknfdge: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Megifeicgeh { + #[xor(12639)] + #[prost(int32, tag = "9")] + pub pdoiemkfnjo: i32, + #[prost(map = "int32, int32", tag = "15")] + pub afndoaklpgc: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pnkpjbjffnj { + #[prost(bool, tag = "1")] + pub pjcbobfppfo: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5011)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iddmdifmphd { + #[xor(6463)] + #[prost(uint32, tag = "6")] + pub fiieiehipik: u32, + #[xor(1672)] + #[prost(uint32, tag = "10")] + pub fjncgaopabg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Afnkblebkoa { + #[prost(bool, tag = "1")] + pub gjfhobkjnki: bool, + #[prost(bool, tag = "2")] + pub cjkpimknioj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enoghmgcded { + #[prost(message, optional, tag = "1")] + pub buddy_id: ::core::option::Option, + #[prost(enumeration = "Lglhkcjflnb", tag = "2")] + pub afdihnnibbh: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjipomkgmdf { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub fkkbflokodb: i32, + #[prost(message, optional, tag = "2")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub opgkkfolfkn: ::core::option::Option, + #[prost(enumeration = "Dekghfophnj", tag = "4")] + pub gojjfbjajbi: i32, + #[prost(message, optional, tag = "5")] + pub jbmhoedjjlc: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "6")] + pub kgdabpmjfoh: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Faimfeedfhe { + #[xor(7654)] + #[prost(uint32, tag = "12")] + pub kmmjjgagcch: u32, + #[prost(message, repeated, tag = "4")] + pub nkkfmhbhanl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kknmpgddbbi { + #[prost(message, optional, tag = "1")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(enumeration = "Ofeiemilabm", tag = "2")] + pub jkfnpjpmaof: i32, + #[prost(int32, repeated, tag = "3")] + pub oiafcbpflbc: ::prost::alloc::vec::Vec, + #[prost(string, tag = "4")] + pub fepbgchnofe: ::prost::alloc::string::String, + #[prost(bool, tag = "5")] + pub hnfcljnoiab: bool, + #[prost(string, tag = "6")] + pub gonhcjanlem: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub khngmkjocha: ::prost::alloc::string::String, + #[prost(uint32, tag = "8")] + pub ibbiadgcnlm: u32, + #[prost(uint32, tag = "9")] + pub ioblggianah: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Anphhhgndmk { + #[xor(991)] + #[prost(int32, tag = "2")] + pub aahhneigpkk: i32, + #[xor(7951)] + #[prost(uint32, tag = "3")] + pub lhbejkbkbfh: u32, + #[xor(11082)] + #[prost(uint32, tag = "12")] + pub jaeffcokjfo: u32, + #[xor(12892)] + #[prost(int32, tag = "8")] + pub dkmepflgcmf: i32, + #[xor(11868)] + #[prost(uint32, tag = "11")] + pub emkbdkpeceh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Emmefoghmfe { + #[prost(bool, tag = "2")] + pub ebjioohidnp: bool, + #[prost(message, optional, tag = "13")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub nkmeffcgekd: ::core::option::Option, + #[xor(9395)] + #[prost(int32, tag = "9")] + pub djmdcihafgo: i32, + #[prost(bool, tag = "12")] + pub opmjfgiafic: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5641)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Apppdmfikio { + #[xor(2737)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obcecfdjihe { + #[prost(int32, tag = "1")] + pub hhmoklfpnlp: i32, + #[prost(message, optional, tag = "2")] + pub efpckpnefdc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3095)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hfedmpenmpm { + #[xor(5309)] + #[prost(int32, tag = "4")] + pub njgdnpeokjl: i32, + #[xor(15968)] + #[prost(uint32, tag = "15")] + pub dfadlccbeoo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eeombafebjb {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4422)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Leagafloeed { + #[xor(9848)] + #[prost(uint32, tag = "4")] + pub hnemnoacilo: u32, + #[xor(12979)] + #[prost(uint32, tag = "6")] + pub gmpjpjaloln: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1936)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfefkijcpac { + #[xor(1338)] + #[prost(int32, tag = "7")] + pub njmlpochkip: i32, + #[xor(2274)] + #[prost(int32, tag = "4")] + pub knbbjgaagll: i32, + #[prost(string, tag = "8")] + pub ldgpffiabcf: ::prost::alloc::string::String, + #[xor(15108)] + #[prost(int32, tag = "12")] + pub phjlkjogfhb: i32, + #[xor(12249)] + #[prost(int32, tag = "13")] + pub hmmneikfple: i32, + #[prost(string, tag = "10")] + pub mcpmobeikhc: ::prost::alloc::string::String, + #[xor(13739)] + #[prost(int32, tag = "3")] + pub flbkfpdokpd: i32, + #[xor(5665)] + #[prost(int32, tag = "11")] + pub kfobnfboaoi: i32, + #[xor(7367)] + #[prost(int32, tag = "5")] + pub mppmlelpboi: i32, + #[xor(3099)] + #[prost(int32, tag = "15")] + pub eghignedpee: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhpjpgjamej { + #[prost(uint32, tag = "1")] + pub kmmjjgagcch: u32, + #[prost(uint32, tag = "2")] + pub lcaidhpecok: u32, + #[prost(uint32, tag = "3")] + pub eedkkdadncg: u32, + #[prost(enumeration = "Cjikakfiihc", tag = "4")] + pub hfgdjcfhokn: i32, + #[prost(message, optional, tag = "5")] + pub lbgmecpfodf: ::core::option::Option, + #[prost(uint64, tag = "6")] + pub ejdeehhomng: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cjleifjicmp { + #[prost(int32, tag = "1")] + pub aalfnnmbodk: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ojmiipfcbnc { + #[xor(13217)] + #[prost(uint64, tag = "6")] + pub afmmkicicck: u64, + #[xor(13320)] + #[prost(uint32, tag = "8")] + pub alifpmknhok: u32, + #[xor(237)] + #[prost(uint32, tag = "15")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ocniddnocdb { + #[xor(337)] + #[prost(uint32, tag = "1")] + pub caakiikadep: u32, + #[xor(10196)] + #[prost(uint32, tag = "2")] + pub olopcnmoagp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4980)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ebmkollopdf { + #[xor(5723)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5075)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ichmchkipjp { + #[xor(4596)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbhemhbccll { + #[prost(message, repeated, tag = "11")] + pub behbfbgfhfm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3413)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eihagbcnicb {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdfkchomebd { + #[prost(uint32, repeated, tag = "5")] + pub fibchenapmn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7257)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhkpgkomglk { + #[prost(message, optional, tag = "3")] + pub icemikabfhm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1933)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Khnfgmcoedp { + #[xor(10612)] + #[prost(uint32, tag = "7")] + pub lgnkienonep: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbcjhbcbhmi { + #[prost(string, tag = "8")] + pub kaoddnnnoea: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub logenefekpn: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7029)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bicibnpieii { + #[prost(message, optional, tag = "1")] + pub nmjmfidbkcm: ::core::option::Option, + #[prost(string, tag = "13")] + pub pidloiblhnk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Joibjjeoaje { + #[prost(message, optional, tag = "1")] + pub gmgpeclahdm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9687)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfocklkkjhp { + #[xor(140)] + #[prost(uint64, tag = "4")] + pub fdfjcoccaoa: u64, + #[xor(3645)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "15")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Engbpkldjpb { + #[xor(8304)] + #[prost(uint32, tag = "11")] + pub exp: u32, + #[prost(message, repeated, tag = "5")] + pub equip_list: ::prost::alloc::vec::Vec, + #[xor(16140)] + #[prost(uint32, tag = "14")] + pub unlocked_talent_num: u32, + #[xor(2017)] + #[prost(uint32, tag = "6")] + pub level: u32, + #[prost(map = "uint32, int32", tag = "3")] + pub efhjeghnemn: ::std::collections::HashMap, + #[xor(1331)] + #[prost(uint32, tag = "13")] + pub template_id: u32, + #[prost(message, optional, tag = "1")] + pub bdlfhapgoco: ::core::option::Option, + #[xor(4129)] + #[prost(uint32, tag = "4")] + pub rank: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8599)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetBattlePassDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Giadjoaeoad { + #[prost(string, tag = "1")] + pub pacmlnnkihp: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2191)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Chkbmfaabph { + #[xor(15034)] + #[prost(uint32, tag = "3")] + pub ohldlnkneld: u32, + #[prost(message, optional, tag = "7")] + pub lhbejkbkbfh: ::core::option::Option, + #[xor(2572)] + #[prost(int32, tag = "13")] + pub fhpalfbcgad: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffhmfibffkd { + #[prost(int32, tag = "1")] + pub r#type: i32, + #[prost(string, tag = "2")] + pub gkdipnedmjk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3699)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhmjidmemlf { + /// VMP DETECTED + /// + #[prost(bool, tag = "1")] + pub homppbbhlpc: bool, + #[xor(6965)] + #[prost(uint32, tag = "2")] + pub aonleboaiga: u32, + #[prost(string, tag = "4")] + pub dlpeoikeanp: ::prost::alloc::string::String, + #[xor(8099)] + #[prost(uint64, tag = "7")] + pub olpgjklpeem: u64, + #[prost(string, tag = "8")] + pub jdajeekmlif: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub token: ::prost::alloc::string::String, + #[xor(7726)] + #[prost(int32, tag = "10")] + pub biekobgpbco: i32, + #[prost(string, tag = "12")] + pub cjjcnbhgpnj: ::prost::alloc::string::String, + #[xor(7110)] + #[prost(uint32, tag = "13")] + pub kmmjjgagcch: u32, + #[xor(15994)] + #[prost(uint64, tag = "14")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(323)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jboblejaole { + #[xor(11836)] + #[prost(uint32, tag = "11")] + pub aeicekmldco: u32, + #[prost(string, tag = "13")] + pub omfjimphjbo: ::prost::alloc::string::String, + #[xor(4275)] + #[prost(uint32, tag = "4")] + pub buddy_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2745)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mfhjhippmhn { + #[xor(8040)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lmimlcdobbb { + #[xor(8596)] + #[prost(uint32, tag = "3")] + pub aldbmeomoni: u32, + #[xor(6167)] + #[prost(uint32, tag = "6")] + pub ahjbojecnme: u32, + #[xor(5096)] + #[prost(uint32, tag = "13")] + pub avatar_id: u32, + #[xor(4872)] + #[prost(uint32, tag = "1")] + pub ojlmhnicibi: u32, + #[xor(3886)] + #[prost(uint32, tag = "8")] + pub nlokadjoflm: u32, + #[xor(6203)] + #[prost(uint32, tag = "11")] + pub mdahchedndj: u32, + #[xor(5846)] + #[prost(uint32, tag = "9")] + pub edhlejmfecm: u32, + #[xor(12531)] + #[prost(uint32, tag = "14")] + pub mhnnejdldem: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4539)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Phhclcihmlb { + #[xor(865)] + #[prost(uint32, tag = "12")] + pub group: u32, + #[xor(16115)] + #[prost(uint32, tag = "10")] + pub template_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(852)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdcbplcilli { + #[prost(string, tag = "11")] + pub name: ::prost::alloc::string::String, + #[xor(6674)] + #[prost(uint32, tag = "1")] + pub efpckpnefdc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmifgagbnbf { + #[prost(message, optional, tag = "1")] + pub lkkhopjhhpg: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub dcokecdphhp: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Algheeneoja { + #[prost(message, repeated, tag = "10")] + pub pgkmmimfddl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3544)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fffigodkbeg { + #[prost(string, tag = "7")] + pub npc_interaction: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "8")] + pub eojpjinneih: ::prost::alloc::vec::Vec, + #[xor(1504)] + #[prost(uint32, tag = "5")] + pub fjckpdofhjf: u32, + #[prost(map = "string, string", tag = "12")] + pub cpcifgmopgk: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + #[xor(167)] + #[prost(uint32, tag = "14")] + pub owner_id: u32, + #[xor(14341)] + #[prost(uint32, tag = "6")] + pub tag: u32, + #[xor(430)] + #[prost(uint32, tag = "2")] + pub event_graph_uid: u32, + #[prost(map = "string, string", tag = "1491")] + pub ephecmlegaj: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + #[xor(2977)] + #[prost(uint32, tag = "1909")] + pub cinlamkghbj: u32, + #[prost(map = "string, int32", tag = "1")] + pub hnapceekmpe: ::std::collections::HashMap<::prost::alloc::string::String, i32>, + #[xor(2837)] + #[prost(uint32, tag = "11")] + pub nocgpaolime: u32, + #[prost(string, repeated, tag = "10")] + pub oegekggofne: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[xor(10572)] + #[prost(uint32, tag = "13")] + pub clgfbjgkocf: u32, + #[prost(enumeration = "ActionType", tag = "15")] + pub action_type: i32, + #[prost(enumeration = "EventGraphOwnerType", tag = "3")] + pub owner_type: i32, + #[prost(map = "string, int32", tag = "9")] + pub aeiaggdebfk: ::std::collections::HashMap<::prost::alloc::string::String, i32>, + #[xor(3743)] + #[prost(uint32, tag = "4")] + pub section_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjpdiejejia { + #[prost(enumeration = "Oiicchkknlb", tag = "1")] + pub fkbipgoighl: i32, + #[prost(uint32, tag = "2")] + pub bmlgnlcbdon: u32, + #[prost(enumeration = "Papneiepfip", tag = "3")] + pub kjongknfkee: i32, + #[prost(message, optional, tag = "4")] + pub omaijibmpde: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub dafjjllffof: ::core::option::Option, + #[prost(enumeration = "Dljnnbfeogf", tag = "6")] + pub gcloiehbahm: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9192)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Opmbhimggll { + #[xor(15908)] + #[prost(uint32, tag = "11")] + pub oekdlbffoia: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhicelhkmei { + #[prost(int32, tag = "1")] + pub kbnpgijhmfl: i32, + #[prost(int32, tag = "2")] + pub dpgokfchjjk: i32, + #[prost(message, repeated, tag = "3")] + pub hgjcoeelbfo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub pbppofcdnlo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2530)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iabhplbnjhb { + #[xor(14896)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkgjbdcoaob { + #[prost(map = "string, int32", tag = "1")] + pub gpabcfjfaje: ::std::collections::HashMap<::prost::alloc::string::String, i32>, + #[prost(bool, tag = "2")] + pub jfgocnomgba: bool, + #[prost(enumeration = "Eaaffjmlaki", tag = "3")] + pub olopcnmoagp: i32, + #[prost(bytes = "vec", tag = "4")] + pub jgmdahoeanl: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub bhleckdlgea: bool, + #[prost(message, optional, tag = "6")] + pub ofgfdeipfaj: ::core::option::Option, + #[prost(enumeration = "EndHollowMiniGameType", tag = "7")] + pub hmmneikfple: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cijcihkobci { + #[prost(message, optional, tag = "1")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(enumeration = "HollowEntityType", tag = "2")] + pub pbgfddlpihp: i32, + #[prost(enumeration = "Dklgniaakji", tag = "3")] + pub jhooeobinia: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cemdckhafon { + #[prost(message, optional, tag = "1")] + pub section: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub dlpigeiekhf: ::core::option::Option, + #[prost(enumeration = "Njpmialmhfc", tag = "3")] + pub oghhknjmfok: i32, + #[prost(bool, tag = "4")] + pub gdecngmmlam: bool, + #[prost(message, optional, tag = "5")] + pub claojgokflb: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub moccldbpbcp: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(688)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jmpcbenpgci { + #[xor(1836)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Naojabcgdaa { + #[prost(message, repeated, tag = "13")] + pub kmdmmbhbkbg: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Lhckbjiamjd", tag = "4")] + pub ecnaljkfgfk: i32, + #[xor(10068)] + #[prost(uint32, tag = "8")] + pub mfnbmnibilo: u32, + #[xor(10864)] + #[prost(uint32, tag = "10")] + pub idllagihbdd: u32, + #[prost(message, repeated, tag = "14")] + pub nkeaajchjil: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Adckpbhccan { + #[prost(message, optional, tag = "1")] + pub lhbejkbkbfh: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub kgefhnlflih: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub apacdkacfnd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1017)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iejlgojpcbi { + #[prost(message, optional, tag = "13")] + pub battle_reward: ::core::option::Option, + #[xor(9201)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chinmcfgcga { + #[prost(uint32, tag = "1")] + pub ldecjbkodgd: u32, + #[prost(uint32, tag = "2")] + pub mehcfnoedof: u32, + #[prost(uint32, tag = "3")] + pub hnacfjlnppc: u32, + #[prost(uint32, tag = "4")] + pub hebmafkcing: u32, + #[prost(uint32, tag = "5")] + pub dlogbcefanb: u32, + #[prost(message, repeated, tag = "6")] + pub kfefpaoobpm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgieoiiigch { + #[prost(string, tag = "1")] + pub eaiioagnbfk: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub phcfcidpnck: u32, + #[prost(string, tag = "3")] + pub kckphknoecn: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hgjcfdijdpb {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(534)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gedpbodglnm { + #[prost(uint32, repeated, tag = "6")] + pub hfnobnddpcd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnfcadoliai { + #[prost(message, optional, tag = "1")] + pub njkmlmbbccj: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "2")] + pub kmdhjblpdhg: i32, + #[prost(enumeration = "Oehdebjjane", tag = "3")] + pub keffkoepanj: i32, + #[prost(message, optional, tag = "4")] + pub dgkfphcgdaa: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "5")] + pub mhkmddpbhod: i32, + #[prost(enumeration = "Oehdebjjane", tag = "6")] + pub pnkhmnbeclm: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ihhiokpceje { + #[prost(uint32, tag = "1")] + pub gnepnfbhfop: u32, + #[prost(int32, tag = "2")] + pub bdkbgenekaa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5161)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nooepedocpk { + #[prost(message, optional, tag = "8")] + pub info: ::core::option::Option, + #[xor(7492)] + #[prost(uint64, tag = "1")] + pub fdfjcoccaoa: u64, + #[xor(13423)] + #[prost(uint64, tag = "2")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knmdfgbjkkk { + #[prost(message, optional, tag = "3")] + pub nmjmfidbkcm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6558)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oedhfapgbio { + #[prost(bytes = "vec", tag = "6")] + pub info: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3979)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetClientSystemsInfoScRsp { + #[prost(message, optional, tag = "14")] + pub info: ::core::option::Option, + #[xor(16139)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9650)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ojfmfnfoogg { + #[xor(7898)] + #[prost(uint32, tag = "5")] + pub bbjildlnhgm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9621)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetMiniscapeEntrustDataScRsp { + #[prost(uint32, repeated, tag = "11")] + pub gdaphpcbkkf: ::prost::alloc::vec::Vec, + #[xor(10621)] + #[prost(uint32, tag = "6")] + pub ggjmkahecjm: u32, + #[prost(message, repeated, tag = "7")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub cddikbhgjdh: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub mjeobkgdiec: ::prost::alloc::vec::Vec, + #[xor(1329)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1785)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gldcfnfflpj { + #[xor(13209)] + #[prost(uint32, tag = "4")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7938)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdppkkpinho { + #[prost(map = "string, int64", tag = "4")] + pub aeiaggdebfk: ::std::collections::HashMap<::prost::alloc::string::String, i64>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmpoacjaeen { + #[prost(enumeration = "Oogkcgoeacl", tag = "1")] + pub r#type: i32, + #[prost(message, repeated, tag = "2")] + pub hlleoabpbjd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub aoppojcdgge: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub hioapdllkcg: bool, + #[prost(message, optional, tag = "5")] + pub ppkgdaphkam: ::core::option::Option, + #[prost(string, tag = "6")] + pub echadbklgho: ::prost::alloc::string::String, + #[prost(message, optional, tag = "7")] + pub cofemokalfm: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub ogihdljgafi: ::core::option::Option, + #[prost(bool, tag = "9")] + pub ihbjabkphlm: bool, + #[prost(message, optional, tag = "10")] + pub mhhiclppmej: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub hhljfngefab: ::core::option::Option, + #[prost(bool, tag = "12")] + pub bbndkcjlioc: bool, + #[prost(bool, tag = "13")] + pub kblnlnogpan: bool, + #[prost(bool, tag = "14")] + pub ocnmccfikbd: bool, + #[prost(bool, tag = "15")] + pub lngcjmjapka: bool, + #[prost(bool, tag = "16")] + pub oflijaimkkf: bool, + #[prost(bool, tag = "17")] + pub fkokdaodfhe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plahefeonna { + #[prost(enumeration = "Mbiehbjdkhd", tag = "1")] + pub cfjdicpbdef: i32, + #[prost(message, optional, tag = "2")] + pub efpckpnefdc: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub gaobmaiodij: ::core::option::Option, + #[prost(bool, tag = "4")] + pub lalphjplngn: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Codcnedcgml { + #[prost(message, optional, tag = "1")] + pub section: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub dlpigeiekhf: ::core::option::Option, + #[prost(enumeration = "Njpmialmhfc", tag = "3")] + pub oghhknjmfok: i32, + #[prost(enumeration = "DirectType", tag = "4")] + pub clbmmpjkmhm: i32, + #[prost(bool, tag = "5")] + pub gdecngmmlam: bool, + #[prost(message, optional, tag = "6")] + pub claojgokflb: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub moccldbpbcp: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(59)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iighlfenfjj { + #[xor(15718)] + #[prost(uint32, tag = "6")] + pub avatar_id: u32, + #[prost(uint32, repeated, tag = "5")] + pub dmnghmkjkkh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ndpakdkffbg { + #[xor(6499)] + #[prost(uint32, tag = "4")] + pub liojcbaafek: u32, + #[xor(16160)] + #[prost(uint32, tag = "3")] + pub eeplbkfndmc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6561)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhnpggjioej { + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, + #[xor(10272)] + #[prost(uint64, tag = "7")] + pub fkcdkdiacni: u64, + #[xor(11596)] + #[prost(uint64, tag = "10")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkhgmikofao { + #[prost(message, optional, tag = "1")] + pub dmbipmdaajl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub fpclgmdcdhm: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub section_id: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub lahpgjelkpd: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub lobafigmneb: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub mbgajefionm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2842)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlbkgepcjbc { + #[xor(12121)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, + #[xor(12965)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dljoeehpkdo { + #[prost(message, optional, tag = "15")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmlegjchacl { + #[prost(int32, tag = "1")] + pub npc_id: i32, + #[prost(int32, tag = "2")] + pub pdpnooimhfl: i32, + #[prost(int32, tag = "3")] + pub ljdphlcgmkk: i32, + #[prost(int32, tag = "4")] + pub febhiaknkco: i32, + #[prost(int32, tag = "5")] + pub ikklghjnjnm: i32, + #[prost(string, tag = "6")] + pub jmjgmednmmp: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub lmhcfdjmjld: ::prost::alloc::string::String, + #[prost(float, tag = "8")] + pub lbndcablhij: f32, + #[prost(float, tag = "9")] + pub bcimemnfpkc: f32, + #[prost(float, tag = "10")] + pub nogohbglefc: f32, + #[prost(float, tag = "11")] + pub hhdhgkgifkf: f32, + #[prost(string, tag = "12")] + pub gobbelcokll: ::prost::alloc::string::String, + #[prost(int32, tag = "14")] + pub mnofclefihp: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7607)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bgggeljcdpn { + #[xor(5938)] + #[prost(uint32, tag = "6")] + pub tag: u32, + #[xor(3318)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eipffhlndgo { + #[prost(message, repeated, tag = "3")] + pub mbncaeldpnn: ::prost::alloc::vec::Vec, + #[xor(8076)] + #[prost(uint32, tag = "2")] + pub aeicekmldco: u32, + #[prost(string, tag = "14")] + pub omfjimphjbo: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(942)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Flioaoopden {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkgpipmfpil { + #[prost(string, tag = "1")] + pub gelmjhgamjm: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhhglhknfif { + #[prost(message, optional, tag = "1")] + pub bikgllnjnec: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3604)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kcfbpoofmma {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lgkpclghdlo { + #[xor(7494)] + #[prost(int32, tag = "5")] + pub ahdbalhodda: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epclfjjjfim { + #[prost(map = "string, message", tag = "2")] + pub molapppfhln: ::std::collections::HashMap< + ::prost::alloc::string::String, + Iplccnimnln, + >, + #[prost(map = "string, string", tag = "3")] + pub cpcifgmopgk: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + #[prost(map = "string, message", tag = "5")] + pub kdhimkbnhga: ::std::collections::HashMap< + ::prost::alloc::string::String, + Enehifbmmbk, + >, + #[prost(map = "string, message", tag = "8")] + pub edhloeeobao: ::std::collections::HashMap< + ::prost::alloc::string::String, + Dakaineniod, + >, + #[prost(map = "string, message", tag = "11")] + pub njhojobeacl: ::std::collections::HashMap< + ::prost::alloc::string::String, + Mopapblhbof, + >, + #[prost(map = "string, int32", tag = "14")] + pub aeiaggdebfk: ::std::collections::HashMap<::prost::alloc::string::String, i32>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iepfnoanmeg { + #[prost(message, optional, tag = "14")] + pub position: ::core::option::Option, + #[xor(12253)] + #[prost(int32, tag = "3")] + pub dhbjpkffnfl: i32, + #[prost(message, optional, tag = "13")] + pub bchnjiehfbn: ::core::option::Option, + #[xor(15533)] + #[prost(int32, tag = "15")] + pub eodeaeodafm: i32, + #[xor(508)] + #[prost(uint32, tag = "6")] + pub pefnnjkocli: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfegefddnll { + #[prost(message, optional, tag = "9")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elmgcgpcbel { + #[prost(string, tag = "1")] + pub oiidemlgihg: ::prost::alloc::string::String, + #[prost(map = "string, string", tag = "2")] + pub klpdligdhfc: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdpfkjcncgg { + #[prost(uint32, tag = "1")] + pub cibcmgbaflm: u32, + #[prost(message, repeated, tag = "2")] + pub pbpphccccma: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emipioppaoe { + #[prost(uint32, repeated, tag = "1")] + pub fhildlncmep: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub lmakolecehf: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub cbehdgcgepo: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub bpaigfmiojj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bojbhmichdo { + #[xor(1051)] + #[prost(uint32, tag = "12")] + pub fbhgidmekpn: u32, + #[prost(message, repeated, tag = "11")] + pub jebbealkfhb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8226)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kjemdbojaco {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8370)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iodfgilhkbi {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkonigjokbj { + #[prost(int32, repeated, tag = "10")] + pub blpmjkogeel: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "8")] + pub lknanbnjnig: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "5")] + pub gnpblbjdncb: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub pcadjkonpcl: ::prost::alloc::vec::Vec, + #[xor(12876)] + #[prost(int32, tag = "2")] + pub kehiioopklf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipnekdjccpn { + #[prost(uint32, repeated, tag = "2")] + pub elimcgfgnjf: ::prost::alloc::vec::Vec, + #[xor(673)] + #[prost(uint32, tag = "13")] + pub ccnlfijlnad: u32, + #[prost(uint32, repeated, tag = "3")] + pub bdbmjjndknl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub kffhihddkdi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub ldifombnfop: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hhjcdjbfabk { + #[prost(uint32, tag = "1")] + pub jojaagalofn: u32, + #[prost(enumeration = "Piljklinmdm", tag = "2")] + pub hobjbpineli: i32, + #[prost(message, optional, tag = "3")] + pub position: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub claojgokflb: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub moccldbpbcp: ::core::option::Option, + #[prost(int32, tag = "6")] + pub pmcnjhgllnn: i32, + #[prost(int32, tag = "7")] + pub afdhhmokmcg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(549)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kdgehkmlgnm { + #[xor(15160)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8627)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bbkcfmclgkd { + #[xor(14288)] + #[prost(int32, tag = "11")] + pub ahdbalhodda: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3211)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kocogkmacjm {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oaoalegjigc { + #[prost(enumeration = "Hdgninhnkhc", tag = "1")] + pub cdilndlgnbn: i32, + #[prost(enumeration = "Clhfpgmncdb", tag = "2")] + pub aoopfokohfm: i32, + #[prost(message, optional, tag = "3")] + pub ipldaidhmcl: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub omloefjdfih: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub lcjdkmhnjbp: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub cbacddghhjj: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub ibfopkgbeaa: ::core::option::Option, + #[prost(message, repeated, tag = "8")] + pub mcahdhjlgkl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub ncgpanbeoog: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub cpihhgfelkn: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub fpjliofhell: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub jkipapmgbia: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub nfaeohbkodo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub lbpdkpjjilj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "16")] + pub mbjlenibpjf: bool, + #[prost(bool, tag = "17")] + pub cjamahnbkoi: bool, + #[prost(message, optional, tag = "18")] + pub dkainifldom: ::core::option::Option, + #[prost(bool, tag = "19")] + pub obingbodppj: bool, + #[prost(bool, tag = "20")] + pub ebhjmbhbhbf: bool, + #[prost(string, tag = "21")] + pub aaohhadkbeg: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "22")] + pub obcdhpnfllm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2640)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ngoilhlfcif { + #[xor(5257)] + #[prost(uint32, tag = "5")] + pub pfhkpjilong: u32, + #[xor(691)] + #[prost(uint32, tag = "9")] + pub chfcbpfclim: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5797)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gaekeljjiei { + #[prost(message, optional, tag = "13")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(6423)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[xor(6835)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2841)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aojolndicoh { + /// VMP DETECTED + /// + #[xor(2673)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cfdamggbfci { + #[prost(bool, tag = "6")] + pub mdlekfgpjmb: bool, + #[xor(430)] + #[prost(uint32, tag = "10")] + pub gibeoahlmdg: u32, + #[prost(bool, tag = "2")] + pub ilikllnocoa: bool, + #[xor(959)] + #[prost(int64, tag = "7")] + pub kggpcmomkbp: i64, + #[xor(5546)] + #[prost(uint32, tag = "5")] + pub eeplbkfndmc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amgdflfbehb { + #[prost(message, optional, tag = "1")] + pub fpclgmdcdhm: ::core::option::Option, + #[prost(int32, tag = "2")] + pub ijjmdaicjgn: i32, + #[prost(uint32, tag = "3")] + pub ddbmjpajmnc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jahdegnaloa { + #[prost(map = "uint32, uint32", tag = "1")] + pub pjpjmagpkpc: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6615)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plbcjhkghme { + #[prost(uint32, repeated, tag = "13")] + pub jdacddhjkpn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub pafcjkgemgf: bool, + #[xor(11488)] + #[prost(uint32, tag = "1")] + pub group: u32, + #[xor(7579)] + #[prost(uint32, tag = "4")] + pub kbnohlffjil: u32, + #[xor(13367)] + #[prost(uint32, tag = "3")] + pub iahpcojelin: u32, + #[xor(14175)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mcjejlmplmj { + #[xor(9368)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[xor(4587)] + #[prost(int64, tag = "8")] + pub chhhmffbbbp: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgijakhmjbk { + #[prost(message, repeated, tag = "1")] + pub gafdeiifkkg: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, int32", tag = "2")] + pub cmmajelgfbh: ::std::collections::HashMap, + #[prost(message, optional, tag = "3")] + pub aklngcnogbc: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub dlabfeadhpf: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub infngcaidml: ::core::option::Option, + #[prost(map = "uint32, message", tag = "6")] + pub oklfbifmhij: ::std::collections::HashMap, + #[prost(message, optional, tag = "7")] + pub nnhbdfldcbn: ::core::option::Option, + #[prost(int32, tag = "8")] + pub gggfmnmdaoh: i32, + #[prost(uint32, tag = "9")] + pub offemdgpmeo: u32, + #[prost(uint32, repeated, tag = "10")] + pub kcglmmdekab: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub dnekmdekjik: i32, + #[prost(message, optional, tag = "12")] + pub dpndhaolida: ::core::option::Option, + #[prost(map = "uint32, int32", tag = "13")] + pub kiabkfncndl: ::std::collections::HashMap, + #[prost(map = "uint32, int32", tag = "14")] + pub iaohaipmlhp: ::std::collections::HashMap, + #[prost(message, optional, tag = "15")] + pub ojjeeiflgme: ::core::option::Option, + #[prost(uint32, tag = "16")] + pub khkkakociac: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6397)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ohphkegojaa {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flpglkdaiac { + #[prost(message, repeated, tag = "5")] + pub lbbhhbggikf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4129)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Licfmdnkkmh { + #[prost(message, optional, tag = "9")] + pub info: ::core::option::Option, + #[xor(11910)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "15")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(5154)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Micbhhodlji { + #[xor(12882)] + #[prost(uint32, tag = "14")] + pub cmglbcnkfdm: u32, + #[xor(14514)] + #[prost(uint32, tag = "11")] + pub r#type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9337)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mffokjloaih { + #[xor(1544)] + #[prost(uint32, tag = "11")] + pub hfgeippbdee: u32, + #[xor(3211)] + #[prost(uint32, tag = "4")] + pub nmiichclpgb: u32, + #[xor(12144)] + #[prost(uint32, tag = "1")] + pub hnlcmcdcpep: u32, + #[xor(3669)] + #[prost(uint32, tag = "9")] + pub bkhbhkhpfkk: u32, + #[xor(13737)] + #[prost(uint32, tag = "14")] + pub baeljpdkcof: u32, + #[xor(5818)] + #[prost(uint32, tag = "10")] + pub gnnmchcpbpd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjjjhkneffb { + #[prost(map = "uint32, message", tag = "1")] + pub jpkhjgpggaj: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egajhbaempl { + #[xor(11299)] + #[prost(uint32, tag = "7")] + pub kjongknfkee: u32, + #[prost(message, optional, tag = "10")] + pub gidapkddnkg: ::core::option::Option, + #[xor(1251)] + #[prost(uint32, tag = "3")] + pub kmmjjgagcch: u32, + #[xor(14869)] + #[prost(uint32, tag = "5")] + pub lcaidhpecok: u32, + #[xor(2119)] + #[prost(uint32, tag = "13")] + pub bhbfkmpaakh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hmnpnofnbmm {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehhongacjjn { + #[prost(int32, tag = "3")] + pub nohgmjogfjl: i32, + #[prost(int32, repeated, tag = "4")] + pub lcipdallclh: ::prost::alloc::vec::Vec, + #[prost(oneof = "ehhongacjjn::Cmchlblgohf", tags = "1, 2")] + pub cmchlblgohf: ::core::option::Option, +} +/// Nested message and enum types in `EHHONGACJJN`. +pub mod ehhongacjjn { + #[derive(yanagi_proto_derive::CmdID)] + #[derive(yanagi_proto_derive::XorFields)] + #[derive(Clone, Copy, PartialEq, ::prost::Oneof)] + pub enum Cmchlblgohf { + #[prost(int32, tag = "1")] + InstancedAbilityId(i32), + #[prost(int32, tag = "2")] + InstancedModifierId(i32), + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nliempnapio { + #[xor(3473)] + #[prost(uint32, tag = "14")] + pub template_id: u32, + #[prost(bool, tag = "9")] + pub cdclblegnpa: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfbkimfacmb { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub fkkbflokodb: i32, + #[prost(message, optional, tag = "2")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub ffhglkfmhni: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Offklhjhaoj {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mfphkdgbkbc { + #[prost(enumeration = "Iokckccbmcm", tag = "1")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1808)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pkjelfdedal { + #[xor(8769)] + #[prost(uint32, tag = "10")] + pub jpeclneklpe: u32, + #[prost(enumeration = "Eanenhahgpm", tag = "12")] + pub ogdkohphenc: i32, + #[xor(11341)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3036)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ogkoedlbmlb { + #[xor(6486)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mfjmcnoghba { + #[xor(9104)] + #[prost(uint32, tag = "9")] + pub buddy_id: u32, + #[prost(enumeration = "Hfcmlllhanl", tag = "5")] + pub afdihnnibbh: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfnfdobehmb { + #[prost(bool, tag = "1")] + pub gkmdgocecnc: bool, + #[prost(message, repeated, tag = "2")] + pub hledbngkcdl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Diefbmfolhg { + #[prost(int32, tag = "1")] + pub bdfpboocppn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpplnofbblp { + #[prost(message, optional, tag = "1")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "2")] + pub odnpbhepnoa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9738)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Khgkpejlofg { + #[xor(901)] + #[prost(uint32, tag = "2")] + pub bdihooemnhp: u32, + #[xor(13213)] + #[prost(uint32, tag = "9")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2013)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Behfdafefem { + #[xor(12879)] + #[prost(int32, tag = "6")] + pub retcode: i32, + #[xor(13515)] + #[prost(uint32, tag = "4")] + pub iahpcojelin: u32, + #[prost(message, optional, tag = "9")] + pub apaedfjpphl: ::core::option::Option, + #[xor(12458)] + #[prost(uint32, tag = "10")] + pub kleoielhfpc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9467)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EndBattleScRsp { + #[prost(message, optional, tag = "5")] + pub battle_reward: ::core::option::Option, + #[xor(6577)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6723)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hlhighjalgc { + #[xor(6612)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1907)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dofpnmjfaim { + #[xor(10382)] + #[prost(uint32, tag = "5")] + pub moaeafhpdko: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6892)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjphdhnjnhj { + #[prost(enumeration = "Dljpnlkgnli", tag = "8")] + pub ggoeinmcnip: i32, + #[prost(message, optional, tag = "15")] + pub koamjailkge: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6732)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kembpcapeel { + #[xor(7925)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1429)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jnmaoeoikpl { + #[xor(8057)] + #[prost(uint32, tag = "15")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1918)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecloiccbepc { + #[xor(11954)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, optional, tag = "5")] + pub ccjiedgdklb: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cmekfjohaik { + #[prost(int32, tag = "1")] + pub kginbigkgdp: i32, + #[prost(int32, tag = "2")] + pub level: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6813)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akhiegnbdik { + #[prost(message, optional, tag = "12")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(9562)] + #[prost(uint64, tag = "10")] + pub fdfjcoccaoa: u64, + #[xor(12904)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebkeffmmnme { + #[prost(map = "uint32, uint32", tag = "1")] + pub ajppilianbi: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fejegcmaaib { + #[prost(uint32, tag = "1")] + pub bhbfkmpaakh: u32, + #[prost(message, repeated, tag = "2")] + pub noebkmdmfga: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iipafjpdcbe {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lpgofpknlnl {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cjijijpgflp { + #[xor(15422)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, optional, tag = "2")] + pub obgejnhbfca: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cncfhpekodp { + #[prost(int32, tag = "1")] + pub icoehgohboi: i32, + #[prost(int32, tag = "2")] + pub ibdjjdjkpln: i32, + #[prost(int32, tag = "3")] + pub cjjcnoabeoj: i32, + #[prost(string, tag = "4")] + pub boodaebpjip: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "5")] + pub fcmnkakfeon: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6369)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ibplejecdpm {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7374)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgbdhmhalmd { + #[xor(12983)] + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "1")] + pub nbeeleligan: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgphiihdamm { + #[prost(message, optional, tag = "5")] + pub cenolhfjmjm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(653)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetArchiveInfoCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3715)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cneeemcmjbg { + #[xor(16176)] + #[prost(uint32, tag = "4")] + pub bpeicjcnbgl: u32, + #[xor(16276)] + #[prost(uint32, tag = "15")] + pub fiieiehipik: u32, + #[xor(10008)] + #[prost(uint32, tag = "14")] + pub hnlliaemecn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glplojogfke { + #[prost(message, repeated, tag = "2")] + pub cgfmdjgaaod: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub lknhfnbiehg: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub bbbildnikpc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eiankdfjkma { + #[prost(uint32, repeated, tag = "12")] + pub kndifkcmgcm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5600)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetRamenDataScRsp { + #[prost(message, optional, tag = "12")] + pub ramen_data: ::core::option::Option, + #[xor(6626)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7277)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eahmjfffnif {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jjplidmnban { + #[prost(enumeration = "Ecihmhhnkko", tag = "1")] + pub imbbdhigooc: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8901)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetDailyChallengeInfoCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6569)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Diidolclojc { + #[xor(12445)] + #[prost(int32, tag = "7")] + pub interaction: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cedkdfaddce { + #[prost(message, optional, tag = "1")] + pub bfcedlmjbeb: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "2")] + pub odnpbhepnoa: i32, + #[prost(message, optional, tag = "3")] + pub cphbfinnhag: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8220)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eilkojjbmgh { + #[xor(11681)] + #[prost(uint32, tag = "11")] + pub group: u32, + #[xor(6820)] + #[prost(uint32, tag = "15")] + pub jkncpglbhlc: u32, + #[xor(11671)] + #[prost(uint32, tag = "7")] + pub mmfjdplpmmc: u32, + #[xor(4243)] + #[prost(uint32, tag = "13")] + pub nooenefhgdb: u32, + #[xor(14781)] + #[prost(uint32, tag = "9")] + pub iiddjfplohc: u32, + #[xor(10972)] + #[prost(uint32, tag = "12")] + pub jmmkidnedfc: u32, + #[xor(7582)] + #[prost(uint32, tag = "6")] + pub kigcmeakejp: u32, + #[prost(bool, tag = "10")] + pub kmeoicgddma: bool, + #[xor(7767)] + #[prost(uint32, tag = "8")] + pub pdjddomahea: u32, + #[xor(13017)] + #[prost(uint32, tag = "4")] + pub ingdomhggdo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Foociidepnn { + #[prost(message, optional, tag = "1")] + pub npc_id: ::core::option::Option, + #[prost(bool, tag = "2")] + pub jddjgafncog: bool, + #[prost(message, repeated, tag = "3")] + pub fahmcpddhbb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fbgcplhekae { + #[prost(int32, repeated, tag = "1")] + pub unlock_id_list: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "6")] + pub onkljkehjon: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "12")] + pub ohbgkhdencm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3022)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbdfapbfali { + #[prost(int32, repeated, tag = "2")] + pub kmdgolmbjoe: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gfckjbbkelp { + #[prost(uint32, tag = "1")] + pub lidgkemmpho: u32, + #[prost(uint32, tag = "2")] + pub fiieiehipik: u32, + #[prost(bool, tag = "3")] + pub aafigcjfdjj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dioceimcfan { + #[prost(float, tag = "7")] + pub pjmblgnfpik: f32, + #[xor(13602)] + #[prost(int32, tag = "13")] + pub kiegnoofcgg: i32, + #[xor(1570)] + #[prost(int32, tag = "3")] + pub lngghnpbflp: i32, + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(964)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ehdfhhccmgh { + #[prost(bool, tag = "11")] + pub finished: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Paiikmpmmmd { + #[prost(bool, tag = "9")] + pub cdclblegnpa: bool, + #[xor(7161)] + #[prost(uint32, tag = "2")] + pub template_id: u32, + #[prost(bool, tag = "14")] + pub gjfhobkjnki: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdojnokljko { + #[prost(string, tag = "1")] + pub nbhmladoiha: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub ojaligfnnmg: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmghfjflcka { + #[prost(enumeration = "Hlccdmafgcg", tag = "1")] + pub owner_type: i32, + #[prost(message, optional, tag = "2")] + pub dflfdcddjfj: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub bojkodfnkdp: ::core::option::Option, + #[prost(bool, tag = "4")] + pub abjmdnpjhag: bool, + #[prost(bool, tag = "5")] + pub ajlahkcjnpn: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1079)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Heeffebbeia { + #[xor(8229)] + #[prost(int32, tag = "9")] + pub ikfdecmbbdj: i32, + #[xor(15815)] + #[prost(int32, tag = "2")] + pub iddhoklnpib: i32, + #[xor(7965)] + #[prost(int32, tag = "6")] + pub pokbhknkmbm: i32, + #[prost(message, optional, tag = "4")] + pub lhbejkbkbfh: ::core::option::Option, + #[xor(8222)] + #[prost(uint32, tag = "14")] + pub ohldlnkneld: u32, + #[prost(bool, tag = "10")] + pub mgajmhoeboc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bgcaialhclo { + #[prost(message, optional, tag = "1")] + pub nbemliennej: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnknlaebmhl { + #[xor(4090)] + #[prost(uint32, tag = "13")] + pub ialhnmeldfj: u32, + #[prost(string, tag = "5")] + pub klinjndogfk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhmkkacfcgi { + #[prost(message, optional, tag = "1")] + pub mahdaplbojj: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub piahiiofjdd: ::core::option::Option, + #[prost(enumeration = "Eghnokhjhcm", tag = "3")] + pub bbefdonjhjp: i32, + #[prost(enumeration = "Hhfhcilfaoa", tag = "4")] + pub podefpclepd: i32, + #[prost(string, tag = "5")] + pub ogmmgmkhehd: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kihcijnjmof { + #[prost(uint32, repeated, tag = "5")] + pub cpdamfljjnl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Leedlglenpf { + #[xor(3701)] + #[prost(int32, tag = "11")] + pub cgnoigmjbpi: i32, + #[prost(bool, tag = "6")] + pub gihdifiigdp: bool, + #[xor(13827)] + #[prost(int32, tag = "12")] + pub bolhfhdimmb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2886)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hngincngiod {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5220)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mbinmbnfeif { + #[xor(14229)] + #[prost(uint32, tag = "9")] + pub apacdkacfnd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hbchgplihij { + #[prost(enumeration = "Ohpmejmnekp", tag = "1")] + pub aigbmbgkfkf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4691)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetBattlePassDataScRsp { + #[prost(enumeration = "Klmlennfbfd", tag = "14")] + pub kmlkcndejom: i32, + #[prost(message, optional, tag = "11")] + pub loiganhhldb: ::core::option::Option, + #[prost(bool, tag = "9")] + pub ilikllnocoa: bool, + #[xor(169)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(message, repeated, tag = "15")] + pub piaoinpbhkh: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub ihddijlgldh: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub pfggbffgjjd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcgnfklamhk { + #[prost(string, tag = "1")] + pub kcclegdlljc: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub fiieiehipik: u32, + #[prost(uint32, tag = "3")] + pub uid: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnnhoghjhoj { + #[prost(enumeration = "Nljhpikkdnd", tag = "1")] + pub dkmepflgcmf: i32, + #[prost(enumeration = "Magmmkboaop", tag = "2")] + pub gpnpplpflbf: i32, + #[prost(message, optional, tag = "3")] + pub cljgdbopadm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahdlgefaifd { + #[prost(int32, tag = "1")] + pub fiieiehipik: i32, + #[prost(int32, tag = "2")] + pub ieacoaekljj: i32, + #[prost(int32, tag = "3")] + pub gnjnfgjmopm: i32, + #[prost(string, tag = "4")] + pub hamkldbbgbp: ::prost::alloc::string::String, + #[prost(int32, tag = "5")] + pub lfppomjaean: i32, + #[prost(string, tag = "6")] + pub aenleffpdca: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkldipfghok { + #[prost(uint32, repeated, tag = "10")] + pub eeaihoofdga: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oabfgempmda { + #[prost(bool, tag = "1")] + pub oemckpjedpj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7977)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eggpfoanepf { + #[xor(9969)] + #[prost(uint32, tag = "7")] + pub knffoiffljd: u32, + #[xor(2881)] + #[prost(uint32, tag = "11")] + pub ghifdkelobe: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4942)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RunEventGraphCsReq { + #[prost(enumeration = "EventGraphOwnerType", tag = "3")] + pub owner_type: i32, + #[xor(9933)] + #[prost(uint32, tag = "1")] + pub section_id: u32, + #[xor(8707)] + #[prost(uint32, tag = "11")] + pub event_graph_uid: u32, + #[xor(9066)] + #[prost(uint32, tag = "5")] + pub clgfbjgkocf: u32, + #[xor(2104)] + #[prost(uint32, tag = "10")] + pub owner_id: u32, + #[prost(message, optional, tag = "14")] + pub cccbeplbaaa: ::core::option::Option, + #[xor(2429)] + #[prost(uint32, tag = "12")] + pub tag: u32, + #[prost(map = "string, int32", tag = "8")] + pub fbohpmghbcb: ::std::collections::HashMap<::prost::alloc::string::String, i32>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gipcgdbmlnp { + #[prost(bool, tag = "1")] + pub fdhoehnbcjo: bool, + #[prost(bool, tag = "2")] + pub bigbhhpmdnb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9538)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjphcfoopml { + #[xor(2435)] + #[prost(uint32, tag = "5")] + pub pglhelicfcf: u32, + #[prost(uint32, repeated, tag = "11")] + pub lbpkfcealgh: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub cnfjllebhff: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekmibddpmki { + #[prost(message, repeated, tag = "2")] + pub njgfhhihdgg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub lgcdjcdbmml: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub phfmldbanbl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub ndeeijfpjpc: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub iggelijdakf: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub peccocegabl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub pfaidfaefdi: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "9")] + pub hcbliaclanf: bool, + #[prost(message, optional, tag = "10")] + pub count: ::core::option::Option, + #[prost(enumeration = "Ojgbnejmbok", tag = "11")] + pub hdnmflmacpl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Happiloeeaa { + #[prost(uint32, tag = "1")] + pub ejoccdkolkj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7778)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dblmnlkegki { + #[prost(enumeration = "Blfjnmjhnmp", tag = "3")] + pub hmmneikfple: i32, + #[xor(15126)] + #[prost(uint32, tag = "1")] + pub tag: u32, + #[prost(string, tag = "8")] + pub gpmmamnphjo: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gclkopboahn { + #[prost(message, optional, tag = "1")] + pub jdgaddgaoic: ::core::option::Option, + #[prost(string, tag = "2")] + pub hbmmnbjkdae: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3267)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ammcfpigjmg { + #[xor(6053)] + #[prost(uint32, tag = "13")] + pub ghifdkelobe: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hhcbmbnnlij { + #[xor(4504)] + #[prost(uint32, tag = "13")] + pub flbkfpdokpd: u32, + #[xor(1155)] + #[prost(uint32, tag = "2")] + pub lhbejkbkbfh: u32, + #[prost(message, optional, tag = "7")] + pub position: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(231)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lcfkmlghdll {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2678)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Edfdpoaambc { + #[prost(bool, tag = "2")] + pub dfecokjdjgb: bool, + #[prost(bool, tag = "8")] + pub koeaijfipoe: bool, + #[prost(bool, tag = "10")] + pub jpggnadimkj: bool, + #[prost(bool, tag = "11")] + pub nkgbpibbkbk: bool, + #[prost(bool, tag = "12")] + pub golpdibjdbf: bool, + #[prost(bool, tag = "14")] + pub opghfjbngbk: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdijcogocim { + #[prost(message, repeated, tag = "9")] + pub emfidomfmih: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub jflioghhgbd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub jklfcgohmhi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Popmomlfbog { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub pbgfddlpihp: i32, + #[prost(message, repeated, tag = "2")] + pub ooicblaegij: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub igpbdhdnmkm: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Dklgniaakji", tag = "4")] + pub jhooeobinia: i32, + #[prost(message, optional, tag = "5")] + pub pkfnailgikm: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "6")] + pub bbahgnpffni: i32, + #[prost(string, tag = "7")] + pub hapfbhhhmgc: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fngembfbmog {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9824)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcdaghgbfcp { + #[prost(uint32, repeated, tag = "1")] + pub avatars: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub foacgpjpgph: ::prost::alloc::vec::Vec, + #[xor(9901)] + #[prost(uint32, tag = "4")] + pub buddy_id: u32, + #[prost(message, optional, tag = "9")] + pub ekhpegjllfk: ::core::option::Option, + #[xor(5583)] + #[prost(uint32, tag = "8")] + pub jjjppkiidpd: u32, + #[xor(1007)] + #[prost(uint32, tag = "14")] + pub kleoielhfpc: u32, + #[xor(12501)] + #[prost(uint32, tag = "3")] + pub nlfcgpnfohh: u32, + #[xor(10821)] + #[prost(uint32, tag = "12")] + pub dneffhlemfg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ldonkmdddhf { + #[prost(enumeration = "Gbmddbianaa", tag = "1")] + pub gokdmacjeee: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obdcnhbnnnm { + #[prost(uint32, repeated, tag = "3")] + pub hfnobnddpcd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pfgmdbmggce {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mngmacoleeo { + #[prost(string, tag = "1")] + pub dcpnffhjklk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6913)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iecjmbcplaa { + #[prost(map = "uint32, uint32", tag = "13")] + pub mgifdlagdda: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(408)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iflkoeljpij { + #[xor(1489)] + #[prost(uint32, tag = "3")] + pub kbkppchiaeg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aelfmbhlncp { + #[prost(message, optional, tag = "1")] + pub opgkkfolfkn: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub najejmghlin: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "3")] + pub ekbfgknccph: i32, + #[prost(message, optional, tag = "4")] + pub feebfnljlli: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iclcjmmphmj { + #[prost(message, repeated, tag = "1")] + pub pgllcnpaikk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6006)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bebingbdijl { + #[xor(9500)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mpkkkcakgpk { + #[xor(1046)] + #[prost(uint32, tag = "5")] + pub lfdpcgidmoe: u32, + #[xor(2320)] + #[prost(uint32, tag = "14")] + pub kjfdbaacbgn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fdlcgoekmbg { + #[prost(bool, tag = "1")] + pub ldddbknmlbi: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ehnebgahmbe { + #[prost(bool, tag = "1")] + pub hfgdjcfhokn: bool, + #[prost(bool, tag = "2")] + pub gfhegijnplf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipleociphci { + #[prost(string, tag = "10")] + pub jnojgnfckij: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub bhjgknjibfi: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub aejlfdncppn: ::prost::alloc::string::String, + #[xor(4068)] + #[prost(int64, tag = "8")] + pub ngeaammccip: i64, + #[xor(6857)] + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(string, tag = "14")] + pub mgefakpfdfm: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub ilhloedopef: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub edeihjonami: ::prost::alloc::string::String, + #[xor(1575)] + #[prost(int64, tag = "11")] + pub obnaaccbnmb: i64, + #[prost(string, tag = "13")] + pub gfigboedadl: ::prost::alloc::string::String, + #[prost(string, tag = "1")] + pub majnhdojplo: ::prost::alloc::string::String, + #[prost(string, tag = "15")] + pub lcljjhpcdca: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1806)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhfkbcljagl { + #[prost(message, repeated, tag = "7")] + pub kbjbinbdicb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1789)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mgbjekfenij { + #[xor(13529)] + #[prost(int32, tag = "12")] + pub kfobnfboaoi: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hdekfddcelc { + #[prost(int32, tag = "1")] + pub fmagggjgmda: i32, + #[prost(bool, tag = "2")] + pub gfhegijnplf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjjgpbigdjh { + #[prost(int32, tag = "1")] + pub mahdaplbojj: i32, + #[prost(int32, tag = "2")] + pub piahiiofjdd: i32, + #[prost(string, tag = "3")] + pub mcnmkdmidlo: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub iimjbhikfoj: ::prost::alloc::string::String, + #[prost(string, repeated, tag = "5")] + pub gagppfenkmb: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, tag = "6")] + pub jhfikaacmmf: bool, + #[prost(string, tag = "7")] + pub ghjlpmnimjm: ::prost::alloc::string::String, + #[prost(bool, tag = "8")] + pub apjhdmpnpip: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abonaphndjo { + #[prost(uint32, repeated, tag = "9")] + pub akphpcjbhjj: ::prost::alloc::vec::Vec, + #[xor(2769)] + #[prost(uint32, tag = "6")] + pub ojmlcdkgcbd: u32, + #[xor(5752)] + #[prost(uint32, tag = "11")] + pub iijljifalli: u32, + #[prost(message, optional, tag = "5")] + pub pahieeaolfm: ::core::option::Option, + #[xor(4386)] + #[prost(uint32, tag = "12")] + pub jbkgpnhpmee: u32, + #[prost(message, optional, tag = "4")] + pub jpjnppnoiko: ::core::option::Option, + #[prost(uint32, repeated, tag = "13")] + pub lfcadifnikd: ::prost::alloc::vec::Vec, + #[xor(1280)] + #[prost(uint32, tag = "7")] + pub eloojjhioli: u32, + #[xor(15113)] + #[prost(uint32, tag = "14")] + pub ndnghnbcgad: u32, + #[xor(10627)] + #[prost(uint32, tag = "1")] + pub icbjmbgmdnb: u32, + #[xor(9244)] + #[prost(uint32, tag = "15")] + pub lghndjepehc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Inokdeoagag { + #[prost(enumeration = "Onilaijofmd", tag = "1")] + pub eoahfahogci: i32, + #[prost(int32, tag = "2")] + pub ooanpildcjl: i32, + #[prost(enumeration = "Epeldhjlkbl", tag = "3")] + pub jhplgoffljm: i32, + #[prost(int32, tag = "4")] + pub dilejiikfhk: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iliiehjffph { + #[prost(uint32, repeated, tag = "1")] + pub kjflbekcncj: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub fepbgchnofe: ::prost::alloc::string::String, + #[prost(bool, tag = "3")] + pub hnfcljnoiab: bool, + #[prost(string, tag = "4")] + pub gonhcjanlem: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub khngmkjocha: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Megkemlpgie { + #[prost(message, optional, tag = "1")] + pub section_id: ::core::option::Option, + #[prost(enumeration = "Njpmialmhfc", tag = "2")] + pub oghhknjmfok: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iblkpolobon { + #[prost(bool, tag = "12")] + pub epekkmbndao: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(963)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetJourneyInfoCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(476)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aajekfmbpma { + #[prost(message, repeated, tag = "11")] + pub adodfoghmla: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmgdddkicgo { + #[prost(bool, tag = "1")] + pub mjfghjgbgmd: bool, + #[prost(message, optional, tag = "2")] + pub hgeefmbognb: ::core::option::Option, + #[prost(bool, tag = "3")] + pub nhimbkpiiln: bool, + #[prost(message, optional, tag = "4")] + pub oaocpiecgga: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub pcfbknbfdod: ::core::option::Option, + #[prost(bool, tag = "6")] + pub lbaakblbgli: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iodignmbkbj { + #[prost(message, repeated, tag = "1")] + pub cddmbippged: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub ebggnlbhlbi: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub oenmjdbjeoi: u32, + #[prost(uint32, tag = "4")] + pub geflnogdcji: u32, + #[prost(bool, tag = "5")] + pub fdbadcfkdfi: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cnlpjpcgfah { + #[xor(6338)] + #[prost(int32, tag = "6")] + pub aofkcfjbnfa: i32, + #[xor(14719)] + #[prost(int32, tag = "14")] + pub ikkkpffkehn: i32, + #[xor(8979)] + #[prost(uint32, tag = "10")] + pub gnepnfbhfop: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(808)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdhacdgihie { + #[prost(message, optional, tag = "12")] + pub info: ::core::option::Option, + #[xor(9355)] + #[prost(uint64, tag = "1")] + pub fdfjcoccaoa: u64, + #[xor(6175)] + #[prost(uint64, tag = "4")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipaddjjimhg { + #[prost(enumeration = "Pcekojidped", tag = "1")] + pub ekbfgknccph: i32, + #[prost(message, optional, tag = "2")] + pub ifldcjcebgd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbjdfkbkalc { + #[prost(uint32, repeated, tag = "11")] + pub delbgoehhop: ::prost::alloc::vec::Vec, + #[xor(9468)] + #[prost(uint32, tag = "5")] + pub r#type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kojpimopfkb {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9202)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lbnjijpoohh {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikgmodpbdkg { + #[prost(message, repeated, tag = "4")] + pub gffoejhfblb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjjnkeieipe { + #[prost(string, tag = "1")] + pub ohnkakhjpmh: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub hngfoggcjal: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub gifkipobffi: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Glhemplfblf", repeated, tag = "4")] + pub lblhkpefndd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmdfackdkgc { + #[prost(message, optional, tag = "1")] + pub dcpnffhjklk: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "3")] + pub odnpbhepnoa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ibhhfjffhdd { + #[xor(13970)] + #[prost(uint32, tag = "15")] + pub gcnenlcnlfd: u32, + #[xor(14602)] + #[prost(int32, tag = "6")] + pub objnjgckgaj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flcakpcfmih { + #[prost(enumeration = "Bahlemdifco", tag = "1")] + pub r#type: i32, + #[prost(message, optional, tag = "2")] + pub mkfddmjbngl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub lgfgkaiglnd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1324)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecokpbbjdkn { + #[prost(message, optional, tag = "11")] + pub kooaifabmhm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egiianccncf { + #[prost(message, optional, tag = "1")] + pub fjdialmanom: ::core::option::Option, + #[prost(bool, tag = "2")] + pub enbccffknld: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghpkeammhbg { + #[prost(string, tag = "1")] + pub gngklhpddlk: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub pcjfkihokcd: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkfchholipe { + #[prost(message, optional, tag = "1")] + pub denooobohnl: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub aiiffgfdleo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6091)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfmochhebcf { + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, + #[xor(9445)] + #[prost(uint64, tag = "14")] + pub fdfjcoccaoa: u64, + #[xor(11520)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8961)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hiifkiljdhk { + #[xor(13874)] + #[prost(uint32, tag = "5")] + pub plcmabdfkpf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iifflkmmcle { + #[prost(uint32, tag = "1")] + pub pokoclhpeeg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7284)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bccgcbhiejm { + #[xor(232)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3115)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogbdmhlgnnh { + #[prost(map = "uint32, int32", tag = "8")] + pub nfkdckfffni: ::std::collections::HashMap, + #[xor(9719)] + #[prost(int32, tag = "3")] + pub hcfpadgojjl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6109)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kabfkklgcom { + #[prost(message, optional, tag = "9")] + pub bmdcgmcnajb: ::core::option::Option, + #[xor(1392)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gopgogjoelm { + #[prost(string, tag = "1")] + pub hkjfgkgfpao: ::prost::alloc::string::String, + #[prost(enumeration = "Poappelpmmi", tag = "2")] + pub r#type: i32, + #[prost(enumeration = "Clhfpgmncdb", tag = "4")] + pub mbjdllfphjk: i32, + #[prost(message, optional, tag = "5")] + pub mfpfochbkch: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub mjemmdeanjc: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub cofemokalfm: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub ogihdljgafi: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub mnlneniidfp: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub ofpgeipahnf: ::core::option::Option, + #[prost(bool, tag = "12")] + pub ihbjabkphlm: bool, + #[prost(bool, tag = "13")] + pub jehbjmehcnf: bool, + #[prost(message, optional, tag = "14")] + pub flbkfpdokpd: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub hgcplnajdnl: ::core::option::Option, + #[prost(bool, tag = "16")] + pub oflijaimkkf: bool, + #[prost(bool, tag = "17")] + pub fkokdaodfhe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbokljfnobj { + #[prost(message, optional, tag = "1374")] + pub nbbgfegeamk: ::core::option::Option, + #[prost(map = "int32, int32", tag = "11")] + pub idpojldlpkl: ::std::collections::HashMap, + #[xor(6083)] + #[prost(uint32, tag = "1036")] + pub jabfblgcjba: u32, + #[prost(map = "uint32, message", tag = "15")] + pub cjeddbnlgln: ::std::collections::HashMap, + #[xor(4346)] + #[prost(uint32, tag = "9")] + pub bbcfbogcdpp: u32, + #[prost(enumeration = "Ljkhahbeibc", tag = "5")] + pub pjfdgkjnjpg: i32, + #[prost(string, tag = "4")] + pub mdbpadhiihg: ::prost::alloc::string::String, + #[prost(message, optional, tag = "14")] + pub nenfaainogg: ::core::option::Option, + #[prost(bool, tag = "599")] + pub ifcopnankpj: bool, + #[prost(message, optional, tag = "10")] + pub ahndodcnlhn: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub bkaghbmcjlg: ::core::option::Option, + #[prost(string, tag = "3")] + pub caffhoobknf: ::prost::alloc::string::String, + #[xor(10398)] + #[prost(uint32, tag = "1")] + pub cndghffhbeg: u32, + #[xor(3869)] + #[prost(int32, tag = "6")] + pub ldidpdhacdf: i32, + #[prost(bool, tag = "465")] + pub dlbpkhhlceb: bool, + #[prost(message, optional, tag = "861")] + pub mkkfodankff: ::core::option::Option, + #[prost(bool, tag = "2")] + pub lnbifoldlol: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7002)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hepkjimllbj { + #[prost(message, repeated, tag = "11")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(5892)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "4")] + pub info: ::core::option::Option, + #[xor(7136)] + #[prost(uint64, tag = "12")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lebapfnfmob { + #[prost(bool, tag = "1")] + pub aeifgbpooob: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7773)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fpnahpgikek {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iimgnbpakdm { + #[xor(2722)] + #[prost(uint32, tag = "12")] + pub hdeibfkcbif: u32, + #[prost(message, optional, tag = "4")] + pub hkhgjgjednn: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub omogbfodlgg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhlkigjnnal { + #[prost(uint32, tag = "1")] + pub llbdhkdlebh: u32, + #[prost(string, tag = "2")] + pub mjinpecbpoh: ::prost::alloc::string::String, + #[prost(int32, tag = "3")] + pub kjongknfkee: i32, + #[prost(uint32, repeated, tag = "4")] + pub fikbbcchodj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5933)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Glcocflocch { + #[xor(1370)] + #[prost(uint32, tag = "8")] + pub dfnooalbhop: u32, + #[xor(14021)] + #[prost(uint32, tag = "7")] + pub jkhpachcfgh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9423)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdmefaimlom { + #[xor(48)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2592)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbbnlfeipcp { + #[prost(uint32, repeated, tag = "8")] + pub nbeeleligan: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5959)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkkkocbfdjj { + #[xor(1399)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(message, optional, tag = "12")] + pub dggfmkgopfa: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iiiflaalhfj { + #[prost(bool, tag = "1")] + pub ogmlbeblegc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gcnkbbmekog { + #[prost(int32, tag = "1")] + pub bdfpboocppn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehehfdhfkic { + #[prost(uint32, repeated, tag = "6")] + pub ofhbnbiecea: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub immmmkmmdbh: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "9")] + pub mnfnmjaecod: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub dbfcegifjfi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfekolcgdgi { + #[prost(message, optional, tag = "1")] + pub interaction: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8218)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ffilfefbidd { + #[xor(15113)] + #[prost(int32, tag = "14")] + pub ohdhcdndjfn: i32, + #[xor(3268)] + #[prost(uint32, tag = "6")] + pub buddy_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alhffjfkfcd { + #[xor(15961)] + #[prost(uint64, tag = "4")] + pub lhbejkbkbfh: u64, + #[prost(message, optional, tag = "3")] + pub ohkabnockhh: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hdcbclhmnad: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub babajfidapk: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub fjocidcdabb: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub nbemliennej: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub dlfhlfcnbkd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpdcfhojdcj { + #[prost(string, tag = "2")] + pub transform_id: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub camera_x: u32, + #[prost(uint32, tag = "4")] + pub camera_y: u32, + #[prost(uint32, tag = "5")] + pub kedlgoakhld: u32, + #[prost(bool, tag = "6")] + pub gfhegijnplf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njjffeiflin { + #[prost(string, tag = "12")] + pub lcljjhpcdca: ::prost::alloc::string::String, + #[xor(8965)] + #[prost(int64, tag = "15")] + pub mcpmobeikhc: i64, + #[xor(3054)] + #[prost(uint32, tag = "9")] + pub fmkfjcmjjik: u32, + #[xor(4875)] + #[prost(uint32, tag = "8")] + pub fceflpmncba: u32, + #[prost(enumeration = "Paebkenimmg", tag = "5")] + pub kenfcmnapga: i32, + #[xor(6939)] + #[prost(int64, tag = "13")] + pub hccjckmjabc: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Epakibggcfl { + #[xor(9498)] + #[prost(uint32, tag = "5")] + pub template_id: u32, + #[xor(2669)] + #[prost(uint32, tag = "15")] + pub cipcimamboh: u32, + #[xor(3688)] + #[prost(uint32, tag = "13")] + pub ohbbnkgfjaa: u32, + #[xor(6564)] + #[prost(uint32, tag = "2")] + pub aknbmmbhcij: u32, + #[xor(3657)] + #[prost(uint32, tag = "12")] + pub hfgdjcfhokn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnbphklejka { + #[prost(message, repeated, tag = "4")] + pub blkangcgbkj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bjdbdlkdjio { + #[prost(message, optional, tag = "12")] + pub dcpnffhjklk: ::core::option::Option, + #[xor(13634)] + #[prost(uint32, tag = "9")] + pub fiieiehipik: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Transform { + #[prost(double, repeated, tag = "1")] + pub position: ::prost::alloc::vec::Vec, + #[prost(double, repeated, tag = "2")] + pub rotation: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6720)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nanhpmkilpj { + #[prost(string, tag = "13")] + pub degfeheokjp: ::prost::alloc::string::String, + #[xor(8839)] + #[prost(uint32, tag = "8")] + pub ggmahjkcmng: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5746)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ghhmoeomojn { + #[xor(15562)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plpdhlmamnk { + #[prost(string, tag = "1")] + pub kcclegdlljc: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub fiieiehipik: u32, + #[prost(uint32, tag = "3")] + pub uid: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9494)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dngcelefiel { + #[prost(uint32, repeated, tag = "5")] + pub iokmnhfmblk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Enehifbmmbk { + #[prost(int32, tag = "1")] + pub pohnmenbegi: i32, + #[prost(int32, tag = "2")] + pub llffkfoejgj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7528)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bdnhhghdeig { + #[xor(1476)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Meciholaipk {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7789)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Inflhadkobi {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4830)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bppfchidggl { + #[xor(4239)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljodkokclfc { + #[prost(uint32, repeated, tag = "10")] + pub ddpddhdnnbo: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "15")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oaakohgonec { + #[prost(message, optional, tag = "1")] + pub lobdhonjded: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Beodgcnjgld { + #[prost(message, optional, tag = "1")] + pub hjpjjjmnfji: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub gekjimlcbeg: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub baelcfjabof: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub ebeeiblohpb: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gflklioinco { + #[xor(10631)] + #[prost(uint32, tag = "3")] + pub ajlbpdgcmgn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5355)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hlmoppdcimm { + #[xor(7663)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6834)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iolanjhgkmn { + #[xor(15990)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcijepoklpo { + #[prost(enumeration = "Glhemplfblf", tag = "2")] + pub agmajhdflfg: i32, + #[prost(enumeration = "Gnilchgdfan", tag = "4")] + pub meekfennnbk: i32, + #[prost(bool, tag = "5")] + pub noknkdpfhmo: bool, + #[prost(string, repeated, tag = "7")] + pub nnadaaolefl: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, optional, tag = "9")] + pub moccldbpbcp: ::core::option::Option, + #[prost(string, tag = "10")] + pub jnaldmhdgdp: ::prost::alloc::string::String, + #[prost(message, optional, tag = "13")] + pub claojgokflb: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilecbfafdkc { + #[prost(string, tag = "1")] + pub ffgkhjefaco: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub gipjpnngpbl: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4872)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jopjhjibonp { + #[xor(8346)] + #[prost(uint32, tag = "13")] + pub opllilckkkp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlhhpgakblj { + #[prost(uint32, tag = "1")] + pub lpnkdjhhphn: u32, + #[prost(uint32, tag = "2")] + pub ahocgnkkngp: u32, + #[prost(string, tag = "3")] + pub jhpddnbdjcf: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub amijnnpcpkl: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Neglnjmcfid { + #[prost(enumeration = "Cnaookdijik", tag = "1")] + pub bhhdjkjomnf: i32, + #[prost(message, optional, tag = "2")] + pub pfjofckehoc: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub dkgicfopaag: ::prost::alloc::vec::Vec, + #[prost(double, tag = "4")] + pub adniekgkmen: f64, + #[prost(message, optional, tag = "5")] + pub bidnejnhbin: ::core::option::Option, + #[prost(string, tag = "6")] + pub ddnhingbfde: ::prost::alloc::string::String, + #[prost(map = "int32, message", tag = "7")] + pub gkakgjadeao: ::std::collections::HashMap, + #[prost(int32, tag = "8")] + pub lnmbpaieiko: i32, + #[prost(uint32, repeated, tag = "9")] + pub hhcenffkmik: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub jckifdjieih: bool, + #[prost(float, tag = "11")] + pub abnngkihkpm: f32, + #[prost(int32, tag = "12")] + pub fmagggjgmda: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jeljealmmdp { + #[xor(12318)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[xor(2555)] + #[prost(int32, tag = "6")] + pub ggdkhpplobj: i32, + #[xor(832)] + #[prost(int32, tag = "2")] + pub lhgmkeminbn: i32, + #[xor(6888)] + #[prost(int32, tag = "7")] + pub ddcnjgiklbp: i32, + #[xor(4728)] + #[prost(int32, tag = "14")] + pub bkmgijmnlpf: i32, + #[xor(8250)] + #[prost(int32, tag = "9")] + pub lamomhanken: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4287)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlalbpcioja { + #[prost(message, optional, tag = "10")] + pub gjleojbhoak: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4512)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dlhajnealdc { + #[xor(4210)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7196)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eifocjedgjn { + #[prost(uint32, repeated, tag = "13")] + pub mipbpifgifc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4652)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oaikpbcmflb { + #[xor(12519)] + #[prost(uint32, tag = "6")] + pub hkbijcffcfj: u32, + #[xor(7974)] + #[prost(uint32, tag = "14")] + pub cdklkjpfhhl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fcheealmbhi { + #[prost(int32, tag = "1")] + pub mgkoacfjjea: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mhbjjkncegl { + #[prost(uint32, tag = "1")] + pub npegbedjicb: u32, + #[prost(uint32, tag = "2")] + pub ekpcpcnhbcc: u32, + #[prost(message, optional, tag = "3")] + pub nkmeffcgekd: ::core::option::Option, + #[prost(int32, tag = "4")] + pub rotation: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poabpdcddaf { + #[prost(message, optional, tag = "1")] + pub fmkfjcmjjik: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub khdllfefdko: u32, + #[prost(uint32, tag = "3")] + pub hlhepnmgecn: u32, + #[prost(uint32, tag = "4")] + pub ilhiciolben: u32, + #[prost(message, optional, tag = "5")] + pub miemklodkfd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6252)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pddjjibmoob { + #[xor(11183)] + #[prost(uint32, tag = "1")] + pub quest_id: u32, + #[prost(uint32, repeated, tag = "5")] + pub hfnobnddpcd: ::prost::alloc::vec::Vec, + #[xor(10780)] + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, repeated, tag = "14")] + pub ieploccockn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gbngihiobdo { + #[xor(10957)] + #[prost(uint64, tag = "3")] + pub bkmgijmnlpf: u64, + #[xor(9233)] + #[prost(uint64, tag = "10")] + pub hdonikjeenc: u64, + #[xor(4352)] + #[prost(uint64, tag = "12")] + pub fkcdkdiacni: u64, + #[xor(956)] + #[prost(uint32, tag = "5")] + pub hkopdmjdgjj: u32, + #[xor(4428)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kgmgjhnecen { + #[xor(12504)] + #[prost(uint64, tag = "10")] + pub lhbejkbkbfh: u64, + #[xor(9419)] + #[prost(uint32, tag = "11")] + pub emkbdkpeceh: u32, + #[xor(10691)] + #[prost(uint32, tag = "2")] + pub cbonfgffinh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8611)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Balpnohcdnl { + #[xor(13781)] + #[prost(uint32, tag = "15")] + pub akacgpjilpb: u32, + #[xor(4398)] + #[prost(uint32, tag = "8")] + pub ghifdkelobe: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ljlmhiknejc { + #[prost(enumeration = "Mogpldajfbm", tag = "1")] + pub r#type: i32, + #[prost(int32, tag = "2")] + pub iompcihagcj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfckomedmem { + #[prost(int32, tag = "1")] + pub owner_type: i32, + #[prost(string, tag = "2")] + pub gbmipccfjmg: ::prost::alloc::string::String, + #[prost(enumeration = "Lbgflegfilm", tag = "3")] + pub mlhlemmgmii: i32, + #[prost(string, tag = "4")] + pub nacjcapcpab: ::prost::alloc::string::String, + #[prost(bool, tag = "5")] + pub kkmnocdjgha: bool, + #[prost(int32, tag = "6")] + pub nhpcmniaehc: i32, + #[prost(double, tag = "7")] + pub fmmebmlfgek: f64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5477)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oapfpmogmoi {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekbkdgdeiii { + #[prost(message, optional, tag = "1")] + pub lhbpkdmndao: ::core::option::Option, + #[xor(920)] + #[prost(uint32, tag = "7")] + pub nhabenmbjlf: u32, + #[prost(message, repeated, tag = "11")] + pub hbmobmainhk: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Almljipkkpm", tag = "15")] + pub gijimaobiig: i32, + #[xor(6725)] + #[prost(uint32, tag = "2")] + pub emboajldipc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihlhogaijcn { + #[xor(3846)] + #[prost(uint32, tag = "2")] + pub koelfcbhneo: u32, + #[prost(string, tag = "15")] + pub name: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub buddy_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cgjkgmlpmjd {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehdlaflohbp { + #[prost(enumeration = "Fnmbilnfkjo", repeated, tag = "1")] + pub poicjobidmi: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Oofenljhdpj", repeated, tag = "2")] + pub egmlnlbdgnm: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub pbgbankgcbd: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub gbchfmbndfm: ::core::option::Option, + #[prost(enumeration = "Pnmconcdhgh", repeated, tag = "6")] + pub ehkkhchamaf: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Ehfniikenec", repeated, tag = "8")] + pub hkbkbpdfphp: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Lfipekhmmid", repeated, tag = "9")] + pub fggndncgodb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3517)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfeakimhhkn { + /// VMP DETECTED + /// + #[xor(14847)] + #[prost(uint32, tag = "2")] + pub pglhelicfcf: u32, + #[xor(11631)] + #[prost(uint32, tag = "4")] + pub aiajckoonbf: u32, + #[xor(15244)] + #[prost(uint32, tag = "6")] + pub moinkhdnaoo: u32, + #[xor(1526)] + #[prost(uint32, tag = "7")] + pub mnncckhmdnl: u32, + #[prost(bool, tag = "8")] + pub ombgkbpjoai: bool, + #[prost(uint32, repeated, tag = "9")] + pub acjgglonpao: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub fknoiplkjpd: ::prost::alloc::vec::Vec, + #[xor(5808)] + #[prost(uint32, tag = "11")] + pub dpjkojgfhnj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fcpknialojj {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(931)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egodgipkbno { + #[xor(8654)] + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, optional, tag = "2")] + pub gepficdakna: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kokkkjdjmoj { + #[prost(uint32, tag = "1")] + pub jhooejigljp: u32, + #[prost(uint32, tag = "2")] + pub clgdocgoggb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1451)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lgkegfliklh { + #[xor(14114)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(801)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kpfaaoonffl { + #[xor(6031)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jkofpmjanpl { + #[prost(enumeration = "Hfjkkkckbkh", tag = "1")] + pub r#type: i32, + #[prost(enumeration = "Lmaladpammc", tag = "2")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(280)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcocjhbeflo { + #[prost(string, tag = "14")] + pub degfeheokjp: ::prost::alloc::string::String, + #[xor(2592)] + #[prost(uint32, tag = "13")] + pub ggmahjkcmng: u32, + #[xor(7582)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdghancghcb { + #[prost(string, tag = "1")] + pub majnhdojplo: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub appdnhldamm: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub elgcbflfjno: ::prost::alloc::string::String, + #[prost(enumeration = "Mjejehpehpe", tag = "4")] + pub nibcngpennk: i32, + #[prost(message, repeated, tag = "5")] + pub dedkcldjeke: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub aiofomleecc: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub mfpcbboigec: ::core::option::Option, + #[prost(bool, tag = "8")] + pub algeopajhco: bool, + #[prost(bool, tag = "9")] + pub gbplhncibee: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efbfemkchci { + #[prost(message, repeated, tag = "5")] + pub hhjmjjngpeh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub pbaldglhhcm: ::prost::alloc::vec::Vec, + #[xor(3436)] + #[prost(int32, tag = "12")] + pub egmnlijnfmk: i32, + #[xor(8334)] + #[prost(int32, tag = "13")] + pub ajcocoionnb: i32, + #[xor(10433)] + #[prost(int32, tag = "3")] + pub jdellpglkkg: i32, + #[prost(int32, repeated, tag = "11")] + pub plokadhcnab: ::prost::alloc::vec::Vec, + #[prost(map = "int32, int32", tag = "6")] + pub iajpnlknmhc: ::std::collections::HashMap, + #[xor(14351)] + #[prost(int32, tag = "10")] + pub hofbdjmbkdn: i32, + #[xor(3743)] + #[prost(int32, tag = "8")] + pub cjnjemailfi: i32, + #[xor(8352)] + #[prost(int32, tag = "2")] + pub lblefhnlbon: i32, + #[prost(message, optional, boxed, tag = "14")] + pub njeffdjkggh: ::core::option::Option<::prost::alloc::boxed::Box>, + #[xor(14615)] + #[prost(uint32, tag = "7")] + pub ambeaipbeli: u32, + #[prost(map = "uint32, uint32", tag = "9")] + pub angfhnjliil: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4166)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetTipsInfoScRsp { + #[prost(message, optional, tag = "7")] + pub abofjbndfif: ::core::option::Option, + #[prost(map = "uint32, uint32", tag = "14")] + pub fdibieadddo: ::std::collections::HashMap, + #[xor(13181)] + #[prost(int32, tag = "2")] + pub retcode: i32, + #[xor(12645)] + #[prost(uint32, tag = "9")] + pub r#type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmlalmlpgmk { + #[prost(message, repeated, tag = "5")] + pub cmhajfhkfbk: ::prost::alloc::vec::Vec, + #[xor(208)] + #[prost(int32, tag = "15")] + pub ndoemhdicpe: i32, + #[prost(bool, tag = "4")] + pub mjlgigfklnf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5417)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Omhjhjlemhk { + #[xor(2024)] + #[prost(uint32, tag = "3")] + pub quest_id: u32, + #[xor(4633)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Imoaijegddo { + #[xor(15749)] + #[prost(uint32, tag = "10")] + pub template_id: u32, + #[xor(2768)] + #[prost(uint32, tag = "14")] + pub level: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7071)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lbhcddlmkoo { + #[xor(6387)] + #[prost(int32, tag = "12")] + pub unit_tag: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eniokinngih {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1833)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdiaopbkcac { + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(11855)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "13")] + pub info: ::core::option::Option, + #[xor(13247)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fkgiednknai { + #[prost(int32, tag = "1")] + pub ihjfcmgfgka: i32, + #[prost(enumeration = "Mmmlgeigbel", tag = "2")] + pub r#type: i32, + #[prost(int32, tag = "3")] + pub lkdbeecbglo: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6288)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pkaokjkcfgl { + #[xor(12527)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eghjokpbcgm { + #[prost(bool, tag = "12")] + pub hpabgcennap: bool, + #[xor(9236)] + #[prost(uint32, tag = "4")] + pub r#type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6501)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lkjgdddmojk {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8239)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ccfbchomcam { + #[prost(message, optional, tag = "2")] + pub dcpnffhjklk: ::core::option::Option, + #[prost(bool, tag = "5")] + pub jhlfgmkgfhm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8431)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Emefjcmnjko { + #[xor(1621)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lpmpeocpjpp { + #[prost(uint32, tag = "1")] + pub fdcmmcglcgl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8375)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Focppdhamjf { + #[xor(7239)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lohfkpbnpkd { + #[prost(bool, tag = "8")] + pub gjfhobkjnki: bool, + #[prost(bool, tag = "1")] + pub cdclblegnpa: bool, + #[prost(bool, tag = "4")] + pub cfnphlmdbmn: bool, + #[xor(6732)] + #[prost(uint32, tag = "6")] + pub quest_id: u32, + #[xor(7663)] + #[prost(uint32, tag = "15")] + pub jnkaecgafeb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nogbmocgmpc { + #[prost(message, optional, tag = "1")] + pub jdgaddgaoic: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub position: ::core::option::Option, + #[prost(enumeration = "HollowGridLink", tag = "3")] + pub bdhdkglgljb: i32, + #[prost(message, optional, tag = "4")] + pub kefhoimmpod: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8724)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ehfkgagkflk {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eigckhjpmik {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cconmeddolb { + #[prost(uint32, repeated, tag = "1")] + pub ghpgoddilaa: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpiiligehfc { + #[prost(enumeration = "Fjdagjknojp", tag = "1")] + pub r#type: i32, + #[prost(message, optional, tag = "2")] + pub fiieiehipik: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9209)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mnpapmffecn { + #[xor(9314)] + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[xor(3229)] + #[prost(uint32, tag = "13")] + pub plcmabdfkpf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6119)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetMainCityRevivalDataCsReq { + #[xor(5253)] + #[prost(int32, tag = "12")] + pub land_id: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6745)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nknlmnpbdnp { + #[prost(string, tag = "5")] + pub inhfagikboj: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6508)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pfjbjgibeio { + #[xor(8026)] + #[prost(uint32, tag = "7")] + pub bhlkkamefen: u32, + #[xor(5483)] + #[prost(uint32, tag = "2")] + pub r#type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fagchfohojn { + #[prost(uint32, repeated, tag = "2")] + pub jamhgllailn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iepmlhlokkk { + #[prost(string, tag = "1")] + pub hmabhnlgddi: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8011)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idjockcfllc { + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(8638)] + #[prost(uint64, tag = "3")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "6")] + pub info: ::core::option::Option, + #[xor(15960)] + #[prost(uint64, tag = "14")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9817)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hicgifdjdjo { + #[xor(7974)] + #[prost(uint32, tag = "10")] + pub jpeclneklpe: u32, + #[prost(message, optional, tag = "8")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(enumeration = "Eplbpplhnid", tag = "4")] + pub r#type: i32, + #[xor(11011)] + #[prost(uint64, tag = "2")] + pub lcefdkhmacl: u64, + #[xor(15324)] + #[prost(uint64, tag = "15")] + pub event_id: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdkingklehl { + #[xor(13857)] + #[prost(uint32, tag = "7")] + pub imogekpohdj: u32, + #[xor(15312)] + #[prost(uint32, tag = "1")] + pub jkhpachcfgh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ngefobdinnb { + #[xor(7279)] + #[prost(int32, tag = "5")] + pub bolhfhdimmb: i32, + #[xor(14607)] + #[prost(int32, tag = "9")] + pub cgnoigmjbpi: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2194)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjmabnfjgea { + #[xor(2770)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "11")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(15262)] + #[prost(uint64, tag = "2")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkhemaadddo { + #[prost(int32, tag = "1")] + pub jpbbapobcfj: i32, + #[prost(uint32, repeated, tag = "2")] + pub lgcdjcdbmml: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub fiieiehipik: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub odnlghofidm: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub ohbbnkgfjaa: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub group: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub fpclgmdcdhm: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub foheinkeibm: ::core::option::Option, + #[prost(enumeration = "HollowShopCurrencyType", tag = "9")] + pub pbjklbpmail: i32, + #[prost(message, optional, tag = "10")] + pub njgfhhihdgg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iipcimebodf { + #[prost(uint32, tag = "1")] + pub ofkbfbdecof: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffjpfoebpnm { + #[prost(uint32, repeated, tag = "10")] + pub ajmpkabebac: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjddheneneg { + #[prost(string, tag = "2")] + pub beepikepgkf: ::prost::alloc::string::String, + #[prost(bool, tag = "4")] + pub jehbjmehcnf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6254)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ddccmklkgnc {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nghmmiplbid { + #[prost(string, tag = "1")] + pub hkjfgkgfpao: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub onhmicmigan: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub pmgmgnnhhnk: ::core::option::Option, + #[prost(bool, tag = "4")] + pub jmdcihhhaoc: bool, + #[prost(enumeration = "Cdjffkonbjl", tag = "5")] + pub r#type: i32, + #[prost(float, tag = "6")] + pub cofemokalfm: f32, + #[prost(float, tag = "7")] + pub ogihdljgafi: f32, + #[prost(int32, tag = "8")] + pub nfbogdbhnbo: i32, + #[prost(int32, tag = "9")] + pub dgcadlofilg: i32, + #[prost(bool, tag = "10")] + pub ocnmccfikbd: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhbahpbbljl { + #[prost(message, repeated, tag = "5")] + pub glmmdebfabl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1")] + pub mmimgddioao: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub kjgbjnnljmg: ::prost::alloc::string::String, + #[prost(bool, tag = "8")] + pub eppefdfnobh: bool, + #[xor(10304)] + #[prost(uint32, tag = "10")] + pub dimdlbpkbaj: u32, + #[xor(3819)] + #[prost(int64, tag = "6")] + pub onjjnoojkoo: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcnfaflboca { + #[prost(string, tag = "1")] + pub pdkepajpele: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(890)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bikljfbhila { + #[prost(message, optional, tag = "1")] + pub lejjmnoopnm: ::core::option::Option, + #[prost(bool, tag = "8")] + pub fihnanppdgn: bool, + #[prost(bool, tag = "10")] + pub jcjmcpblmeb: bool, + #[prost(message, optional, tag = "14")] + pub ffgcplhnpgi: ::core::option::Option, + #[xor(12462)] + #[prost(uint32, tag = "6")] + pub emboajldipc: u32, + #[prost(enumeration = "Ablocgbdipn", tag = "7")] + pub gjmpnjbgpln: i32, + #[xor(12568)] + #[prost(int32, tag = "12")] + pub dngdefkkckn: i32, + #[prost(enumeration = "HollowEntityType", tag = "5")] + pub fkkbflokodb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3462)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adjlkjhlgkn { + #[prost(message, repeated, tag = "13")] + pub ldkdghblham: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8207)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbdmgddlmab { + #[prost(map = "string, int64", tag = "8")] + pub aeiaggdebfk: ::std::collections::HashMap<::prost::alloc::string::String, i64>, + #[xor(3494)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5170)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jckjkbloegd { + #[prost(bool, tag = "9")] + pub jddhhhkflfl: bool, + #[xor(3820)] + #[prost(uint32, tag = "10")] + pub gndjmoanhap: u32, + #[prost(message, repeated, tag = "3")] + pub wishlist_plan_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Daoclahpafo { + #[prost(string, tag = "1")] + pub oiidemlgihg: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6534)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kpmkojfmaal { + #[xor(4395)] + #[prost(uint32, tag = "10")] + pub kbkppchiaeg: u32, + #[prost(bool, tag = "4")] + pub claghdagoid: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgiimomhnch { + #[prost(enumeration = "Jdkdapingmh", tag = "1")] + pub fnkpjeodjhh: i32, + #[prost(enumeration = "Gbnhkbnegji", tag = "2")] + pub ajbiidkfbpn: i32, + #[prost(string, repeated, tag = "3")] + pub giignjnokmp: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1308)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetDisplayCaseDataScRsp { + #[xor(3990)] + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(message, repeated, tag = "12")] + pub gkoaiehakdk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub okhconhhpcp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acdnlpjhcpb { + #[prost(bool, tag = "1")] + pub mjfghjgbgmd: bool, + #[prost(string, tag = "2")] + pub hgeefmbognb: ::prost::alloc::string::String, + #[prost(bool, tag = "3")] + pub nhimbkpiiln: bool, + #[prost(string, tag = "4")] + pub oaocpiecgga: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub pcfbknbfdod: ::prost::alloc::string::String, + #[prost(bool, tag = "6")] + pub lbaakblbgli: bool, + #[prost(string, tag = "7")] + pub fnpaelpfioc: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3162)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetWishlistDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8100)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mbbmmkjjlbd { + #[xor(8165)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkglkcabpcn { + #[prost(uint32, tag = "1")] + pub interaction: u32, + #[prost(map = "int32, string", tag = "2")] + pub participators: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Koedbmhfedj { + #[prost(enumeration = "Pcekojidped", tag = "1")] + pub ekbfgknccph: i32, + #[prost(string, tag = "2")] + pub dcpnffhjklk: ::prost::alloc::string::String, + #[prost(enumeration = "Kimhnenegop", tag = "3")] + pub fpbfehmkhgp: i32, + #[prost(map = "string, message", tag = "4")] + pub jjfjncfjaca: ::std::collections::HashMap< + ::prost::alloc::string::String, + Jiahalkoppm, + >, + #[prost(string, tag = "5")] + pub calhjjbpiaf: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ipplhdhmclc { + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, + #[xor(2952)] + #[prost(uint64, tag = "12")] + pub lhbejkbkbfh: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5728)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ohockeiibig { + #[xor(9852)] + #[prost(uint32, tag = "6")] + pub dfnooalbhop: u32, + #[prost(bool, tag = "5")] + pub pbehkahplpc: bool, + #[xor(5023)] + #[prost(uint32, tag = "14")] + pub ohdkcchhekh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4940)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Legpdhniadi { + #[prost(message, repeated, tag = "7")] + pub aoppojcdgge: ::prost::alloc::vec::Vec, + #[xor(11061)] + #[prost(uint32, tag = "6")] + pub fmkfjcmjjik: u32, + #[prost(enumeration = "Mdjodbafohl", tag = "14")] + pub nkjhacjoagi: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdckgafmbnf { + #[prost(bool, tag = "1")] + pub hogpakjdmep: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4876)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct ChangeQuickFuncSettingScRsp { + #[xor(11381)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7584)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mgifdepgalp { + #[xor(16084)] + #[prost(uint32, tag = "4")] + pub plcmabdfkpf: u32, + #[xor(959)] + #[prost(uint32, tag = "11")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njdlpgbiofi { + #[prost(int32, repeated, tag = "1")] + pub ifmjbedbidm: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "5")] + pub hcfnikmdbbf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ihbcafaejco {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FightSceneInfo { + #[prost(message, optional, tag = "4")] + pub level_perform_info: ::core::option::Option, + #[prost(bool, tag = "5")] + pub end_hollow: bool, + #[xor(15247)] + #[prost(uint32, tag = "13")] + pub kocafnbpjpb: u32, + #[prost(message, optional, tag = "2")] + pub level_reward_info: ::core::option::Option, + #[xor(2727)] + #[prost(uint32, tag = "1")] + pub bbiidnnlech: u32, + #[prost(enumeration = "Geeejnimdmd", tag = "7")] + pub perform_type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2635)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecfpoapdhjl { + #[xor(15833)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, optional, tag = "1")] + pub fimkckghmld: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ngpppaejhef { + #[prost(int32, tag = "1")] + pub lobdhonjded: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbfcmedbeoc { + #[prost(message, optional, tag = "13")] + pub inmepgighgi: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocmohlcigec { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(int32, tag = "2")] + pub avatar_id: i32, + #[prost(int32, tag = "3")] + pub level: i32, + #[prost(int32, tag = "4")] + pub star: i32, + #[prost(int32, tag = "5")] + pub hnomlaajchd: i32, + #[prost(map = "int32, int32", tag = "6")] + pub ejegjedekbc: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1027)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CheckYorozuyaInfoRefreshCsReq { + #[prost(uint32, repeated, tag = "10")] + pub oagklpamemd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub mbdjmldabkd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3723)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lamlnjpbkad { + #[xor(4872)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lejmfodhbkm { + #[xor(15758)] + #[prost(uint32, tag = "13")] + pub ioogiohdifi: u32, + #[prost(message, repeated, tag = "15")] + pub kfkjgmehome: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "12")] + pub aokpiglmnkg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Haadanjjjhd { + #[prost(int32, tag = "1")] + pub template_id: i32, + #[prost(bool, tag = "2")] + pub ikobfbeldcg: bool, + #[prost(int32, tag = "3")] + pub dpcpmenimcn: i32, + #[prost(string, tag = "4")] + pub ckgmdllefhp: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nokpodcekba { + #[prost(bool, tag = "1")] + pub gllaknfphgo: bool, + #[prost(bool, tag = "2")] + pub jngpmoglnil: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(45)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Apfammioodm { + #[xor(925)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Meeipdknfkb { + #[prost(string, tag = "6")] + pub iadmkegnnbe: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "13")] + pub bifkoifhcgh: ::prost::alloc::vec::Vec, + #[xor(6735)] + #[prost(uint32, tag = "1")] + pub pjccelppfik: u32, + #[xor(10036)] + #[prost(uint32, tag = "14")] + pub refresh_status: u32, + #[xor(4790)] + #[prost(uint32, tag = "9")] + pub lbdfkjcfgke: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ilnlppebegk {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enkgcfaehnh { + #[prost(string, tag = "1")] + pub pacmlnnkihp: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amnfklagbnk { + #[prost(bool, tag = "2")] + pub aimmdoolkoe: bool, + #[xor(15224)] + #[prost(uint32, tag = "13")] + pub hkopdmjdgjj: u32, + #[xor(9084)] + #[prost(uint32, tag = "9")] + pub cmdkijaekpn: u32, + #[prost(message, repeated, tag = "5")] + pub mfcpmjmicai: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hihbpknggge { + #[xor(5194)] + #[prost(uint32, tag = "1")] + pub efdffdaiomf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarInfo { + #[xor(11303)] + #[prost(uint32, tag = "13")] + pub template_id: u32, + #[xor(7833)] + #[prost(uint32, tag = "15")] + pub level: u32, + #[xor(2319)] + #[prost(int64, tag = "11")] + pub first_get_time: i64, + #[xor(567)] + #[prost(uint32, tag = "7")] + pub exp: u32, + #[prost(message, repeated, tag = "4")] + pub gpjehiefklh: ::prost::alloc::vec::Vec, + #[xor(6877)] + #[prost(uint32, tag = "6")] + pub mggafoelnin: u32, + #[xor(5052)] + #[prost(uint32, tag = "2")] + pub bleigcnljfo: u32, + #[prost(message, repeated, tag = "5")] + pub skill_type_level: ::prost::alloc::vec::Vec, + #[xor(1670)] + #[prost(uint32, tag = "9")] + pub rank: u32, + #[prost(bool, repeated, tag = "12")] + pub talent_switch_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub aiggacjpnfn: bool, + #[xor(11231)] + #[prost(uint32, tag = "1")] + pub star: u32, + #[prost(enumeration = "Hddffdjhjkh", tag = "8")] + pub nlhjdbleoma: i32, + #[xor(3402)] + #[prost(uint32, tag = "14")] + pub unlocked_talent_num: u32, + #[prost(uint32, repeated, tag = "3")] + pub iladacjffif: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kflagnpedpe { + #[prost(message, optional, tag = "13")] + pub hglpdfdkgej: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarUnitInfo { + #[prost(bool, tag = "14")] + pub lcepghlejml: bool, + #[prost(map = "uint32, int32", tag = "13")] + pub efhjeghnemn: ::std::collections::HashMap, + #[xor(9199)] + #[prost(int32, tag = "5")] + pub bejnnejgpka: i32, + #[prost(bool, tag = "2")] + pub fbgokpdmgbj: bool, + #[prost(uint32, repeated, tag = "1")] + pub gghneajpodn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "15")] + pub bflaalncokd: bool, + #[xor(6668)] + #[prost(uint32, tag = "4")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6613)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fbhflpdpjkh { + #[prost(uint64, repeated, tag = "10")] + pub onnfjbinhff: ::prost::alloc::vec::Vec, + #[xor(659)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbmoeohnjjg { + #[prost(message, repeated, tag = "9")] + pub dgcfmjnljgg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8772)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bicbjpohpia { + #[xor(13232)] + #[prost(uint32, tag = "10")] + pub tag: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4722)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetWeaponDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2481)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fjiceeiijei { + #[xor(14893)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4082)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Enmplaofffe { + #[prost(bool, tag = "7")] + pub aiggacjpnfn: bool, + #[xor(3083)] + #[prost(uint32, tag = "5")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhnhlgcladn { + #[prost(message, optional, tag = "1")] + pub pohnmenbegi: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub llffkfoejgj: ::core::option::Option, + #[prost(enumeration = "Clhfpgmncdb", tag = "3")] + pub position: i32, + #[prost(message, optional, tag = "4")] + pub lcjdkmhnjbp: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub apmgkdkmjmo: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Eghnokhjhcm", tag = "6")] + pub kgbcimlmcgd: i32, + #[prost(enumeration = "Hhfhcilfaoa", tag = "7")] + pub podefpclepd: i32, + #[prost(message, repeated, tag = "8")] + pub nakeecahgnk: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "9")] + pub ehfndealfkh: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "10")] + pub cinjjaaihao: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "12")] + pub odnpbhepnoa: i32, + #[prost(int32, repeated, tag = "13")] + pub eefemjdeldi: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpldkioppeg { + #[prost(string, tag = "1")] + pub hikmaafpkki: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7793)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkgecliinob { + #[prost(uint32, repeated, tag = "13")] + pub dpmjknknmbf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hagdhjnpdab { + #[xor(10012)] + #[prost(uint64, tag = "5")] + pub eclmmmoafkf: u64, + #[xor(1623)] + #[prost(int32, tag = "13")] + pub abndibaoklm: i32, + #[xor(11401)] + #[prost(int32, tag = "3")] + pub nbcpillfbkk: i32, + #[xor(16124)] + #[prost(uint64, tag = "12")] + pub mfllnjioklc: u64, + #[xor(11747)] + #[prost(int32, tag = "10")] + pub gmppnloneej: i32, + #[xor(1641)] + #[prost(int32, tag = "1")] + pub cdobibpoadl: i32, + #[xor(7264)] + #[prost(uint64, tag = "7")] + pub hmmioonmijc: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Najlndnjffh { + #[prost(message, repeated, tag = "1")] + pub nfmojhjjldd: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub lpbfaeadgib: bool, + #[prost(int32, tag = "3")] + pub jpbbapobcfj: i32, + #[prost(message, optional, tag = "4")] + pub bdhdkglgljb: ::core::option::Option, + #[prost(float, tag = "5")] + pub kffdknkcnok: f32, + #[prost(int32, tag = "6")] + pub params: i32, + #[prost(int32, tag = "7")] + pub ekppdkdkibj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ehjkafbhgom {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9637)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetChatEmojiListCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppfplginlfm { + #[xor(9782)] + #[prost(uint32, tag = "8")] + pub gcnenlcnlfd: u32, + #[prost(message, repeated, tag = "5")] + pub mjhdbkgfeha: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(285)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpllddaoafi { + #[xor(15002)] + #[prost(uint32, tag = "1")] + pub knenjodlcjl: u32, + #[prost(bool, tag = "6")] + pub cdopldmjhho: bool, + #[xor(34)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(bool, tag = "8")] + pub codeicgnpaa: bool, + #[prost(message, repeated, tag = "14")] + pub mkhcjgliohk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cioodpmfemp { + #[prost(uint32, tag = "1")] + pub cghliblpgmj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmfpmfdkhgj { + #[prost(uint32, repeated, tag = "8")] + pub efemnfbcfbi: ::prost::alloc::vec::Vec, + #[xor(12525)] + #[prost(int64, tag = "6")] + pub mcpmobeikhc: i64, + #[xor(1866)] + #[prost(int64, tag = "14")] + pub hccjckmjabc: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjepakkgkcm { + #[prost(message, optional, tag = "2")] + pub nkhkfcldlca: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Helphihnilj { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub onconpjbpni: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "3")] + pub ekbfgknccph: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3249)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nmhnddbdelo { + #[xor(14210)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dndamimdncd { + #[prost(message, repeated, tag = "1")] + pub congfkebjid: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub appdnhldamm: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub amchfclofih: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oonapfbkhnj { + #[xor(13502)] + #[prost(int32, tag = "3")] + pub lamomhanken: i32, + #[xor(9265)] + #[prost(int32, tag = "2")] + pub ggdkhpplobj: i32, + #[xor(3640)] + #[prost(int32, tag = "15")] + pub lhgmkeminbn: i32, + #[xor(505)] + #[prost(int32, tag = "13")] + pub ddcnjgiklbp: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pibgkaalkka { + #[prost(message, optional, tag = "1")] + pub iidnjcionhi: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub fmkfjcmjjik: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "3")] + pub odnpbhepnoa: i32, + #[prost(enumeration = "Pcekojidped", tag = "4")] + pub ekbfgknccph: i32, + #[prost(message, optional, tag = "5")] + pub feebfnljlli: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nanajbakhjd { + #[prost(uint32, tag = "4")] + pub fcgoemmflkg: u32, + #[prost(message, optional, tag = "5")] + pub lnefagfhogi: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub hjfpdgahjka: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub mamljookofo: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gfcghmdpjmf { + #[prost(bool, tag = "1")] + pub claghdagoid: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpjlcmeiolk { + #[prost(uint32, tag = "1")] + pub djfiokhapff: u32, + #[prost(message, repeated, tag = "2")] + pub bkdeogdpeld: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub bgnfoabaajk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7922)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Neegeodnabh {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fljlcjhjkph { + #[prost(float, tag = "1")] + pub lkdbeecbglo: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5843)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mhebldgilge { + #[prost(bool, tag = "5")] + pub finished: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eaibkoepngb { + #[xor(4146)] + #[prost(uint32, tag = "3")] + pub ohddhacicke: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct JourneyInfo { + #[prost(message, repeated, tag = "14")] + pub cfhinildiph: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9805)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpgikfpfkim { + #[prost(message, optional, tag = "8")] + pub info: ::core::option::Option, + #[xor(8431)] + #[prost(uint64, tag = "12")] + pub fdfjcoccaoa: u64, + #[xor(4946)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "1")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mliiaeemiea { + #[prost(message, optional, tag = "1")] + pub pkdcjblcbgl: ::core::option::Option, + #[prost(enumeration = "Jpfppgeicgf", tag = "2")] + pub cicobenekhp: i32, + #[prost(bytes = "vec", tag = "3")] + pub fjbdjfnjelm: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub lhbejkbkbfh: ::core::option::Option, + #[prost(enumeration = "Bldnlcajldl", tag = "5")] + pub gcicmillgeg: i32, + #[prost(uint32, tag = "6")] + pub jodadfonlob: u32, + #[prost(bool, tag = "7")] + pub fmbmoliigph: bool, + #[prost(message, optional, tag = "8")] + pub jiahokidaii: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9425)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cjpnpkmjonk { + #[xor(8250)] + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(message, optional, tag = "9")] + pub ofgfdeipfaj: ::core::option::Option, + #[xor(13377)] + #[prost(uint32, tag = "11")] + pub section_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gpibbhafgcc { + #[prost(enumeration = "Pnbnlleambf", tag = "1")] + pub hmmneikfple: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhfbafpohpo { + #[prost(message, repeated, tag = "10")] + pub ffnhdpepfni: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub jknabjjaapd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub glofednmfep: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub fkhmehmkeom: ::prost::alloc::vec::Vec, + #[xor(10598)] + #[prost(uint32, tag = "8")] + pub ldcohhnfnga: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Chaaiejpbef { + #[prost(bool, tag = "1")] + pub ninaojdemkc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2051)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Njedfobgbll { + #[xor(1170)] + #[prost(uint32, tag = "15")] + pub tag: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2244)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pkfmcbgahle { + #[xor(3727)] + #[prost(uint32, tag = "13")] + pub ohdkcchhekh: u32, + #[xor(2088)] + #[prost(uint32, tag = "1")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnhfnpfdnpc { + #[prost(message, repeated, tag = "2")] + pub noebkmdmfga: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4450)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Egcdmnbkjld { + #[xor(15028)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plaekoflgpb { + #[prost(enumeration = "Gjglokjcccm", tag = "1")] + pub fbbadmnmacp: i32, + #[prost(enumeration = "Chlbmblieoe", tag = "2")] + pub dkmepflgcmf: i32, + #[prost(message, optional, tag = "3")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub iplojopdaeo: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub pdoflhhlnim: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bibfchmpana { + #[prost(bool, tag = "1")] + pub kamkoikfnfp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5659)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emeoinmmfpd { + #[prost(bytes = "vec", tag = "6")] + pub nnlgfjahfla: ::prost::alloc::vec::Vec, + #[xor(12102)] + #[prost(uint32, tag = "5")] + pub ahdbalhodda: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4021)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ekhbjdfjhjg { + #[xor(7648)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3893)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bnlodibgibo { + #[prost(bool, tag = "14")] + pub olmbckeopdg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9504)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jmlicapmfbi { + #[prost(bool, tag = "3")] + pub goilaoppijh: bool, + #[xor(11284)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdkmclnngeg { + #[prost(message, optional, tag = "15")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnghglbdnda { + #[prost(message, optional, tag = "1")] + pub olfbdmnhdgm: ::core::option::Option, + #[prost(enumeration = "Fnmbilnfkjo", tag = "2")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5154)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cphpedogfbo { + #[xor(13796)] + #[prost(uint32, tag = "3")] + pub quest_id: u32, + #[prost(bool, tag = "6")] + pub mmbkjcekdkd: bool, + #[prost(uint32, repeated, tag = "8")] + pub avatars: ::prost::alloc::vec::Vec, + #[xor(4245)] + #[prost(uint32, tag = "10")] + pub buddy_id: u32, + #[prost(uint32, repeated, tag = "12")] + pub foacgpjpgph: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub ombgkbpjoai: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2319)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bcbjninklck { + #[xor(5847)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4066)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct ModMainCityAvatarCsReq { + #[prost(enumeration = "Amefkkelfjm", tag = "13")] + pub r#type: i32, + #[xor(16054)] + #[prost(uint32, tag = "14")] + pub main_city_avatar_id: u32, + #[xor(7102)] + #[prost(uint32, tag = "11")] + pub player_avatar_id: u32, + #[xor(11425)] + #[prost(uint32, tag = "4")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddhgklampic { + #[prost(message, optional, tag = "12")] + pub mfhbobhnmfc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7269)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hfccehlgpml { + #[xor(8952)] + #[prost(uint32, tag = "2")] + pub ahnoomoogom: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbefeendlpg { + #[xor(4587)] + #[prost(uint64, tag = "14")] + pub hlpipemphkd: u64, + #[prost(string, tag = "11")] + pub name: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmngnmhkkkb { + #[xor(8624)] + #[prost(uint32, tag = "1")] + pub r#type: u32, + #[prost(uint32, repeated, tag = "15")] + pub ddpddhdnnbo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub aoppojcdgge: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kpjbgkmmajf { + #[prost(enumeration = "Faijilljfdd", tag = "1")] + pub quest_type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(321)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdeamhhedip { + #[xor(7629)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6221)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ipaljejfbpb {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6075)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fhkafnkdiid {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9809)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fnodaoafejf { + #[prost(enumeration = "Lhckbjiamjd", tag = "2")] + pub aigbmbgkfkf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fnkidlbjpcj { + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, + #[xor(8419)] + #[prost(uint64, tag = "11")] + pub lhbejkbkbfh: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aalkilcjfal { + #[prost(uint32, repeated, tag = "1")] + pub fcahooccjll: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub pgfbopomina: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjppilpogfg { + #[xor(11915)] + #[prost(int32, tag = "13")] + pub ohdgppamjcp: i32, + #[prost(message, optional, tag = "2")] + pub inmepgighgi: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmlcgheiope { + #[prost(bool, tag = "1")] + pub fdbpafaaoan: bool, + #[prost(uint32, repeated, tag = "2")] + pub ebcdbcbneih: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pnlcpbpjjio { + #[prost(uint32, tag = "1")] + pub bafafbhebei: u32, + #[prost(enumeration = "TimePeriodType", tag = "2")] + pub time_period: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6238)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jjfadpcopln { + #[xor(14465)] + #[prost(uint32, tag = "3")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnlaakpiojf { + #[prost(message, optional, tag = "10")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8886)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bgemdglfjcg { + #[xor(4884)] + #[prost(uint32, tag = "10")] + pub aldbmeomoni: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5565)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efhdlnnlkhk { + #[xor(10129)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(15330)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6993)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgfpmnfhbpl { + #[prost(uint32, repeated, tag = "2")] + pub mpnadhlgoad: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub ooanmplgeno: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9352)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jboeaffpnhi { + #[prost(message, repeated, tag = "8")] + pub mfldncoijja: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epicjfjfjjl { + #[prost(float, tag = "7")] + pub dndmhmmdjfh: f32, + #[prost(message, optional, tag = "6")] + pub dbogjiimfga: ::core::option::Option, + #[xor(15782)] + #[prost(int32, tag = "14")] + pub eeinmbpaibc: i32, + #[prost(message, optional, tag = "10")] + pub jddnpohnpok: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Galacffebnl { + #[prost(string, tag = "5")] + pub jhpddnbdjcf: ::prost::alloc::string::String, + #[xor(13497)] + #[prost(int32, tag = "1")] + pub hjojjebedfd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fbncbkdiihc { + #[prost(message, optional, tag = "1")] + pub clgdocgoggb: ::core::option::Option, + #[prost(string, tag = "2")] + pub glmdmigamga: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikpilcohcdn { + #[prost(message, repeated, tag = "5")] + pub weapon_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub equip_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmgfinggocn { + #[prost(uint32, tag = "1")] + pub quest_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub bifkoifhcgh: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub jgoaknljoip: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpeggegkndg { + #[prost(message, repeated, tag = "1")] + pub delbgoehhop: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elojdglfilm { + #[prost(bool, tag = "1")] + pub pkmnpbbjhha: bool, + #[prost(message, optional, tag = "2")] + pub hgeefmbognb: ::core::option::Option, + #[prost(bool, tag = "3")] + pub nhimbkpiiln: bool, + #[prost(message, optional, tag = "4")] + pub oaocpiecgga: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub pcfbknbfdod: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub fnpaelpfioc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ghaeaghijjo {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6212)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccpiohbkpmi { + #[prost(message, optional, tag = "1")] + pub gjmaejchkhk: ::core::option::Option, + #[xor(14292)] + #[prost(uint32, tag = "5")] + pub oacmmcfdmfn: u32, + #[xor(12255)] + #[prost(uint32, tag = "12")] + pub cdjfecphlol: u32, + #[xor(8026)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(enumeration = "Gaaeijmifok", tag = "13")] + pub dbhlcdkiikf: i32, + #[prost(message, repeated, tag = "2")] + pub iignjepmfdi: ::prost::alloc::vec::Vec, + #[prost(string, tag = "6")] + pub ndhgdfebdci: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbgicbepcgl { + #[prost(message, repeated, tag = "2")] + pub elcbfpaidgf: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "8")] + pub emgcadfiojh: ::prost::alloc::vec::Vec, + #[prost(double, tag = "10")] + pub cgbjgffgkba: f64, + #[prost(int32, repeated, tag = "6")] + pub cmlcbfcbhfe: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub mlicahdcpom: ::prost::alloc::vec::Vec, + #[xor(11642)] + #[prost(int64, tag = "14")] + pub ajhceoabbba: i64, + #[prost(float, tag = "9")] + pub hdaokibdehc: f32, + #[prost(message, optional, tag = "12")] + pub cmljkilffff: ::core::option::Option, + #[prost(map = "int32, message", tag = "4")] + pub modabggaaai: ::std::collections::HashMap, + #[prost(message, optional, tag = "15")] + pub ihekhkcpeph: ::core::option::Option, + #[prost(map = "int32, message", tag = "13")] + pub ifgepfjgmjj: ::std::collections::HashMap, + #[xor(11644)] + #[prost(int32, tag = "5")] + pub ajcocoionnb: i32, + #[prost(string, tag = "3")] + pub ojcmlgonofp: ::prost::alloc::string::String, + #[prost(map = "int32, string", tag = "11")] + pub pfhbbkangao: ::std::collections::HashMap, + #[prost(map = "int32, message", tag = "1")] + pub jjjpdggpjki: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dbhbclfhijp { + #[prost(int32, tag = "1")] + pub fhaiilcnkmj: i32, + #[prost(int32, tag = "2")] + pub buddy_id: i32, + #[prost(int32, tag = "3")] + pub ikkplmjbghb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elfajpbndmi { + #[prost(message, repeated, tag = "1")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibjemkolaia { + #[prost(string, tag = "1")] + pub dlehlenhggc: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub lgnobbdbgdl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5837)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cobjkogjmjp { + #[prost(map = "uint32, uint32", tag = "3")] + pub cgmcmmadjio: ::std::collections::HashMap, + #[xor(4544)] + #[prost(uint32, tag = "7")] + pub igbiipghmcn: u32, + #[xor(3554)] + #[prost(uint32, tag = "14")] + pub aaklejilaej: u32, + #[xor(12206)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(map = "uint32, uint32", tag = "12")] + pub kilhgebciil: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbniplnoebe { + #[prost(message, repeated, tag = "15")] + pub bipfdmagebi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Abhmmddgkog { + #[xor(14537)] + #[prost(int32, tag = "14")] + pub ajcocoionnb: i32, + #[prost(float, tag = "10")] + pub hdaokibdehc: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkanmbfanib { + #[xor(9810)] + #[prost(uint32, tag = "1391")] + pub kajlkgpegal: u32, + #[prost(string, tag = "4")] + pub fakodiiflca: ::prost::alloc::string::String, + #[prost(bool, tag = "1")] + pub eokdoddmiha: bool, + #[prost(message, repeated, tag = "10")] + pub aogamijillm: ::prost::alloc::vec::Vec, + #[xor(9759)] + #[prost(uint32, tag = "15")] + pub aagmalpelel: u32, + #[prost(string, tag = "11")] + pub gfejajfjilc: ::prost::alloc::string::String, + #[xor(8615)] + #[prost(uint32, tag = "1726")] + pub bcgdpihcifm: u32, + #[xor(7457)] + #[prost(int64, tag = "8")] + pub iompfopcppk: i64, + #[xor(6703)] + #[prost(int64, tag = "7")] + pub hccjckmjabc: i64, + #[prost(bool, tag = "3")] + pub oadgefcjjpa: bool, + #[xor(2922)] + #[prost(uint32, tag = "1911")] + pub gohkjkdopon: u32, + #[prost(string, tag = "9")] + pub cklbdcpfhpp: ::prost::alloc::string::String, + #[prost(bool, tag = "1617")] + pub bjfbdgopbhk: bool, + #[xor(15654)] + #[prost(uint32, tag = "12")] + pub refresh_status: u32, + #[xor(7101)] + #[prost(uint32, tag = "2")] + pub pbljccaeogd: u32, + #[xor(7595)] + #[prost(uint32, tag = "13")] + pub lmeijnjokib: u32, + #[xor(13273)] + #[prost(int64, tag = "6")] + pub mcpmobeikhc: i64, + #[xor(5495)] + #[prost(uint32, tag = "1493")] + pub ddcnjgiklbp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(363)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lmbnjhcabcf { + #[xor(6002)] + #[prost(int32, tag = "13")] + pub hmmneikfple: i32, + #[xor(9735)] + #[prost(int64, tag = "6")] + pub nlalfikegpa: i64, + #[xor(9316)] + #[prost(int32, tag = "2")] + pub ploeoijkjof: i32, + #[xor(1555)] + #[prost(int64, tag = "11")] + pub femppbingka: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2662)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jjdnadpboln {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmegkdooccp { + #[prost(message, optional, tag = "1")] + pub opllilckkkp: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3184)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mejlhpllcdk { + #[prost(message, optional, tag = "11")] + pub apnlkmfdkaa: ::core::option::Option, + #[prost(bytes = "vec", tag = "8")] + pub body: ::prost::alloc::vec::Vec, + #[xor(10728)] + #[prost(uint32, tag = "15")] + pub action_type: u32, + #[prost(message, optional, tag = "13")] + pub gcfoolllbdh: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3152)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eagbganimha { + #[xor(3564)] + #[prost(uint32, tag = "13")] + pub hnlcmcdcpep: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nenfigldioc { + #[xor(12778)] + #[prost(int32, tag = "6")] + pub joinpfmjbnk: i32, + #[xor(15738)] + #[prost(int32, tag = "14")] + pub beabhkkodgd: i32, + #[xor(15371)] + #[prost(int32, tag = "7")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lipbohliadp { + #[prost(int32, tag = "1")] + pub ddbmjpajmnc: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmncdfccjjl { + #[prost(uint32, tag = "1")] + pub npc_id: u32, + #[prost(bool, tag = "2")] + pub olgmophhcli: bool, + #[prost(message, repeated, tag = "3")] + pub bdmbnmeopch: ::prost::alloc::vec::Vec, + #[prost(enumeration = "TimePeriodType", tag = "4")] + pub time_period: i32, + #[prost(enumeration = "Ompbfjdfljk", tag = "5")] + pub iiggaglkijl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(737)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pfacnfldecm {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fnmakbalceh { + #[xor(2128)] + #[prost(int32, tag = "6")] + pub kbhigbiigjl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnccgmoggab { + #[prost(message, optional, tag = "1")] + pub oohhibekggp: ::core::option::Option, + #[prost(string, tag = "2")] + pub ldjceenieke: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub bedemkjmcdg: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub bhckcbceolb: bool, + #[prost(message, repeated, tag = "5")] + pub bnidhmdpfgb: ::prost::alloc::vec::Vec, + #[prost(string, tag = "6")] + pub bhiacabaacm: ::prost::alloc::string::String, + #[prost(bool, tag = "7")] + pub pojlkefjmjd: bool, + #[prost(uint32, tag = "8")] + pub feanggnllfg: u32, + #[prost(uint32, tag = "9")] + pub ghddnilphbi: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eejpleaaogg { + #[prost(uint32, repeated, tag = "854")] + pub mhboekdagbl: ::prost::alloc::vec::Vec, + #[prost(string, tag = "4")] + pub hbodjgedbhf: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "7")] + pub dimhofgkoeg: ::prost::alloc::vec::Vec, + #[prost(string, tag = "11")] + pub aaeenimolgf: ::prost::alloc::string::String, + #[xor(4185)] + #[prost(uint32, tag = "15")] + pub aogdhbcdfpb: u32, + #[xor(5350)] + #[prost(uint32, tag = "1972")] + pub bcjbabgbkob: u32, + #[xor(6359)] + #[prost(uint32, tag = "2")] + pub leoccibbclk: u32, + #[prost(bool, tag = "787")] + pub efeppkoemle: bool, + #[xor(6255)] + #[prost(uint32, tag = "1012")] + pub fpcciahlpji: u32, + #[xor(15299)] + #[prost(uint32, tag = "681")] + pub cmnagggncdp: u32, + #[xor(13319)] + #[prost(uint32, tag = "1144")] + pub kdlhnolceia: u32, + #[prost(uint32, repeated, tag = "9")] + pub flcapeadnfi: ::prost::alloc::vec::Vec, + #[xor(7422)] + #[prost(int64, tag = "13")] + pub ldgpffiabcf: i64, + #[xor(13731)] + #[prost(uint32, tag = "5")] + pub pfhkpjilong: u32, + #[xor(16003)] + #[prost(uint32, tag = "1305")] + pub gplnlbibopp: u32, + #[prost(uint32, repeated, tag = "6")] + pub plifaacfilo: ::prost::alloc::vec::Vec, + #[xor(14415)] + #[prost(uint32, tag = "944")] + pub gbhobkahacn: u32, + #[xor(1531)] + #[prost(uint32, tag = "12")] + pub omidikpfjan: u32, + #[xor(204)] + #[prost(uint32, tag = "736")] + pub inaabcagebp: u32, + #[prost(uint32, repeated, tag = "209")] + pub bmeeimcaeeo: ::prost::alloc::vec::Vec, + #[xor(15131)] + #[prost(uint32, tag = "8")] + pub gacha_type: u32, + #[xor(15267)] + #[prost(uint32, tag = "1554")] + pub hocgieafneg: u32, + #[xor(15360)] + #[prost(uint32, tag = "93")] + pub nfikhdmfion: u32, + #[prost(string, tag = "372")] + pub jalfnlpccdc: ::prost::alloc::string::String, + #[prost(string, tag = "1587")] + pub ggdhmdkhgmb: ::prost::alloc::string::String, + #[xor(11174)] + #[prost(uint32, tag = "2037")] + pub hcjohfkijga: u32, + #[prost(string, tag = "1104")] + pub bbkmifngdia: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "10")] + pub pdpaomaophk: ::prost::alloc::vec::Vec, + #[xor(10609)] + #[prost(uint32, tag = "14")] + pub cplapjibjla: u32, + #[xor(9326)] + #[prost(uint32, tag = "53")] + pub cahkehpjock: u32, + #[xor(15613)] + #[prost(uint32, tag = "3")] + pub clomjfbhmko: u32, + #[xor(7866)] + #[prost(uint32, tag = "466")] + pub kohcnddlchd: u32, + #[xor(1689)] + #[prost(int64, tag = "1")] + pub mcpmobeikhc: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(834)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mikkjanhodk { + #[xor(8267)] + #[prost(uint64, tag = "7")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "3")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub info: ::core::option::Option, + #[xor(7516)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jkckfdbobmg {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fppinnnglpc { + #[prost(message, optional, tag = "1")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub pplhpehehfj: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub oladlpddfgg: ::core::option::Option, + #[prost(bool, tag = "4")] + pub meodkfmgiio: bool, + #[prost(bytes = "vec", tag = "5")] + pub olpmdmbgpfk: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "6")] + pub kbpkmnfnfaf: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", repeated, tag = "7")] + pub feojgbalpii: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + #[prost(message, optional, tag = "8")] + pub ikoagonokcl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4221)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agdpdlggblp { + #[prost(uint32, repeated, tag = "3")] + pub ieobogdlfim: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gmiadiaooki { + #[xor(11633)] + #[prost(uint32, tag = "1")] + pub level: u32, + #[xor(8611)] + #[prost(uint32, tag = "11")] + pub oekdlbffoia: u32, + #[prost(bool, tag = "5")] + pub oljpmeklkjh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1617)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetCafeDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khmglkfcihn { + #[prost(uint32, repeated, tag = "1")] + pub bgepbofgadk: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Dklgniaakji", tag = "2")] + pub jhooeobinia: i32, + #[prost(int32, tag = "3")] + pub pkfnailgikm: i32, + #[prost(int32, tag = "4")] + pub ehgfmbpkeki: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fphffagpnen { + #[prost(message, optional, tag = "1")] + pub gnepnfbhfop: ::core::option::Option, + #[prost(string, tag = "2")] + pub bglfcomeefm: ::prost::alloc::string::String, + #[prost(enumeration = "Pcekojidped", tag = "3")] + pub bbahgnpffni: i32, + #[prost(bool, tag = "4")] + pub aigbmbgkfkf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(372)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ahelgiflhgh { + #[xor(8644)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8790)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lndblejgecl { + #[xor(10624)] + #[prost(uint64, tag = "14")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(6979)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4153)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetAvatarDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egkmeelbhma { + #[prost(message, optional, tag = "1")] + pub fiieiehipik: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkdhiogchle { + #[prost(message, repeated, tag = "1")] + pub pheaeeecdmg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2793)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mbdjjfogemh {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Elliimdalgj { + #[xor(1521)] + #[prost(uint32, tag = "7")] + pub template_id: u32, + #[prost(bool, tag = "1")] + pub ilikllnocoa: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Coknoddkelf { + #[xor(16335)] + #[prost(int32, tag = "1")] + pub accoldclkid: i32, + #[xor(15426)] + #[prost(int32, tag = "15")] + pub land_id: i32, + #[prost(bool, tag = "5")] + pub addglkggojc: bool, + #[prost(map = "uint32, uint32", tag = "6")] + pub bglcgdanikg: ::std::collections::HashMap, + #[prost(bool, tag = "7")] + pub odnfiiohjoe: bool, + #[prost(bool, tag = "8")] + pub mjhfikmgped: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hagklocgnao { + #[xor(233)] + #[prost(uint32, tag = "3")] + pub dpeedkicjcf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4324)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bajaaigmkmb { + #[prost(enumeration = "Ablocgbdipn", tag = "1")] + pub gjmpnjbgpln: i32, + #[prost(message, optional, tag = "9")] + pub ffgcplhnpgi: ::core::option::Option, + #[xor(11592)] + #[prost(int32, tag = "3")] + pub dngdefkkckn: i32, + #[xor(4857)] + #[prost(uint32, tag = "12")] + pub oibbfijclnf: u32, + #[xor(15624)] + #[prost(uint32, tag = "2")] + pub bddlconiggl: u32, + #[prost(bool, tag = "14")] + pub odbeomnlnhg: bool, + #[prost(message, optional, tag = "6")] + pub lejjmnoopnm: ::core::option::Option, + #[xor(11293)] + #[prost(uint32, tag = "5")] + pub onaagkpmopj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8138)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetBabelTowerDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bojkffkhlho {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kckegloelda { + #[prost(uint32, tag = "1")] + pub iakbomjphnh: u32, + #[prost(uint32, tag = "2")] + pub femppbingka: u32, + #[prost(uint32, tag = "3")] + pub rank: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aghnkicojon { + #[prost(bool, tag = "1")] + pub hphiohioefo: bool, + #[prost(int32, tag = "2")] + pub dbhnkdkfgck: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ddkflnhndck {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bdgmmcbcffj { + #[prost(uint32, tag = "1")] + pub mgjdcahcpfa: u32, + #[prost(bool, tag = "2")] + pub pellblmpfld: bool, + #[prost(bool, tag = "3")] + pub nacokmgjccm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6759)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Djijfijmlfg { + #[xor(9766)] + #[prost(uint32, tag = "6")] + pub jaahdmcilof: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Apfpgkfdcoh { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub owner_type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(846)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jaghfkeodpm { + #[xor(853)] + #[prost(int32, tag = "7")] + pub retcode: i32, + #[xor(15395)] + #[prost(uint32, tag = "9")] + pub clomjfbhmko: u32, + #[xor(6379)] + #[prost(uint32, tag = "5")] + pub chfcbpfclim: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2773)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nomhbnfopme { + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[xor(5710)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(8231)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjeeffjbpjp { + #[xor(9713)] + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[xor(5795)] + #[prost(int32, tag = "9")] + pub icoehgohboi: i32, + #[xor(6457)] + #[prost(int32, tag = "2")] + pub ofldkbiifpf: i32, + #[prost(string, tag = "1")] + pub boodaebpjip: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hllkeemgbla { + #[prost(enumeration = "Habecehfojh", tag = "1")] + pub hbjggpbfnog: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iikligimfid { + #[prost(bool, tag = "3")] + pub haaajbnjkoc: bool, + #[prost(int32, repeated, tag = "4")] + pub gicohflnpjh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub oohcihjendg: u32, + #[prost(uint32, tag = "6")] + pub kahfegnaikp: u32, + #[prost(bool, tag = "7")] + pub gfhegijnplf: bool, + #[prost(bool, tag = "8")] + pub ckhgnbloopb: bool, + #[prost(message, optional, tag = "9")] + pub ajleagodjfc: ::core::option::Option, + #[prost(enumeration = "Ejboopmcpbe", tag = "10")] + pub lhjlgchmndb: i32, + #[prost(map = "int32, string", tag = "11")] + pub participators: ::std::collections::HashMap, + #[prost(bool, tag = "12")] + pub apjicmenkpd: bool, + #[prost(bool, tag = "13")] + pub fjbbogahjmc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oombnaemclb { + #[prost(enumeration = "ModTimeType", tag = "1")] + pub ofcbapfcngk: i32, + #[prost(int32, tag = "2")] + pub bafafbhebei: i32, + #[prost(enumeration = "TimePeriodType", tag = "3")] + pub time_period: i32, + #[prost(int32, tag = "4")] + pub hdhlcgcaekh: i32, + #[prost(int32, tag = "5")] + pub dcokecdphhp: i32, + #[prost(bool, tag = "6")] + pub cokiofobafi: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8358)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hmllmgcpbje { + #[xor(8539)] + #[prost(uint32, tag = "7")] + pub hphlhjbhjhd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onionigpakk { + #[prost(int32, repeated, tag = "6")] + pub mimofeglffn: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "7")] + pub ipofmfhpaog: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "8")] + pub hbdbokmdjda: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "9")] + pub abmoknaboln: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "10")] + pub dipgmpjajmh: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "12")] + pub llfebmbdipi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lohdphgohfm { + #[prost(message, optional, tag = "1")] + pub count: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1890)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hobbkmmpjdg { + #[xor(7997)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1748)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pejgkmbielk { + #[xor(7123)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pabgoncddeb { + #[prost(message, repeated, tag = "1")] + pub nglejnkfoml: ::prost::alloc::vec::Vec, + #[prost(enumeration = "HollowEntityType", tag = "2")] + pub fkkbflokodb: i32, + #[prost(message, optional, tag = "3")] + pub bddlconiggl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1288)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njeolmknbpj { + #[xor(4047)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, + #[xor(3666)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Idgajhadbme {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hlbdjngimei { + #[prost(uint32, tag = "1")] + pub lidgkemmpho: u32, + #[prost(uint32, tag = "2")] + pub fiieiehipik: u32, + #[prost(bool, tag = "3")] + pub aiggcamffme: bool, + #[prost(bool, tag = "4")] + pub aafigcjfdjj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcmciabkhff { + #[prost(uint64, tag = "1")] + pub gglnpjfcibj: u64, + #[prost(enumeration = "Jpejjgdbdmi", tag = "2")] + pub iobhhijphci: i32, + #[prost(uint32, tag = "3")] + pub aehcdloifkp: u32, + #[prost(enumeration = "Dljpnlkgnli", tag = "4")] + pub ggoeinmcnip: i32, + #[prost(message, optional, tag = "5")] + pub koamjailkge: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub kpgkdnipoka: u32, + #[prost(message, repeated, tag = "7")] + pub noebkmdmfga: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub fgnfgfcndig: bool, + #[prost(uint32, tag = "9")] + pub hieogfieicj: u32, + #[prost(uint32, repeated, tag = "10")] + pub ojjplcibdeb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Igodgbpopon { + #[xor(401)] + #[prost(int64, tag = "1")] + pub gceknfciigh: i64, + #[prost(message, optional, tag = "15")] + pub gnkebpblhga: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ididbcdhpnj { + #[xor(13206)] + #[prost(int32, tag = "15")] + pub ohdgppamjcp: i32, + #[prost(message, optional, tag = "5")] + pub inmepgighgi: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3047)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mekdjmmooio { + #[prost(uint32, repeated, tag = "6")] + pub aklcpgmclmi: ::prost::alloc::vec::Vec, + #[xor(8600)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dghdckomcfi { + #[prost(string, tag = "1")] + pub dcpnffhjklk: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub efpckpnefdc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7155)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Almbjokofok { + #[xor(2332)] + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(message, repeated, tag = "5")] + pub okmancnbedc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ekcaejhdkhj { + #[xor(6320)] + #[prost(uint32, tag = "2")] + pub mdedchnjedk: u32, + #[xor(9394)] + #[prost(int32, tag = "3")] + pub ahdbalhodda: i32, + #[prost(float, tag = "14")] + pub feajicbmahc: f32, + #[xor(2345)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7355)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ijfghpnmfli { + #[xor(12050)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Efnddjlikip { + #[prost(float, tag = "1")] + pub hddheigebnp: f32, + #[prost(bool, tag = "3")] + pub nmmmgjielfh: bool, + #[prost(bool, tag = "6")] + pub bjnjfbnndma: bool, + #[prost(float, tag = "12")] + pub bppmobaaiom: f32, + #[prost(float, tag = "13")] + pub oilgdabifdo: f32, + #[prost(float, tag = "14")] + pub pkohiclgdlb: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icoddgdimjh { + #[prost(string, repeated, tag = "1")] + pub ngmlghpniag: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, tag = "2")] + pub gkflcgnokbk: bool, + #[prost(enumeration = "Gdibboodhok", tag = "3")] + pub gdmeijffgdk: i32, + #[prost(message, optional, tag = "4")] + pub efpckpnefdc: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub uid: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hlpeoghmpia { + #[prost(bool, tag = "1")] + pub pajlimanbjn: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2299)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iffciahaohn { + #[xor(11602)] + #[prost(uint32, tag = "4")] + pub aajdafbbkgd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hpkodmpagkn { + #[xor(7728)] + #[prost(uint32, tag = "6")] + pub quest_id: u32, + #[xor(11068)] + #[prost(uint32, tag = "9")] + pub cbcmgdimjeb: u32, + #[xor(6365)] + #[prost(uint32, tag = "7")] + pub offemdgpmeo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bngjaeknnci { + #[prost(uint32, tag = "1")] + pub ijmhampkdif: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oneajaiinbg { + #[prost(message, optional, tag = "1")] + pub r#type: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Efihfndmecm {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7674)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onbdkccpmeh { + #[prost(bool, tag = "4")] + pub claghdagoid: bool, + #[prost(uint32, repeated, tag = "12")] + pub cgakhjmaeec: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(95)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hbpcbkfljng { + #[xor(8418)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4795)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gdepcibhclf { + #[prost(message, optional, tag = "10")] + pub dcpnffhjklk: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Icnimcdjomn { + #[prost(bool, tag = "1")] + pub jiohcoaihga: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lojcmjcfkdi { + #[prost(message, optional, tag = "1")] + pub fiieiehipik: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9649)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Njkddoommjl { + #[prost(enumeration = "Hddffdjhjkh", tag = "3")] + pub nlhjdbleoma: i32, + #[xor(12920)] + #[prost(uint32, tag = "2")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbldlcmadbj { + #[prost(int32, tag = "1")] + pub npc_id: i32, + #[prost(string, tag = "2")] + pub hngafifkjgb: ::prost::alloc::string::String, + #[prost(string, repeated, tag = "3")] + pub lahkflhenoh: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Deceilbiocm { + #[prost(message, optional, tag = "1")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(bool, tag = "2")] + pub ejoljmgmmgl: bool, + #[prost(message, optional, tag = "3")] + pub section_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5695)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lelonkdilhl { + #[xor(7578)] + #[prost(int32, tag = "13")] + pub likfcbhgljg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnenanfccef { + #[prost(enumeration = "Ljodbhiccka", tag = "1")] + pub cdilndlgnbn: i32, + #[prost(enumeration = "Clhfpgmncdb", tag = "2")] + pub aoopfokohfm: i32, + #[prost(message, optional, tag = "3")] + pub ipldaidhmcl: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub omloefjdfih: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub lcjdkmhnjbp: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub cbacddghhjj: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub ibfopkgbeaa: ::core::option::Option, + #[prost(message, repeated, tag = "8")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub mookphpmhdg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub nabpeoodcfo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub cpijdobkhbl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub igpbdhdnmkm: ::prost::alloc::vec::Vec, + #[prost(string, tag = "13")] + pub aaohhadkbeg: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dehocidjhbd { + #[prost(message, optional, tag = "2")] + pub akmnibpjono: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8813)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlkcihknani { + #[prost(uint32, repeated, tag = "5")] + pub djniholkbbo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Phiiimjecdp { + #[prost(message, optional, tag = "1")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub fpclgmdcdhm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahomofkabbj { + #[prost(string, tag = "1")] + pub appdnhldamm: ::prost::alloc::string::String, + #[prost(enumeration = "Pelhdnfcpem", tag = "2")] + pub nhahoapiomm: i32, + #[prost(message, optional, tag = "3")] + pub jbcbamblgjk: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub dedkcldjeke: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub cgeebgpljnh: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub kmfjeamdebl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub pndaflglbma: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1162)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kkinimbljcp { + #[xor(6585)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(922)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cidcoofndme { + #[xor(5787)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1263)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lijfeafpebl { + #[xor(3111)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(message, repeated, tag = "3")] + pub kldjofblapd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5585)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Balemgpfoje { + #[xor(7193)] + #[prost(uint64, tag = "14")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "6")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[xor(15150)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Daagkkcdnco { + #[prost(uint32, tag = "1")] + pub jhooejigljp: u32, + #[prost(message, repeated, tag = "2")] + pub fdphmfdbbod: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4513)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aigploggbjj { + #[prost(message, repeated, tag = "5")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(6977)] + #[prost(uint64, tag = "13")] + pub fdfjcoccaoa: u64, + #[xor(7089)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "4")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nihimigledg { + #[prost(message, optional, tag = "1")] + pub mgkoacfjjea: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6161)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmladngnepj { + #[prost(message, optional, tag = "11")] + pub scene_info: ::core::option::Option, + #[xor(16054)] + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, optional, tag = "7")] + pub dungeon_info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6383)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lckpjeiddai {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dpmhlbjepap { + #[prost(uint32, tag = "1")] + pub fhobkdpjdfg: u32, + #[prost(uint32, tag = "2")] + pub template_id: u32, + #[prost(uint32, tag = "3")] + pub phcbebaelmf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5869)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jppbpldkaho { + #[xor(15881)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gohlnmmmonn { + #[prost(string, tag = "1")] + pub kcclegdlljc: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub fiieiehipik: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4889)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jklodmiohnf { + #[xor(8392)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[xor(3274)] + #[prost(uint32, tag = "2")] + pub iahpcojelin: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1650)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Afpodmfbpll { + #[xor(8306)] + #[prost(uint32, tag = "15")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Epdnimagjbi { + #[xor(9502)] + #[prost(int32, tag = "15")] + pub gmkefankfid: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ckimpkggnid { + #[prost(message, optional, tag = "1")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(string, tag = "2")] + pub nmpddgmjhfi: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub delbgoehhop: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnakkjmkedp { + #[prost(message, optional, tag = "11")] + pub position: ::core::option::Option, + #[xor(8031)] + #[prost(uint32, tag = "1")] + pub template_id: u32, + #[xor(5438)] + #[prost(int32, tag = "6")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Falpheeekoj { + #[prost(message, optional, tag = "1")] + pub bgbjnicnjja: ::core::option::Option, + #[prost(int32, tag = "2")] + pub jeggjdmdfpk: i32, + #[prost(bool, tag = "3")] + pub kehamclhden: bool, + #[prost(bool, tag = "4")] + pub fbmmghampab: bool, + #[prost(bool, tag = "5")] + pub njppcnkfkmb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obkcjndikcp { + #[prost(map = "uint32, message", tag = "1")] + pub njhokkekfkl: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Enfgnkdabli { + #[prost(int32, tag = "1")] + pub mhmnihbhkjl: i32, + #[prost(int64, tag = "2")] + pub bgnhooohbhh: i64, + #[prost(int32, tag = "3")] + pub icoehgohboi: i32, + #[prost(int32, tag = "4")] + pub jlffokgighc: i32, + #[prost(int32, tag = "5")] + pub iomajcbalbg: i32, + #[prost(int64, tag = "6")] + pub olekgmcebdn: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mcncgpompai { + #[prost(message, optional, tag = "9")] + pub bcjikglboka: ::core::option::Option, + #[xor(10034)] + #[prost(int32, tag = "2")] + pub gaagekhgghf: i32, + #[prost(message, optional, tag = "8")] + pub djabmmbdgah: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijihfcaondn { + #[prost(message, optional, tag = "5")] + pub lbfnphfiaef: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub dkdjeilkdcm: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub gjmaejchkhk: ::core::option::Option, + #[xor(15064)] + #[prost(uint32, tag = "10")] + pub bbmopcimkfo: u32, + #[prost(string, tag = "7")] + pub jholagfihbm: ::prost::alloc::string::String, + #[prost(message, optional, tag = "8")] + pub gnkebpblhga: ::core::option::Option, + #[xor(10808)] + #[prost(uint32, tag = "15")] + pub bbcafehgjfg: u32, + #[prost(bool, tag = "11")] + pub blmfihangel: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2432)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EnterSceneScNotify { + #[prost(message, optional, tag = "9")] + pub scene_info: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub dungeon_info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9634)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lelapliibln { + #[xor(6075)] + #[prost(uint32, tag = "5")] + pub pkijmjlilge: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alppnbcmejd { + #[prost(message, optional, tag = "1")] + pub nmacbfegkdd: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "2")] + pub ekbfgknccph: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8121)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmacdmbepge { + #[prost(message, optional, tag = "10")] + pub pfllpjjjikm: ::core::option::Option, + #[xor(2712)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9242)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enjkiknoank { + #[prost(message, optional, tag = "2")] + pub ijggabbhjjl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3853)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Leobgemlooi { + #[xor(5347)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibgaccicgop { + #[xor(10594)] + #[prost(uint32, tag = "9")] + pub ghifdkelobe: u32, + #[xor(13472)] + #[prost(uint32, tag = "5")] + pub mlepcomaiai: u32, + #[prost(message, optional, tag = "3")] + pub aekabohmdoh: ::core::option::Option, + #[prost(map = "uint32, uint32", tag = "13")] + pub ohkfncepmam: ::std::collections::HashMap, + #[prost(enumeration = "Ikaklpikbmp", tag = "4")] + pub kjongknfkee: i32, + #[xor(11882)] + #[prost(uint32, tag = "6")] + pub dkahpcpijdk: u32, + #[prost(message, optional, tag = "11")] + pub lcpnfbmjeda: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub kknjnklmegf: ::core::option::Option, + #[xor(7205)] + #[prost(int64, tag = "2")] + pub hccjckmjabc: i64, + #[xor(3941)] + #[prost(uint32, tag = "8")] + pub template_id: u32, + #[xor(3848)] + #[prost(int64, tag = "14")] + pub kggpcmomkbp: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9116)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Opaoldopfpl { + #[xor(860)] + #[prost(uint32, tag = "3")] + pub tag: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3960)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhdhkdecnjc { + #[xor(11876)] + #[prost(uint64, tag = "9")] + pub gglnpjfcibj: u64, + #[xor(1467)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, optional, tag = "6")] + pub pfllpjjjikm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Feldefjfdad { + #[prost(uint32, repeated, tag = "3")] + pub clnmlgchpci: ::prost::alloc::vec::Vec, + #[xor(10271)] + #[prost(uint32, tag = "13")] + pub aaafnplnbal: u32, + #[prost(uint32, repeated, tag = "9")] + pub macbidgppec: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1")] + pub aclbcckfpmi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Haehlaaajio { + #[prost(string, tag = "1")] + pub lmhcfdjmjld: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub npc_id: i32, + #[prost(int32, tag = "3")] + pub abnngkihkpm: i32, + #[prost(bool, tag = "4")] + pub fnhoapjahbe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nldfdkelnea { + #[prost(message, optional, tag = "1")] + pub clgdocgoggb: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub obhhacdlakj: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub dmbipmdaajl: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub jhbkggmecan: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub aiiejpledla: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub gmjkmhhgije: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub kfhmejhenoi: bool, + #[prost(string, tag = "8")] + pub djaicdfjhfj: ::prost::alloc::string::String, + #[prost(enumeration = "Pcekojidped", tag = "9")] + pub ffbagejekpl: i32, + #[prost(bool, tag = "10")] + pub cjcgaepppib: bool, + #[prost(bool, tag = "11")] + pub klhijdlgijh: bool, + #[prost(bool, tag = "12")] + pub ipkpbdaandb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ihhhpjjhhji { + #[xor(1364)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4794)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ammkdbdnhdh { + #[prost(message, optional, tag = "9")] + pub abyss_info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9780)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nedfhpcplmk { + #[prost(message, repeated, tag = "5")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[xor(9659)] + #[prost(uint64, tag = "13")] + pub fdfjcoccaoa: u64, + #[xor(9983)] + #[prost(uint64, tag = "3")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ofbigocnpee { + #[prost(bool, tag = "13")] + pub epekkmbndao: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5238)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hgolfckgeij { + #[xor(16022)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocmhleadkoe { + #[prost(uint32, repeated, tag = "13")] + pub idgflelcnoj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4591)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Acjojojjofo { + #[xor(13466)] + #[prost(uint32, tag = "9")] + pub jhooejigljp: u32, + #[xor(2980)] + #[prost(uint32, tag = "12")] + pub kfpbjdikmaa: u32, + #[xor(4846)] + #[prost(uint32, tag = "11")] + pub quest_id: u32, + #[xor(101)] + #[prost(uint32, tag = "3")] + pub pclamamdkik: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3020)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cacmbggoigg { + #[xor(8604)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppmbjffggcn { + #[prost(message, repeated, tag = "9")] + pub mfcpmjmicai: ::prost::alloc::vec::Vec, + #[xor(5218)] + #[prost(uint32, tag = "1")] + pub hkopdmjdgjj: u32, + #[prost(bool, tag = "10")] + pub aimmdoolkoe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3484)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jcmgefbpcfj { + #[xor(2023)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9077)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetBuddyDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhocgfjmoog { + #[prost(map = "uint32, int32", tag = "1")] + pub cpggiboahjd: ::std::collections::HashMap, + #[prost(uint32, tag = "2")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(469)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agcpnkifegj { + #[prost(message, optional, tag = "4")] + pub gnmnjmfceji: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lhblppofdbj {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpmjojiaaak { + #[prost(message, repeated, tag = "15")] + pub fepmmlkjhje: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5690)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fmjdmadeeej { + #[xor(3040)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfeooeonjkl { + #[prost(int32, repeated, tag = "2")] + pub llomejgcnef: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "1")] + pub bboahjlcgoa: ::std::collections::HashMap, + #[prost(bool, tag = "14")] + pub cklfhceogok: bool, + #[prost(uint32, repeated, tag = "13")] + pub hpkbmmmpeki: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub pelocahkhnc: ::prost::alloc::vec::Vec, + #[xor(9966)] + #[prost(uint32, tag = "8")] + pub obicacdgnjb: u32, + #[prost(bool, tag = "9")] + pub has_mystical_spice: bool, + #[xor(8788)] + #[prost(uint32, tag = "11")] + pub gibbgfmiodo: u32, + #[prost(uint32, repeated, tag = "15")] + pub ljeppffokno: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6489)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oibjmjnhlkc { + #[prost(map = "uint32, uint32", tag = "13")] + pub jodfhdjeoho: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3250)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ghjciacfgai { + #[xor(9195)] + #[prost(uint32, tag = "9")] + pub emadmioldpd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nohfhmbnopb { + #[prost(message, repeated, tag = "6")] + pub ebaefoiddbo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub admfgehfjeg: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub klinjndogfk: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub jcfhoinbonl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub pgfbijlcdhh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlhnkaahohc { + #[prost(uint32, tag = "1")] + pub cibkhinibkk: u32, + #[prost(uint32, tag = "2")] + pub cjjcnbhgpnj: u32, + #[prost(bytes = "vec", tag = "3")] + pub ccbognjaakk: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub ijpedmdajfo: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6677)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ildkmkcfbpk { + #[xor(11300)] + #[prost(uint32, tag = "1")] + pub ieacoaekljj: u32, + #[xor(10411)] + #[prost(uint32, tag = "13")] + pub fiieiehipik: u32, + #[xor(12128)] + #[prost(int32, tag = "4")] + pub params: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(401)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerOperationCsReq { + #[prost(bool, tag = "2")] + pub cjbdlgcdgcb: bool, + #[xor(5029)] + #[prost(int32, tag = "14")] + pub fmkfjcmjjik: i32, + #[prost(bytes = "vec", tag = "15")] + pub info: ::prost::alloc::vec::Vec, + #[xor(8845)] + #[prost(uint32, tag = "10")] + pub amfmfagnhkg: u32, + #[xor(1441)] + #[prost(uint32, tag = "9")] + pub paaaeeobgoa: u32, + #[xor(15159)] + #[prost(uint32, tag = "3")] + pub kfllcooaajp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6777)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cinehplcanl { + #[xor(5858)] + #[prost(uint32, tag = "10")] + pub iahpcojelin: u32, + #[xor(7567)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eaamfbcnfgf { + #[prost(uint32, tag = "1")] + pub mlcpadgnnaa: u32, + #[prost(message, optional, tag = "2")] + pub ofcbapfcngk: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub fdcmmcglcgl: u32, + #[prost(bool, tag = "4")] + pub kljodngikgp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9317)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pflghfpkkmn { + #[xor(16325)] + #[prost(uint64, tag = "8")] + pub fkcdkdiacni: u64, + #[xor(9557)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "5")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8566)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cpbhkfgimma { + #[xor(7035)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kndfnifkdac { + #[prost(int32, tag = "1")] + pub hbjamoabjkf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(610)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerSyncScNotify { + #[prost(message, optional, tag = "1")] + pub iiggaglkijl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub gllgbdhaphh: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub dmfpbeopfko: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub cgcgfgfnhne: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub anblgeifhjh: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub fgkakppgkgf: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub ijpdgnaikng: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub lfpepddfbdi: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub llkcdhinljn: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub lpicabplkhk: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub fegpknbdaki: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub chihlckphjh: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub basic_info: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub dodkanplldp: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub fidjhlenakk: ::core::option::Option, + #[prost(message, optional, tag = "139")] + pub kcadjdhhimn: ::core::option::Option, + #[prost(message, optional, tag = "149")] + pub ckbmohajckm: ::core::option::Option, + #[prost(message, optional, tag = "187")] + pub hbhkdmcmppd: ::core::option::Option, + #[prost(message, optional, tag = "216")] + pub gmfnbibboeo: ::core::option::Option, + #[prost(message, optional, tag = "251")] + pub gloefoaecdn: ::core::option::Option, + #[prost(message, optional, tag = "374")] + pub jkaleilepmg: ::core::option::Option, + #[prost(message, optional, tag = "389")] + pub ennpnacpmmn: ::core::option::Option, + #[prost(message, optional, tag = "425")] + pub ffkglfaefpm: ::core::option::Option, + #[prost(message, optional, tag = "426")] + pub bddlnngmjgc: ::core::option::Option, + #[prost(message, optional, tag = "813")] + pub bmjfajoknca: ::core::option::Option, + #[prost(message, optional, tag = "972")] + pub fphclpnkplc: ::core::option::Option, + #[prost(bool, tag = "1100")] + pub hbabigekhng: bool, + #[prost(message, optional, tag = "1103")] + pub imjjkcielal: ::core::option::Option, + #[prost(message, optional, tag = "1104")] + pub dlgkcflhfhc: ::core::option::Option, + #[prost(message, optional, tag = "1152")] + pub emkiglneaeh: ::core::option::Option, + #[prost(message, optional, tag = "1291")] + pub ekialalkfpg: ::core::option::Option, + #[prost(message, optional, tag = "1411")] + pub ojiapfgiojl: ::core::option::Option, + #[prost(message, optional, tag = "1451")] + pub nmonimjojdo: ::core::option::Option, + #[prost(bool, tag = "1457")] + pub lipmcnlckeb: bool, + #[prost(message, optional, tag = "1505")] + pub bogncmnjhme: ::core::option::Option, + #[prost(message, optional, tag = "1691")] + pub aalfnnmbodk: ::core::option::Option, + #[prost(message, optional, tag = "1804")] + pub ahinoehbonn: ::core::option::Option, + #[prost(message, optional, tag = "1815")] + pub mdiniecmaam: ::core::option::Option, + #[prost(message, optional, tag = "1944")] + pub laecbmmapgh: ::core::option::Option, + #[prost(message, optional, tag = "1957")] + pub ooifcbdacif: ::core::option::Option, + #[prost(message, optional, tag = "1988")] + pub mpkpehdcpfj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncdkefkeeej { + #[prost(bytes = "vec", tag = "1")] + pub olpmdmbgpfk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2771)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekaeckbagkf { + #[xor(8360)] + #[prost(uint32, tag = "10")] + pub quest_id: u32, + #[prost(message, repeated, tag = "6")] + pub occfppknhai: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ljganlojdpg { + #[prost(int32, tag = "1")] + pub params: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4968)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ohcnbclgfdi { + #[xor(11731)] + #[prost(uint32, tag = "14")] + pub template_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Heionioaojl { + #[prost(message, optional, tag = "12")] + pub peihcdpicch: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3892)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ibfmcnjncei { + /// VMP DETECTED + /// + #[xor(3646)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(508)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dogdmkkkofd { + #[xor(637)] + #[prost(uint64, tag = "8")] + pub fkcdkdiacni: u64, + #[xor(12405)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Laeekcobijl { + #[prost(message, optional, tag = "1")] + pub bpcdfdnkkoc: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub dmbipmdaajl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub section_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3488)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Binocpknmel { + #[prost(bool, tag = "15")] + pub bhnhpccikjh: bool, + #[xor(5237)] + #[prost(uint32, tag = "13")] + pub group: u32, + #[prost(message, optional, tag = "2")] + pub ennekeljkkc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8274)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fnlcmiinppf { + #[xor(369)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6761)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmmogiacclm { + #[prost(int32, repeated, tag = "8")] + pub ppnecmoodfn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oibpbemjaha { + #[prost(message, optional, tag = "1")] + pub ojlmnijgidm: ::core::option::Option, + #[prost(string, tag = "2")] + pub cibocpligof: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmpcnjnffng { + #[prost(uint32, repeated, tag = "9")] + pub pkfpggnelpe: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8013)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Demaelonmdk { + #[xor(7984)] + #[prost(uint32, tag = "1")] + pub kjfdbaacbgn: u32, + #[xor(6237)] + #[prost(uint32, tag = "8")] + pub ghifdkelobe: u32, + #[xor(8339)] + #[prost(uint32, tag = "5")] + pub lfdpcgidmoe: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8752)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fhnjdclkloo { + #[prost(bool, tag = "7")] + pub fegpnlknopp: bool, + #[xor(1795)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6961)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hdakhcdigog {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dcomijnhkii { + #[xor(9884)] + #[prost(int64, tag = "6")] + pub mcpmobeikhc: i64, + #[xor(6147)] + #[prost(int64, tag = "3")] + pub ldgpffiabcf: i64, + #[xor(14780)] + #[prost(uint32, tag = "2")] + pub pigjgigjngb: u32, + #[xor(11306)] + #[prost(int64, tag = "1")] + pub fdpaimmgagp: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aeogfadbimp { + #[prost(int32, tag = "3")] + pub hkhklmdjcdb: i32, + #[prost(string, tag = "4")] + pub icplgpjmfnf: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub jgemhhkfmka: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub kljghabjgkm: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub kppgabaomkg: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub cjdpdojddol: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub pdbfjiplkai: ::prost::alloc::string::String, + #[prost(string, tag = "10")] + pub mbfajfnjbnj: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub ejbpmjoafbn: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub kijcchefmlm: ::prost::alloc::string::String, + #[prost(int32, tag = "13")] + pub ddbaaolmdei: i32, + #[prost(int32, tag = "14")] + pub holmcnffcai: i32, + #[prost(int32, tag = "15")] + pub kkphdicngak: i32, + #[prost(int32, tag = "16")] + pub efjimncibme: i32, + #[prost(int32, tag = "17")] + pub gagengjmipn: i32, + #[prost(int32, tag = "18")] + pub pfnkighjcmm: i32, + #[prost(int32, tag = "19")] + pub gmndengadgg: i32, + #[prost(int32, tag = "20")] + pub nepkigieocl: i32, + #[prost(int32, tag = "21")] + pub bocpahdbnjp: i32, + #[prost(int32, tag = "22")] + pub nnflkoaillj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5110)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kaidfaehbjg { + #[xor(12723)] + #[prost(uint32, tag = "11")] + pub iahpcojelin: u32, + #[xor(10290)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ljkkbenpnac { + #[prost(message, optional, tag = "5")] + pub kgefhnlflih: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub apacdkacfnd: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub akbcgogfhdf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mimkpjadkoi { + #[prost(message, optional, tag = "1")] + pub dcgooojbefg: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub ndgeeeompjh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4147)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hhdeldinmog { + #[xor(14856)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4573)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikkinokognh { + #[prost(message, repeated, tag = "7")] + pub lcipdallclh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6580)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imcagnldhef { + #[xor(6339)] + #[prost(uint64, tag = "11")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(464)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bclehneefdj { + #[prost(bool, repeated, tag = "8")] + pub ndngcmmnidh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(794)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcdfdafcgoh { + #[xor(11901)] + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(message, repeated, tag = "10")] + pub ebnfomnihcp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcmlbnmfgcd { + #[prost(uint32, repeated, tag = "6")] + pub nheeaadledn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ncoofhddpge { + #[prost(uint32, tag = "1")] + pub mibfimdanol: u32, + #[prost(bool, tag = "2")] + pub mdlekfgpjmb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Imegimlgjmj { + #[xor(13083)] + #[prost(uint32, tag = "15")] + pub fiieiehipik: u32, + #[xor(12986)] + #[prost(uint32, tag = "12")] + pub hfgdjcfhokn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fnajphpplnk { + #[xor(10072)] + #[prost(int32, tag = "9")] + pub efjpgeejika: i32, + #[xor(4640)] + #[prost(int32, tag = "11")] + pub lebgncppklf: i32, + #[xor(4308)] + #[prost(int32, tag = "12")] + pub glgaihaabhn: i32, + #[xor(7830)] + #[prost(uint32, tag = "6")] + pub template_id: u32, + #[prost(bool, tag = "7")] + pub anffepamcjo: bool, + #[xor(2482)] + #[prost(uint32, tag = "4")] + pub dlfeokkojjd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cadeommelbj { + #[prost(message, optional, tag = "1")] + pub gelakkamabm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9114)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HallRefreshScNotify { + #[xor(16121)] + #[prost(uint32, tag = "691")] + pub time_of_day: u32, + #[xor(4199)] + #[prost(uint32, tag = "1826")] + pub cligphpcbhn: u32, + #[prost(map = "int32, int32", tag = "4")] + pub main_city_objects_state: ::std::collections::HashMap, + #[prost(string, repeated, tag = "103")] + pub kegdjjgjabi: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[xor(2517)] + #[prost(uint32, tag = "10")] + pub bgm_id: u32, + #[prost(message, repeated, tag = "1759")] + pub ggknknfhmph: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "800")] + pub dpmjknknmbf: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub bgcigkaaiin: ::prost::alloc::vec::Vec, + #[xor(5063)] + #[prost(uint32, tag = "6")] + pub jblljokcgam: u32, + #[prost(int32, repeated, tag = "1713")] + pub gfgjkaidenh: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "38")] + pub hjmpphmfbki: ::std::collections::HashMap, + #[xor(2172)] + #[prost(uint32, tag = "1")] + pub section_id: u32, + #[prost(enumeration = "Fofhkjpcmdl", tag = "185")] + pub lioinmelhgn: i32, + #[prost(int32, repeated, tag = "1794")] + pub ahebjlfhlma: ::prost::alloc::vec::Vec, + #[xor(15698)] + #[prost(uint32, tag = "1364")] + pub mcfjgijcmfl: u32, + #[prost(uint32, repeated, tag = "1059")] + pub ohfceeemopi: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "2024")] + pub bogkfppjljp: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "12")] + pub refresh_immediately: bool, + #[prost(uint32, repeated, tag = "1745")] + pub fbeolodbbbi: ::prost::alloc::vec::Vec, + #[xor(3152)] + #[prost(uint32, tag = "11")] + pub time_period: u32, + #[prost(bool, tag = "8")] + pub ogecbkdmajd: bool, + #[xor(12387)] + #[prost(uint32, tag = "9")] + pub player_avatar_id: u32, + #[prost(int32, repeated, tag = "1901")] + pub gnbgjkfeckj: ::prost::alloc::vec::Vec, + #[xor(12027)] + #[prost(uint32, tag = "3")] + pub kedlgoakhld: u32, + #[xor(10938)] + #[prost(uint32, tag = "14")] + pub main_city_avatar_id: u32, + #[prost(message, optional, tag = "1935")] + pub jkdgmmjjdlk: ::core::option::Option, + #[xor(2182)] + #[prost(uint32, tag = "690")] + pub day_of_week: u32, + #[prost(bool, tag = "5")] + pub ibgjecbknaf: bool, + #[prost(message, repeated, tag = "2")] + pub scene_unit_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub gjggpoinpod: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "335")] + pub negageboace: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kigilichjgp { + #[prost(message, optional, tag = "1")] + pub mjifcmahgdn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmoboelliek { + #[prost(message, optional, tag = "1")] + pub nakokcbcjdd: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub bbaihciehen: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ipghbjeefec { + #[xor(3491)] + #[prost(uint32, tag = "10")] + pub ofcehhidpgo: u32, + #[xor(1224)] + #[prost(uint32, tag = "2")] + pub lgegnbdmjnl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Obdkfieicdo { + #[prost(int32, tag = "1")] + pub template_id: i32, + #[prost(bool, tag = "2")] + pub blcongaofko: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gnkgnafelei {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hocageajccb { + #[prost(map = "int32, int64", tag = "11")] + pub cljoahoofdh: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9516)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pemgiaefpdl { + #[xor(4670)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nhpjkagfbkh { + #[prost(int32, tag = "1")] + pub ifljdmjcfdc: i32, + #[prost(bool, tag = "3")] + pub bclokhnehbh: bool, + #[prost(bool, tag = "4")] + pub cejkifoijih: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mlkffbnjdmm { + #[xor(1535)] + #[prost(uint32, tag = "9")] + pub ddbnpehcnjo: u32, + #[xor(11087)] + #[prost(uint32, tag = "12")] + pub kfobnfboaoi: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8646)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdbeiaoipop { + #[xor(2158)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6469)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gfceienfhjk {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfkimmkbkhd { + #[prost(map = "int32, int32", tag = "7")] + pub elnhmhemccn: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9001)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetArchiveInfoScRsp { + #[prost(message, optional, tag = "14")] + pub archive_info: ::core::option::Option, + #[xor(279)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejpccencfbd { + #[prost(message, optional, tag = "1")] + pub hfjlnhneoef: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8591)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nbaaoepmmod { + #[xor(11210)] + #[prost(uint32, tag = "7")] + pub mibfimdanol: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3393)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ffiklpcmdfg { + #[prost(bool, tag = "5")] + pub refresh_immediately: bool, + #[xor(5655)] + #[prost(uint32, tag = "14")] + pub section: u32, + #[xor(2401)] + #[prost(uint32, tag = "10")] + pub kedlgoakhld: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8319)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ebefnimcedp { + #[xor(6450)] + #[prost(uint32, tag = "14")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Modjdjnbhnm { + #[prost(message, optional, tag = "10")] + pub ommlaecpghe: ::core::option::Option, + #[xor(9989)] + #[prost(uint32, tag = "5")] + pub fmoiohacbff: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iahjmebfclg {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(763)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Blahdplflbd {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ohdjldgknmp {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4628)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eilbfkaaahk { + #[xor(1901)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(message, optional, tag = "9")] + pub ccjiedgdklb: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnpkccbgbak { + #[prost(string, tag = "3")] + pub fepbgchnofe: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5103)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hpiomcpbonb {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cehhfnenane {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ipkogphbkje {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgjlnojmkmo { + #[prost(message, repeated, tag = "11")] + pub onifgjhajnk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Elknbmgdmai { + #[prost(bool, tag = "1")] + pub olmnnpicdhk: bool, + #[prost(message, optional, tag = "2")] + pub njcgjalgfch: ::core::option::Option, + #[prost(int32, tag = "3")] + pub magebminojc: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmldecflhob { + #[prost(message, optional, tag = "1")] + pub mibfimdanol: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub paaifdkakjk: ::core::option::Option, + #[prost(string, tag = "3")] + pub mgjdcahcpfa: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub position: ::core::option::Option, + #[prost(bool, tag = "5")] + pub mollcdjkool: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9922)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfnlncmiead { + #[xor(4422)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "12")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub info: ::core::option::Option, + #[xor(3751)] + #[prost(uint64, tag = "4")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1691)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hhblalhmfmo { + #[xor(2299)] + #[prost(uint32, tag = "9")] + pub jhgaoacoipj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(854)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ibgocmgklon { + #[xor(6626)] + #[prost(int32, tag = "3")] + pub retcode: i32, + #[xor(15230)] + #[prost(uint32, tag = "9")] + pub ioafcihmehc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ecakjobhpne { + #[prost(message, optional, tag = "6")] + pub nfmojhjjldd: ::core::option::Option, + #[xor(187)] + #[prost(int32, tag = "11")] + pub kiegnoofcgg: i32, + #[xor(8854)] + #[prost(uint32, tag = "14")] + pub adghdekjhda: u32, + #[prost(float, tag = "4")] + pub flbkfpdokpd: f32, + #[xor(7528)] + #[prost(uint32, tag = "10")] + pub lhbejkbkbfh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2520)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ibhddfgolnn { + #[xor(8863)] + #[prost(uint32, tag = "9")] + pub group: u32, + #[prost(message, optional, tag = "5")] + pub emgbedkmabb: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9525)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lljgoplejbn {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(666)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ckaolddmmjf { + #[xor(6546)] + #[prost(uint64, tag = "13")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(2194)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oinlbjkagnm { + #[prost(int32, repeated, tag = "1")] + pub jbldecccjcg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iikeapdecdh { + #[prost(message, optional, tag = "1")] + pub section_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Heanlikodnf { + #[prost(uint32, repeated, tag = "2")] + pub hhophanjhkn: ::prost::alloc::vec::Vec, + #[xor(4495)] + #[prost(uint32, tag = "15")] + pub omnfllmchdh: u32, + #[xor(2479)] + #[prost(uint32, tag = "9")] + pub fohmhccdfkl: u32, + #[prost(float, tag = "13")] + pub dfjkagcjcoi: f32, + #[prost(float, tag = "14")] + pub pnfgigjcaea: f32, + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(float, tag = "3")] + pub klgniendakl: f32, + #[prost(float, tag = "10")] + pub fhkdmmnlpmi: f32, + #[xor(1459)] + #[prost(int32, tag = "7")] + pub idmmhgbjelp: i32, + #[prost(float, tag = "4")] + pub kffdknkcnok: f32, + #[xor(10780)] + #[prost(int32, tag = "11")] + pub akmdpbmgkcb: i32, + #[prost(float, tag = "5")] + pub llpmpjakjib: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pnkfmppdenf {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8046)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aibljlmppdp { + #[xor(2946)] + #[prost(int32, tag = "2")] + pub dnekmdekjik: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pengnafmdpp { + #[prost(string, repeated, tag = "1")] + pub obomldkcjpi: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub lnefagfhogi: ::core::option::Option, + #[prost(string, tag = "3")] + pub addmlbgdblc: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7537)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lofkbmpekmc { + #[prost(uint32, repeated, tag = "2")] + pub fgbnliaojnj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5009)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerLoginScRsp { + /// VMP DETECTED + /// + #[xor(4723)] + #[prost(uint32, tag = "1")] + pub dbpbhhdnjbi: u32, + #[prost(uint32, repeated, tag = "2")] + pub pkfpggnelpe: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub edlbilmadlk: bool, + #[prost(bool, tag = "4")] + pub oplceidfepd: bool, + #[prost(bool, tag = "5")] + pub bglefbkphaf: bool, + #[xor(1046)] + #[prost(int32, tag = "6")] + pub retcode: i32, + #[xor(10809)] + #[prost(uint32, tag = "7")] + pub kanjjaekbbk: u32, + #[prost(string, tag = "8")] + pub obmffkahnph: ::prost::alloc::string::String, + #[xor(5899)] + #[prost(uint32, tag = "9")] + pub jhjjmmdnnca: u32, + #[prost(bool, tag = "10")] + pub lock: bool, + #[prost(bool, tag = "11")] + pub ldnapgnhppc: bool, + #[prost(bytes = "vec", tag = "12")] + pub sc_data: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub lfkgcmpehom: bool, + #[xor(11636)] + #[prost(uint32, tag = "14")] + pub pflmiknkokc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hifkcofddma { + #[prost(message, optional, tag = "1")] + pub cccoecjajgp: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub kifkkmhflpm: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub jbokccbjcnl: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub mamedlnahae: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub mkojedelmco: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub ekcjkmllgma: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkkbpeccjeg { + #[prost(bool, tag = "1")] + pub mfnhjdfbkgh: bool, + #[xor(9041)] + #[prost(uint32, tag = "14")] + pub quest_id: u32, + #[prost(uint32, repeated, tag = "6")] + pub chgpfjcecad: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hbndgjakhfk {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9198)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkdmkdjffbh { + #[prost(message, optional, tag = "4")] + pub mlcfibcmgil: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Flkdoplhina { + #[xor(6051)] + #[prost(int32, tag = "9")] + pub pcnacfnpcek: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8445)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kccmbggdhii { + #[xor(3849)] + #[prost(uint32, tag = "5")] + pub objhklecohn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eknlecmpoba { + #[prost(message, repeated, tag = "3")] + pub bjdiodafadj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nflijhphkpb { + #[prost(string, tag = "1")] + pub appdnhldamm: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub dedkcldjeke: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub cgeebgpljnh: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub kmfjeamdebl: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub pndaflglbma: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oafedbkacol {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8403)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerLoginCsReq { + /// VMP DETECTED + /// + #[prost(string, tag = "1")] + pub jgemhhkfmka: ::prost::alloc::string::String, + #[xor(5063)] + #[prost(uint32, tag = "2")] + pub mgfifdgbdej: u32, + #[xor(9638)] + #[prost(uint32, tag = "3")] + pub dbpbhhdnjbi: u32, + #[xor(3732)] + #[prost(uint32, tag = "4")] + pub plkmnkobgae: u32, + #[xor(15757)] + #[prost(int32, tag = "5")] + pub kcnfmlmnobk: i32, + #[prost(string, tag = "6")] + pub eacjcjkjcdk: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub afmeaipcaga: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub nmmkigijjdh: ::prost::alloc::string::String, + #[prost(message, optional, tag = "9")] + pub miemklodkfd: ::core::option::Option, + #[prost(string, tag = "10")] + pub jficgcnalje: ::prost::alloc::string::String, + #[xor(15990)] + #[prost(uint32, tag = "11")] + pub nbcjfilffpk: u32, + #[prost(string, tag = "12")] + pub mbjfkebfmbm: ::prost::alloc::string::String, + #[prost(string, tag = "13")] + pub elldlbindnj: ::prost::alloc::string::String, + #[prost(string, tag = "14")] + pub ljdihbghall: ::prost::alloc::string::String, + #[prost(string, tag = "15")] + pub ieejgoedapd: ::prost::alloc::string::String, + #[xor(1204)] + #[prost(uint32, tag = "144")] + pub ahnoomoogom: u32, + #[prost(bool, tag = "532")] + pub kghfakkklaf: bool, + #[xor(12044)] + #[prost(uint32, tag = "988")] + pub jdikmpemlmo: u32, + #[prost(string, tag = "1248")] + pub jmepankpkap: ::prost::alloc::string::String, + #[xor(6677)] + #[prost(uint32, tag = "1259")] + pub lababfegbph: u32, + #[prost(string, tag = "1556")] + pub pnohohagnmb: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7024)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhlfdagccmj { + #[prost(message, optional, tag = "9")] + pub info: ::core::option::Option, + #[xor(14163)] + #[prost(uint64, tag = "4")] + pub fkcdkdiacni: u64, + #[xor(14659)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojijejeiehl { + #[prost(message, optional, tag = "1")] + pub jdgaddgaoic: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ggfloccdpgh: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdpckaekhkc { + #[prost(message, repeated, tag = "3")] + pub cciafphmifk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub lanpdihfhfc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub kdldcjkbejk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hinbdjbiaam { + #[prost(message, repeated, tag = "1")] + pub jikbbokiabi: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub kfelbigakid: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmmchchadan { + #[prost(enumeration = "Ijlaflngfei", tag = "1")] + pub glbeeopaonb: i32, + #[prost(message, repeated, tag = "2")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anaapljedem { + #[prost(uint32, tag = "1")] + pub event_graph_owner_uid: u32, + #[prost(string, tag = "2")] + pub hhdhdjphojg: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub fmkfjcmjjik: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub jbmhoedjjlc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ajjpekcjfpe { + #[xor(14649)] + #[prost(uint32, tag = "8")] + pub lmlfpojpfdo: u32, + #[xor(8066)] + #[prost(uint32, tag = "10")] + pub quest_id: u32, + #[prost(bool, tag = "6")] + pub jgoaknljoip: bool, + #[xor(246)] + #[prost(uint32, tag = "4")] + pub blmmfonmmci: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4434)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfkieclclbm { + #[xor(6481)] + #[prost(uint32, tag = "14")] + pub jhgaoacoipj: u32, + #[prost(uint32, repeated, tag = "9")] + pub hfnobnddpcd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdffpdblflg { + #[prost(message, repeated, tag = "4")] + pub ihhnhhpgeom: ::prost::alloc::vec::Vec, + #[prost(map = "int32, int32", tag = "13")] + pub godfldmgpmf: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7109)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dofhndgengb { + #[xor(9840)] + #[prost(uint64, tag = "6")] + pub gglnpjfcibj: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2512)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iabpjgffbei { + #[xor(2179)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ghjkliaahbn { + #[xor(9735)] + #[prost(uint32, tag = "5")] + pub phcbebaelmf: u32, + #[xor(12533)] + #[prost(uint32, tag = "15")] + pub ncaogklmdec: u32, + #[xor(7610)] + #[prost(uint32, tag = "12")] + pub anogkkcceio: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9503)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kmpibkemlek { + #[xor(3855)] + #[prost(int32, tag = "3")] + pub retcode: i32, + #[xor(15372)] + #[prost(uint32, tag = "12")] + pub template_id: u32, + #[xor(2466)] + #[prost(uint32, tag = "10")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecmfolcgbnd { + #[prost(string, tag = "1")] + pub ckgmdllefhp: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub icoehgohboi: i32, + #[prost(int32, tag = "3")] + pub ibdjjdjkpln: i32, + #[prost(int32, tag = "4")] + pub cjjcnoabeoj: i32, + #[prost(int32, tag = "5")] + pub lehjinkbfge: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afenbmmbdgc { + #[prost(int32, tag = "1")] + pub ebgmdoiddom: i32, + #[prost(message, optional, tag = "2")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(enumeration = "Chlbmblieoe", tag = "3")] + pub dkmepflgcmf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gppihlbhnhe { + #[prost(int32, tag = "1")] + pub efcgaibiaph: i32, + #[prost(int64, tag = "2")] + pub iheaalgebnd: i64, + #[prost(int32, tag = "3")] + pub icoehgohboi: i32, + #[prost(int32, tag = "4")] + pub jlffokgighc: i32, + #[prost(int32, tag = "5")] + pub abkkdjklbfk: i32, + #[prost(int32, tag = "6")] + pub nohmcbofcgd: i32, + #[prost(int32, tag = "7")] + pub iimmooehfmp: i32, + #[prost(int32, tag = "8")] + pub mmpiiigoecp: i32, + #[prost(int32, tag = "9")] + pub cejoacohdng: i32, + #[prost(int32, tag = "10")] + pub hgjabobnphi: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkonhbogkkg { + #[prost(message, optional, tag = "1")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub fpclgmdcdhm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5941)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opjkihodnid { + #[prost(uint32, repeated, tag = "1")] + pub kpljhiehajm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmgejibbbch { + #[xor(1360)] + #[prost(uint32, tag = "13")] + pub cghliblpgmj: u32, + #[xor(14870)] + #[prost(uint32, tag = "6")] + pub bieoknblkdi: u32, + #[xor(11503)] + #[prost(uint32, tag = "2")] + pub chcdfnkdbke: u32, + #[prost(message, optional, tag = "7")] + pub eidglifhhba: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7066)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Konbnadffpd { + #[xor(3065)] + #[prost(uint32, tag = "8")] + pub quest_id: u32, + #[prost(uint32, repeated, tag = "3")] + pub djniholkbbo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2706)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iddfbddndok { + #[xor(10109)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3784)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihdpkjfaamo { + #[xor(6464)] + #[prost(uint64, tag = "11")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "12")] + pub info: ::core::option::Option, + #[xor(14062)] + #[prost(uint64, tag = "14")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "2")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdilkafgmim { + #[prost(message, repeated, tag = "1")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adopigjpebh { + #[prost(message, optional, tag = "1")] + pub fjdialmanom: ::core::option::Option, + #[prost(int32, repeated, tag = "2")] + pub gcjldlephpg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9037)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Onnmpkhacjb { + #[xor(3302)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lpgdeanapde {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8666)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hphdnpbcegl { + #[xor(14046)] + #[prost(int32, tag = "15")] + pub kieajdmhbbd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7555)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdohkeojkef { + #[xor(566)] + #[prost(int64, tag = "11")] + pub iompcihagcj: i64, + #[prost(string, tag = "4")] + pub dcpnffhjklk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kjgplakcbie { + #[prost(int32, tag = "1")] + pub mgkoacfjjea: i32, + #[prost(int32, tag = "2")] + pub ianhccpdolj: i32, + #[prost(enumeration = "Klcnpnekjhm", tag = "3")] + pub r#type: i32, + #[prost(int32, tag = "4")] + pub flbkfpdokpd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cbafgnmcddg { + #[xor(3933)] + #[prost(int32, tag = "9")] + pub jgagiclcmhh: i32, + #[xor(15955)] + #[prost(uint32, tag = "14")] + pub level: u32, + #[xor(12719)] + #[prost(uint32, tag = "12")] + pub rank: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkfikhcoodg { + #[prost(uint32, repeated, tag = "6")] + pub cpdamfljjnl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9429)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hblacfhdmmp { + #[xor(11533)] + #[prost(uint32, tag = "4")] + pub fiieiehipik: u32, + #[xor(125)] + #[prost(uint32, tag = "15")] + pub pfhkpjilong: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anlifopdbpo { + #[prost(message, repeated, tag = "5")] + pub dkckjpbdcod: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mcaacjbgeem { + #[prost(bool, tag = "1")] + pub lkdbeecbglo: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dppfjjfflnl { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub pbgfddlpihp: i32, + #[prost(message, optional, tag = "2")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "4")] + pub ekbfgknccph: i32, + #[prost(string, tag = "5")] + pub ceofiegnmdb: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2567)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Obceofgdkpp { + #[xor(11059)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bcbjmkjghec {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfjgjpckped { + #[prost(message, optional, tag = "1")] + pub adpjhhpoghi: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub mkghgblbdhg: ::core::option::Option, + #[prost(bool, tag = "3")] + pub pcgjoacldjj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhilhmlphbd { + #[prost(message, repeated, tag = "1")] + pub cddmbippged: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub ebggnlbhlbi: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub oenmjdbjeoi: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub geflnogdcji: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4386)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdmcdbepcko { + #[prost(message, optional, tag = "15")] + pub oagoikmppbd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(379)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdpmgmgplac { + #[prost(message, optional, tag = "14")] + pub info: ::core::option::Option, + #[xor(3676)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mlpbdbonfio { + #[prost(bool, tag = "11")] + pub epekkmbndao: bool, + #[xor(11598)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phndoklablo { + #[prost(message, repeated, tag = "1")] + pub jahjmdigjbk: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub dkgljebhbam: bool, + #[xor(5649)] + #[prost(uint32, tag = "3")] + pub avatar_id: u32, + #[prost(message, repeated, tag = "5")] + pub jiaeedlfdhd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(420)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lomhmcplcni {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ffonfbcopbn {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngjfjghilcb { + #[prost(string, tag = "1")] + pub gelmjhgamjm: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klppngobkbo { + #[prost(message, optional, tag = "1")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub mpoeagmgdal: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1458)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mioodcodjeh { + #[xor(293)] + #[prost(uint64, tag = "7")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "2")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub info: ::core::option::Option, + #[xor(3406)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4378)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppikpihbbfm { + #[prost(message, repeated, tag = "6")] + pub mmidkfhahpd: ::prost::alloc::vec::Vec, + #[prost(string, tag = "8")] + pub bnkkgngebjp: ::prost::alloc::string::String, + #[prost(bool, tag = "10")] + pub phffpliaaln: bool, + #[prost(string, tag = "11")] + pub nmiichclpgb: ::prost::alloc::string::String, + #[prost(string, tag = "14")] + pub jbhlcbnfhoa: ::prost::alloc::string::String, + #[prost(string, tag = "15")] + pub kaafkebjfph: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Feffegbocdd {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbfbkplpodf { + #[prost(message, optional, tag = "14")] + pub position: ::core::option::Option, + #[xor(3698)] + #[prost(uint32, tag = "4")] + pub section_id: u32, + #[xor(2489)] + #[prost(uint32, tag = "6")] + pub henmkajoacj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bieelmccioi { + #[xor(2088)] + #[prost(int32, tag = "7")] + pub jhggfclkndj: i32, + #[prost(message, repeated, tag = "4")] + pub coggakdnobc: ::prost::alloc::vec::Vec, + #[xor(16291)] + #[prost(int32, tag = "12")] + pub fehcnklhiel: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7611)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bdpocajoakf { + #[xor(10340)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccpchecifcf { + #[prost(message, optional, tag = "1")] + pub lhbejkbkbfh: ::core::option::Option, + #[prost(int32, tag = "2")] + pub dmpnllbkpjg: i32, + #[prost(message, optional, tag = "3")] + pub position: ::core::option::Option, + #[prost(int32, tag = "4")] + pub fhpalfbcgad: i32, + #[prost(message, optional, tag = "5")] + pub kcfiajokeol: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub lmgobhhbkda: ::core::option::Option, + #[prost(map = "int32, int32", tag = "7")] + pub gmlkfeifpja: ::std::collections::HashMap, + #[prost(message, repeated, tag = "8")] + pub dodgpciakdp: ::prost::alloc::vec::Vec, + #[prost(oneof = "ccpchecifcf::Dnjjggjfenk", tags = "10, 11, 12, 13, 14, 15, 16, 17")] + pub dnjjggjfenk: ::core::option::Option, +} +/// Nested message and enum types in `CCPCHECIFCF`. +pub mod ccpchecifcf { + #[derive(yanagi_proto_derive::CmdID)] + #[derive(yanagi_proto_derive::XorFields)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Dnjjggjfenk { + #[prost(message, tag = "10")] + Avatar(super::Ocmohlcigec), + #[prost(message, tag = "11")] + Monster(super::Bhaagdpdkon), + #[prost(message, tag = "12")] + Summonee(super::Khbcdfndoii), + #[prost(message, tag = "13")] + Buddy(super::Codebjhdmmm), + #[prost(message, tag = "14")] + DropItem(super::Hodadgaldcl), + #[prost(message, tag = "15")] + SceneObject(super::Kgljgadgfmf), + #[prost(message, tag = "16")] + MoveObject(super::Jgmjjkjbdga), + #[prost(message, tag = "17")] + Gadget(super::Happiloeeaa), + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcmekcelnma { + #[prost(uint32, tag = "1")] + pub kmmjjgagcch: u32, + #[prost(uint32, tag = "2")] + pub eedkkdadncg: u32, + #[prost(bool, tag = "3")] + pub mbabidipakh: bool, + #[prost(uint64, tag = "4")] + pub nkjknjdoagm: u64, + #[prost(uint64, tag = "5")] + pub ejdeehhomng: u64, + #[prost(enumeration = "Hbbhdahcokf", tag = "6")] + pub hfgdjcfhokn: i32, + #[prost(uint32, tag = "7")] + pub lcaidhpecok: u32, + #[prost(message, optional, tag = "8")] + pub lbgmecpfodf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dpfipplnicd {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9342)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmofdedebac { + #[xor(13827)] + #[prost(uint64, tag = "8")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, + #[xor(7855)] + #[prost(uint64, tag = "7")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "10")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1222)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Edibjfobleg { + #[xor(5958)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdikfbdemhn { + #[prost(int32, repeated, tag = "1")] + pub khghgojnbkl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Knmkffefkkd {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8211)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cjjcbdeinpk { + #[xor(11174)] + #[prost(uint32, tag = "12")] + pub apmiecbffpi: u32, + #[xor(13296)] + #[prost(uint32, tag = "9")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijmeddplhkk { + #[prost(message, optional, tag = "10")] + pub liiimcgbghh: ::core::option::Option, + #[prost(uint32, repeated, tag = "12")] + pub jacmcjchjhh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkhdmjjfhmo { + #[prost(message, optional, tag = "1")] + pub anogkkcceio: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub phcbebaelmf: ::core::option::Option, + #[prost(enumeration = "Chlbmblieoe", tag = "3")] + pub dkmepflgcmf: i32, + #[prost(bool, tag = "4")] + pub abepafadnib: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfiiolbgdmc { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ekppdkdkibj: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "3")] + pub odnpbhepnoa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4184)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Domcbehbobh { + #[prost(enumeration = "Hfkcedkbglm", tag = "1")] + pub meebfcghjln: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2129)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetYorozuyaInfoScRsp { + #[xor(16152)] + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(message, optional, tag = "11")] + pub yorozuya_info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Poiidhalmjb {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(196)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oiaefjidjgo { + #[prost(message, repeated, tag = "8")] + pub coeimmjhbjk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9225)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nodnobiofam { + #[xor(12106)] + #[prost(uint32, tag = "11")] + pub ghifdkelobe: u32, + #[prost(bool, tag = "5")] + pub fhiemibfoog: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3758)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jkbhdfgddib { + #[xor(1382)] + #[prost(uint32, tag = "13")] + pub lcmpapgbfim: u32, + #[xor(10326)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ednfflhmhjo { + #[prost(message, optional, tag = "1")] + pub bdfpboocppn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlpnnajnffl { + #[prost(message, optional, tag = "1")] + pub mgckhnakfli: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub bjelpebhjfi: ::core::option::Option, + #[prost(string, tag = "3")] + pub mjookjgonoe: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilgjemgmhob { + #[xor(12)] + #[prost(int32, tag = "13")] + pub enolnedkndn: i32, + #[prost(int32, repeated, tag = "1")] + pub hbbjmclogaf: ::prost::alloc::vec::Vec, + #[xor(13131)] + #[prost(int32, tag = "5")] + pub lgpjiihhapk: i32, + #[xor(12510)] + #[prost(int32, tag = "3")] + pub pjiaapjbeko: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mlfinplopcb { + #[prost(enumeration = "Klfinbnookg", tag = "14")] + pub ahhbfimgoaa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Paccfhljmaf { + #[prost(message, repeated, tag = "11")] + pub hfbahombael: ::prost::alloc::vec::Vec, + #[xor(7330)] + #[prost(int32, tag = "8")] + pub ndellckgecb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hlelggmnpmn {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ojfpnoaefic {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nlfmcnpckmf { + #[xor(7600)] + #[prost(uint32, tag = "2")] + pub gcabahdaahc: u32, + #[xor(11173)] + #[prost(uint32, tag = "9")] + pub fpeibblgadi: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Codebjhdmmm { + #[prost(int32, tag = "1")] + pub buddy_id: i32, + #[prost(int32, repeated, tag = "2")] + pub dgckcdofogi: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub fooapnmkbab: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(124)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dchfndlodod { + #[xor(13923)] + #[prost(uint32, tag = "15")] + pub ofkbfbdecof: u32, + #[xor(14627)] + #[prost(uint32, tag = "10")] + pub liebfpdicjh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljdecebhhpf { + #[prost(bool, tag = "1")] + pub bfkhbmogkfk: bool, + #[prost(int32, tag = "2")] + pub onhmicmigan: i32, + #[prost(int32, tag = "3")] + pub pmgmgnnhhnk: i32, + #[prost(string, tag = "4")] + pub hkjfgkgfpao: ::prost::alloc::string::String, + #[prost(bool, tag = "5")] + pub jmdcihhhaoc: bool, + #[prost(int32, tag = "6")] + pub r#type: i32, + #[prost(float, tag = "7")] + pub cofemokalfm: f32, + #[prost(float, tag = "8")] + pub ogihdljgafi: f32, + #[prost(bool, tag = "9")] + pub ocnmccfikbd: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(606)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onhkdngckce { + #[prost(map = "uint32, uint32", tag = "5")] + pub jnplbnjkgec: ::std::collections::HashMap, + #[xor(12084)] + #[prost(uint32, tag = "2")] + pub eempkedancd: u32, + #[prost(enumeration = "Ndncjkppjjh", tag = "15")] + pub hmndojdccae: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcbiiabjimi { + #[prost(message, optional, tag = "1")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub genbjlijdci: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbiecgpkija { + #[prost(message, optional, tag = "1")] + pub fpclgmdcdhm: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ddoimlggmmd: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub gmedanfohap: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eblocgodkal { + #[xor(9980)] + #[prost(uint32, tag = "7")] + pub kmmjjgagcch: u32, + #[prost(message, repeated, tag = "4")] + pub adkhllnnhap: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9727)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mhfkenlgmop { + #[xor(11171)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(411)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hlnoaphhkmp { + #[xor(9499)] + #[prost(uint64, tag = "2")] + pub gglnpjfcibj: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fidlmohdjjd { + #[prost(int32, tag = "1")] + pub dcokecdphhp: i32, + #[prost(bool, tag = "2")] + pub gjglogckldp: bool, + #[prost(bool, tag = "3")] + pub ennkdblhgoe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3231)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnjaagplllb { + #[prost(message, repeated, tag = "15")] + pub kapilpodlnk: ::prost::alloc::vec::Vec, + #[xor(188)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eafajlajhef { + #[prost(message, optional, tag = "1")] + pub gohknmejekf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fgpbocjjlpo { + #[xor(15808)] + #[prost(int32, tag = "6")] + pub fbocogogkhd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlnpaaaoklo { + #[prost(message, optional, tag = "1")] + pub onollodlbkl: ::core::option::Option, + #[prost(bool, tag = "2")] + pub fjopopcijeb: bool, + #[prost(message, optional, tag = "3")] + pub koelfcbhneo: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogljakjegck { + #[prost(message, optional, tag = "1")] + pub flipioihdbn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egjlgklcdbl { + #[prost(uint32, repeated, tag = "2")] + pub ljgbokbpaid: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Milneoikhhl { + #[prost(enumeration = "Hhaiaeholnp", tag = "1")] + pub hpldfimmjjj: i32, + #[prost(message, optional, tag = "2")] + pub fdeohomlplo: ::core::option::Option, + #[prost(bytes = "vec", tag = "3")] + pub dlloajjlkhc: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub ekboekelpho: ::core::option::Option, + #[prost(bytes = "vec", tag = "5")] + pub olpmdmbgpfk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phpaoaknnmc { + #[prost(uint32, repeated, tag = "4")] + pub heffaooogcm: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub jobgpepbhkf: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub obdmnimeabe: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3874)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetJourneyInfoScRsp { + #[xor(6208)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnilnmokikp { + #[prost(map = "uint32, uint32", tag = "2")] + pub cgmcmmadjio: ::std::collections::HashMap, + #[xor(4419)] + #[prost(uint32, tag = "4")] + pub cdklkjpfhhl: u32, + #[xor(5227)] + #[prost(uint32, tag = "5")] + pub dckhnjbflmg: u32, + #[xor(10596)] + #[prost(uint64, tag = "12")] + pub kfcpgadolfg: u64, + #[xor(2340)] + #[prost(uint32, tag = "15")] + pub dkahpcpijdk: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7303)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hncokdbalnl { + #[xor(4429)] + #[prost(uint64, tag = "9")] + pub fkcdkdiacni: u64, + #[xor(11472)] + #[prost(uint64, tag = "4")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "6")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieomiaibeij { + #[xor(3348)] + #[prost(int64, tag = "9")] + pub mcpmobeikhc: i64, + #[xor(7171)] + #[prost(uint32, tag = "10")] + pub jmcgfhdplje: u32, + #[prost(bool, tag = "6")] + pub cdclblegnpa: bool, + #[prost(map = "uint32, uint32", tag = "15")] + pub ohkfncepmam: ::std::collections::HashMap, + #[prost(bool, tag = "14")] + pub ilikllnocoa: bool, + #[xor(13044)] + #[prost(int64, tag = "4")] + pub digblcoafeb: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2659)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fakmkbakela { + #[xor(13203)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pionfnhcfkd { + #[prost(enumeration = "Glhemplfblf", tag = "1")] + pub agmajhdflfg: i32, + #[prost(string, repeated, tag = "2")] + pub nnadaaolefl: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, tag = "3")] + pub jnaldmhdgdp: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub claojgokflb: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub moccldbpbcp: ::core::option::Option, + #[prost(enumeration = "Gnilchgdfan", tag = "6")] + pub meekfennnbk: i32, + #[prost(bool, tag = "7")] + pub noknkdpfhmo: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chngafkkead { + #[prost(message, optional, tag = "11")] + pub koamjailkge: ::core::option::Option, + #[xor(13599)] + #[prost(uint32, tag = "12")] + pub kpgkdnipoka: u32, + #[prost(message, repeated, tag = "8")] + pub noebkmdmfga: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Jpejjgdbdmi", tag = "4")] + pub iobhhijphci: i32, + #[xor(1526)] + #[prost(uint64, tag = "3")] + pub gglnpjfcibj: u64, + #[prost(enumeration = "Dljpnlkgnli", tag = "7")] + pub ggoeinmcnip: i32, + #[xor(3904)] + #[prost(uint32, tag = "6")] + pub cdklkjpfhhl: u32, + #[xor(11523)] + #[prost(uint32, tag = "10")] + pub nbikpnljccg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eochiagbgbh { + #[xor(9840)] + #[prost(int32, tag = "2")] + pub kfohhjbpmkp: i32, + #[prost(bool, tag = "9")] + pub ihagdkcipck: bool, + #[prost(bool, tag = "1221")] + pub eeoechemlal: bool, + #[xor(9870)] + #[prost(int32, tag = "1332")] + pub jalbcjjdoff: i32, + #[xor(14553)] + #[prost(int32, tag = "10")] + pub oghpboahckn: i32, + #[xor(5893)] + #[prost(int32, tag = "12")] + pub gegmkiiclfp: i32, + #[xor(5636)] + #[prost(int32, tag = "15")] + pub ckgppkdeiof: i32, + #[prost(bool, tag = "1")] + pub pcpepkahcbm: bool, + #[xor(4990)] + #[prost(int32, tag = "2018")] + pub bjhfbnpnpon: i32, + #[prost(bool, tag = "310")] + pub lijglefhgon: bool, + #[xor(7514)] + #[prost(int32, tag = "13")] + pub kipkndfheim: i32, + #[xor(1331)] + #[prost(int64, tag = "3")] + pub eedkkdadncg: i64, + #[xor(10948)] + #[prost(int32, tag = "8")] + pub pbfcmhnihep: i32, + #[prost(map = "int32, bool", tag = "11")] + pub plhobnclifo: ::std::collections::HashMap, + #[prost(message, optional, tag = "7")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(bool, tag = "5")] + pub bddhnmiigen: bool, + #[xor(8345)] + #[prost(int32, tag = "4")] + pub lpgagibkpoi: i32, + #[xor(2394)] + #[prost(int32, tag = "14")] + pub klneglhoamm: i32, + #[prost(bool, tag = "995")] + pub bmbdboophce: bool, + #[prost(bool, tag = "6")] + pub gcadaahnaje: bool, + #[prost(bool, tag = "978")] + pub ilkfbljfpop: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hcipjbnkoef {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9113)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfkhbjgddpl { + /// VMP DETECTED + /// + #[xor(6558)] + #[prost(uint32, tag = "4")] + pub ofkbfbdecof: u32, + #[prost(message, optional, tag = "6")] + pub gacha_data: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub fonnlbncjcd: ::prost::alloc::vec::Vec, + #[xor(16374)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7143)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgmpmnafmoe { + #[xor(10224)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[xor(2989)] + #[prost(uint64, tag = "5")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "15")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8654)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mffdaommknl { + #[xor(16363)] + #[prost(int32, tag = "10")] + pub pbhlmpjkppg: i32, + #[prost(message, optional, tag = "5")] + pub cbhgigldomd: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub dpeflkffjjd: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub bbmlkdijigd: ::core::option::Option, + #[xor(6948)] + #[prost(int32, tag = "14")] + pub bmbaomnopja: i32, + #[xor(6629)] + #[prost(int32, tag = "2")] + pub fpmobdmdkbo: i32, + #[xor(10468)] + #[prost(int32, tag = "13")] + pub obmhdjhfgom: i32, + #[xor(3076)] + #[prost(int32, tag = "9")] + pub lglpmlegedg: i32, + #[xor(15765)] + #[prost(int32, tag = "1")] + pub abbcacnhleg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofioolnmlmb { + #[prost(uint32, repeated, tag = "15")] + pub bhnhgfpjili: ::prost::alloc::vec::Vec, + #[xor(2344)] + #[prost(uint32, tag = "13")] + pub jnjapogacbi: u32, + #[xor(16023)] + #[prost(uint32, tag = "6")] + pub kgmdbaomcdo: u32, + #[xor(2745)] + #[prost(uint32, tag = "14")] + pub eodallhhnib: u32, + #[xor(13702)] + #[prost(int32, tag = "11")] + pub afniabhomkk: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4650)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pmghboigail { + #[xor(12730)] + #[prost(uint32, tag = "14")] + pub jhooejigljp: u32, + #[xor(6981)] + #[prost(uint32, tag = "13")] + pub icgdmnjkeek: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2170)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ekicpdeliea { + #[xor(11154)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhccbgehifm { + #[prost(message, repeated, tag = "168")] + pub bbbpffcidlj: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "1631")] + pub lobafigmneb: ::core::option::Option, + #[prost(string, tag = "109")] + pub time: ::prost::alloc::string::String, + #[xor(5536)] + #[prost(uint32, tag = "3")] + pub section_id: u32, + #[xor(2849)] + #[prost(int32, tag = "14")] + pub fffhhjhkilo: i32, + #[xor(4545)] + #[prost(int32, tag = "11")] + pub opmkcccconm: i32, + #[prost(message, optional, tag = "337")] + pub lahpgjelkpd: ::core::option::Option, + #[prost(message, optional, tag = "1122")] + pub lohldmkbalh: ::core::option::Option, + #[xor(9575)] + #[prost(uint32, tag = "1804")] + pub bpcdfdnkkoc: u32, + #[prost(uint32, repeated, tag = "764")] + pub hojgejcpnmb: ::prost::alloc::vec::Vec, + #[prost(string, tag = "418")] + pub weather: ::prost::alloc::string::String, + #[xor(4955)] + #[prost(uint32, tag = "5")] + pub enkcmneemnc: u32, + #[prost(message, optional, tag = "8")] + pub iadijgcbfan: ::core::option::Option, + #[xor(15943)] + #[prost(int32, tag = "4")] + pub oghhknjmfok: i32, + #[xor(5747)] + #[prost(int32, tag = "9")] + pub hnkcifpdimb: i32, + #[prost(enumeration = "Pipmgibbjmd", tag = "1311")] + pub mnmihihijjf: i32, + #[prost(bool, tag = "1717")] + pub dbjememjcna: bool, + #[prost(message, optional, tag = "272")] + pub ialmfednklc: ::core::option::Option, + #[prost(message, repeated, tag = "15")] + pub ljhmffcbokj: ::prost::alloc::vec::Vec, + #[xor(1200)] + #[prost(int32, tag = "1")] + pub dmbipmdaajl: i32, + #[xor(7551)] + #[prost(int32, tag = "10")] + pub mfdgceceplj: i32, + #[prost(message, optional, tag = "1620")] + pub mbgajefionm: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub phehdfbeiee: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibdkcoboknb { + #[prost(map = "uint32, uint32", tag = "1")] + pub kcahdppnjao: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Adgncnkkbhj { + #[prost(bool, tag = "1")] + pub cbcnloailll: bool, + #[prost(int32, tag = "2")] + pub eeiigipkjdf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9632)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pggkcgckcal { + #[xor(5182)] + #[prost(uint32, tag = "7")] + pub fmkfjcmjjik: u32, + #[prost(uint32, repeated, tag = "14")] + pub bfgenanklmg: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Dniekkmfapo", tag = "10")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amoacojdpcf { + #[prost(message, repeated, tag = "4")] + pub ldkdghblham: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "15")] + pub mfbemgoehmp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bcfdeieeobl { + #[xor(6971)] + #[prost(uint32, tag = "9")] + pub fiieiehipik: u32, + #[xor(6704)] + #[prost(uint32, tag = "7")] + pub hfgdjcfhokn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4829)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetClientSystemsInfoCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2459)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kffcbknfoie { + #[prost(message, repeated, tag = "5")] + pub mppmkahhmmh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub mpocfchcfee: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub ehfmmjmombk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub oipflfkpefc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jijoflccbpj { + #[prost(string, tag = "1")] + pub iidnjcionhi: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub epghifpepao: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub hcgkhljcego: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2696)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iglkfadmcho { + /// VMP DETECTED + /// + #[xor(1576)] + #[prost(uint32, tag = "8")] + pub mibfimdanol: u32, + #[prost(uint32, repeated, tag = "11")] + pub djniholkbbo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4828)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkchccapjcc { + #[prost(message, optional, tag = "3")] + pub ednpnpahhgd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kikkfldjlfg { + #[prost(uint32, repeated, tag = "13")] + pub oejifggbdkc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Comgkeookgn { + #[prost(message, repeated, tag = "1")] + pub bkdeogdpeld: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub bgnfoabaajk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub ddbmjpajmnc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4736)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekilhpemhfb { + #[prost(map = "string, int32", tag = "15")] + pub aeiaggdebfk: ::std::collections::HashMap<::prost::alloc::string::String, i32>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9964)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmockllmpho { + #[prost(int32, repeated, tag = "4")] + pub ndcafdlnabc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfenmgidadc { + #[prost(message, optional, tag = "1")] + pub obooiljagin: ::core::option::Option, + #[prost(enumeration = "Pidbcajkigi", tag = "2")] + pub hbjamoabjkf: i32, + #[prost(message, optional, tag = "3")] + pub fbdkdolhhdo: ::core::option::Option, + #[prost(bool, tag = "4")] + pub meodkfmgiio: bool, + #[prost(uint32, tag = "5")] + pub feanggnllfg: u32, + #[prost(uint32, tag = "6")] + pub ghddnilphbi: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pgdaapcgiaa { + #[prost(bool, tag = "1")] + pub hlhjfpgiedd: bool, + #[prost(bool, tag = "2")] + pub dahpnfelfnn: bool, + #[prost(bool, tag = "3")] + pub maaljgdmioh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gbdpndmeoka {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nimllpclmkc { + #[prost(bool, tag = "1")] + pub abahfdciboo: bool, + #[prost(bool, tag = "2")] + pub enceamgaoma: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdkeagipmdn { + #[prost(enumeration = "Hdgninhnkhc", tag = "1")] + pub cdilndlgnbn: i32, + #[prost(enumeration = "Clhfpgmncdb", tag = "2")] + pub mbjdllfphjk: i32, + #[prost(message, optional, tag = "3")] + pub ipldaidhmcl: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub omloefjdfih: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub lcjdkmhnjbp: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub cbacddghhjj: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub ibfopkgbeaa: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub kkjjpagepjn: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub bjcalnglejc: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub bejgacidbap: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub mhdjmamnoea: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub eplhagibild: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub gfgeckdflgk: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub jkdccmbomlc: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub ijibocfbpej: ::core::option::Option, + #[prost(message, optional, tag = "16")] + pub aknkmpikpoi: ::core::option::Option, + #[prost(message, optional, tag = "17")] + pub genbjlijdci: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "18")] + pub ekbfgknccph: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2498)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetAbyssInfoScRsp { + #[xor(5764)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, repeated, tag = "5")] + pub kbjbinbdicb: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub abyss_info: ::core::option::Option, + #[prost(message, repeated, tag = "11")] + pub npmjfjdkgff: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(729)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cmhcokfhbba { + #[xor(14824)] + #[prost(uint32, tag = "6")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Imbideofcka { + #[prost(float, tag = "1")] + pub cgcpijamknl: f32, + #[prost(float, tag = "2")] + pub pohnmenbegi: f32, + #[prost(float, tag = "7")] + pub llffkfoejgj: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Imphglieghn { + #[prost(bool, tag = "11")] + pub epekkmbndao: bool, + #[xor(1530)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8854)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Akbciceipfe { + #[xor(1373)] + #[prost(uint32, tag = "10")] + pub tag: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ifjjioebffm { + #[prost(bool, tag = "1")] + pub jgoaknljoip: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jjmpajbjblh { + #[prost(float, tag = "1")] + pub pohnmenbegi: f32, + #[prost(float, tag = "2")] + pub llffkfoejgj: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gekhcfgnfnb {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2038)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkklaebggpc { + #[prost(uint32, repeated, tag = "3")] + pub mipbpifgifc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8230)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gopomedegfm { + #[xor(12306)] + #[prost(uint32, tag = "2")] + pub kcnfmlmnobk: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7047)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetNewsStandDataScRsp { + #[xor(7378)] + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(message, optional, tag = "7")] + pub news_stand_data: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icopibdjpfc { + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + #[prost(bool, tag = "2")] + pub bplccgdglod: bool, + #[prost(message, optional, tag = "3")] + pub lkdbeecbglo: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub oeelofdoadi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlagoknpjja { + #[prost(message, repeated, tag = "8")] + pub kjoheememhl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9339)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ecddfehlnae {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6850)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Napjckogdpb { + #[xor(5936)] + #[prost(uint32, tag = "10")] + pub buddy_id: u32, + #[prost(bool, tag = "7")] + pub pbehkahplpc: bool, + #[xor(3781)] + #[prost(uint32, tag = "15")] + pub dfnooalbhop: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehciiffoela { + #[prost(message, optional, tag = "1")] + pub efpckpnefdc: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "2")] + pub ekbfgknccph: i32, + #[prost(message, optional, tag = "3")] + pub fbiejojhncm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7360)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Imjnhcombmn { + #[xor(11445)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahbjdandmno { + #[prost(string, tag = "1")] + pub gelmjhgamjm: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub lkdbeecbglo: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpknpejgkio { + #[prost(message, optional, tag = "1")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub neehbakfffa: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub oladlpddfgg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pefilgggpmc { + #[prost(uint64, repeated, tag = "3")] + pub dkojoijibka: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8530)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idgnbkekgme { + #[prost(message, repeated, tag = "2")] + pub buddy_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cllhhceohhg { + #[xor(15696)] + #[prost(int32, tag = "11")] + pub amfbblkllkm: i32, + #[xor(8034)] + #[prost(int32, tag = "13")] + pub cpigldndomf: i32, + #[xor(9274)] + #[prost(int32, tag = "12")] + pub bhicpknbnim: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3210)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opjdhdkbfpf { + #[prost(uint32, repeated, tag = "15")] + pub kddklopadmo: ::prost::alloc::vec::Vec, + #[xor(3207)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5622)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Denchjibmba { + #[prost(message, optional, tag = "14")] + pub chainokkcmi: ::core::option::Option, + #[xor(13595)] + #[prost(uint32, tag = "2")] + pub group: u32, + #[prost(message, optional, tag = "4")] + pub felmdabgjbe: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3689)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fccecpkhpok { + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(13433)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[xor(4829)] + #[prost(uint64, tag = "13")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3342)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Migcpgnlkcl { + #[prost(bool, tag = "8")] + pub egohaboffli: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3396)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ijohclmahlm { + #[xor(15522)] + #[prost(uint32, tag = "11")] + pub mmkkepmmhga: u32, + #[xor(16123)] + #[prost(int32, tag = "14")] + pub retcode: i32, + #[xor(5331)] + #[prost(uint32, tag = "12")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Glekhpoilep {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbojidempgc { + #[prost(message, optional, tag = "12")] + pub cjekfmbigef: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5435)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jecmjifjpfk { + #[xor(10075)] + #[prost(int64, tag = "12")] + pub glmbobpohjf: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3171)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ceeepdbmkdl { + #[prost(message, optional, tag = "6")] + pub lhbejkbkbfh: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5786)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghgnfhgbpdb { + #[xor(3943)] + #[prost(uint64, tag = "7")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "3")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(3014)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "14")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iknedfkbcaj { + #[prost(string, tag = "1")] + pub hkjfgkgfpao: ::prost::alloc::string::String, + #[prost(enumeration = "Poappelpmmi", tag = "2")] + pub r#type: i32, + #[prost(enumeration = "Clhfpgmncdb", tag = "4")] + pub mbjdllfphjk: i32, + #[prost(string, tag = "5")] + pub mfpfochbkch: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub mjemmdeanjc: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub cofemokalfm: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub ogihdljgafi: ::prost::alloc::string::String, + #[prost(message, optional, tag = "9")] + pub mnlneniidfp: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub ofpgeipahnf: ::core::option::Option, + #[prost(bool, tag = "12")] + pub ihbjabkphlm: bool, + #[prost(bool, tag = "13")] + pub jehbjmehcnf: bool, + #[prost(double, tag = "14")] + pub flbkfpdokpd: f64, + #[prost(string, repeated, tag = "15")] + pub emkbcdaaaen: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, tag = "16")] + pub oflijaimkkf: bool, + #[prost(bool, tag = "17")] + pub fkokdaodfhe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmagbdlhaak { + #[prost(string, tag = "2")] + pub beepikepgkf: ::prost::alloc::string::String, + #[prost(bool, tag = "4")] + pub jehbjmehcnf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmebcblknim { + #[prost(message, optional, tag = "1")] + pub ohnkakhjpmh: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub hngfoggcjal: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ibedfbbbiec { + #[prost(float, tag = "7")] + pub pohnmenbegi: f32, + #[xor(15797)] + #[prost(int32, tag = "6")] + pub feiohbbmjpn: i32, + #[prost(float, tag = "14")] + pub llffkfoejgj: f32, + #[xor(6309)] + #[prost(uint32, tag = "8")] + pub kmmjjgagcch: u32, + #[xor(7192)] + #[prost(int32, tag = "9")] + pub mhagbelppaj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1441)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lacpieiikpj { + #[xor(6615)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddhkkflbgca { + #[prost(message, optional, tag = "1")] + pub bdfpboocppn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdmpbcfcndi { + #[prost(map = "int32, int32", tag = "11")] + pub mljdegpbiij: ::std::collections::HashMap, + #[xor(9781)] + #[prost(int32, tag = "1")] + pub lmogkcifjpd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cndmepikipc { + #[prost(message, optional, tag = "1")] + pub avatar_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6297)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnmeddnhahm { + #[xor(13292)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "6")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(3487)] + #[prost(uint64, tag = "12")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilikoeejgeb { + #[prost(message, optional, tag = "1")] + pub mahdaplbojj: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub piahiiofjdd: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub mjookjgonoe: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2416)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfjicpbnham { + #[prost(uint32, repeated, tag = "12")] + pub aklcpgmclmi: ::prost::alloc::vec::Vec, + #[xor(2021)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndcklgpolek { + #[prost(uint32, repeated, tag = "15")] + pub nheeaadledn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Belmejbglcm { + #[prost(uint32, repeated, tag = "1")] + pub ddpddhdnnbo: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odkenpffpgf { + #[prost(uint32, tag = "1")] + pub lpnkdjhhphn: u32, + #[prost(uint32, tag = "2")] + pub ahocgnkkngp: u32, + #[prost(string, tag = "3")] + pub jhpddnbdjcf: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub amijnnpcpkl: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jpnlfolkmke { + #[xor(6055)] + #[prost(uint32, tag = "2")] + pub template_id: u32, + #[xor(10289)] + #[prost(uint32, tag = "10")] + pub count: u32, + #[prost(bool, tag = "4")] + pub pjleladjmnh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7005)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmdajphkinj { + #[prost(bool, tag = "6")] + pub fglbjejpamb: bool, + #[xor(6119)] + #[prost(uint32, tag = "12")] + pub section_id: u32, + #[xor(13189)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(message, optional, tag = "2")] + pub position: ::core::option::Option, + #[xor(6833)] + #[prost(uint32, tag = "7")] + pub henmkajoacj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbpjeogiojd { + #[xor(5485)] + #[prost(uint32, tag = "7")] + pub kmmjjgagcch: u32, + #[prost(string, tag = "5")] + pub cjnhglkfnpk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7489)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjepgimghog { + #[prost(bool, tag = "3")] + pub ddcemgenmkk: bool, + #[prost(enumeration = "Jpejjgdbdmi", tag = "8")] + pub iobhhijphci: i32, + #[xor(15240)] + #[prost(uint64, tag = "5")] + pub gglnpjfcibj: u64, + #[prost(message, optional, tag = "10")] + pub pfllpjjjikm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojdkkoiphfa { + #[prost(uint32, repeated, tag = "2")] + pub bdbmjjndknl: ::prost::alloc::vec::Vec, + #[xor(9656)] + #[prost(uint32, tag = "15")] + pub ccnlfijlnad: u32, + #[prost(message, repeated, tag = "8")] + pub gffoejhfblb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3081)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct RefreshSectionScRsp { + #[xor(7870)] + #[prost(int32, tag = "8")] + pub retcode: i32, + #[xor(13814)] + #[prost(uint32, tag = "11")] + pub refresh_status: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6782)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hpbcepaeoda { + #[xor(11698)] + #[prost(uint32, tag = "15")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5618)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahkjgdnceag { + #[xor(4904)] + #[prost(uint32, tag = "4")] + pub imbbdhigooc: u32, + #[prost(uint32, repeated, tag = "1")] + pub mmkkepmmhga: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub elgaoopdihb: ::prost::alloc::vec::Vec, + #[xor(14698)] + #[prost(uint32, tag = "13")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7278)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Adjckjhjnjp { + #[xor(11917)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpgabpcnmko { + #[prost(string, tag = "1")] + pub ilhakgaoajh: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub cnkiocdgalp: ::prost::alloc::string::String, + #[prost(enumeration = "Pcekojidped", tag = "3")] + pub ekbfgknccph: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhmpgnedjnk { + #[prost(string, repeated, tag = "1")] + pub hcdoebhodjp: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, tag = "2")] + pub baiomfdgdlc: ::prost::alloc::string::String, + #[prost(string, repeated, tag = "4")] + pub bpagfccmepo: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(int32, repeated, tag = "5")] + pub gfobnplgnmf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6502)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjbclahlojo { + #[xor(3781)] + #[prost(uint32, tag = "13")] + pub ghifdkelobe: u32, + #[prost(uint32, repeated, tag = "3")] + pub iokmnhfmblk: ::prost::alloc::vec::Vec, + #[xor(2599)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfnmfdjehed { + #[prost(message, repeated, tag = "1")] + pub dkcfdofacbe: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ebickncedcb {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iplccnimnln { + #[prost(int32, repeated, tag = "6")] + pub ndeeijfpjpc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmdnfhmeheg { + #[prost(enumeration = "HollowGridLink", tag = "1")] + pub bbbmiohmgic: i32, + #[prost(bytes = "vec", tag = "3")] + pub olpmdmbgpfk: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "4")] + pub jiefgiapihj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bifhokhemgd { + #[prost(string, tag = "1")] + pub ui: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub args: i32, + #[prost(bool, tag = "3")] + pub kjjbcmbhgke: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mikpcnldhda { + #[prost(uint32, repeated, tag = "12")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Empbbbojjbc { + #[prost(int32, tag = "1")] + pub quest_id: i32, + #[prost(int32, tag = "2")] + pub gcfnmdjhemb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Glldpacilgc { + #[xor(12556)] + #[prost(uint32, tag = "3")] + pub bbadokfaeij: u32, + #[xor(3828)] + #[prost(uint32, tag = "9")] + pub pfhjoagpplg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LevelRewardInfo { + #[prost(message, repeated, tag = "11")] + pub deaodgkiapm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub nblaknnleec: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub lmegahbkmhc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jiecekkgdod { + #[prost(string, tag = "1")] + pub lmhcfdjmjld: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub npc_id: ::core::option::Option, + #[prost(int32, tag = "3")] + pub abnngkihkpm: i32, + #[prost(bool, tag = "4")] + pub fnhoapjahbe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fchmpibcaal {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4544)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct RefreshSectionCsReq { + #[prost(bool, tag = "8")] + pub fglbjejpamb: bool, + #[xor(12813)] + #[prost(uint32, tag = "12")] + pub henmkajoacj: u32, + #[prost(bool, tag = "3")] + pub nhhnjggpdfd: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Edcbgmcfmhf { + #[prost(message, optional, tag = "3")] + pub npoikehikdi: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eojijhakhgl { + #[xor(5571)] + #[prost(int32, tag = "6")] + pub kbhigbiigjl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(448)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iaeommlemie { + #[xor(16102)] + #[prost(uint32, tag = "15")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Amjjiobaojd { + #[xor(9012)] + #[prost(int32, tag = "7")] + pub gmkefankfid: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcohakpefbd { + #[prost(message, optional, tag = "1")] + pub uid: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub apacdkacfnd: ::core::option::Option, + #[prost(bool, tag = "3")] + pub pojlkefjmjd: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pfahkekjgii { + #[xor(135)] + #[prost(uint32, tag = "2")] + pub ndakokjhpob: u32, + #[xor(9590)] + #[prost(uint32, tag = "15")] + pub mfilfedocfe: u32, + #[prost(bool, tag = "12")] + pub noickcmndfd: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jcljaocaioc { + #[prost(enumeration = "Oanomcnedbb", tag = "1")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8002)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkjjnomniom { + #[xor(13273)] + #[prost(uint32, tag = "12")] + pub aeicekmldco: u32, + #[xor(8893)] + #[prost(uint32, tag = "1")] + pub buddy_id: u32, + #[prost(message, optional, tag = "6")] + pub hjhokobhgap: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpjfigjdgif { + #[prost(uint32, repeated, tag = "3")] + pub dgbdkipjmad: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub dgdgiibpjlb: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "11")] + pub hdjbeagfkgm: bool, + #[prost(uint32, repeated, tag = "14")] + pub jbfifgefkam: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub mnhckepgnak: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5832)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofdebggnhdi { + #[prost(message, repeated, tag = "10")] + pub aoppojcdgge: ::prost::alloc::vec::Vec, + #[xor(3183)] + #[prost(uint32, tag = "1")] + pub gdilallmifb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhibffoadjo { + #[prost(message, optional, tag = "1")] + pub hfgdjcfhokn: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub pjneiaehofa: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub aalfnnmbodk: ::core::option::Option, + #[prost(bool, tag = "4")] + pub ghagdfabdci: bool, + #[prost(uint64, tag = "5")] + pub hkopdmjdgjj: u64, + #[prost(string, tag = "6")] + pub ajkghgbbhdc: ::prost::alloc::string::String, + #[prost(float, repeated, tag = "7")] + pub gcahklhomol: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjmddlgpgae { + #[prost(message, optional, tag = "1")] + pub quest_id: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub rank: ::core::option::Option, + #[prost(string, tag = "3")] + pub gjmpnjbgpln: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8135)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ejmadfoccdf { + #[xor(3907)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3338)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Igodphaegcm { + #[prost(message, repeated, tag = "2")] + pub ekmnlodgnpn: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub echndaoebdo: ::prost::alloc::vec::Vec, + #[xor(6038)] + #[prost(uint32, tag = "9")] + pub group: u32, + #[xor(15518)] + #[prost(uint32, tag = "13")] + pub hlhdopobaoc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cbhehmdfhon { + #[prost(int32, tag = "1")] + pub mgkoacfjjea: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iegaagmjooh { + #[xor(9063)] + #[prost(uint32, tag = "9")] + pub hjcanegmain: u32, + #[prost(bool, tag = "13")] + pub gdnhpkjphei: bool, + #[prost(string, tag = "11")] + pub nick_name: ::prost::alloc::string::String, + #[xor(1365)] + #[prost(uint32, tag = "1")] + pub uid: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnpnmnamcld { + #[prost(uint32, repeated, tag = "1656")] + pub dlkblepobbb: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub fjkcbmnhphk: ::core::option::Option, + #[prost(uint32, repeated, tag = "6")] + pub aomeeiaiinm: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub kknjnklmegf: ::core::option::Option, + #[prost(message, optional, tag = "1")] + pub lcpnfbmjeda: ::core::option::Option, + #[xor(11873)] + #[prost(uint32, tag = "14")] + pub quest_type: u32, + #[prost(message, optional, tag = "5")] + pub okcdcebdjac: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub kjamgdpfape: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub aekabohmdoh: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub ijkbiehfcnj: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub ljkealkaojl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FairyInfo { + #[prost(message, optional, tag = "8")] + pub ekpikccfkli: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub ijpdgnaikng: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub inibmahgdgf: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub pagiglmdpog: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub njopeeigdhj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kaaikogokdp {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fbpkbopemnp { + #[prost(message, optional, tag = "11")] + pub level_perform_info: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub pheaeeecdmg: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub level_reward_info: ::core::option::Option, + #[xor(7871)] + #[prost(uint32, tag = "6")] + pub kocafnbpjpb: u32, + #[xor(14963)] + #[prost(uint32, tag = "7")] + pub bbiidnnlech: u32, + #[xor(5689)] + #[prost(uint32, tag = "12")] + pub appdgchopfd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmdgpdcnncp { + #[prost(message, optional, tag = "1")] + pub section: ::core::option::Option, + #[prost(enumeration = "Njpmialmhfc", tag = "2")] + pub oghhknjmfok: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7931)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ockdehibgdl { + #[prost(message, repeated, tag = "9")] + pub ogmldhpfgac: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Albdmgndnej { + #[prost(message, optional, tag = "1")] + pub dcpnffhjklk: ::core::option::Option, + #[prost(enumeration = "Pmoflpfgmmj", tag = "2")] + pub canecpnekha: i32, + #[prost(oneof = "albdmgndnej::Lkdbeecbglo", tags = "3, 4, 5, 6")] + pub lkdbeecbglo: ::core::option::Option, +} +/// Nested message and enum types in `ALBDMGNDNEJ`. +pub mod albdmgndnej { + #[derive(yanagi_proto_derive::CmdID)] + #[derive(yanagi_proto_derive::XorFields)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Lkdbeecbglo { + #[prost(float, tag = "3")] + FloatValue(f32), + #[prost(string, tag = "4")] + StringValue(::prost::alloc::string::String), + #[prost(int32, tag = "5")] + IntValue(i32), + #[prost(uint32, tag = "6")] + UintValue(u32), + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8116)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pffbjfonoho { + #[prost(message, repeated, tag = "12")] + pub dgcfmjnljgg: ::prost::alloc::vec::Vec, + #[xor(4666)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1403)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ekjmlkhcjho { + #[xor(8865)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iplblhdpemj { + #[prost(message, repeated, tag = "12")] + pub dilbgabjmkk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jomlolpfkjj { + #[prost(message, repeated, tag = "1")] + pub pgllcnpaikk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pijlilnekbk { + #[prost(enumeration = "Onilaijofmd", tag = "6")] + pub eoahfahogci: i32, + #[xor(2965)] + #[prost(int32, tag = "12")] + pub dilejiikfhk: i32, + #[prost(enumeration = "Epeldhjlkbl", tag = "7")] + pub jhplgoffljm: i32, + #[xor(12267)] + #[prost(int32, tag = "3")] + pub ooanpildcjl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4721)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akfkkbmokjb { + #[prost(map = "int32, int32", tag = "2")] + pub main_city_objects_state: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3127)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nllknbbgkbb { + #[prost(message, repeated, tag = "6")] + pub adipeiaaohn: ::prost::alloc::vec::Vec, + #[xor(2123)] + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(bool, tag = "9")] + pub jhlfgmkgfhm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epogpbdaaok { + #[prost(message, repeated, tag = "1")] + pub fckhpamjkbn: ::prost::alloc::vec::Vec, + #[prost(enumeration = "HollowEntityType", tag = "2")] + pub hjgplbikppk: i32, + #[prost(message, repeated, tag = "3")] + pub ooicblaegij: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub igpbdhdnmkm: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub oineedgbfon: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub pleppbigime: ::core::option::Option, + #[prost(enumeration = "Dklgniaakji", tag = "7")] + pub jhooeobinia: i32, + #[prost(message, optional, tag = "8")] + pub dhiafbkblhc: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub cfhmigfkadg: ::core::option::Option, + #[prost(bool, tag = "10")] + pub hjljochckpe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dhgnhipbhin { + #[xor(9772)] + #[prost(uint32, tag = "7")] + pub dpcajiokfbh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mghpjaakhkj { + #[xor(5298)] + #[prost(uint32, tag = "10")] + pub template_id: u32, + #[xor(14328)] + #[prost(int64, tag = "7")] + pub kggpcmomkbp: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6393)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lfkcbijeajp {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TrashbinHermitData { + #[prost(message, repeated, tag = "10")] + pub ieploccockn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8107)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nicfdcpmbje { + #[xor(5631)] + #[prost(int64, tag = "10")] + pub chhhmffbbbp: i64, + #[xor(8055)] + #[prost(int32, tag = "12")] + pub akacgpjilpb: i32, + #[xor(15065)] + #[prost(int32, tag = "9")] + pub milapcoffdm: i32, + #[xor(7159)] + #[prost(int32, tag = "5")] + pub perform_type: i32, + #[xor(5243)] + #[prost(int32, tag = "13")] + pub nkkeakaghmo: i32, + #[xor(5612)] + #[prost(int32, tag = "4")] + pub aeneofhndfa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkkejgadkdg { + #[prost(message, repeated, tag = "1")] + pub obklfdideae: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phaanaambaj { + #[prost(message, repeated, tag = "1")] + pub gffoejhfblb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eennnmiicgm {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7969)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjajlemjdif { + #[xor(810)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(6066)] + #[prost(uint64, tag = "14")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dcpninoefni { + #[prost(uint32, tag = "1")] + pub ggmahjkcmng: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3665)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpfahfhnheo { + #[prost(message, optional, tag = "13")] + pub eojbmmmlbmh: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7512)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgochjenikk { + #[prost(message, optional, tag = "8")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "1")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(10042)] + #[prost(uint64, tag = "2")] + pub fkcdkdiacni: u64, + #[xor(8334)] + #[prost(uint64, tag = "14")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hplldohfcjg { + #[prost(message, optional, tag = "13")] + pub cafe_data: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(602)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfmiooknfel { + /// VMP DETECTED + /// + #[xor(5082)] + #[prost(int32, tag = "4")] + pub lkbhcnfbnlo: i32, + #[prost(string, tag = "6")] + pub ekppdkdkibj: ::prost::alloc::string::String, + #[xor(8661)] + #[prost(int32, tag = "10")] + pub params: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iknnnekmjlh { + #[prost(message, repeated, tag = "2")] + pub nkmelimaeda: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8382)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jalmdkaicoa { + #[prost(message, optional, tag = "6")] + pub caolobaabbn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6474)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pjdncmalkan { + #[xor(2483)] + #[prost(uint32, tag = "6")] + pub iahpcojelin: u32, + #[xor(8818)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8079)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct PlayerTransactionCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2959)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cebciemhafm { + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub info: ::core::option::Option, + #[xor(11289)] + #[prost(uint64, tag = "5")] + pub fdfjcoccaoa: u64, + #[xor(6563)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcbbophklec { + #[prost(message, optional, tag = "1")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(bool, tag = "2")] + pub fgehepdgdjh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Apcepieneeg { + #[xor(14937)] + #[prost(uint32, tag = "15")] + pub kfobnfboaoi: u32, + #[xor(1345)] + #[prost(int64, tag = "1")] + pub kggpcmomkbp: i64, + #[prost(bool, tag = "14")] + pub gjfhobkjnki: bool, + #[prost(bool, tag = "9")] + pub hjkchjkappl: bool, + #[prost(bool, tag = "10")] + pub mphngammbdm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnpcogfpmme { + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActionInfo { + #[xor(11876)] + #[prost(uint32, tag = "3")] + pub cinlamkghbj: u32, + #[prost(bytes = "vec", tag = "2")] + pub body: ::prost::alloc::vec::Vec, + #[prost(enumeration = "ActionType", tag = "11")] + pub action_type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgaepoahoib { + #[prost(enumeration = "Odonpppeeik", tag = "1")] + pub r#type: i32, + #[prost(string, tag = "2")] + pub mgjdcahcpfa: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub position: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8626)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Joaofdnjagb { + #[prost(uint32, repeated, tag = "9")] + pub iokmnhfmblk: ::prost::alloc::vec::Vec, + #[xor(7040)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oeinkiodhjb { + #[prost(string, tag = "1")] + pub appdnhldamm: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub dedkcldjeke: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub kmfjeamdebl: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub cgeebgpljnh: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhfhhhkamna { + #[xor(10003)] + #[prost(uint32, tag = "10")] + pub kdifkmdkbaf: u32, + #[prost(uint32, repeated, tag = "1")] + pub jooalimiafg: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub olcjklbegoh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kpbgffabkog { + #[prost(int32, tag = "1")] + pub ganojbldgcj: i32, + #[prost(int32, tag = "2")] + pub magebminojc: i32, + #[prost(int32, tag = "3")] + pub nohgmjogfjl: i32, + #[prost(int32, tag = "4")] + pub ichdhhodhdi: i32, + #[prost(message, optional, tag = "5")] + pub dpeflkffjjd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eadmjcdebna { + #[xor(8932)] + #[prost(int32, tag = "13")] + pub level: i32, + #[xor(5894)] + #[prost(int32, tag = "9")] + pub mnknfdcifbm: i32, + #[xor(3914)] + #[prost(int32, tag = "14")] + pub ggjfklmbkmf: i32, + #[xor(3694)] + #[prost(int32, tag = "15")] + pub gbhhajlacmg: i32, + #[xor(5951)] + #[prost(int32, tag = "5")] + pub bkdpcjpombl: i32, + #[xor(10448)] + #[prost(int32, tag = "1")] + pub bcbplpdpkfk: i32, + #[xor(6881)] + #[prost(int32, tag = "11")] + pub gpblninblge: i32, + #[xor(11312)] + #[prost(int32, tag = "1622")] + pub phoiflbkjme: i32, + #[xor(6459)] + #[prost(int32, tag = "6")] + pub bcddjbailgd: i32, + #[prost(float, tag = "8")] + pub time: f32, + #[xor(9571)] + #[prost(uint32, tag = "3")] + pub eedkkdadncg: u32, + #[xor(3774)] + #[prost(int32, tag = "10")] + pub pdfegpaaopk: i32, + #[xor(6454)] + #[prost(int32, tag = "4")] + pub opbannndmdp: i32, + #[prost(message, repeated, tag = "7")] + pub ieploccockn: ::prost::alloc::vec::Vec, + #[xor(15036)] + #[prost(int32, tag = "12")] + pub fmbgjionldc: i32, + #[xor(1492)] + #[prost(int32, tag = "262")] + pub kdbkfgbfbfd: i32, + #[xor(6427)] + #[prost(int32, tag = "1435")] + pub ajehkjldjml: i32, + #[xor(11660)] + #[prost(int32, tag = "2")] + pub iiilokpdmhd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ankeaeglnen { + #[prost(message, optional, tag = "1")] + pub quest_id: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hmmneikfple: ::core::option::Option, + #[prost(bool, tag = "3")] + pub kppdlmnogpa: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3775)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Npefpibpjlj { + #[xor(8503)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mmlinlbpapj {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Picocdookgk { + #[prost(int32, tag = "1")] + pub bgbjnicnjja: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fiembfidojo { + #[prost(message, optional, tag = "1")] + pub ajbhcenjend: ::core::option::Option, + #[prost(enumeration = "Lojnhkgdbch", tag = "2")] + pub r#type: i32, + #[prost(message, optional, tag = "3")] + pub aaehfebimmn: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub ngngfldbpjc: ::core::option::Option, + #[prost(map = "string, message", tag = "5")] + pub klpdligdhfc: ::std::collections::HashMap< + ::prost::alloc::string::String, + Jiahalkoppm, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lnfmgainjec {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Laeohojjkoo { + #[prost(message, optional, tag = "2")] + pub hjpjjjmnfji: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub ijkbiehfcnj: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub baelcfjabof: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub gekjimlcbeg: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub ebeeiblohpb: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Opkigmfging { + #[xor(280)] + #[prost(uint32, tag = "10")] + pub liojcbaafek: u32, + #[xor(13532)] + #[prost(uint32, tag = "13")] + pub oekdlbffoia: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdmlnakknch { + #[prost(message, optional, tag = "1")] + pub cbjfjabgmme: ::core::option::Option, + #[prost(string, tag = "2")] + pub aiaehjkgelm: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub fbbokadmbci: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub ekggapncggo: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub bifpjpnokci: ::prost::alloc::string::String, + #[prost(enumeration = "Pcekojidped", tag = "6")] + pub ekbfgknccph: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iahilmcdchb { + #[prost(message, optional, tag = "1")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "2")] + pub odnpbhepnoa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjpmehdlcpk { + #[prost(map = "uint32, message", tag = "2")] + pub lhnfdnbcooa: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "7")] + pub apicjnlkpki: ::std::collections::HashMap, + #[prost(message, optional, tag = "12")] + pub agplopkfcfp: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfnlnclckch { + #[prost(message, repeated, tag = "3")] + pub pannghaphgj: ::prost::alloc::vec::Vec, + #[xor(13317)] + #[prost(uint32, tag = "15")] + pub kpfdcfehhnc: u32, + #[xor(2616)] + #[prost(uint32, tag = "9")] + pub cedlhopnkpd: u32, + #[prost(bool, tag = "8")] + pub bmhccllndpe: bool, + #[xor(6737)] + #[prost(uint32, tag = "2")] + pub lfdijgkkmdp: u32, + #[xor(6290)] + #[prost(int64, tag = "7")] + pub digblcoafeb: i64, + #[prost(string, tag = "1")] + pub nalafejpbng: ::prost::alloc::string::String, + #[xor(4492)] + #[prost(uint32, tag = "6")] + pub jmcgfhdplje: u32, + #[xor(14537)] + #[prost(int64, tag = "1258")] + pub mcpmobeikhc: i64, + #[xor(1497)] + #[prost(int32, tag = "5")] + pub oolelhbjfgb: i32, + #[xor(2899)] + #[prost(uint32, tag = "11")] + pub pieojkddnil: u32, + #[prost(string, tag = "4")] + pub kaipcimdfjc: ::prost::alloc::string::String, + #[prost(string, tag = "557")] + pub ncehjdcimfe: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "1058")] + pub gohhgfpcgfd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub bpfcjlccanf: ::prost::alloc::vec::Vec, + #[prost(string, tag = "14")] + pub leobeegkmeg: ::prost::alloc::string::String, + #[prost(bool, tag = "13")] + pub ilikllnocoa: bool, + #[xor(5760)] + #[prost(uint32, tag = "1430")] + pub cahfcjcapbd: u32, + #[xor(3047)] + #[prost(int32, tag = "640")] + pub pbbflbcagnj: i32, + #[prost(bool, tag = "10")] + pub kjfbdcalkgc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6308)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bdafhiklnpf { + #[xor(5247)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8908)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plmmihmkkpb { + #[prost(map = "string, int32", tag = "2")] + pub goboafhnfak: ::std::collections::HashMap<::prost::alloc::string::String, i32>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mhfoaooialn {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iijcdepnpff { + #[xor(727)] + #[prost(uint32, tag = "4")] + pub bfoalbadljl: u32, + #[xor(1380)] + #[prost(uint32, tag = "10")] + pub dlpjmdlcigp: u32, + #[prost(uint32, repeated, tag = "5")] + pub mhgaaficokb: ::prost::alloc::vec::Vec, + #[xor(7962)] + #[prost(uint32, tag = "12")] + pub phcbebaelmf: u32, + #[prost(message, repeated, tag = "2")] + pub odfecpphheb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub cpgflkfiglb: ::prost::alloc::vec::Vec, + #[xor(10703)] + #[prost(int32, tag = "13")] + pub pljgoabaknj: i32, + #[prost(message, repeated, tag = "15")] + pub cfhinildiph: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdjphinlbko { + #[prost(message, repeated, tag = "1")] + pub delbgoehhop: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8228)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Infbabmfkfj { + #[xor(1888)] + #[prost(uint32, tag = "2")] + pub r#type: u32, + #[xor(8288)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[xor(15199)] + #[prost(uint32, tag = "5")] + pub bhlkkamefen: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1629)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcipcnkfeia { + #[xor(368)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(1415)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "6")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7685)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetAbyssArpeggioDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ejfgpieeafm { + #[prost(int32, tag = "1")] + pub khfaedhifji: i32, + #[prost(int32, tag = "2")] + pub opbedjjadnb: i32, + #[prost(int32, tag = "3")] + pub icoehgohboi: i32, + #[prost(int32, tag = "4")] + pub ofldkbiifpf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6785)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ipbiokikfpp { + #[xor(4492)] + #[prost(uint32, tag = "2")] + pub bcjdmidklll: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clednepgoag { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(string, tag = "2")] + pub lcljjhpcdca: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub booilddffge: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub sign: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Menpadcdpcm {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dlfcfcamjen { + #[xor(719)] + #[prost(uint32, tag = "11")] + pub fimdcbogmnh: u32, + #[xor(11184)] + #[prost(int64, tag = "8")] + pub kggpcmomkbp: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbfddhjfhae { + #[prost(message, optional, tag = "1")] + pub hcnbjkelagn: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hfgdjcfhokn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jahbpodecbd { + #[prost(int32, repeated, tag = "3")] + pub oikdodmelhg: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "4")] + pub llfebmbdipi: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "7")] + pub abmoknaboln: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "10")] + pub hbdbokmdjda: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "13")] + pub dipgmpjajmh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub jacmcjchjhh: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "15")] + pub ipofmfhpaog: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijebimngkgo { + #[prost(string, tag = "1")] + pub klbdiammibf: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub bddlconiggl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfdppgmfemc { + #[prost(uint32, tag = "1")] + pub gfaocaogodb: u32, + #[prost(uint32, tag = "2")] + pub tag: u32, + #[prost(int64, tag = "3")] + pub hgcncnmjeob: i64, + #[prost(message, optional, tag = "4")] + pub iiocecjgbnb: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Plneemhchpp { + #[prost(message, optional, tag = "10")] + pub obgejnhbfca: ::core::option::Option, + #[xor(3427)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flehmlpmaph { + #[prost(uint32, repeated, tag = "10")] + pub ilcbolchgjl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub lmmliocngnn: ::prost::alloc::vec::Vec, + #[xor(4704)] + #[prost(uint32, tag = "3")] + pub nmalldnjoca: u32, + #[xor(2450)] + #[prost(uint32, tag = "6")] + pub bbjildlnhgm: u32, + #[prost(map = "uint32, message", tag = "13")] + pub pikaekchpin: ::std::collections::HashMap, + #[prost(bool, tag = "14")] + pub ecoighmkooc: bool, + #[xor(7213)] + #[prost(uint32, tag = "7")] + pub pgcibkopoib: u32, + #[prost(bool, tag = "9")] + pub onoopddmbei: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8155)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ahnhnomhlik { + #[prost(enumeration = "Pckilpbdcgf", tag = "13")] + pub r#type: i32, + #[xor(11287)] + #[prost(int32, tag = "3")] + pub lfgefjplima: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5014)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gmendgdfihn { + #[xor(5941)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3069)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjjojlgdakc { + #[xor(13853)] + #[prost(uint64, tag = "4")] + pub fkcdkdiacni: u64, + #[xor(7506)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "12")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(393)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gaejdpbgolo { + #[xor(13633)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nhgfmhjfghi { + #[prost(uint32, tag = "1")] + pub kedlgoakhld: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9791)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gefnaeohfna { + #[prost(bool, tag = "1")] + pub has_mystical_spice: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3479)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ondiffilekb {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eihkiidboci { + #[prost(uint32, tag = "1")] + pub opghfklilnn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7651)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehkglmjgipm { + #[prost(bool, tag = "7")] + pub diinckmjfhl: bool, + #[xor(9148)] + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(message, repeated, tag = "5")] + pub echeffjdglj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2597)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkedpnnammk { + #[prost(string, tag = "14")] + pub koodcejjflh: ::prost::alloc::string::String, + #[xor(13258)] + #[prost(uint32, tag = "9")] + pub pkjdkdfcplh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1056)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ljfbeggphlg { + #[xor(10389)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(362)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetEmbattlesDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khgbnppnjeb { + #[prost(message, optional, tag = "1")] + pub ggmahjkcmng: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djkjmjkpifg { + #[prost(int32, repeated, tag = "1")] + pub ljcebenngpl: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub lalphjplngn: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5671)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehbjcndcaca { + #[prost(uint32, repeated, tag = "10")] + pub iokmnhfmblk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneUnitProtocolInfo { + #[xor(5909)] + #[prost(uint32, tag = "1")] + pub hfgiknjfpgf: u32, + #[prost(bool, tag = "8")] + pub joodhcbindj: bool, + #[xor(10631)] + #[prost(uint32, tag = "9")] + pub npc_id: u32, + #[prost(bool, tag = "15")] + pub is_interactable: bool, + #[prost(map = "uint32, message", tag = "14")] + pub interacts_info: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mlhifmkchgb { + #[xor(6922)] + #[prost(int32, tag = "6")] + pub lckjolhaplk: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Niecogjabog { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub cdgbbapponm: ::core::option::Option, + #[prost(bool, tag = "3")] + pub khebfdaihah: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iekcidbmpnj { + #[xor(16082)] + #[prost(uint32, tag = "13")] + pub elmjeoklifp: u32, + #[prost(float, tag = "9")] + pub loiajmpmknc: f32, + #[prost(float, tag = "3")] + pub figogbadijd: f32, + #[xor(6349)] + #[prost(int32, tag = "8")] + pub hfgdjcfhokn: i32, + #[xor(3962)] + #[prost(uint32, tag = "2")] + pub hjmblhmakbf: u32, + #[xor(15313)] + #[prost(uint32, tag = "5")] + pub gannobhkbco: u32, + #[prost(float, tag = "4")] + pub ldbilhehinh: f32, + #[prost(float, tag = "12")] + pub odfodajmnjb: f32, + #[xor(8011)] + #[prost(uint64, tag = "6")] + pub lamijpneaao: u64, + #[xor(11475)] + #[prost(uint32, tag = "10")] + pub cbonfgffinh: u32, + #[xor(9024)] + #[prost(int32, tag = "1")] + pub dlcnmgpaoee: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mllenmcojnn { + #[prost(string, tag = "6")] + pub jholagfihbm: ::prost::alloc::string::String, + #[prost(bool, tag = "7")] + pub jaoppoehekh: bool, + #[prost(bool, tag = "8")] + pub efaipldeogp: bool, + #[prost(bool, tag = "9")] + pub lpkhknjmjhc: bool, + #[prost(bool, tag = "13")] + pub ifepnikndgl: bool, + #[prost(message, repeated, tag = "15")] + pub avatar_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(690)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bjplfedcgeo { + #[xor(1248)] + #[prost(uint32, tag = "8")] + pub nnpfbokhfil: u32, + #[xor(14510)] + #[prost(uint32, tag = "1")] + pub bmlgnlcbdon: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3088)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhjcabojngh { + #[prost(message, optional, tag = "2")] + pub lhigkfaedmc: ::core::option::Option, + #[xor(5277)] + #[prost(int32, tag = "9")] + pub retcode: i32, + #[xor(8033)] + #[prost(uint32, tag = "10")] + pub iahpcojelin: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjllkaolinf { + #[xor(10958)] + #[prost(uint32, tag = "2")] + pub hlhdopobaoc: u32, + #[prost(message, repeated, tag = "5")] + pub ekmnlodgnpn: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub echndaoebdo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnlpfjmimcl { + #[prost(enumeration = "Cnaookdijik", tag = "1")] + pub bhhdjkjomnf: i32, + #[prost(message, optional, tag = "2")] + pub pfjofckehoc: ::core::option::Option, + #[prost(map = "int32, message", tag = "3")] + pub gkakgjadeao: ::std::collections::HashMap, + #[prost(string, tag = "4")] + pub aknjmlgjleb: ::prost::alloc::string::String, + #[prost(double, tag = "5")] + pub agddcgingde: f64, + #[prost(string, tag = "7")] + pub fkihdjhgbdc: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub eibgmphpbfe: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "9")] + pub hhcenffkmik: ::prost::alloc::vec::Vec, + #[prost(string, tag = "10")] + pub fmagggjgmda: ::prost::alloc::string::String, + #[prost(message, optional, tag = "12")] + pub olhnfhfdfgj: ::core::option::Option, + #[prost(bytes = "vec", tag = "13")] + pub adchojfjgjn: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "14")] + pub cpikdoniddk: ::prost::alloc::vec::Vec, + #[prost(float, tag = "15")] + pub ianhccpdolj: f32, + #[prost(uint32, repeated, tag = "16")] + pub egnnigmmdcc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6927)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgadeagmdei { + #[prost(map = "uint32, message", tag = "5")] + pub mlloanabcip: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mnaagkcpeff { + #[prost(message, optional, tag = "11")] + pub hpdbnfibnag: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7677)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljehfeipeig { + #[xor(1561)] + #[prost(uint32, tag = "10")] + pub template_id: u32, + #[prost(uint32, repeated, tag = "3")] + pub djniholkbbo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1113)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lmpgibhfbbm { + #[prost(bool, tag = "10")] + pub bpjlaoiplio: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct AutoRecoveryInfo { + #[xor(5947)] + #[prost(int64, tag = "14")] + pub last_recovery_timestamp: i64, + #[xor(1735)] + #[prost(uint32, tag = "9")] + pub buy_times: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgbajmblpdh { + #[prost(message, repeated, tag = "13")] + pub pgkmmimfddl: ::prost::alloc::vec::Vec, + #[xor(2900)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmkkoofpion { + #[xor(11516)] + #[prost(uint32, tag = "6")] + pub ehgfmbpkeki: u32, + #[prost(string, tag = "3")] + pub ainpjoblpki: ::prost::alloc::string::String, + #[prost(message, optional, tag = "15")] + pub kgnmmiiengo: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub hkhgjgjednn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnfcdojfnhg { + #[prost(message, repeated, tag = "1")] + pub lphfkglhpii: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub lknhfnbiehg: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub gfelfdjebpa: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8372)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phljkihacfi { + #[xor(14157)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "12")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "15")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(5506)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9763)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oikcbbbcfah { + #[xor(13942)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2264)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Njgdcpkhcdg {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fekcgenkfbj { + #[xor(14689)] + #[prost(int32, tag = "11")] + pub bekokfaipdk: i32, + #[xor(7507)] + #[prost(uint64, tag = "1")] + pub kbcdlpmnoma: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(344)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Apamabcilgd { + #[xor(16103)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7843)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cgodmadkkan { + #[xor(12623)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(bool, tag = "2")] + pub efaipldeogp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aeldonfigco { + #[prost(message, repeated, tag = "13")] + pub behbfbgfhfm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgfagbigfch { + #[prost(enumeration = "Nkoahlbbkbh", tag = "1")] + pub canecpnekha: i32, + #[prost(string, tag = "2")] + pub iidnjcionhi: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub cikccnfbkgm: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub ndnmcihkgae: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Amkbiejjbpe { + #[prost(int32, tag = "1")] + pub akgopiaidof: i32, + #[prost(int32, tag = "2")] + pub ofkbfbdecof: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofddgjbjopd { + #[prost(bytes = "vec", tag = "2")] + pub ffinodhobbn: ::prost::alloc::vec::Vec, + #[prost(enumeration = "HollowEntityType", tag = "5")] + pub fkkbflokodb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnbmgefbfjp { + #[prost(string, repeated, tag = "1")] + pub pfomeahbdii: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1059)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gggbjkoomnm { + #[xor(11703)] + #[prost(uint32, tag = "6")] + pub mmkkepmmhga: u32, + #[xor(2238)] + #[prost(uint32, tag = "2")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gmdinholfef { + #[xor(14847)] + #[prost(int32, tag = "11")] + pub kbhigbiigjl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mfphjmobeen { + #[prost(enumeration = "Nppcheifbag", tag = "1")] + pub kmmblnlnkgo: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2344)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkanjpkmjlb { + #[prost(map = "uint32, uint32", tag = "8")] + pub djmmefoiifi: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3733)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetCharacterQuestListCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldeohcjoaii { + #[prost(int32, tag = "1")] + pub fobfhnajggd: i32, + #[prost(map = "string, int32", tag = "2")] + pub gpabcfjfaje: ::std::collections::HashMap<::prost::alloc::string::String, i32>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5356)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cempiidjlhp { + #[xor(3110)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iacclfnacee { + #[prost(message, repeated, tag = "8")] + pub aoppojcdgge: ::prost::alloc::vec::Vec, + #[xor(9936)] + #[prost(uint64, tag = "2")] + pub aldbmeomoni: u64, + #[prost(string, tag = "13")] + pub gnmdfhkbbfb: ::prost::alloc::string::String, + #[prost(enumeration = "Meadahndghd", tag = "14")] + pub cnmhmamcmpf: i32, + #[prost(int32, repeated, tag = "7")] + pub delbgoehhop: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "12")] + pub cdcdeiemcim: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, tag = "9")] + pub hnjjigdjkak: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1185)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Boaimeagdio { + #[xor(11014)] + #[prost(uint32, tag = "6")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nmgnmpmgmcm {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dpjochcflam { + #[xor(10460)] + #[prost(int32, tag = "15")] + pub inckomihlgo: i32, + #[xor(6336)] + #[prost(int32, tag = "2")] + pub hnijnpdambl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6967)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mjmbhedbhhi { + #[xor(11620)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, optional, tag = "1")] + pub dcpnffhjklk: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfgfhmjfbcf { + #[prost(message, repeated, tag = "1")] + pub hcpokbedpdj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1057)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hphgliladah { + #[xor(8905)] + #[prost(uint32, tag = "3")] + pub eempkedancd: u32, + #[xor(14824)] + #[prost(uint32, tag = "15")] + pub fiieiehipik: u32, + #[prost(enumeration = "Dclldobajin", tag = "7")] + pub hmndojdccae: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnjlpinfcje { + #[prost(message, repeated, tag = "4")] + pub pjcmmigacfm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub jeadobhnfle: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lamniipdagp { + #[prost(message, optional, tag = "4")] + pub popgkpkgcni: ::core::option::Option, + #[xor(11964)] + #[prost(int32, tag = "11")] + pub gbjdiknlbhj: i32, + #[prost(map = "int32, message", tag = "3")] + pub njgfpcccekm: ::std::collections::HashMap, + #[xor(3224)] + #[prost(int64, tag = "12")] + pub boomiolbiec: i64, + #[prost(message, optional, tag = "9")] + pub bkhhnickhib: ::core::option::Option, + #[xor(12733)] + #[prost(int32, tag = "2")] + pub dkbjeccegcl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7298)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpngbcmgihn { + #[xor(13983)] + #[prost(uint32, tag = "11")] + pub fdkfgbaegpa: u32, + #[prost(string, tag = "5")] + pub level: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub lcljjhpcdca: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8936)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eagmkkplcba { + #[prost(message, repeated, tag = "14")] + pub ngmkehfgjgl: ::prost::alloc::vec::Vec, + #[xor(6557)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ghikdoapgog { + #[prost(uint32, tag = "1")] + pub ibdnkblmiko: u32, + #[prost(uint32, tag = "2")] + pub meadlcdoajm: u32, + #[prost(uint32, tag = "3")] + pub avatar_plan_param2: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2430)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmnmdgpemfl { + #[xor(5931)] + #[prost(int32, tag = "3")] + pub deflkhmbikh: i32, + #[prost(map = "int32, int32", tag = "5")] + pub gmlkfeifpja: ::std::collections::HashMap, + #[prost(message, optional, tag = "6")] + pub lhbejkbkbfh: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EquipInfo { + #[xor(12245)] + #[prost(uint32, tag = "9")] + pub uid: u32, + #[prost(message, repeated, tag = "8")] + pub aibpkcpihnm: ::prost::alloc::vec::Vec, + #[xor(6950)] + #[prost(uint32, tag = "3")] + pub template_id: u32, + #[xor(8490)] + #[prost(uint32, tag = "11")] + pub exp: u32, + #[prost(bool, tag = "12")] + pub lock: bool, + #[prost(bool, tag = "10")] + pub fcnfkibbleo: bool, + #[xor(7663)] + #[prost(uint32, tag = "14")] + pub level: u32, + #[prost(message, repeated, tag = "7")] + pub lkacilheenk: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "15")] + pub ofnndcbigpk: bool, + #[xor(7596)] + #[prost(uint32, tag = "2")] + pub star: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hlmdcafnjok {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idpoainnnnd { + #[prost(message, optional, tag = "1")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub fiieiehipik: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub njgfhhihdgg: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub aknpfalliba: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Jpnihhbgepd", tag = "5")] + pub odnpbhepnoa: i32, + #[prost(message, repeated, tag = "6")] + pub phfmldbanbl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dehgkchheef { + #[prost(message, repeated, tag = "1")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub lnefagfhogi: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4852)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bemblikfapc { + #[prost(message, optional, tag = "8")] + pub info: ::core::option::Option, + #[xor(13451)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "4")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(2745)] + #[prost(uint64, tag = "13")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljommdoioij { + #[prost(message, repeated, tag = "6")] + pub nkmelimaeda: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgonplllidh { + #[prost(string, tag = "1")] + pub pbgbankgcbd: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mkfbfbddjhh { + #[xor(3066)] + #[prost(int32, tag = "1")] + pub fpjmmaabhec: i32, + #[xor(10719)] + #[prost(uint32, tag = "12")] + pub hkopdmjdgjj: u32, + #[xor(2216)] + #[prost(uint32, tag = "3")] + pub lhbejkbkbfh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(17)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bonmacfjdea { + #[xor(7211)] + #[prost(uint32, tag = "14")] + pub kiimnlmbjkc: u32, + #[xor(15552)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(message, repeated, tag = "11")] + pub adkdllimgbk: ::prost::alloc::vec::Vec, + #[xor(5222)] + #[prost(uint32, tag = "8")] + pub cefnpbhncdp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kchegdefdod { + #[prost(bool, tag = "1")] + pub fkhfkbihkhc: bool, + #[prost(uint32, tag = "2")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Llgdhlngfoj { + #[xor(10219)] + #[prost(uint32, tag = "7")] + pub ijpecfanlla: u32, + #[xor(11464)] + #[prost(uint32, tag = "10")] + pub dneggiegdop: u32, + #[xor(12280)] + #[prost(int64, tag = "6")] + pub mcpmobeikhc: i64, + #[prost(bool, tag = "3")] + pub mgalbablnjk: bool, + #[xor(13587)] + #[prost(int64, tag = "15")] + pub ldgpffiabcf: i64, + #[xor(4279)] + #[prost(uint32, tag = "12")] + pub hfgeippbdee: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Afiijcdpkbo {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2065)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Neienkpffmb { + #[prost(message, repeated, tag = "5")] + pub olkjcopaamo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jpkkllhdanb { + #[prost(uint32, tag = "1")] + pub aamgiifpmpo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cgadfinajhn { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(180)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Efpiachekna { + #[xor(9667)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnhganmhchl { + #[prost(message, optional, tag = "1")] + pub dpeflkffjjd: ::core::option::Option, + #[prost(enumeration = "Oeelgfebacd", tag = "2")] + pub hnijnpdambl: i32, + #[prost(bool, tag = "3")] + pub kegmiahljof: bool, + #[prost(bool, tag = "4")] + pub fcnjcofacdj: bool, + #[prost(message, optional, tag = "5")] + pub eklhdkeneea: ::core::option::Option, + #[prost(bool, tag = "6")] + pub fpbfmiaoaon: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gligoajmckb {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7906)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Agfecdcdbfm { + #[xor(16106)] + #[prost(uint32, tag = "7")] + pub bahoejfgbkd: u32, + #[xor(5774)] + #[prost(uint32, tag = "10")] + pub mlcpadgnnaa: u32, + #[xor(5903)] + #[prost(uint32, tag = "5")] + pub ohacekocohk: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6657)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieafdlflodl { + #[prost(message, repeated, tag = "12")] + pub delbgoehhop: ::prost::alloc::vec::Vec, + #[xor(8556)] + #[prost(uint32, tag = "3")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3402)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dbmbdekaoap { + #[xor(8449)] + #[prost(uint64, tag = "12")] + pub gglnpjfcibj: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jchleamdmke { + #[xor(4465)] + #[prost(int32, tag = "10")] + pub pcepcnocclg: i32, + #[xor(2249)] + #[prost(int32, tag = "13")] + pub ahdbalhodda: i32, + #[xor(4564)] + #[prost(int32, tag = "12")] + pub bijoiecgeci: i32, + #[xor(16269)] + #[prost(int32, tag = "1")] + pub count: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nljeicibnpi { + #[prost(message, optional, tag = "1")] + pub fcfbjmhjpjg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bigmeefegpp { + #[prost(enumeration = "HollowGridLink", tag = "1")] + pub bdhdkglgljb: i32, + #[prost(message, optional, tag = "2")] + pub pefnehdfdmj: ::core::option::Option, + #[prost(bytes = "vec", tag = "3")] + pub dlloajjlkhc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub fophkbmfaal: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "5")] + pub olpmdmbgpfk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6555)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gheldooohkj { + #[prost(bool, tag = "5")] + pub ofnndcbigpk: bool, + #[xor(7278)] + #[prost(uint32, tag = "4")] + pub jkhpachcfgh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1885)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hafeapopgea { + #[xor(3010)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7100)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ejffindbomh { + #[xor(2193)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hiaofcadmop { + #[prost(message, optional, tag = "1")] + pub gnkebpblhga: ::core::option::Option, + #[prost(int64, tag = "2")] + pub likbkmmmonf: i64, + #[prost(string, tag = "3")] + pub nbhmladoiha: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nphckejpngn { + #[prost(uint32, repeated, tag = "7")] + pub bcbiegljhkc: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub ffnhdpepfni: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "10")] + pub ldaocbmaklc: ::std::collections::HashMap, + #[prost(message, repeated, tag = "12")] + pub benmddcljbi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nccagpendbh { + #[prost(string, tag = "1")] + pub hmabhnlgddi: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ecjhgcdfnio { + #[xor(6463)] + #[prost(int32, tag = "3")] + pub ddcnjgiklbp: i32, + #[xor(15942)] + #[prost(int32, tag = "2")] + pub ggdkhpplobj: i32, + #[xor(13244)] + #[prost(int32, tag = "10")] + pub lamomhanken: i32, + #[xor(4283)] + #[prost(int32, tag = "4")] + pub lhgmkeminbn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1055)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdipbpbhllk { + #[xor(11292)] + #[prost(uint32, tag = "11")] + pub group: u32, + #[prost(uint32, repeated, tag = "9")] + pub bcnhoghbcfk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3978)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Phgeccjcpif { + #[xor(11300)] + #[prost(uint32, tag = "13")] + pub gcnenlcnlfd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8042)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efkmcckgldm { + #[xor(13318)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(map = "string, string", tag = "7")] + pub pbpjpldmlmh: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2717)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Behnjoobboc { + #[xor(10570)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kafnggcfifo { + #[prost(uint32, repeated, tag = "3")] + pub jdekjlcnabb: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub scene_unit_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afnhdajgndo { + #[prost(uint32, repeated, tag = "10")] + pub fabeggjpeph: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub fkbekdapdbi: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub ndipbgfjllj: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub pgmgnfpefhj: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub geeopfhmlpj: ::core::option::Option, + #[xor(12479)] + #[prost(uint32, tag = "4")] + pub ghifdkelobe: u32, + #[prost(bool, tag = "1")] + pub lock: bool, + #[prost(message, optional, tag = "6")] + pub aldcjgociim: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub afgafinmoln: ::core::option::Option, + #[prost(message, optional, tag = "1776")] + pub ihlaopboomc: ::core::option::Option, + #[prost(bool, tag = "13")] + pub dgdedicmepk: bool, + #[prost(message, optional, tag = "3")] + pub lbeaeajccjc: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub mcioofbppon: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "1595")] + pub ppgdfbaagdj: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub oblejhdjnao: ::core::option::Option, + #[prost(message, repeated, tag = "11")] + pub gffoejhfblb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oppakippahg { + #[prost(uint32, repeated, tag = "6")] + pub kndifkcmgcm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ogpjjfhkihb {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3801)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hanakadakgj { + #[xor(15752)] + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[prost(bool, tag = "10")] + pub pbehkahplpc: bool, + #[xor(8271)] + #[prost(uint32, tag = "2")] + pub skill_type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dnenpdlgjdn { + #[prost(uint32, tag = "1")] + pub fiieiehipik: u32, + #[prost(uint32, tag = "2")] + pub ieacoaekljj: u32, + #[prost(uint32, tag = "3")] + pub jdkifgmpnlo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bmfphfadjij {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ihggobcjmah { + #[xor(7581)] + #[prost(int32, tag = "15")] + pub iechioocfjh: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npcedbkdcej { + #[prost(uint32, repeated, tag = "9")] + pub kfkjgmehome: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub kkpddeljcpm: ::prost::alloc::vec::Vec, + #[xor(10590)] + #[prost(uint32, tag = "13")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oknnfccgelf { + #[prost(enumeration = "Hknnkhajgen", tag = "1")] + pub kmmblnlnkgo: i32, + #[prost(uint32, tag = "2")] + pub gnjlbnapgcb: u32, + #[prost(int32, repeated, tag = "3")] + pub hobnpobcban: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hafhgdfiljh { + #[prost(string, tag = "1")] + pub fhmonjfoall: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub pjmopnoohdo: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Leegdepkbij { + #[prost(uint32, tag = "1")] + pub template_id: u32, + #[prost(enumeration = "Fjnapbnacpo", tag = "1000")] + pub nnmfhokflji: i32, + #[prost(message, optional, tag = "1001")] + pub fioaoclnnnp: ::core::option::Option<::prost_types::Any>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8721)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbilkciablh { + #[xor(12281)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, + #[xor(6933)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "2")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nologfehhig { + #[prost(int32, tag = "1")] + pub owner_type: i32, + #[prost(string, tag = "2")] + pub gbmipccfjmg: ::prost::alloc::string::String, + #[prost(enumeration = "Lbgflegfilm", tag = "3")] + pub mlhlemmgmii: i32, + #[prost(string, tag = "4")] + pub nacjcapcpab: ::prost::alloc::string::String, + #[prost(bool, tag = "5")] + pub kkmnocdjgha: bool, + #[prost(int32, tag = "6")] + pub nhpcmniaehc: i32, + #[prost(double, tag = "7")] + pub fmmebmlfgek: f64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3332)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kkhpncbingl {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Namimljldaf { + #[prost(bool, tag = "1")] + pub dcmikaacihk: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GachaData { + #[xor(2245)] + #[prost(uint32, tag = "15")] + pub hphdhpblaok: u32, + #[prost(message, optional, tag = "2")] + pub kmnpmimalkd: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub niaimbhchjc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6717)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olgglaplmif { + #[prost(message, optional, tag = "13")] + pub ejihoefielc: ::core::option::Option, + #[xor(3262)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejlbhgiaool { + #[xor(5920)] + #[prost(uint32, tag = "14")] + pub nlfcgpnfohh: u32, + #[xor(1227)] + #[prost(uint32, tag = "5")] + pub jjjppkiidpd: u32, + #[prost(message, repeated, tag = "6")] + pub idlgldikhak: ::prost::alloc::vec::Vec, + #[xor(9698)] + #[prost(uint32, tag = "2")] + pub kleoielhfpc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhhbnjbpflo { + #[prost(message, repeated, tag = "12")] + pub dcidamiipac: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(351)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Miljcgaidip { + #[prost(message, optional, tag = "14")] + pub oocflbncjhd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2805)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kofinhnmjei { + #[xor(2052)] + #[prost(int32, tag = "9")] + pub retcode: i32, + #[xor(4956)] + #[prost(int32, tag = "2")] + pub iahpcojelin: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7866)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdomljahebh { + #[prost(message, repeated, tag = "12")] + pub chhegaecdoj: ::prost::alloc::vec::Vec, + #[xor(960)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hmcbiinjmkf {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5617)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcheodilbdf { + #[xor(2942)] + #[prost(uint32, tag = "8")] + pub iahndgkfaad: u32, + #[xor(3415)] + #[prost(uint32, tag = "3")] + pub efpckpnefdc: u32, + #[prost(uint32, repeated, tag = "10")] + pub lchnaekbmoa: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub mfnfoaenijk: ::prost::alloc::vec::Vec, + #[xor(8484)] + #[prost(int32, tag = "7")] + pub retcode: i32, + #[xor(11017)] + #[prost(uint32, tag = "9")] + pub group: u32, + #[xor(7510)] + #[prost(uint32, tag = "2")] + pub lldffgbhppj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1135)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ejenjgdcaho { + #[xor(32)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkfanoekfbk { + #[prost(message, optional, tag = "1")] + pub aapbacnflhg: ::core::option::Option, + #[prost(enumeration = "Gbfgcgnnigp", tag = "2")] + pub r#type: i32, + #[prost(message, repeated, tag = "3")] + pub fahgdgoilja: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub ficncdgiibd: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub nkhobiflejm: bool, + #[prost(bool, tag = "6")] + pub heeflpbgfoh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Beajmggphan { + #[prost(message, optional, tag = "1")] + pub olfbdmnhdgm: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub feanggnllfg: u32, + #[prost(uint32, tag = "3")] + pub gagbnbcohep: u32, + #[prost(bool, tag = "4")] + pub jjeefaobmik: bool, + #[prost(bool, tag = "5")] + pub njmienbmfoc: bool, + #[prost(bool, tag = "6")] + pub end_hollow: bool, + #[prost(enumeration = "Geeejnimdmd", tag = "7")] + pub febplmmfogj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgpjdkohjdd { + #[prost(uint32, repeated, tag = "10")] + pub ajmpkabebac: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knojldfibda { + #[prost(message, repeated, tag = "7")] + pub oomgfpecjhf: ::prost::alloc::vec::Vec, + #[xor(12427)] + #[prost(int32, tag = "8")] + pub gncfdekgjof: i32, + #[prost(map = "string, message", tag = "15")] + pub mdhfccpjbad: ::std::collections::HashMap< + ::prost::alloc::string::String, + Kdbgbfabakc, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghfkcbhfilg { + #[xor(8773)] + #[prost(uint32, tag = "6")] + pub jjmegeceobf: u32, + #[xor(185)] + #[prost(int32, tag = "2")] + pub hbacfhcbpaj: i32, + #[xor(12853)] + #[prost(uint32, tag = "3")] + pub ffnhacciaba: u32, + #[xor(6303)] + #[prost(int32, tag = "15")] + pub eoahfahogci: i32, + #[prost(string, tag = "12")] + pub bfodkolkofa: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Edokeefokao {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9638)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Acdoedokjlb { + #[xor(4300)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eicniiofokf { + #[prost(message, repeated, tag = "1")] + pub group: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(string, repeated, tag = "3")] + pub bajpgignhla: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7509)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ggddmfdfhjb { + #[xor(12199)] + #[prost(uint64, tag = "5")] + pub gglnpjfcibj: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmkkfofgokd { + #[prost(string, repeated, tag = "1")] + pub congfkebjid: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, tag = "2")] + pub lomknfopoei: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub amchfclofih: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub oiggolkmlll: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghddpnokeip { + #[prost(int32, repeated, tag = "11")] + pub ebghopdkjan: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "12")] + pub ngajfdddkja: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbpndhhnclk { + #[prost(uint32, repeated, tag = "1")] + pub ebcdbcbneih: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub comgjibonng: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ebemgdlccjb { + #[prost(uint32, tag = "1")] + pub kneoonknldk: u32, + #[prost(uint32, tag = "2")] + pub kjongknfkee: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Diindliepge { + #[prost(uint32, tag = "1")] + pub kmmjjgagcch: u32, + #[prost(uint32, tag = "2")] + pub lcaidhpecok: u32, + #[prost(uint32, tag = "3")] + pub eedkkdadncg: u32, + #[prost(enumeration = "Jniilhfjmpl", tag = "4")] + pub hfgdjcfhokn: i32, + #[prost(message, optional, tag = "5")] + pub lbgmecpfodf: ::core::option::Option, + #[prost(uint64, tag = "6")] + pub ejdeehhomng: u64, + #[prost(message, optional, tag = "7")] + pub oikaailkdgn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idpjoeipiid { + #[prost(message, optional, tag = "5")] + pub inmepgighgi: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9801)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljbldaoanlp { + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "11")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(8253)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, + #[xor(10384)] + #[prost(uint64, tag = "6")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjkmgihabhl { + #[prost(message, repeated, tag = "11")] + pub mfcpmjmicai: ::prost::alloc::vec::Vec, + #[xor(10986)] + #[prost(uint32, tag = "12")] + pub hkopdmjdgjj: u32, + #[prost(bool, tag = "9")] + pub aimmdoolkoe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1138)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Calgleeomda {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mbhkaeooeoj {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6407)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jjanpinpjhk { + #[xor(3971)] + #[prost(int32, tag = "2")] + pub akacgpjilpb: i32, + #[xor(7591)] + #[prost(int32, tag = "15")] + pub perform_type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6051)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddjlbmpejnd { + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, + #[xor(5252)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(1083)] + #[prost(uint64, tag = "2")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jindpnfkbdc { + #[prost(message, repeated, tag = "13")] + pub fkbekdapdbi: ::prost::alloc::vec::Vec, + #[xor(1511)] + #[prost(int32, tag = "6")] + pub lgegnbdmjnl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7567)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hhadejaalhh {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oeohcoilhen { + #[prost(message, optional, tag = "1")] + pub eleaepcligp: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgjccpfeneg { + #[prost(bool, tag = "1")] + pub kgelnblmkec: bool, + #[prost(bool, tag = "2")] + pub fpnnkpkjanj: bool, + #[prost(message, optional, tag = "3")] + pub llhhdkpiihk: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub gfkpmmhnnhn: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub emohgkbioen: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub gebelgdinln: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub aelnfbkpodl: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub jmmmhdbicnp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Beiinefnjkl { + #[xor(7095)] + #[prost(uint32, tag = "5")] + pub kmmjjgagcch: u32, + #[xor(6890)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7547)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ebkkalfbnfh { + #[xor(1532)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(721)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jjjjipcdoob { + #[xor(15771)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcafodlfimd { + #[prost(message, repeated, tag = "1")] + pub ipmafiacbcf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dapkjifdpeb { + #[xor(4177)] + #[prost(uint32, tag = "6")] + pub star: u32, + #[prost(bool, tag = "7")] + pub gehckkbmgeo: bool, + #[prost(bool, tag = "10")] + pub finished: bool, + #[xor(9541)] + #[prost(uint32, tag = "2")] + pub plbaghcflaj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5117)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gocdgckjogo { + #[xor(6725)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iaehchchdon { + #[xor(11773)] + #[prost(int64, tag = "3")] + pub iompfopcppk: i64, + #[prost(uint32, repeated, tag = "9")] + pub idjcmcienlh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub gdfnlbfdggj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub mchnampmbhp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eggepnjaomj { + #[prost(float, tag = "10")] + pub icdcdicanof: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9033)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mophgcnlflk { + #[prost(bool, tag = "2")] + pub ddnidedieaj: bool, + #[prost(bool, tag = "5")] + pub chgkihlclab: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jogpghnpedp { + #[prost(bool, tag = "7")] + pub oohheaekpad: bool, + #[prost(message, repeated, tag = "11")] + pub gffoejhfblb: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub hmpijcabdkf: bool, + #[xor(1075)] + #[prost(int32, tag = "15")] + pub idenanenoge: i32, + #[prost(message, repeated, tag = "5")] + pub kknbekibeoe: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub cadllkpiljh: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub eeakheejpmo: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3901)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hcbhfchecpm { + #[xor(3610)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hmabpmccaco {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3445)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hhbghhcmdad { + #[xor(5029)] + #[prost(int32, tag = "15")] + pub likfcbhgljg: i32, + #[xor(7659)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6319)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oibkcefmdcp { + #[xor(841)] + #[prost(uint32, tag = "2")] + pub pfomhmfnibd: u32, + #[xor(9599)] + #[prost(uint32, tag = "13")] + pub napkdnidlck: u32, + #[prost(enumeration = "Dekhkjgbpfb", tag = "7")] + pub dkmepflgcmf: i32, + #[prost(message, repeated, tag = "3")] + pub aiiffgfdleo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4159)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eiofghicidg { + #[xor(7444)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Focjaffkcbk { + #[xor(10216)] + #[prost(uint32, tag = "9")] + pub nmeonefhpaj: u32, + #[prost(message, repeated, tag = "14")] + pub resource_list: ::prost::alloc::vec::Vec, + #[xor(9709)] + #[prost(uint32, tag = "1")] + pub template_id: u32, + #[xor(15338)] + #[prost(uint32, tag = "7")] + pub kpfdcfehhnc: u32, + #[xor(15414)] + #[prost(int64, tag = "4")] + pub digblcoafeb: i64, + #[prost(bool, tag = "6")] + pub ilikllnocoa: bool, + #[prost(string, tag = "10")] + pub nalafejpbng: ::prost::alloc::string::String, + #[xor(9408)] + #[prost(uint32, tag = "5")] + pub bhnmbooodka: u32, + #[xor(12735)] + #[prost(uint32, tag = "2")] + pub lfdijgkkmdp: u32, + #[prost(string, tag = "12")] + pub leobeegkmeg: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "11")] + pub pannghaphgj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7004)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjkipfdailc { + #[prost(message, repeated, tag = "7")] + pub ioabpnnjkbh: ::prost::alloc::vec::Vec, + #[xor(578)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(940)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejaakehogjo { + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(12066)] + #[prost(uint64, tag = "7")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "9")] + pub info: ::core::option::Option, + #[xor(15999)] + #[prost(uint64, tag = "14")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmkmcjgfgap { + #[prost(uint32, repeated, tag = "2")] + pub avatars: ::prost::alloc::vec::Vec, + #[xor(14354)] + #[prost(uint32, tag = "1")] + pub bhlkkamefen: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8955)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetMonthCardRewardListCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2462)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct EnterSectionCompleteScRsp { + #[xor(1196)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7428)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbokmlakpml { + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, + #[xor(558)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[xor(12570)] + #[prost(uint64, tag = "11")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "1")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mokiljgbibb { + #[prost(message, optional, tag = "1")] + pub dmbipmdaajl: ::core::option::Option, + #[prost(string, tag = "2")] + pub section: ::prost::alloc::string::String, + #[prost(bool, tag = "3")] + pub ocgagbpecak: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4533)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjbgnmachdk { + #[prost(message, repeated, tag = "13")] + pub lcipdallclh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7763)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofkeglcolkd { + #[xor(916)] + #[prost(uint64, tag = "10")] + pub fdfjcoccaoa: u64, + #[xor(12637)] + #[prost(uint64, tag = "3")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2305)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Npckihkodfm { + #[xor(8548)] + #[prost(int32, tag = "6")] + pub akacgpjilpb: i32, + #[xor(8071)] + #[prost(int64, tag = "7")] + pub chhhmffbbbp: i64, + #[xor(16024)] + #[prost(int32, tag = "1")] + pub perform_type: i32, + #[xor(6400)] + #[prost(int32, tag = "3")] + pub cbgddnhcfhf: i32, + #[xor(8355)] + #[prost(int32, tag = "14")] + pub ajpghkokfek: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2150)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ogmpldnkhld { + /// VMP DETECTED + /// + #[xor(14764)] + #[prost(uint32, tag = "7")] + pub gacha_type: u32, + #[xor(12063)] + #[prost(uint32, tag = "8")] + pub jbmngcemoja: u32, + #[xor(10066)] + #[prost(uint32, tag = "9")] + pub ofkbfbdecof: u32, + #[xor(11758)] + #[prost(uint32, tag = "12")] + pub hphdhpblaok: u32, + #[prost(message, optional, tag = "14")] + pub dnlhmmfcioi: ::core::option::Option, + #[xor(8434)] + #[prost(uint32, tag = "15")] + pub pfhkpjilong: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5884)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mljgekkhfii {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lfojpfadafp { + #[prost(int32, tag = "1")] + pub quest_id: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aldafgooahe { + #[xor(15969)] + #[prost(int32, tag = "9")] + pub gmkefankfid: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eapkopdbddh { + #[prost(map = "string, int32", tag = "3")] + pub aeiaggdebfk: ::std::collections::HashMap<::prost::alloc::string::String, i32>, + #[prost(bool, tag = "5")] + pub gdcjohnijaj: bool, + #[prost(map = "string, string", tag = "6")] + pub cpcifgmopgk: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4914)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Obknpflckcd {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpfpgifbdfp { + #[prost(message, repeated, tag = "1")] + pub gkoaiehakdk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lepfjkpedfh { + #[prost(enumeration = "ChessUiControlType", tag = "1")] + pub jnflckmoapp: i32, + #[prost(enumeration = "ChessUiIconType", tag = "2")] + pub gfjlcnnngcc: i32, + #[prost(message, optional, tag = "3")] + pub ihjgadjjfif: ::core::option::Option, + #[prost(enumeration = "ChessUiColor", tag = "4")] + pub dadkdjidaod: i32, + #[prost(enumeration = "ChessUiControlType", tag = "5")] + pub lcaopngpacb: i32, + #[prost(enumeration = "ChessUiIconType", tag = "6")] + pub dmhppbbefpk: i32, + #[prost(message, optional, tag = "7")] + pub mfnnkloehao: ::core::option::Option, + #[prost(enumeration = "ChessUiColor", tag = "8")] + pub mbjcafjhdni: i32, + #[prost(message, optional, tag = "9")] + pub bddlconiggl: ::core::option::Option, + #[prost(enumeration = "HollowEntityType", tag = "10")] + pub fkkbflokodb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcbhpljdelb { + #[prost(message, repeated, tag = "1")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub ddbmjpajmnc: u32, + #[prost(uint32, repeated, tag = "3")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olljecnhipo { + #[prost(bool, tag = "11")] + pub bbkmgakjhcp: bool, + #[xor(3306)] + #[prost(uint32, tag = "14")] + pub dpjdobnokfl: u32, + #[prost(message, repeated, tag = "13")] + pub idlgldikhak: ::prost::alloc::vec::Vec, + #[prost(string, tag = "5")] + pub cbjgnlfcgob: ::prost::alloc::string::String, + #[xor(14321)] + #[prost(uint32, tag = "6")] + pub level: u32, + #[xor(15559)] + #[prost(uint32, tag = "4")] + pub lmkdiaajepp: u32, + #[xor(12768)] + #[prost(uint32, tag = "10")] + pub jjjppkiidpd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bklnilaeemh { + #[xor(1534)] + #[prost(int32, tag = "11")] + pub nmcpibnicga: i32, + #[xor(4181)] + #[prost(int32, tag = "15")] + pub pkohiclgdlb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5790)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Coligjpgkma { + #[prost(message, optional, tag = "4")] + pub febpalgdanf: ::core::option::Option, + #[prost(string, tag = "5")] + pub token: ::prost::alloc::string::String, + #[prost(bool, tag = "9")] + pub okfljejfmdk: bool, + #[prost(message, optional, tag = "10")] + pub fpkfcfmgjdn: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub pfdmjhmgaed: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(535)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdpafoakeog { + #[prost(message, optional, tag = "15")] + pub ajppilianbi: ::core::option::Option, + #[xor(8188)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfjnackmmkl { + #[prost(uint64, tag = "1")] + pub dnjlaifaiig: u64, + #[prost(uint32, tag = "2")] + pub heglabooedc: u32, + #[prost(message, repeated, tag = "3")] + pub enocgpmifoj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub kpgkdnipoka: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6448)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eiicjnbegjp { + #[xor(14670)] + #[prost(uint32, tag = "2")] + pub moaeafhpdko: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2390)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Knmaipnmfam { + #[xor(10086)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Baiaackcdpe { + #[prost(string, tag = "1")] + pub oiidemlgihg: ::prost::alloc::string::String, + #[prost(map = "string, string", tag = "2")] + pub klpdligdhfc: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Amlbankmojk { + #[prost(float, tag = "7")] + pub ggppohnlgnk: f32, + #[xor(3557)] + #[prost(uint32, tag = "11")] + pub conndggdnhk: u32, + #[xor(2486)] + #[prost(int32, tag = "6")] + pub iechioocfjh: i32, + #[xor(9049)] + #[prost(int32, tag = "2")] + pub fbocogogkhd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekmjghleden { + #[prost(string, tag = "1")] + pub appdnhldamm: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub ekhcjpfgibk: u32, + #[prost(message, repeated, tag = "3")] + pub dedkcldjeke: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5709)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afdblckhaff { + #[prost(uint32, repeated, tag = "2")] + pub khgjclikddk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlhkjjdaeol { + #[prost(string, tag = "1")] + pub pilemfjcdkp: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub akbioidehdo: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub mioomlcnepd: u32, + #[prost(uint32, tag = "4")] + pub ckcnfnbehbn: u32, + #[prost(map = "uint32, message", tag = "5")] + pub imeapbhcijf: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "6")] + pub ibpbnpgebol: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4060)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcmlhokdfol { + #[xor(13443)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[xor(10521)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "4")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okenpacpffe { + #[prost(message, optional, tag = "1")] + pub uid: ::core::option::Option, + #[prost(enumeration = "Gnddidalhbg", tag = "2")] + pub ieibifngeal: i32, + #[prost(message, optional, tag = "3")] + pub nfmojhjjldd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6659)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Odkimnhkoej { + #[xor(735)] + #[prost(uint32, tag = "10")] + pub liojcbaafek: u32, + #[xor(8798)] + #[prost(uint32, tag = "13")] + pub ncdieieabgd: u32, + #[xor(5343)] + #[prost(uint32, tag = "1")] + pub ioogiohdifi: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmndhpmbfjc { + #[prost(map = "uint32, message", tag = "8")] + pub ndmgikglieg: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "14")] + pub lanacaafiho: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmglnkfdhki { + #[prost(enumeration = "Gbfgcgnnigp", tag = "1")] + pub r#type: i32, + #[prost(message, repeated, tag = "2")] + pub kekiidflcid: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub dhjpeadnkec: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", repeated, tag = "4")] + pub gndkmoooebd: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + #[prost(bool, tag = "5")] + pub nkhobiflejm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9698)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elmgdbcipfb { + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(12096)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, + #[xor(11789)] + #[prost(uint64, tag = "4")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "12")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjhojmddmda { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, tag = "2")] + pub rank: u32, + #[prost(uint32, tag = "3")] + pub eedkkdadncg: u32, + #[prost(message, optional, tag = "4")] + pub gokkfaabmgc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhbbipiieep { + #[prost(message, optional, tag = "1")] + pub name: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub lkdbeecbglo: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "3")] + pub ekbfgknccph: i32, + #[prost(bool, tag = "4")] + pub pglnmjmpgck: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fekhjbebcoo { + #[prost(uint32, repeated, tag = "9")] + pub glmmdebfabl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "884")] + pub mdjgchaepnc: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "987")] + pub gdgkdmmmpdn: ::prost::alloc::vec::Vec, + #[xor(3824)] + #[prost(uint32, tag = "1662")] + pub hnacfjlnppc: u32, + #[xor(9060)] + #[prost(uint32, tag = "1462")] + pub hebmafkcing: u32, + #[xor(9938)] + #[prost(uint32, tag = "4")] + pub gghcchcbdmi: u32, + #[prost(uint32, repeated, tag = "1440")] + pub blkangcgbkj: ::prost::alloc::vec::Vec, + #[xor(14634)] + #[prost(uint32, tag = "3")] + pub alifpmknhok: u32, + #[prost(uint32, repeated, tag = "11")] + pub ieaadiegjpc: ::prost::alloc::vec::Vec, + #[xor(15594)] + #[prost(uint32, tag = "10")] + pub dgnlohjmcbe: u32, + #[prost(uint32, repeated, tag = "6")] + pub oanpedjldhd: ::prost::alloc::vec::Vec, + #[xor(983)] + #[prost(uint32, tag = "442")] + pub mehcfnoedof: u32, + #[xor(13975)] + #[prost(uint32, tag = "14")] + pub nchkgcacbjc: u32, + #[xor(11447)] + #[prost(int64, tag = "5")] + pub femppbingka: i64, + #[prost(uint32, repeated, tag = "514")] + pub ikncanhlmlp: ::prost::alloc::vec::Vec, + #[xor(8940)] + #[prost(uint32, tag = "1479")] + pub fhjonecblma: u32, + #[xor(2271)] + #[prost(uint32, tag = "12")] + pub fmnkigknhei: u32, + #[xor(14332)] + #[prost(int64, tag = "2")] + pub onjjnoojkoo: i64, + #[prost(message, repeated, tag = "8")] + pub jbbegkkbhed: ::prost::alloc::vec::Vec, + #[xor(15417)] + #[prost(uint32, tag = "15")] + pub quest_id: u32, + #[xor(4110)] + #[prost(uint32, tag = "1")] + pub gkiogfjkiei: u32, + #[xor(12656)] + #[prost(uint32, tag = "90")] + pub lghndjepehc: u32, + #[xor(7404)] + #[prost(uint32, tag = "7")] + pub oiddiobdomk: u32, + #[xor(3682)] + #[prost(uint32, tag = "13")] + pub ekpcpcnhbcc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3207)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfadgklfggk { + #[prost(message, repeated, tag = "12")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub info: ::core::option::Option, + #[xor(7200)] + #[prost(uint64, tag = "14")] + pub fdfjcoccaoa: u64, + #[xor(6010)] + #[prost(uint64, tag = "7")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7668)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgcmgbcdgbf { + #[prost(uint32, repeated, tag = "12")] + pub iokmnhfmblk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(826)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ankgehpagjd { + #[xor(5671)] + #[prost(uint32, tag = "12")] + pub cekobpilblo: u32, + #[prost(message, repeated, tag = "1")] + pub lknnmefijgk: ::prost::alloc::vec::Vec, + #[xor(6239)] + #[prost(uint32, tag = "14")] + pub aldbmeomoni: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3480)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lahmddiigkb { + #[xor(13518)] + #[prost(uint32, tag = "1")] + pub cdklkjpfhhl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfoffhjpboa { + #[prost(message, optional, tag = "1")] + pub njgfhhihdgg: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub eofeglpmbdm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub pkedollpjbm: ::prost::alloc::vec::Vec, + #[prost(string, tag = "4")] + pub bjefobpffjn: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4342)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mkfgjbinbpj { + #[xor(3307)] + #[prost(uint32, tag = "9")] + pub template_id: u32, + #[xor(4921)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfebfdhkfjl { + #[xor(577)] + #[prost(uint32, tag = "13")] + pub kmmjjgagcch: u32, + #[prost(message, repeated, tag = "8")] + pub aekkjojcmih: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kehkkjfnnag { + #[prost(map = "int32, message", tag = "11")] + pub mmjllodjjbg: ::std::collections::HashMap, + #[prost(map = "uint64, message", tag = "13")] + pub ldjpfapnlem: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(99)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ajffddgkggf { + #[xor(11298)] + #[prost(uint64, tag = "13")] + pub gglnpjfcibj: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5392)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hcbjaiaoige { + #[xor(14557)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmpijojflgg { + #[prost(uint32, tag = "1")] + pub cibcmgbaflm: u32, + #[prost(message, repeated, tag = "2")] + pub pbpphccccma: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amcefkmncie { + #[prost(enumeration = "Bjekebbfcne", tag = "1")] + pub djihjdiikbe: i32, + #[prost(enumeration = "Peecjnnconk", repeated, tag = "2")] + pub ielcialbjfa: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub kadllfjolka: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LevelPerformInfo { + #[xor(12005)] + #[prost(uint32, tag = "9")] + pub ckgiedoaeff: u32, + #[prost(uint32, repeated, tag = "13")] + pub klledchicgg: ::prost::alloc::vec::Vec, + #[xor(7352)] + #[prost(uint32, tag = "2")] + pub cmjpphbjfbg: u32, + #[xor(832)] + #[prost(uint32, tag = "15")] + pub dckadaapkek: u32, + #[prost(message, optional, tag = "871")] + pub anohlhhfhpa: ::core::option::Option, + #[prost(bool, tag = "14")] + pub fmopjejpndd: bool, + #[prost(uint32, repeated, tag = "6")] + pub bjbmpbkdkdo: ::prost::alloc::vec::Vec, + #[xor(15638)] + #[prost(uint32, tag = "4")] + pub mphhhjlmakg: u32, + #[xor(10181)] + #[prost(uint32, tag = "7")] + pub event_graph_owner_uid: u32, + #[prost(bool, tag = "11")] + pub jgfncbgbgkc: bool, + #[xor(6908)] + #[prost(uint32, tag = "1754")] + pub jhjjmmdnnca: u32, + #[xor(7102)] + #[prost(uint32, tag = "8")] + pub jebnjphjadc: u32, + #[prost(string, tag = "10")] + pub weather: ::prost::alloc::string::String, + #[prost(bool, tag = "3")] + pub jjeefaobmik: bool, + #[prost(bool, tag = "12")] + pub bhecjbiknhl: bool, + #[xor(11113)] + #[prost(uint32, tag = "5")] + pub ajmkhigcnjl: u32, + #[prost(string, tag = "1")] + pub time: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdlkonblcdp { + #[prost(message, repeated, tag = "9")] + pub mcibilmneih: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aeomnniddmm { + #[prost(message, repeated, tag = "1")] + pub adkhllnnhap: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcgghbbbhfn { + #[prost(message, optional, tag = "1")] + pub mibfimdanol: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub paaifdkakjk: ::core::option::Option, + #[prost(bool, tag = "3")] + pub kljodngikgp: bool, + #[prost(enumeration = "Oeeelllfffg", tag = "4")] + pub jdnijcmelen: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9818)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohlekbonmno { + #[prost(message, optional, tag = "14")] + pub eomnnjiamao: ::core::option::Option, + #[xor(3418)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfadnljmgmp { + #[prost(uint32, repeated, tag = "6")] + pub bhidbmaddkh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub jaboeifnebf: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub lknanbnjnig: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub avatars: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub foacgpjpgph: ::prost::alloc::vec::Vec, + #[xor(7716)] + #[prost(uint32, tag = "5")] + pub fgagaciiian: u32, + #[prost(uint32, repeated, tag = "14")] + pub jboemflhdof: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejcncmeemaa { + #[prost(message, repeated, tag = "3")] + pub ilmamhpkdom: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "4")] + pub gbgmplahldg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eclhfhdfibp { + #[prost(message, optional, tag = "7")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(581)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kaegkggnbbp { + #[xor(8526)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhoiokkemhf { + #[prost(message, optional, tag = "1")] + pub ampcalphdbg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jllncghdnnn { + #[prost(int64, repeated, tag = "1")] + pub bjjbglfebki: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jgaaahbnfgh { + #[prost(uint32, tag = "1")] + pub jikaidijchb: u32, + #[prost(uint32, tag = "2")] + pub pgajlfdnjed: u32, + #[prost(uint32, tag = "3")] + pub gkhnmninalo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7032)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djafkolcena { + #[prost(message, repeated, tag = "8")] + pub aoppojcdgge: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub hkhgjgjednn: ::core::option::Option, + #[xor(16336)] + #[prost(uint32, tag = "12")] + pub gdilallmifb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5772)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kgjeeokiceg { + #[xor(5931)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6468)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnopmjdohmg { + #[xor(10280)] + #[prost(int64, tag = "1")] + pub lcmphgcpdbd: i64, + #[prost(message, optional, tag = "2")] + pub nnhbdfldcbn: ::core::option::Option, + #[xor(12534)] + #[prost(int32, tag = "13")] + pub olfbdmnhdgm: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9895)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fehdlioibih { + #[xor(3992)] + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(message, repeated, tag = "6")] + pub dhlflmlnndg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5811)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nhcdimplhlj { + #[xor(2618)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlpmjmkcidc { + #[prost(message, optional, tag = "1")] + pub efpckpnefdc: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub fpclgmdcdhm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2138)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetHadalZoneDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9593)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkneecmfnco { + #[xor(9254)] + #[prost(uint32, tag = "15")] + pub cicclhipfbc: u32, + #[prost(map = "uint32, uint64", tag = "12")] + pub lgcohhloabo: ::std::collections::HashMap, + #[prost(string, tag = "2")] + pub aipcelmhlgb: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "6")] + pub kblmmlopopb: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "1")] + pub bmjbbpihpka: ::std::collections::HashMap, + #[xor(13504)] + #[prost(uint32, tag = "7")] + pub quest_id: u32, + #[prost(message, optional, tag = "906")] + pub ekhpegjllfk: ::core::option::Option, + #[xor(11422)] + #[prost(uint32, tag = "202")] + pub lbibkllekje: u32, + #[xor(13833)] + #[prost(uint32, tag = "9")] + pub hmmneikfple: u32, + #[prost(map = "uint32, message", tag = "907")] + pub jpieldhgbed: ::std::collections::HashMap, + #[xor(7546)] + #[prost(uint32, tag = "13")] + pub rank: u32, + #[prost(bool, tag = "1360")] + pub fjalikjodji: bool, + #[xor(13203)] + #[prost(uint32, tag = "11")] + pub fdcfepcgnai: u32, + #[prost(bool, tag = "3")] + pub idknlljaemm: bool, + #[xor(168)] + #[prost(uint32, tag = "14")] + pub lpkgbddmokl: u32, + #[prost(message, repeated, tag = "5")] + pub pglhfljblgi: ::prost::alloc::vec::Vec, + #[xor(123)] + #[prost(uint32, tag = "1974")] + pub ikmacidpgjl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kgnimifnllb { + #[prost(int32, tag = "1")] + pub mahdaplbojj: i32, + #[prost(int32, tag = "2")] + pub piahiiofjdd: i32, + #[prost(bool, tag = "3")] + pub apjhdmpnpip: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8208)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inojjgbjdil { + #[prost(message, repeated, tag = "12")] + pub ipklgacbgpm: ::prost::alloc::vec::Vec, + #[xor(12148)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnkbibfiipd { + #[prost(string, tag = "1")] + pub ojgiengkmkf: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub section_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1538)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aolojdeomdc { + #[prost(bool, tag = "393")] + pub mihgcfnccci: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gahinappiln { + #[prost(message, optional, tag = "1413")] + pub dnjjggjfenk: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cddegidehnk { + #[prost(message, repeated, tag = "1")] + pub fdclcalpimf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2422)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetAbyssArpeggioDataScRsp { + #[prost(uint32, repeated, tag = "14")] + pub jknabjjaapd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub glofednmfep: ::prost::alloc::vec::Vec, + #[xor(7118)] + #[prost(uint32, tag = "8")] + pub ldcohhnfnga: u32, + #[xor(2049)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, repeated, tag = "12")] + pub ffnhdpepfni: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub fkhmehmkeom: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub llmbjpmjehc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8393)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djnpieifagc { + #[prost(uint32, repeated, tag = "3")] + pub dolhbfhkkol: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "9")] + pub mdnecdkoogk: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iikjmgpgdck { + #[prost(uint32, tag = "1")] + pub bddlconiggl: u32, + #[prost(bool, tag = "3")] + pub finished: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fbmcgjlogjb { + #[prost(enumeration = "Ljlgphinjel", tag = "9")] + pub kadicfmjjlj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pilngejkdng { + #[xor(1982)] + #[prost(int32, tag = "8")] + pub aobkmojjobe: i32, + #[xor(14830)] + #[prost(int32, tag = "11")] + pub ncffbdmkajd: i32, + #[xor(7227)] + #[prost(int32, tag = "13")] + pub jnfeeeiiafg: i32, + #[xor(12108)] + #[prost(int32, tag = "7")] + pub ojmhogipaoj: i32, + #[xor(8196)] + #[prost(uint64, tag = "3")] + pub pcgjfppaghm: u64, + #[xor(11534)] + #[prost(int32, tag = "9")] + pub cpmdadgmljm: i32, + #[prost(bool, tag = "6")] + pub mcagnmfppii: bool, + #[xor(10652)] + #[prost(int32, tag = "15")] + pub mglldcfdjka: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfkddclcpfo { + #[prost(string, tag = "1")] + pub ui: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9695)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nbdapahmlcf { + #[xor(15658)] + #[prost(int64, tag = "11")] + pub nlalfikegpa: i64, + #[xor(9953)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Digieeijcif { + #[prost(int32, repeated, tag = "3")] + pub ifmjbedbidm: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "14")] + pub hcfnikmdbbf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kikehbbdllb { + #[prost(message, optional, tag = "11")] + pub gidapkddnkg: ::core::option::Option, + #[xor(6574)] + #[prost(uint32, tag = "12")] + pub kmmjjgagcch: u32, + #[xor(8081)] + #[prost(uint32, tag = "6")] + pub bhbfkmpaakh: u32, + #[xor(11990)] + #[prost(uint32, tag = "10")] + pub kjongknfkee: u32, + #[xor(10287)] + #[prost(uint32, tag = "13")] + pub lcaidhpecok: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1694)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bnpbmofejjb { + #[xor(14818)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Deifpapdobe { + #[prost(int32, tag = "1")] + pub cmglbcnkfdm: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncmcakgieko { + #[prost(message, optional, tag = "1")] + pub fkkfnjmbgod: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjghphbmdbe { + #[prost(string, tag = "4")] + pub lcljjhpcdca: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub name: ::prost::alloc::string::String, + #[xor(15387)] + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(string, tag = "10")] + pub majnhdojplo: ::prost::alloc::string::String, + #[xor(10882)] + #[prost(int64, tag = "2")] + pub obnaaccbnmb: i64, + #[prost(string, tag = "12")] + pub pmdjmjfbncg: ::prost::alloc::string::String, + #[xor(13311)] + #[prost(int64, tag = "15")] + pub ngeaammccip: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blfoakepohh { + #[prost(enumeration = "Oogkcgoeacl", tag = "1")] + pub r#type: i32, + #[prost(message, repeated, tag = "2")] + pub hlleoabpbjd: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "3")] + pub hkdikaheifn: ::std::collections::HashMap, + #[prost(bool, tag = "4")] + pub hioapdllkcg: bool, + #[prost(uint32, tag = "5")] + pub ppkgdaphkam: u32, + #[prost(string, tag = "6")] + pub echadbklgho: ::prost::alloc::string::String, + #[prost(int32, tag = "7")] + pub cofemokalfm: i32, + #[prost(int32, tag = "8")] + pub ogihdljgafi: i32, + #[prost(bool, tag = "9")] + pub ihbjabkphlm: bool, + #[prost(float, tag = "10")] + pub mhhiclppmej: f32, + #[prost(float, tag = "11")] + pub hhljfngefab: f32, + #[prost(bool, tag = "12")] + pub bbndkcjlioc: bool, + #[prost(bool, tag = "13")] + pub kblnlnogpan: bool, + #[prost(bool, tag = "14")] + pub ocnmccfikbd: bool, + #[prost(bool, tag = "15")] + pub lngcjmjapka: bool, + #[prost(bool, tag = "16")] + pub oflijaimkkf: bool, + #[prost(bool, tag = "17")] + pub fkokdaodfhe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knhnnglaabo { + #[prost(map = "string, message", tag = "1")] + pub enmkbbcpale: ::std::collections::HashMap< + ::prost::alloc::string::String, + Jiahalkoppm, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjpjfgplfmj { + #[xor(8527)] + #[prost(int32, tag = "486")] + pub lldhlnmaomi: i32, + #[prost(float, tag = "1")] + pub dghlbjpckbl: f32, + #[xor(13259)] + #[prost(int32, tag = "14")] + pub nchbfieafao: i32, + #[prost(float, tag = "12")] + pub fgalkehbkbk: f32, + #[prost(bool, tag = "4")] + pub infiiedakem: bool, + #[prost(message, optional, tag = "8")] + pub aoheogghkec: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub bbmlkdijigd: ::core::option::Option, + #[xor(3702)] + #[prost(int32, tag = "9")] + pub deflkhmbikh: i32, + #[prost(bool, tag = "2")] + pub kilcbebkbob: bool, + #[xor(9556)] + #[prost(int32, tag = "15")] + pub ldlhlmmhhga: i32, + #[prost(bool, tag = "13")] + pub nccappgplio: bool, + #[prost(float, tag = "6")] + pub diggjaibhdo: f32, + #[prost(float, tag = "5")] + pub ngokhnmbcfa: f32, + #[prost(bool, tag = "7")] + pub jfmclbdnpld: bool, + #[prost(bool, tag = "11")] + pub kdggejbgjkg: bool, + #[prost(float, tag = "10")] + pub icoehgohboi: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7754)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hegabmpgicb { + #[prost(uint32, repeated, tag = "6")] + pub hgkcapklkbp: ::prost::alloc::vec::Vec, + #[xor(15532)] + #[prost(uint32, tag = "5")] + pub cnjpgcdjhkk: u32, + #[prost(bool, tag = "15")] + pub fcnfkibbleo: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3492)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iclcfinmhgn { + #[prost(bool, tag = "3")] + pub fcnfkibbleo: bool, + #[xor(13931)] + #[prost(uint32, tag = "9")] + pub cnjpgcdjhkk: u32, + #[prost(uint32, repeated, tag = "8")] + pub fgddncbdpal: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ednpeennkad { + #[prost(message, optional, tag = "2")] + pub babajfidapk: ::core::option::Option, + #[xor(11148)] + #[prost(uint64, tag = "11")] + pub lhbejkbkbfh: u64, + #[prost(message, optional, tag = "3")] + pub nbemliennej: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldbbiddlhbj { + #[prost(message, repeated, tag = "1")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbdlenlnodc { + #[xor(3337)] + #[prost(uint32, tag = "11")] + pub ccibdkbmjap: u32, + #[xor(7810)] + #[prost(uint32, tag = "7")] + pub kocafnbpjpb: u32, + #[xor(6415)] + #[prost(uint32, tag = "13")] + pub cndghffhbeg: u32, + #[prost(string, tag = "4")] + pub weather: ::prost::alloc::string::String, + #[xor(12115)] + #[prost(uint32, tag = "3")] + pub kginbigkgdp: u32, + #[prost(message, optional, tag = "9")] + pub level_reward_info: ::core::option::Option, + #[xor(12747)] + #[prost(uint32, tag = "14")] + pub klnhdecneob: u32, + #[prost(string, tag = "5")] + pub time: ::prost::alloc::string::String, + #[xor(2374)] + #[prost(uint32, tag = "15")] + pub fblgjlbnkii: u32, + #[xor(1775)] + #[prost(uint32, tag = "2")] + pub gglnpjfcibj: u32, + #[xor(13563)] + #[prost(uint32, tag = "8")] + pub bbiidnnlech: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5391)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djhadkfhdjf { + #[prost(message, repeated, tag = "5")] + pub njmhbkfogke: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hcdblnicmkh {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbjllllgnna { + #[prost(uint32, repeated, tag = "8")] + pub ldifombnfop: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub elimcgfgnjf: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub bdbmjjndknl: ::prost::alloc::vec::Vec, + #[xor(12097)] + #[prost(uint32, tag = "13")] + pub fhhpfcilimo: u32, + #[prost(uint32, repeated, tag = "11")] + pub kffhihddkdi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjcopomfhek { + #[prost(enumeration = "Mgbeeamjakl", tag = "3")] + pub dbhlcdkiikf: i32, + #[xor(5001)] + #[prost(uint32, tag = "13")] + pub efpckpnefdc: u32, + #[xor(4210)] + #[prost(uint32, tag = "11")] + pub template_id: u32, + #[prost(map = "string, int32", tag = "5")] + pub ilclagcmjdn: ::std::collections::HashMap<::prost::alloc::string::String, i32>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eajanjbphcc { + #[prost(message, optional, tag = "1")] + pub oiidemlgihg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7619)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enndonkbijl { + #[prost(message, optional, tag = "3")] + pub miemklodkfd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ooooefjpkjd { + #[prost(uint32, repeated, tag = "3")] + pub kkbhhdnckii: ::prost::alloc::vec::Vec, + #[prost(string, tag = "8")] + pub degfeheokjp: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "10")] + pub lfnhjcbphhe: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub kbigafgpnnc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub acjedhpdppm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub mlihaemdade: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub iicmmgkabcd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub ohapbjkabbp: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "1")] + pub kogedcfjgkg: ::core::option::Option, + #[xor(6237)] + #[prost(uint32, tag = "12")] + pub jmihlckcjbe: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4381)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhefbmgkaob { + #[xor(5397)] + #[prost(uint64, tag = "8")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "13")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(11838)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7301)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ahijofecghk { + #[xor(2443)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BuddyUnitInfo { + #[prost(map = "uint32, int32", tag = "8")] + pub efhjeghnemn: ::std::collections::HashMap, + #[xor(6700)] + #[prost(uint32, tag = "6")] + pub buddy_id: u32, + #[prost(enumeration = "Hfcmlllhanl", tag = "15")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1561)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lepgfcaaief { + #[xor(5887)] + #[prost(uint32, tag = "4")] + pub event_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kajdlfpmhgg { + #[xor(8744)] + #[prost(uint64, tag = "8")] + pub lhbejkbkbfh: u64, + #[prost(message, optional, tag = "6")] + pub fjocidcdabb: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub babajfidapk: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub nbemliennej: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4532)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phkgflgjihm { + #[prost(message, optional, tag = "11")] + pub pahieeaolfm: ::core::option::Option, + #[prost(bool, tag = "12")] + pub kdclndmmipg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fepmnpiffho { + #[prost(string, tag = "1")] + pub nick_name: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub level: u32, + #[prost(uint32, tag = "3")] + pub hjcanegmain: u32, + #[prost(message, optional, tag = "4")] + pub lbgmecpfodf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cabdhcnmabj { + #[xor(8416)] + #[prost(int32, tag = "1")] + pub bchlbadimmc: i32, + #[xor(16376)] + #[prost(int32, tag = "13")] + pub pcnacfnpcek: i32, + #[prost(bool, tag = "5")] + pub oafmphhdiie: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hjacdckgmke { + #[prost(double, tag = "1")] + pub lkdbeecbglo: f64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1943)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jkngiapgfnb { + #[xor(6273)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lefodkhfpph { + #[xor(4)] + #[prost(int64, tag = "9")] + pub lljlloigpjc: i64, + #[prost(bool, tag = "4")] + pub oaknmcakefl: bool, + #[xor(4995)] + #[prost(uint32, tag = "2")] + pub template_id: u32, + #[xor(13100)] + #[prost(uint32, tag = "1")] + pub chedmifonbi: u32, + #[prost(message, repeated, tag = "15")] + pub occnlkgadkg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gchkofjfaae { + #[prost(int32, tag = "1")] + pub mnpphbgdmkl: i32, + #[prost(int32, tag = "2")] + pub cophhjpkaae: i32, + #[prost(int32, tag = "3")] + pub cimddebbbph: i32, + #[prost(int32, tag = "4")] + pub ohadnkglhip: i32, + #[prost(int32, tag = "5")] + pub cajimaheccm: i32, + #[prost(int32, tag = "6")] + pub pnalnlmgdkl: i32, + #[prost(int32, tag = "7")] + pub dpfoelhabbn: i32, + #[prost(int32, tag = "8")] + pub amkkjgmnjki: i32, + #[prost(int32, tag = "9")] + pub ngflemingig: i32, + #[prost(int32, tag = "10")] + pub eliadpdbaca: i32, + #[prost(int32, tag = "11")] + pub jfghpgkmgik: i32, + #[prost(int32, tag = "12")] + pub ofajknpimmj: i32, + #[prost(int32, tag = "13")] + pub bkofidmgcli: i32, + #[prost(int32, tag = "14")] + pub leanhogoeoa: i32, + #[prost(int32, tag = "15")] + pub gabcopfnpnd: i32, + #[prost(int32, tag = "16")] + pub emcoijgbekk: i32, + #[prost(int32, tag = "17")] + pub eecbljhclmg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8178)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Neciejajklc { + #[xor(3671)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbkhlbebmfb { + #[prost(message, repeated, tag = "10")] + pub caiiagbfkoi: ::prost::alloc::vec::Vec, + #[xor(10963)] + #[prost(int32, tag = "14")] + pub kgbcimlmcgd: i32, + #[xor(11841)] + #[prost(int32, tag = "11")] + pub jalbcjjdoff: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ackmelkbbop { + #[prost(message, optional, tag = "1")] + pub gelakkamabm: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ikejknmlmbk: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gcfjdkbdekk {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Milcpckeojk { + #[prost(int32, repeated, tag = "1")] + pub hfnobnddpcd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2711)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlmofdikfeb { + #[prost(string, tag = "5")] + pub dfeggcohojf: ::prost::alloc::string::String, + #[prost(message, optional, tag = "6")] + pub jphcicnafmh: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub hnomjlobbfd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hgnefaldadh { + #[xor(846)] + #[prost(uint32, tag = "4")] + pub lcaidhpecok: u32, + #[xor(13767)] + #[prost(uint32, tag = "9")] + pub kmmjjgagcch: u32, + #[xor(15806)] + #[prost(uint32, tag = "8")] + pub bhbfkmpaakh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8288)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Macikdcdpje { + #[prost(bool, tag = "15")] + pub lpkhknjmjhc: bool, + #[xor(6482)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8073)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetGachaDataScRsp { + #[prost(message, optional, tag = "7")] + pub gacha_data: ::core::option::Option, + #[xor(7994)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[xor(11217)] + #[prost(uint32, tag = "14")] + pub gacha_type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgidiojinec { + #[prost(int32, tag = "1")] + pub deflkhmbikh: i32, + #[prost(map = "int32, int32", tag = "2")] + pub gmlkfeifpja: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9875)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pfecbffdjke { + #[xor(9532)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfaohomjoei { + #[prost(string, tag = "1")] + pub deginnplojj: ::prost::alloc::string::String, + #[prost(map = "string, string", tag = "2")] + pub ilclagcmjdn: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + #[prost(map = "string, string", tag = "3")] + pub gpabcfjfaje: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + #[prost(uint32, tag = "4")] + pub cjlbofjpoid: u32, + #[prost(map = "string, message", tag = "5")] + pub pmpambdnnid: ::std::collections::HashMap< + ::prost::alloc::string::String, + Efmhlbmmfid, + >, + #[prost(enumeration = "Eaaffjmlaki", tag = "6")] + pub olopcnmoagp: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdfcfclicng { + #[prost(string, tag = "1")] + pub section: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Doagilgncji { + #[prost(message, repeated, tag = "1")] + pub nfmojhjjldd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub bjkdpahiekl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub nkmeffcgekd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub lemplkfofef: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "5")] + pub bdhdkglgljb: i32, + #[prost(float, tag = "6")] + pub kffdknkcnok: f32, + #[prost(int32, tag = "7")] + pub ipekkngambd: i32, + #[prost(int32, tag = "8")] + pub eedkkdadncg: i32, + #[prost(int32, tag = "9")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdbpmpkpkjm { + #[prost(message, optional, tag = "1")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub fiieiehipik: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub lgcdjcdbmml: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Jpnihhbgepd", tag = "4")] + pub odnpbhepnoa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3247)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hecdhdmjnod { + #[xor(7069)] + #[prost(uint64, tag = "14")] + pub lcefdkhmacl: u64, + #[prost(map = "uint32, uint32", tag = "15")] + pub mgifdlagdda: ::std::collections::HashMap, + #[xor(10285)] + #[prost(uint32, tag = "10")] + pub jodadfonlob: u32, + #[prost(bool, tag = "5")] + pub epjcjanfldp: bool, + #[xor(9189)] + #[prost(uint32, tag = "2")] + pub pkijmjlilge: u32, + #[prost(bool, tag = "8")] + pub nlfmchcmdfk: bool, + #[xor(4302)] + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(message, optional, tag = "11")] + pub bfdipkgihkd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epndfnlkell { + #[prost(message, repeated, tag = "2")] + pub hlleoabpbjd: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "3")] + pub hkdikaheifn: ::std::collections::HashMap, + #[prost(bool, tag = "4")] + pub hioapdllkcg: bool, + #[prost(uint32, tag = "5")] + pub ppkgdaphkam: u32, + #[prost(string, tag = "6")] + pub echadbklgho: ::prost::alloc::string::String, + #[prost(int32, tag = "7")] + pub cofemokalfm: i32, + #[prost(int32, tag = "8")] + pub ogihdljgafi: i32, + #[prost(bool, tag = "9")] + pub ihbjabkphlm: bool, + #[prost(float, tag = "10")] + pub mhhiclppmej: f32, + #[prost(float, tag = "11")] + pub hhljfngefab: f32, + #[prost(bool, tag = "12")] + pub bbndkcjlioc: bool, + #[prost(bool, tag = "13")] + pub kblnlnogpan: bool, + #[prost(bool, tag = "14")] + pub ocnmccfikbd: bool, + #[prost(bool, tag = "15")] + pub lngcjmjapka: bool, + #[prost(uint32, tag = "16")] + pub nlaijnickbg: u32, + #[prost(bool, tag = "17")] + pub oflijaimkkf: bool, + #[prost(bool, tag = "18")] + pub fkokdaodfhe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnjalipfoim { + #[prost(string, tag = "11")] + pub degfeheokjp: ::prost::alloc::string::String, + #[xor(5063)] + #[prost(uint32, tag = "2")] + pub ggmahjkcmng: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbgldhhpjaj { + #[prost(uint32, repeated, tag = "10")] + pub bbaihciehen: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Iimcjlkanfi", tag = "13")] + pub hbjamoabjkf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmohkeehbmi { + #[prost(string, tag = "1")] + pub majnhdojplo: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub appdnhldamm: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub elgcbflfjno: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "4")] + pub dedkcldjeke: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Edmgjdcjldm { + #[xor(4235)] + #[prost(int32, tag = "5")] + pub foofphadpgm: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejibcclcpmj { + #[prost(message, optional, tag = "1")] + pub pohnmenbegi: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub llffkfoejgj: ::core::option::Option, + #[prost(enumeration = "Clhfpgmncdb", tag = "3")] + pub position: i32, + #[prost(message, optional, tag = "4")] + pub lcjdkmhnjbp: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(int32, repeated, tag = "6")] + pub poicjobidmi: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Hhfhcilfaoa", tag = "7")] + pub podefpclepd: i32, + #[prost(message, optional, tag = "8")] + pub cpihhgfelkn: ::core::option::Option, + #[prost(int32, repeated, tag = "9")] + pub fjckgfhmlhk: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "10")] + pub dpadfndfaag: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "11")] + pub nnpogkhpedl: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "12")] + pub dpoenbcbnha: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub ljbabolalfk: bool, + #[prost(message, repeated, tag = "14")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "16")] + pub kbeekngelnj: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "17")] + pub dlpdkbicgmi: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Pifnkldafnk", tag = "18")] + pub lbebfpjliob: i32, + #[prost(message, repeated, tag = "19")] + pub noccpcofebl: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "20")] + pub ojldlpbkinl: ::core::option::Option, + #[prost(message, optional, tag = "21")] + pub aokebkkgcig: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iedlhcmlbim { + #[prost(bool, tag = "1")] + pub eoodcplmmlp: bool, + #[prost(message, optional, tag = "2")] + pub almbpkfhepe: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(string, tag = "4")] + pub nbecafmbdpm: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ognbdodbngo { + #[prost(message, optional, tag = "3")] + pub kogedcfjgkg: ::core::option::Option, + #[prost(uint32, repeated, tag = "7")] + pub ohapbjkabbp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub iicmmgkabcd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub kkbhhdnckii: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub mlihaemdade: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub acjedhpdppm: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1")] + pub kbigafgpnnc: ::prost::alloc::vec::Vec, + #[prost(map = "int32, message", tag = "14")] + pub jmmnkmmcjna: ::std::collections::HashMap, + #[prost(string, tag = "4")] + pub degfeheokjp: ::prost::alloc::string::String, + #[xor(11472)] + #[prost(uint32, tag = "13")] + pub jmihlckcjbe: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofabnhcbihi { + #[prost(int32, repeated, tag = "13")] + pub llomejgcnef: ::prost::alloc::vec::Vec, + #[xor(11840)] + #[prost(uint32, tag = "12")] + pub ikcfoaecfkk: u32, + #[xor(4693)] + #[prost(uint32, tag = "7")] + pub nbjigfonpmm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1900)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jffgnklohab { + #[prost(bool, tag = "8")] + pub mnmlfmgnkfb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ohnldpkklnp { + #[prost(uint32, tag = "1")] + pub jodadfonlob: u32, + #[prost(uint32, tag = "2")] + pub pefnnjkocli: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gdndgegjhep { + #[prost(uint32, tag = "1")] + pub bgbjnicnjja: u32, + #[prost(int32, tag = "2")] + pub jeggjdmdfpk: i32, + #[prost(bool, tag = "3")] + pub kehamclhden: bool, + #[prost(bool, tag = "4")] + pub fbmmghampab: bool, + #[prost(bool, tag = "5")] + pub njppcnkfkmb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4365)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ninighpfjik { + #[xor(12651)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieojgajmbjk { + #[prost(message, optional, tag = "1")] + pub opllilckkkp: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(bool, tag = "3")] + pub fjopopcijeb: bool, + #[prost(bool, tag = "4")] + pub ldgbkmgmalc: bool, + #[prost(bool, tag = "5")] + pub phpbpgpkcdn: bool, + #[prost(bool, tag = "6")] + pub ckailogbmkd: bool, + #[prost(bool, tag = "7")] + pub mneaindgdjb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pjdhfcndapg { + #[prost(bool, tag = "4")] + pub ddanjcginpn: bool, + #[prost(bool, tag = "5")] + pub njpnbibkhnn: bool, + #[prost(enumeration = "AimRectColor", tag = "7")] + pub pcbkafemaab: i32, + #[prost(bool, tag = "9")] + pub epkeeppecdj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgacleojkge { + #[prost(uint32, repeated, tag = "4")] + pub egoocdhcjmi: ::prost::alloc::vec::Vec, + #[xor(12209)] + #[prost(uint32, tag = "1")] + pub laahkpjanpe: u32, + #[xor(15762)] + #[prost(uint32, tag = "6")] + pub dkaphkoponl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6979)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mepogopfgjk { + #[xor(347)] + #[prost(uint32, tag = "3")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gbpamammigm { + #[prost(uint32, tag = "1")] + pub adeliaogfmi: u32, + #[prost(uint32, tag = "2")] + pub ekpcpcnhbcc: u32, + #[prost(message, optional, tag = "3")] + pub nkmeffcgekd: ::core::option::Option, + #[prost(int32, tag = "4")] + pub rotation: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndpofcnolgj { + #[prost(int32, repeated, tag = "1")] + pub fckhpamjkbn: ::prost::alloc::vec::Vec, + #[prost(enumeration = "HollowEntityType", tag = "2")] + pub hjgplbikppk: i32, + #[prost(message, repeated, tag = "3")] + pub ooicblaegij: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "4")] + pub igpbdhdnmkm: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "5")] + pub oineedgbfon: i32, + #[prost(int32, tag = "6")] + pub pleppbigime: i32, + #[prost(enumeration = "Dklgniaakji", tag = "7")] + pub jhooeobinia: i32, + #[prost(string, tag = "8")] + pub dhiafbkblhc: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub cfhmigfkadg: ::prost::alloc::string::String, + #[prost(bool, tag = "10")] + pub hjljochckpe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Okggmkmceeg { + #[prost(float, tag = "13")] + pub llffkfoejgj: f32, + #[xor(15620)] + #[prost(int32, tag = "14")] + pub gibeoahlmdg: i32, + #[prost(float, tag = "12")] + pub pohnmenbegi: f32, + #[xor(1444)] + #[prost(uint32, tag = "3")] + pub lhbejkbkbfh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eojmadbkahb { + #[prost(bool, tag = "3")] + pub haaajbnjkoc: bool, + #[prost(int32, repeated, tag = "4")] + pub gicohflnpjh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub oohcihjendg: u32, + #[prost(uint32, tag = "6")] + pub kahfegnaikp: u32, + #[prost(bool, tag = "7")] + pub gfhegijnplf: bool, + #[prost(bool, tag = "8")] + pub ckhgnbloopb: bool, + #[prost(message, optional, tag = "9")] + pub ajleagodjfc: ::core::option::Option, + #[prost(enumeration = "Ejboopmcpbe", tag = "10")] + pub lhjlgchmndb: i32, + #[prost(map = "int32, string", tag = "11")] + pub participators: ::std::collections::HashMap, + #[prost(bool, tag = "13")] + pub fjbbogahjmc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jhbopmdckhg { + #[xor(4529)] + #[prost(int32, tag = "2")] + pub eeinmbpaibc: i32, + #[xor(16334)] + #[prost(int32, tag = "4")] + pub pnfgigjcaea: i32, + #[xor(7589)] + #[prost(int32, tag = "12")] + pub lhbejkbkbfh: i32, + #[xor(2210)] + #[prost(int32, tag = "5")] + pub lfgefjplima: i32, + #[xor(8936)] + #[prost(int32, tag = "9")] + pub ndoemhdicpe: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6852)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Affbhdimhdj { + #[xor(15973)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "10")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "15")] + pub info: ::core::option::Option, + #[xor(9687)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1570)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Phaokdkjpnc { + #[xor(12965)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Paegijaenbj { + #[prost(message, optional, tag = "7")] + pub kjhckogehkc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3766)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnkhldgdnpj { + #[prost(message, repeated, tag = "2")] + pub ppnecmoodfn: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub fciffkbkljh: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anmjfmnkoob { + #[prost(message, optional, tag = "1")] + pub interaction: ::core::option::Option, + #[prost(int32, tag = "2")] + pub interact_id: i32, + #[prost(message, optional, tag = "3")] + pub nognjnhlijl: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub bifkoifhcgh: ::prost::alloc::vec::Vec, + #[prost(map = "int32, string", tag = "5")] + pub participators: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6455)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imiggflmpna { + #[xor(3079)] + #[prost(uint64, tag = "5")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "6")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub info: ::core::option::Option, + #[xor(15651)] + #[prost(uint64, tag = "3")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5666)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jfmlceepmjk { + #[xor(8120)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfmalomlmhm { + #[prost(message, repeated, tag = "1")] + pub iacakpibham: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub dfcllihopcp: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "3")] + pub bbahgnpffni: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ebjjakilgdh {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9350)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bhgbjcdolol {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1048)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dplcccikjpb { + #[prost(bool, tag = "7")] + pub egohaboffli: bool, + #[xor(9952)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjnajklahgb { + #[prost(bool, tag = "2")] + pub abahfdciboo: bool, + #[prost(message, optional, tag = "9")] + pub booilddffge: ::core::option::Option, + #[prost(bool, tag = "10")] + pub enceamgaoma: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kjkbopmlhec {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8145)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajlbinkhplk { + #[prost(message, optional, tag = "13")] + pub hmmneikfple: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3657)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Idpmgccneeb { + #[xor(11311)] + #[prost(uint32, tag = "7")] + pub cionidfhigi: u32, + #[xor(10000)] + #[prost(uint32, tag = "2")] + pub cpkfjdebkon: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Djdieacnlge { + #[xor(14140)] + #[prost(uint32, tag = "14")] + pub ekpcpcnhbcc: u32, + #[xor(13528)] + #[prost(uint32, tag = "2")] + pub opmkcccconm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(256)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bocjgaingfn { + #[xor(5776)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1982)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iaclbohcnpf { + #[xor(1418)] + #[prost(uint32, tag = "12")] + pub hjcanegmain: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifplpheneno { + #[prost(string, tag = "1")] + pub epkkccjdmci: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub ddbmjpajmnc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fmkomhbodid { + #[prost(uint32, tag = "1")] + pub quest_id: u32, + #[prost(enumeration = "Jpnihhbgepd", tag = "2")] + pub odnpbhepnoa: i32, + #[prost(uint32, tag = "3")] + pub dkahpcpijdk: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8584)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fcdngiijcke { + #[xor(4504)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpbaolndlln { + #[prost(message, optional, tag = "1")] + pub ajbhcenjend: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub jfoiebjlajo: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub hhfpkpmgelg: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "4")] + pub ganojbldgcj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3560)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mdkialjanag { + #[prost(enumeration = "Gbmgfaiakhj", tag = "10")] + pub eaonephflff: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3762)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bilajbpbnbn { + #[xor(8124)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jkcbjmghegd { + #[prost(message, optional, tag = "8")] + pub laijmjkbinl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cleohhjlecc { + #[prost(message, repeated, tag = "15")] + pub cigbjahnlfd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kfgdndbipnb { + #[prost(enumeration = "Dklgniaakji", tag = "3")] + pub jhooeobinia: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dgjlabacihh { + #[prost(int32, tag = "1")] + pub ebgmdoiddom: i32, + #[prost(int32, tag = "2")] + pub iompcihagcj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gmfdeobapfg { + #[prost(message, optional, tag = "1")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(int32, tag = "2")] + pub gecaomgpnkf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pegijhhjkgi { + #[prost(enumeration = "Gbmddbianaa", tag = "1")] + pub gokdmacjeee: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agpjiehnmgd { + #[prost(message, repeated, tag = "4")] + pub kialeffcmgp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fgdaocoocnm { + #[prost(message, optional, tag = "7")] + pub obgejnhbfca: ::core::option::Option, + #[xor(10340)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8183)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhflhkcgcoe { + #[xor(9132)] + #[prost(int32, tag = "1")] + pub jbncgnjbcgj: i32, + #[prost(message, repeated, tag = "6")] + pub chhegaecdoj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6173)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pbafacapjge { + #[xor(10926)] + #[prost(uint32, tag = "3")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Johddhobpld { + #[prost(enumeration = "Glhemplfblf", tag = "1")] + pub agmajhdflfg: i32, + #[prost(bool, tag = "2")] + pub jipmfjkiocj: bool, + #[prost(string, repeated, tag = "3")] + pub nnadaaolefl: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, tag = "4")] + pub jnaldmhdgdp: ::prost::alloc::string::String, + #[prost(message, optional, tag = "5")] + pub claojgokflb: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub moccldbpbcp: ::core::option::Option, + #[prost(enumeration = "Gnilchgdfan", tag = "7")] + pub meekfennnbk: i32, + #[prost(bool, tag = "8")] + pub noknkdpfhmo: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iiodkdladnn { + #[prost(string, tag = "1")] + pub njcpmjhlmkh: ::prost::alloc::string::String, + #[prost(enumeration = "Pcekojidped", tag = "2")] + pub phpbnoppnbd: i32, + #[prost(string, tag = "3")] + pub fglpffebbnk: ::prost::alloc::string::String, + #[prost(enumeration = "Pcekojidped", tag = "4")] + pub echinoopgbb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5785)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldchaajemnd { + #[prost(message, optional, tag = "12")] + pub info: ::core::option::Option, + #[xor(12736)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(1823)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1378)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Naohelndkkc { + #[xor(2705)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(message, optional, tag = "6")] + pub imapelofehg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6273)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bmokjgljnme { + #[xor(12498)] + #[prost(uint32, tag = "7")] + pub buddy_id: u32, + #[prost(bool, tag = "1")] + pub aiggacjpnfn: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerBasicInfo { + #[xor(1477)] + #[prost(uint32, tag = "9")] + pub hjcanegmain: u32, + #[xor(12104)] + #[prost(uint32, tag = "8")] + pub level: u32, + #[prost(uint32, repeated, tag = "4")] + pub pjenoilbmgj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "1622")] + pub blmfihangel: bool, + #[xor(7584)] + #[prost(int64, tag = "7")] + pub last_enter_world_timestamp: i64, + #[xor(13412)] + #[prost(uint32, tag = "11")] + pub cbjnleffjkj: u32, + #[xor(15074)] + #[prost(uint32, tag = "12")] + pub exp: u32, + #[xor(16253)] + #[prost(uint32, tag = "3")] + pub player_avatar_id: u32, + #[prost(bool, tag = "13")] + pub pdhjljhnggh: bool, + #[xor(11172)] + #[prost(uint32, tag = "15")] + pub bbmopcimkfo: u32, + #[xor(1080)] + #[prost(uint32, tag = "391")] + pub main_city_avatar_id: u32, + #[xor(1701)] + #[prost(uint32, tag = "1")] + pub cnlkfdfbgdp: u32, + #[prost(bool, tag = "6")] + pub edlbilmadlk: bool, + #[prost(bool, tag = "14")] + pub mjajodbampd: bool, + #[xor(8525)] + #[prost(uint32, tag = "10")] + pub avatar_id: u32, + #[prost(string, tag = "5")] + pub nick_name: ::prost::alloc::string::String, + #[xor(3007)] + #[prost(uint32, tag = "2")] + pub bbcafehgjfg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ecomognigod {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmhkeidhjpm { + #[xor(4994)] + #[prost(uint64, tag = "10")] + pub hlpipemphkd: u64, + #[prost(string, tag = "11")] + pub name: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dnbclagodch { + #[prost(int32, tag = "1")] + pub cdklkjpfhhl: i32, + #[prost(uint32, tag = "2")] + pub kfobnfboaoi: u32, + #[prost(int32, tag = "3")] + pub amfmfagnhkg: i32, + #[prost(uint32, tag = "4")] + pub kahfegnaikp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ieeigfmmmoo { + #[prost(enumeration = "Heonecgjbdl", tag = "1")] + pub balojeikfko: i32, + #[prost(uint32, tag = "2")] + pub fmkfjcmjjik: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdjkedeecmg { + #[xor(6359)] + #[prost(int32, tag = "3")] + pub ihechihpihn: i32, + #[xor(1000)] + #[prost(int32, tag = "12")] + pub afflcidngff: i32, + #[xor(9350)] + #[prost(uint64, tag = "2")] + pub apoonjoobap: u64, + #[prost(message, repeated, tag = "6")] + pub cjnijogahkb: ::prost::alloc::vec::Vec, + #[xor(1001)] + #[prost(int32, tag = "10")] + pub ehcbhilfocj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnleloggfal { + #[prost(message, repeated, tag = "1")] + pub delbgoehhop: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "12")] + pub oinbfjcgemc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9678)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dgpnennebef { + #[prost(enumeration = "Ojbalffoohi", tag = "14")] + pub hfgdjcfhokn: i32, + #[xor(2150)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4631)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Elompknkkkf { + #[xor(447)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fecobckbnai { + #[prost(enumeration = "Glhemplfblf", tag = "1")] + pub agmajhdflfg: i32, + #[prost(bool, tag = "2")] + pub jipmfjkiocj: bool, + #[prost(message, repeated, tag = "3")] + pub nnadaaolefl: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub jnaldmhdgdp: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub claojgokflb: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub moccldbpbcp: ::core::option::Option, + #[prost(enumeration = "Gnilchgdfan", tag = "7")] + pub meekfennnbk: i32, + #[prost(bool, tag = "8")] + pub noknkdpfhmo: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7134)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Higdpgaonhk { + #[xor(1416)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct AvatarWishlistPlan { + #[prost(enumeration = "Giohhmohgog", tag = "1")] + pub plan_type: i32, + #[prost(uint32, tag = "2")] + pub avatar_plan_param1: u32, + #[prost(uint32, tag = "3")] + pub avatar_plan_param2: u32, + #[prost(uint32, tag = "4")] + pub ohdkcchhekh: u32, + #[prost(uint32, tag = "5")] + pub fpdghbnfdha: u32, + #[prost(uint32, tag = "6")] + pub ngdijcgpahl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Loppmcjgfch { + #[xor(773)] + #[prost(int32, tag = "3")] + pub fedpfjjcabm: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idmlahceiej { + #[prost(message, repeated, tag = "1")] + pub khghgojnbkl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4525)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Folnnigabmp { + /// VMP DETECTED + /// + #[xor(14064)] + #[prost(uint32, tag = "1")] + pub ckmligpbfnm: u32, + #[xor(14684)] + #[prost(uint32, tag = "2")] + pub dhjannghdmn: u32, + #[prost(enumeration = "Eojinbjecmm", tag = "4")] + pub aoicgngakkm: i32, + #[xor(2737)] + #[prost(uint64, tag = "5")] + pub fdfjcoccaoa: u64, + #[prost(bool, tag = "6")] + pub homppbbhlpc: bool, + #[xor(15444)] + #[prost(uint64, tag = "8")] + pub bjokicllhhb: u64, + #[xor(6605)] + #[prost(uint32, tag = "9")] + pub cdklkjpfhhl: u32, + #[xor(6144)] + #[prost(int32, tag = "10")] + pub nggppaehjom: i32, + #[prost(message, repeated, tag = "11")] + pub hjodhcdhgni: ::prost::alloc::vec::Vec, + #[prost(string, tag = "13")] + pub oddebfmlghg: ::prost::alloc::string::String, + #[prost(message, optional, tag = "14")] + pub phfkcmkigih: ::core::option::Option, + #[xor(7347)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[xor(111)] + #[prost(int32, tag = "1352")] + pub khfldgkhfgk: i32, + #[prost(string, tag = "1376")] + pub kleiampibpn: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1841)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emfnepnbodn { + #[xor(6399)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(3896)] + #[prost(uint64, tag = "13")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mnemmhndcnb { + #[prost(message, optional, tag = "2")] + pub djabmmbdgah: ::core::option::Option, + #[prost(enumeration = "Iimcjlkanfi", tag = "5")] + pub offekepmnll: i32, + #[prost(enumeration = "Gdjmkbccndm", tag = "10")] + pub cjhcjdmdlij: i32, + #[prost(bool, tag = "11")] + pub ogjlfobckef: bool, + #[prost(message, optional, tag = "14")] + pub bcjikglboka: ::core::option::Option, + #[prost(enumeration = "Lnlmgceeflg", tag = "15")] + pub aokiajhllfc: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(547)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Inghoacbokm { + #[xor(13471)] + #[prost(uint32, tag = "11")] + pub nhcnbcnnhno: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdbjhpecbak { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub fkkbflokodb: i32, + #[prost(message, optional, tag = "2")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub opgkkfolfkn: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub najejmghlin: ::core::option::Option, + #[prost(enumeration = "Dekghfophnj", tag = "5")] + pub gojjfbjajbi: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmelkgfhcpp { + #[prost(message, optional, tag = "5")] + pub lhbejkbkbfh: ::core::option::Option, + #[prost(map = "int32, int32", tag = "13")] + pub gmlkfeifpja: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9553)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odapiennaof { + #[prost(message, optional, tag = "8")] + pub gnmnjmfceji: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub gfkogpnmnfe: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8769)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pacmekhmenj { + #[prost(bool, tag = "12")] + pub bkfodfmdiol: bool, + #[prost(message, optional, tag = "15")] + pub kfemlaefeep: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jplbiefihph { + #[prost(float, tag = "1")] + pub pohnmenbegi: f32, + #[prost(float, tag = "2")] + pub llffkfoejgj: f32, + #[prost(float, tag = "3")] + pub cgcpijamknl: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1915)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Codgdcikojc { + #[prost(message, repeated, tag = "4")] + pub cpagbahnlge: ::prost::alloc::vec::Vec, + #[xor(3654)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4556)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iingbcaoobl { + #[xor(15931)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5647)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgjniicjllo { + #[prost(message, optional, tag = "11")] + pub fgchapipolp: ::core::option::Option, + #[xor(2017)] + #[prost(uint32, tag = "5")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbmlcldlikp { + #[xor(865)] + #[prost(int32, tag = "2")] + pub ihbfefngklm: i32, + #[prost(message, optional, tag = "9")] + pub jiahokidaii: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub lphcncjonia: ::core::option::Option, + #[prost(bool, tag = "4")] + pub oaokpcecghi: bool, + #[xor(12064)] + #[prost(int32, tag = "10")] + pub fkjihldgnnh: i32, + #[prost(bool, tag = "11")] + pub ppgjknmmfkm: bool, + #[prost(message, optional, tag = "1")] + pub aoheogghkec: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub fooapnmkbab: ::core::option::Option, + #[xor(998)] + #[prost(int32, tag = "14")] + pub ihjmfjegffo: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmdpjnbahdg { + #[prost(message, optional, tag = "1")] + pub gmgpeclahdm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mehkefnkifk { + #[prost(uint32, tag = "1")] + pub kmmjjgagcch: u32, + #[prost(uint32, tag = "2")] + pub lcaidhpecok: u32, + #[prost(uint32, tag = "3")] + pub eedkkdadncg: u32, + #[prost(enumeration = "Ombdageamel", tag = "4")] + pub hfgdjcfhokn: i32, + #[prost(message, optional, tag = "5")] + pub lbgmecpfodf: ::core::option::Option, + #[prost(uint64, tag = "6")] + pub ejdeehhomng: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4994)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcchhjiehmd { + #[xor(13139)] + #[prost(uint64, tag = "4")] + pub fkcdkdiacni: u64, + #[xor(5693)] + #[prost(uint64, tag = "1")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "2")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppobfmjolah { + #[prost(message, optional, tag = "4")] + pub bmpfjnlegno: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1859)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Galpcaacbba { + #[xor(13596)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khhfofodeik { + #[xor(14362)] + #[prost(uint64, tag = "5")] + pub bljojfjibph: u64, + #[prost(bytes = "vec", tag = "12")] + pub eegjfjmnncp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2146)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifellehnmia { + #[prost(message, optional, tag = "9")] + pub bclfdbceena: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icoplpfnlbh { + #[prost(string, tag = "1")] + pub clgdocgoggb: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8250)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmphkblcgad { + #[prost(message, repeated, tag = "11")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(7740)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, + #[xor(14858)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "15")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Llncobpibkj { + #[prost(uint32, tag = "1")] + pub gigjifkekce: u32, + #[prost(uint32, tag = "2")] + pub mgekmfiolkf: u32, + #[prost(uint32, tag = "3")] + pub lkdbeecbglo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7176)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpogonkjfbk { + #[prost(message, repeated, tag = "9")] + pub adkhllnnhap: ::prost::alloc::vec::Vec, + #[xor(14007)] + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "11")] + pub iiebfhalebp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kglbaeegojn { + #[prost(message, optional, tag = "1")] + pub quest_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojeofbgcaal { + #[prost(bool, tag = "1")] + pub lpfbdcmopia: bool, + #[prost(enumeration = "Pcekojidped", tag = "2")] + pub ekbfgknccph: i32, + #[prost(message, optional, tag = "3")] + pub pilemfjcdkp: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub dbhngjegfbj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Epeejfokpmf {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ahmaacipokl { + #[prost(enumeration = "Nppcheifbag", tag = "1")] + pub kmmblnlnkgo: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibddgkgblln { + #[prost(message, optional, tag = "1")] + pub avatar_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5646)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhepkflclep { + #[prost(int32, repeated, tag = "8")] + pub gfgjkaidenh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9088)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlfnjhmdcai { + #[prost(map = "uint32, message", tag = "3")] + pub paiihahajip: ::std::collections::HashMap, + #[prost(bool, tag = "5")] + pub ggocofeeolg: bool, + #[prost(bool, tag = "12")] + pub gmmkcbnofhh: bool, + #[prost(uint32, repeated, tag = "13")] + pub idhgafljeim: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkhlonhcapa { + #[prost(message, repeated, tag = "14")] + pub ieploccockn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Majpngogfbe { + #[prost(uint32, repeated, tag = "4")] + pub hcfnikmdbbf: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub blbnpdpedbm: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub aecbjgdigcd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub fibchenapmn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfacdpaneci { + #[prost(message, optional, tag = "1")] + pub bbiidnnlech: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5798)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetWorkbenchInfoCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ogbedilibef { + #[prost(int32, tag = "1")] + pub quest_id: i32, + #[prost(int32, tag = "2")] + pub r#type: i32, + #[prost(bool, tag = "3")] + pub djldiehhajf: bool, + #[prost(bool, tag = "4")] + pub gfhegijnplf: bool, + #[prost(int32, tag = "5")] + pub akacgpjilpb: i32, + #[prost(bool, tag = "6")] + pub pmnpdknfdge: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Alcggglenjd { + #[prost(bool, tag = "1")] + pub ibahjdbjmnf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Laofkljldba {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3072)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fkglcmpkkoe { + #[xor(12721)] + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[xor(4610)] + #[prost(uint32, tag = "7")] + pub dfnooalbhop: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5748)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nfljklhmegl { + #[xor(6374)] + #[prost(uint32, tag = "10")] + pub pigjgigjngb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mkpocjlaien { + #[xor(16348)] + #[prost(int32, tag = "12")] + pub kdakpedidll: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Efkcojngkoe {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6427)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bmgcmojaoip { + #[xor(4904)] + #[prost(uint32, tag = "12")] + pub phcbebaelmf: u32, + #[prost(enumeration = "Chlbmblieoe", tag = "15")] + pub cnahlldgkgi: i32, + #[xor(14009)] + #[prost(uint32, tag = "9")] + pub anogkkcceio: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2846)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Apldlhiobai { + #[xor(5025)] + #[prost(uint32, tag = "12")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Apnppphmefp { + #[prost(message, repeated, tag = "15")] + pub bhdnoblbnoh: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "12")] + pub lgmilbbokia: ::core::option::Option, + #[xor(9466)] + #[prost(uint32, tag = "9")] + pub fkkbflokodb: u32, + #[prost(enumeration = "Magmmkboaop", repeated, tag = "4")] + pub dmfcojjihcc: ::prost::alloc::vec::Vec, + #[xor(15252)] + #[prost(uint32, tag = "1")] + pub igmffmkifch: u32, + #[xor(8766)] + #[prost(uint32, tag = "3")] + pub uid: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3586)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aclecdlpeco { + #[xor(11214)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WishlistPlanInfo { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(message, optional, tag = "2")] + pub avatar_wishlist_plan: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub equip_wishlist_plan: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub skill_wishlist_plan: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2675)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mhhabkklpdi { + #[xor(1283)] + #[prost(uint32, tag = "11")] + pub iahpcojelin: u32, + #[xor(3607)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oldobjpeell { + #[xor(744)] + #[prost(int32, tag = "8")] + pub gmkefankfid: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ignhbljgpdm { + #[prost(double, tag = "1")] + pub mghfnnjlplc: f64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7327)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcmajhlhiab { + #[prost(message, optional, tag = "10")] + pub ijalbiehael: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7300)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gfdagnlcbfp { + #[xor(1318)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[xor(6096)] + #[prost(uint32, tag = "13")] + pub tag: u32, + #[prost(enumeration = "Acinfaajeel", tag = "8")] + pub pjneiaehofa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blpkbdjboom { + #[prost(message, repeated, tag = "1")] + pub dkckjpbdcod: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4869)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgmoeoijcod { + #[prost(message, repeated, tag = "6")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(3936)] + #[prost(uint64, tag = "10")] + pub fdfjcoccaoa: u64, + #[xor(12919)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5299)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ihifnblgdgp { + #[xor(1434)] + #[prost(int32, tag = "5")] + pub accoldclkid: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9767)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eolkifcneca { + #[xor(14420)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njiklmaifdm { + #[prost(message, optional, tag = "1")] + pub bddlconiggl: ::core::option::Option, + #[prost(enumeration = "HollowEntityType", tag = "2")] + pub elhojkcihcm: i32, + #[prost(bool, tag = "3")] + pub finished: bool, + #[prost(bool, tag = "4")] + pub olmnnpicdhk: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbddaodoboh { + #[prost(message, repeated, tag = "3")] + pub mjeobkgdiec: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub jadnfinigoc: ::prost::alloc::vec::Vec, + #[xor(9794)] + #[prost(uint32, tag = "5")] + pub ggjmkahecjm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbnnjkncckc { + #[prost(message, optional, tag = "1")] + pub dpeflkffjjd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(297)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cfkibpfmpna {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3551)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Okjgihfdgdd { + #[prost(bool, tag = "11")] + pub fegpnlknopp: bool, + #[xor(10633)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfifpkakdap { + #[prost(message, repeated, tag = "5")] + pub adkhllnnhap: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jklekljaocd { + #[prost(uint32, repeated, tag = "2")] + pub fhildlncmep: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub lmakolecehf: ::core::option::Option, + #[prost(uint32, repeated, tag = "8")] + pub bpaigfmiojj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub cbehdgcgepo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Blpbflkbpmj { + #[xor(15611)] + #[prost(int64, tag = "8")] + pub digblcoafeb: i64, + #[xor(6810)] + #[prost(uint32, tag = "13")] + pub bhnmbooodka: u32, + #[xor(3863)] + #[prost(uint32, tag = "6")] + pub fcbckehgoga: u32, + #[prost(bool, tag = "10")] + pub ilikllnocoa: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jlfieljlmbp { + #[prost(int32, tag = "1")] + pub cjlmmcemecd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1239)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Napkglifhao { + #[prost(bool, tag = "13")] + pub lkapfdmcomm: bool, + #[xor(9393)] + #[prost(uint32, tag = "1")] + pub pgiomnpgicj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8424)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnbjdmnmifb { + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, + #[xor(3621)] + #[prost(uint64, tag = "6")] + pub fkcdkdiacni: u64, + #[xor(8001)] + #[prost(uint64, tag = "10")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlfdaonfhen { + #[prost(message, optional, tag = "9")] + pub oghfknhjplk: ::core::option::Option, + #[xor(164)] + #[prost(uint32, tag = "1")] + pub mlepcomaiai: u32, + #[prost(uint32, repeated, tag = "3")] + pub cphblbejaon: ::prost::alloc::vec::Vec, + #[xor(962)] + #[prost(uint32, tag = "13")] + pub ghifdkelobe: u32, + #[prost(uint32, repeated, tag = "4")] + pub gfgjkaidenh: ::prost::alloc::vec::Vec, + #[xor(15001)] + #[prost(uint32, tag = "15")] + pub kfpbjdikmaa: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pgpngdgicnj { + #[prost(int32, tag = "1")] + pub quest_id: i32, + #[prost(int32, tag = "2")] + pub r#type: i32, + #[prost(bool, tag = "3")] + pub djldiehhajf: bool, + #[prost(bool, tag = "4")] + pub gfhegijnplf: bool, + #[prost(int32, tag = "5")] + pub akacgpjilpb: i32, + #[prost(bool, tag = "6")] + pub pmnpdknfdge: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6312)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knepngcifbk { + #[prost(message, repeated, tag = "12")] + pub efkoolaacoh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9090)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Peliolpfjak { + #[xor(6211)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "14")] + pub info: ::core::option::Option, + #[xor(11397)] + #[prost(uint64, tag = "3")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4258)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bdjndmihfoc { + #[xor(15634)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2689)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghbpcdckail { + #[prost(message, repeated, tag = "9")] + pub aoppojcdgge: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lbnbgjkhklk { + #[prost(uint32, tag = "1")] + pub section_id: u32, + #[prost(message, optional, tag = "2")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub claojgokflb: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub moccldbpbcp: ::core::option::Option, + #[prost(int32, tag = "5")] + pub pmcnjhgllnn: i32, + #[prost(int32, tag = "6")] + pub afdhhmokmcg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7258)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Elgcoaglnic { + #[xor(12176)] + #[prost(int32, tag = "3")] + pub jpkbnjeaohd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(81)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipleggonaeg { + #[prost(uint32, repeated, tag = "10")] + pub iokmnhfmblk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8505)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aeghiajdpoc { + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub info: ::core::option::Option, + #[xor(8992)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, + #[xor(12560)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5046)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gkabodgmafk { + #[xor(10986)] + #[prost(uint32, tag = "13")] + pub gcnenlcnlfd: u32, + #[prost(bool, tag = "5")] + pub dibhnhadaml: bool, + #[prost(bool, tag = "6")] + pub jaeejchbpmj: bool, + #[xor(3694)] + #[prost(uint32, tag = "15")] + pub buddy_id: u32, + #[xor(7484)] + #[prost(uint32, tag = "9")] + pub bedmgnddnio: u32, + #[xor(16270)] + #[prost(uint32, tag = "1")] + pub nafkgiconnn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3252)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Admhjiffija { + #[xor(16273)] + #[prost(int32, tag = "1")] + pub jblljokcgam: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4742)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetTrashbinHermitDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1083)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pjjanpchake { + #[xor(11856)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(bool, tag = "2")] + pub kgkcjopccak: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhcegakmbck { + #[xor(10446)] + #[prost(uint32, tag = "15")] + pub kmmjjgagcch: u32, + #[prost(message, repeated, tag = "8")] + pub olfpmohdfhh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Deljcogjlie {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2371)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blijibdingg { + #[xor(5843)] + #[prost(uint64, tag = "6")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(1904)] + #[prost(uint64, tag = "13")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Leponbcnfkl { + #[prost(enumeration = "Clhfpgmncdb", tag = "1")] + pub position: i32, + #[prost(message, optional, tag = "2")] + pub pohnmenbegi: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub llffkfoejgj: ::core::option::Option, + #[prost(string, tag = "4")] + pub efpckpnefdc: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gagopflgkpd { + #[prost(message, optional, tag = "1")] + pub olopcnmoagp: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub feanggnllfg: u32, + #[prost(uint32, tag = "3")] + pub gagbnbcohep: u32, + #[prost(map = "string, string", tag = "4")] + pub gpabcfjfaje: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + #[prost(map = "string, message", tag = "5")] + pub ilclagcmjdn: ::std::collections::HashMap< + ::prost::alloc::string::String, + Jiahalkoppm, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pmbajhkhpnj { + #[prost(uint32, tag = "1")] + pub jblljokcgam: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibkpnaiadpo { + #[prost(message, optional, tag = "1")] + pub cdklkjpfhhl: ::core::option::Option, + #[prost(bool, tag = "2")] + pub mheilcedkbk: bool, + #[prost(message, optional, tag = "3")] + pub hmonbhmokge: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(787)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jjeoieokbbk { + #[xor(6858)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ielcopfnpnb { + #[prost(uint32, tag = "1")] + pub pglhelicfcf: u32, + #[prost(message, repeated, tag = "2")] + pub jbcblblncbp: ::prost::alloc::vec::Vec, + #[prost(int64, tag = "3")] + pub hccjckmjabc: i64, + #[prost(int64, tag = "4")] + pub mcpmobeikhc: i64, + #[prost(uint32, tag = "5")] + pub bmhhjgfodii: u32, + #[prost(uint32, repeated, tag = "6")] + pub agfamkgnihn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(486)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Giefemlolpk { + #[xor(3746)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hodadgaldcl { + #[prost(int32, tag = "1")] + pub fiieiehipik: i32, + #[prost(int32, tag = "2")] + pub ocphdlakcfj: i32, + #[prost(int32, tag = "3")] + pub jkcjamilpfk: i32, + #[prost(message, optional, tag = "4")] + pub bchnjiehfbn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CafeData { + #[prost(int32, repeated, tag = "2")] + pub didjahniain: ::prost::alloc::vec::Vec, + #[xor(14523)] + #[prost(int32, tag = "1")] + pub aloohpdgiep: i32, + #[prost(int32, repeated, tag = "12")] + pub cnpelccegln: ::prost::alloc::vec::Vec, + #[xor(2661)] + #[prost(int32, tag = "13")] + pub jpaeddhechi: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icfnnnoeajf { + #[prost(uint32, repeated, tag = "1")] + pub jgghfcljldi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jjdppangiie { + #[prost(int32, tag = "1")] + pub opllilckkkp: i32, + #[prost(int32, tag = "2")] + pub ocphdlakcfj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdinfocmdpi { + #[prost(int32, repeated, tag = "15")] + pub ohbgkhdencm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4932)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fibkeohgdfc { + #[prost(bool, tag = "8")] + pub ellbicapbbg: bool, + #[xor(1169)] + #[prost(uint32, tag = "5")] + pub kdklnokdmgc: u32, + #[xor(2410)] + #[prost(uint32, tag = "4")] + pub hphfijennme: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Glacjginfph {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikbhocdgaip { + #[prost(string, repeated, tag = "1")] + pub mcgkklehool: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(uint32, repeated, tag = "2")] + pub bifkoifhcgh: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub bphoppdahng: ::prost::alloc::string::String, + #[prost(float, tag = "4")] + pub afmepaccopi: f32, + #[prost(float, tag = "5")] + pub adfpfdlamhg: f32, + #[prost(float, tag = "6")] + pub cbgkbhmkdop: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lidkomjhocm { + #[prost(uint32, tag = "1")] + pub cibcmgbaflm: u32, + #[prost(message, repeated, tag = "2")] + pub pbpphccccma: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8719)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ohgpbkanhdi { + #[prost(bool, tag = "1")] + pub blmfihangel: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1448)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReportEmbattleInfoCsReq { + #[prost(int32, repeated, tag = "3")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[xor(848)] + #[prost(int32, tag = "1")] + pub ploeoijkjof: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhnooccpaok { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub fkkbflokodb: i32, + #[prost(message, optional, tag = "2")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub hakiigcgkjf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8137)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mkcocfhopbk { + #[xor(16337)] + #[prost(uint32, tag = "14")] + pub pfhkpjilong: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4401)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lklcjljgfci { + #[prost(message, optional, tag = "11")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(9784)] + #[prost(uint64, tag = "8")] + pub fkcdkdiacni: u64, + #[xor(8891)] + #[prost(uint64, tag = "13")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jclompcnnop { + #[prost(message, optional, tag = "1")] + pub cjlmmcemecd: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub efpckpnefdc: ::core::option::Option, + #[prost(string, tag = "3")] + pub ielhgeoodoc: ::prost::alloc::string::String, + #[prost(enumeration = "HollowGridLink", tag = "4")] + pub hbjamoabjkf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hjakhhjckln { + #[prost(enumeration = "Epplgceemdm", tag = "1")] + pub cmmacbidlbc: i32, + #[prost(bool, tag = "2")] + pub bkeejibbbfj: bool, + #[prost(bool, tag = "3")] + pub adphdnnhlcg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4112)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oefpfabjmcj { + #[xor(11316)] + #[prost(uint32, tag = "15")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbgcfoamfnc { + #[prost(message, optional, tag = "3")] + pub mgdillglmam: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2267)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Podkplglkhh { + #[xor(4250)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "6")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, + #[xor(5024)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mgjegfalcke { + #[prost(message, optional, tag = "4")] + pub dpeflkffjjd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Enjkdaiodai { + #[xor(375)] + #[prost(uint32, tag = "7")] + pub efchmcpoabj: u32, + #[xor(8114)] + #[prost(uint32, tag = "10")] + pub rotation: u32, + #[xor(3372)] + #[prost(uint32, tag = "8")] + pub empfakgikfm: u32, + #[xor(376)] + #[prost(uint32, tag = "4")] + pub bcjebhdfbgf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fcagogecfga { + #[prost(uint32, tag = "1")] + pub bondgdfaoci: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4143)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llmeneojkhi { + #[xor(12236)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[xor(1760)] + #[prost(uint32, tag = "13")] + pub ndnghnbcgad: u32, + #[prost(message, optional, tag = "4")] + pub jpjnppnoiko: ::core::option::Option, + #[prost(uint32, repeated, tag = "10")] + pub akphpcjbhjj: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub weather: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "12")] + pub lfcadifnikd: ::prost::alloc::vec::Vec, + #[xor(653)] + #[prost(uint32, tag = "8")] + pub eloojjhioli: u32, + #[xor(8409)] + #[prost(uint32, tag = "6")] + pub iijljifalli: u32, + #[xor(11787)] + #[prost(uint32, tag = "15")] + pub icbjmbgmdnb: u32, + #[prost(string, tag = "1")] + pub time: ::prost::alloc::string::String, + #[xor(15418)] + #[prost(uint32, tag = "3")] + pub ifblajdpacm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Holmiapaaol { + #[prost(message, repeated, tag = "1")] + pub nfmojhjjldd: ::prost::alloc::vec::Vec, + #[xor(11414)] + #[prost(int32, tag = "3")] + pub iegihmjipdg: i32, + #[prost(message, repeated, tag = "6")] + pub nkmeffcgekd: ::prost::alloc::vec::Vec, + #[prost(float, tag = "10")] + pub kffdknkcnok: f32, + #[prost(message, optional, tag = "13")] + pub jhmpagfknfc: ::core::option::Option, + #[xor(9131)] + #[prost(int32, tag = "14")] + pub hcopojhoimc: i32, + #[prost(float, tag = "4")] + pub ihjleokncgf: f32, + #[xor(9147)] + #[prost(int32, tag = "9")] + pub hdaokibdehc: i32, + #[xor(9150)] + #[prost(int32, tag = "15")] + pub ahmjlglcomj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cjacplflgak {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(855)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetMiniscapeEntrustDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jiiooanidab { + #[xor(1035)] + #[prost(uint32, tag = "15")] + pub pgiomnpgicj: u32, + #[xor(6031)] + #[prost(uint32, tag = "2")] + pub template_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9207)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghijhpkddni { + #[prost(bytes = "vec", tag = "4")] + pub eojpjinneih: ::prost::alloc::vec::Vec, + #[xor(8757)] + #[prost(uint32, tag = "5")] + pub event_graph_uid: u32, + #[prost(enumeration = "EventGraphOwnerType", tag = "6")] + pub owner_type: i32, + #[prost(message, optional, tag = "2")] + pub cccbeplbaaa: ::core::option::Option, + #[prost(enumeration = "ActionType", tag = "13")] + pub action_type: i32, + #[xor(11653)] + #[prost(uint32, tag = "8")] + pub cinlamkghbj: u32, + #[xor(5722)] + #[prost(uint32, tag = "1")] + pub owner_id: u32, + #[xor(11519)] + #[prost(uint32, tag = "12")] + pub clgfbjgkocf: u32, + #[xor(6150)] + #[prost(uint32, tag = "14")] + pub tag: u32, + #[xor(4352)] + #[prost(uint32, tag = "3")] + pub section_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odimopoofen { + #[prost(message, optional, tag = "1")] + pub efpckpnefdc: ::core::option::Option, + #[prost(string, tag = "2")] + pub hmmneikfple: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfehjodggif { + #[prost(message, optional, tag = "1")] + pub adpjhhpoghi: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ghcnbjnlmhh { + #[prost(float, tag = "6")] + pub pohnmenbegi: f32, + #[prost(float, tag = "13")] + pub llffkfoejgj: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7403)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kpphmfjfjnb { + #[xor(12154)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8656)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fobmaahglhm { + #[xor(11678)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1790)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cdljnomllfn {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dgfinhdpdhp { + #[xor(7905)] + #[prost(uint32, tag = "9")] + pub appglhkjobe: u32, + #[prost(enumeration = "Ealnkknpagg", tag = "10")] + pub r#type: i32, + #[xor(13515)] + #[prost(uint32, tag = "7")] + pub hidfjeeeclb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1339)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Beoiemibdnk { + #[xor(15140)] + #[prost(uint32, tag = "13")] + pub cdklkjpfhhl: u32, + #[xor(4701)] + #[prost(uint32, tag = "14")] + pub lcbaliamhib: u32, + #[xor(15726)] + #[prost(uint32, tag = "12")] + pub lobafigmneb: u32, + #[prost(enumeration = "Gioejkgjcpp", tag = "7")] + pub idbebhejjkg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2791)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dkcfggdbpkj { + #[xor(175)] + #[prost(uint32, tag = "7")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oailifacjmk { + #[prost(uint32, tag = "1")] + pub cdklkjpfhhl: u32, + #[prost(enumeration = "Eojinbjecmm", tag = "2")] + pub aoicgngakkm: i32, + #[prost(uint32, tag = "3")] + pub klcjacpefjm: u32, + #[prost(uint32, tag = "4")] + pub jncfhnjnfkg: u32, + #[prost(uint32, tag = "5")] + pub nddobnmabai: u32, + #[prost(bool, tag = "6")] + pub dkmieefjcek: bool, + #[prost(string, tag = "7")] + pub kllkhfdbbjh: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4251)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pccacconnan { + #[xor(8337)] + #[prost(uint32, tag = "14")] + pub count: u32, + #[xor(13217)] + #[prost(uint32, tag = "4")] + pub hfpfbndpgjh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5144)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Deaagcilhpd { + #[xor(12023)] + #[prost(uint32, tag = "8")] + pub tag: u32, + #[xor(12915)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6772)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ampdneojdcl { + #[xor(13569)] + #[prost(uint64, tag = "9")] + pub gglnpjfcibj: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Faagobhlgpj { + #[prost(message, repeated, tag = "4")] + pub kidpjmmjppj: ::prost::alloc::vec::Vec, + #[prost(string, tag = "5")] + pub njkfgjmkbdb: ::prost::alloc::string::String, + #[prost(enumeration = "Pcekojidped", tag = "6")] + pub fdgfeeboabf: i32, + #[prost(message, optional, tag = "7")] + pub ilbdbjpgdig: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub bibagfchidj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aikfnkpdpnk { + #[prost(message, repeated, tag = "1")] + pub iohhlidaffg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmhojcpdfab { + #[prost(message, repeated, tag = "1")] + pub delbgoehhop: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fijbhplmegi {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5699)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncphfmkdhlk { + #[prost(message, repeated, tag = "15")] + pub pldmclnkoac: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6854)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dogjmepcjgj { + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(3216)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[xor(15541)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pbnckiajndp { + #[xor(15989)] + #[prost(uint32, tag = "15")] + pub kmmjjgagcch: u32, + #[xor(5964)] + #[prost(uint64, tag = "3")] + pub fkcdkdiacni: u64, + #[xor(1750)] + #[prost(uint32, tag = "1")] + pub bhbfkmpaakh: u32, + #[xor(10572)] + #[prost(uint32, tag = "10")] + pub lcaidhpecok: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(301)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EnterSectionCsReq { + #[prost(bool, tag = "13")] + pub nhhnjggpdfd: bool, + #[xor(12108)] + #[prost(uint32, tag = "7")] + pub kedlgoakhld: u32, + #[xor(11119)] + #[prost(uint32, tag = "3")] + pub section_id: u32, + #[prost(bool, tag = "5")] + pub fglbjejpamb: bool, + #[prost(enumeration = "EventGraphOwnerType", tag = "10")] + pub owner_type: i32, + #[prost(string, tag = "12")] + pub transform_id: ::prost::alloc::string::String, + #[xor(15924)] + #[prost(uint32, tag = "6")] + pub tag: u32, + #[xor(6607)] + #[prost(uint32, tag = "11")] + pub henmkajoacj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fpmebmgmcgk { + #[prost(bool, tag = "3")] + pub ohifmfcphif: bool, + #[xor(5244)] + #[prost(int32, tag = "6")] + pub pcnmkhnimki: i32, + #[xor(4848)] + #[prost(int32, tag = "7")] + pub foofphadpgm: i32, + #[xor(13755)] + #[prost(int32, tag = "11")] + pub mdlfgimgjad: i32, + #[xor(7077)] + #[prost(int32, tag = "9")] + pub ggdkhpplobj: i32, + #[prost(message, optional, tag = "1")] + pub ofbnadpmfad: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub nfmojhjjldd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iijfdaiolic { + #[prost(int32, tag = "1")] + pub mcnmkdmidlo: i32, + #[prost(int32, tag = "2")] + pub ghehgjmmdik: i32, + #[prost(enumeration = "Npaeinmcdce", tag = "3")] + pub epekkmbndao: i32, + #[prost(int32, tag = "4")] + pub ghbehgcbofc: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1924)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aomkjfoolif { + #[prost(message, optional, tag = "6")] + pub info: ::core::option::Option, + #[xor(13791)] + #[prost(uint64, tag = "7")] + pub fdfjcoccaoa: u64, + #[xor(13672)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "1")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9797)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdmkipedgbl { + #[xor(14993)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fppgkjeojoh {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1143)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lnadoanlgag { + #[prost(message, optional, tag = "9")] + pub info: ::core::option::Option, + #[xor(1775)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(6222)] + #[prost(uint64, tag = "1")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(619)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbkekpfdddm { + #[prost(message, repeated, tag = "8")] + pub dfccogcmnom: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub jkdgmmjjdlk: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub mojmkoocdec: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kdbgbfabakc { + #[xor(15681)] + #[prost(uint64, tag = "6")] + pub jpmfoahoobm: u64, + #[xor(15682)] + #[prost(uint64, tag = "4")] + pub nngejkejipj: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmhcjkekoeb { + #[prost(message, optional, tag = "1")] + pub fdeohomlplo: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub section: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4298)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bejpacdcinb { + #[prost(message, optional, tag = "1")] + pub miemklodkfd: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub lhmmbppoeeb: ::core::option::Option, + #[prost(bool, tag = "15")] + pub okmihnngnhi: bool, + #[xor(4172)] + #[prost(int64, tag = "5")] + pub lolfdmgofhf: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct AvatarSkillInfo { + #[xor(8858)] + #[prost(uint32, tag = "13")] + pub skill_type: u32, + #[xor(11273)] + #[prost(uint32, tag = "4")] + pub level: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4888)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blcjngagbnn { + #[prost(uint32, repeated, tag = "10")] + pub bfgenanklmg: ::prost::alloc::vec::Vec, + #[xor(14753)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Npknlmebpdf { + #[xor(4740)] + #[prost(uint32, tag = "10")] + pub template_id: u32, + #[prost(bool, tag = "7")] + pub cdclblegnpa: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnffchcpaed { + #[prost(message, optional, tag = "1")] + pub pohnmenbegi: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub llffkfoejgj: ::core::option::Option, + #[prost(bool, tag = "3")] + pub haaajbnjkoc: bool, + #[prost(message, optional, tag = "4")] + pub clgdocgoggb: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub lcjdkmhnjbp: ::core::option::Option, + #[prost(bool, tag = "6")] + pub pnkhhilfmbm: bool, + #[prost(bool, tag = "7")] + pub blcnjdkconj: bool, + #[prost(message, optional, tag = "8")] + pub ldoihgboinm: ::core::option::Option, + #[prost(bool, tag = "9")] + pub jcjmcpblmeb: bool, + #[prost(bool, tag = "10")] + pub fihnanppdgn: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knfceobjnaj { + #[prost(message, optional, tag = "1")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(enumeration = "Hoophmkdpgb", tag = "2")] + pub pfdnfhigfof: i32, + #[prost(string, tag = "3")] + pub jodgalgcbcj: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8596)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjofjjgapam { + #[prost(string, tag = "12")] + pub lcljjhpcdca: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajiibdgkola { + #[prost(string, tag = "1")] + pub mlppphicakh: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub jacamjckiii: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8898)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Feahcfimnid { + #[xor(13328)] + #[prost(uint64, tag = "2")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(143)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lppklbokplp { + #[prost(uint32, tag = "1")] + pub npc_id: u32, + #[prost(uint32, tag = "2")] + pub interaction: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8212)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetResourceDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iafdffoanko { + #[prost(message, optional, tag = "1")] + pub uid: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hnmmceocapn: ::core::option::Option, + #[prost(string, tag = "3")] + pub phkbmnbiidn: ::prost::alloc::string::String, + #[prost(bool, tag = "4")] + pub bpdgepefooe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(209)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kegoceflojk { + #[prost(message, optional, tag = "11")] + pub info: ::core::option::Option, + #[xor(5940)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(1827)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hponhpjkfpp { + #[prost(message, optional, tag = "1")] + pub dlmdgbpcnal: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub mcmiohiimfm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub mifjcgbejdj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub madhaccehjj: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "5")] + pub igpmdpccpjp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cdnjaicjcmd { + #[prost(enumeration = "Jdkdapingmh", tag = "1")] + pub fnkpjeodjhh: i32, + #[prost(enumeration = "Gbnhkbnegji", tag = "2")] + pub ajbiidkfbpn: i32, + #[prost(enumeration = "Agmjjomdomi", tag = "3")] + pub position: i32, + #[prost(int32, tag = "4")] + pub pohnmenbegi: i32, + #[prost(int32, tag = "5")] + pub llffkfoejgj: i32, + #[prost(int32, tag = "6")] + pub aaihplbfpad: i32, + #[prost(int32, tag = "7")] + pub kimfcinkdko: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5976)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmdellhhdja { + #[prost(message, repeated, tag = "11")] + pub bbppijjkjkc: ::prost::alloc::vec::Vec, + #[xor(8493)] + #[prost(uint32, tag = "4")] + pub lcmphgcpdbd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2145)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aikookdjnfc { + #[xor(1334)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9273)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jgfpdedeehn { + #[xor(8634)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilmdbenljlk { + #[prost(int32, repeated, tag = "3")] + pub keppmkhifhe: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "4")] + pub mnfnmjaecod: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "5")] + pub ngajfdddkja: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub cdhcemejlkh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub mdcapcamfdp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub fcjlhbbadpn: ::prost::alloc::vec::Vec, + #[prost(map = "int32, enumeration(Cogeanaeohd)", tag = "11")] + pub aahjnijnabk: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "12")] + pub abgmfnihmbj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub jamhgllailn: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "15")] + pub ebghopdkjan: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flbfjkfbdnh { + #[prost(uint32, repeated, tag = "1")] + pub aomeeiaiinm: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub gklpkajpdgj: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub meinbmbebed: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub ffjlpmikhid: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub kjamgdpfape: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub ejffpnhcbli: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub ljkealkaojl: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub fjkcbmnhphk: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub kfcmfmghgbl: ::core::option::Option, + #[prost(uint32, repeated, tag = "10")] + pub elagkibcjfb: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub hoempfpoahe: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub hpgbiegbilh: ::core::option::Option, + #[prost(message, repeated, tag = "14")] + pub cdjoeogpigc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub jmpbpagmokk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oahoifdjpdk { + #[prost(int32, tag = "1")] + pub pohnmenbegi: i32, + #[prost(int32, tag = "2")] + pub llffkfoejgj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhpnaojnkof { + #[prost(bool, tag = "1")] + pub lglpgpegigl: bool, + #[prost(string, tag = "2")] + pub jnlchfkcnik: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub hnpkpficmjm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppficpkcdga { + #[prost(uint32, tag = "1")] + pub bhbfkmpaakh: u32, + #[prost(message, repeated, tag = "2")] + pub noebkmdmfga: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iffddjcinge { + #[prost(string, repeated, tag = "1")] + pub hcdoebhodjp: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, tag = "2")] + pub baiomfdgdlc: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lelfillbdcg { + #[xor(12328)] + #[prost(uint64, tag = "7")] + pub fdfjcoccaoa: u64, + #[xor(10664)] + #[prost(uint32, tag = "10")] + pub hkopdmjdgjj: u32, + #[xor(1531)] + #[prost(uint64, tag = "12")] + pub hdonikjeenc: u64, + #[xor(2462)] + #[prost(uint64, tag = "8")] + pub fkcdkdiacni: u64, + #[xor(1078)] + #[prost(uint64, tag = "2")] + pub bkmgijmnlpf: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8606)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kgblkheljga { + #[xor(15775)] + #[prost(uint64, tag = "11")] + pub minddnoilcb: u64, + #[prost(bool, tag = "12")] + pub oflhgjchldl: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnnnlheniji { + #[prost(int32, tag = "1")] + pub mgkoacfjjea: i32, + #[prost(message, optional, tag = "2")] + pub ianhccpdolj: ::core::option::Option, + #[prost(enumeration = "Klcnpnekjhm", tag = "3")] + pub r#type: i32, + #[prost(int32, tag = "4")] + pub flbkfpdokpd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mjdbfpnohgj { + #[xor(3061)] + #[prost(uint32, tag = "5")] + pub template_id: u32, + #[xor(6106)] + #[prost(uint32, tag = "2")] + pub count: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2763)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lolehgmlbfl { + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, + #[xor(625)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, + #[xor(438)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmlkaimnhjd { + #[prost(uint32, tag = "1")] + pub bgbjnicnjja: u32, + #[prost(uint32, tag = "2")] + pub ekpcpcnhbcc: u32, + #[prost(message, optional, tag = "3")] + pub nkmeffcgekd: ::core::option::Option, + #[prost(int32, tag = "4")] + pub rotation: i32, + #[prost(uint32, repeated, tag = "5")] + pub cabmcaebekl: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub akpocciipcm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkbjjmgmdlk { + #[prost(message, optional, tag = "1")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "2")] + pub odnpbhepnoa: i32, + #[prost(message, optional, tag = "3")] + pub fedpfjjcabm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fimaejjikab {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6574)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmbhfabbhko { + #[prost(message, optional, tag = "5")] + pub gnkebpblhga: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1594)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pdalkpjflgi { + #[xor(12125)] + #[prost(int32, tag = "15")] + pub interaction: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnchgklmphl { + #[prost(string, tag = "1")] + pub iggfcdfahen: ::prost::alloc::string::String, + #[prost(int64, tag = "2")] + pub mieeacbdmfk: i64, + #[prost(enumeration = "Jpnihhbgepd", tag = "3")] + pub odnpbhepnoa: i32, + #[prost(string, tag = "4")] + pub nmpddgmjhfi: ::prost::alloc::string::String, + #[prost(bool, tag = "5")] + pub inlfkacflge: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dcajigpckon { + #[prost(message, optional, tag = "1")] + pub mgjdcahcpfa: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub jmdcihhhaoc: bool, + #[prost(bool, tag = "4")] + pub pellblmpfld: bool, + #[prost(bool, tag = "5")] + pub nacokmgjccm: bool, + #[prost(bool, tag = "6")] + pub dbjndafglcp: bool, + #[prost(bool, tag = "7")] + pub khebfdaihah: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mbkobnhakaf { + #[prost(int32, tag = "1")] + pub clgdocgoggb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgddgcdcnpf { + #[prost(bool, tag = "1")] + pub kgelnblmkec: bool, + #[prost(bool, tag = "2")] + pub fpnnkpkjanj: bool, + #[prost(message, repeated, tag = "3")] + pub pfpkdoianjn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5149)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oajpjebmhla { + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, + #[xor(1328)] + #[prost(uint64, tag = "9")] + pub fkcdkdiacni: u64, + #[xor(158)] + #[prost(uint64, tag = "11")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "1")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1401)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lejfdfkalgo { + #[xor(6817)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(219)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inkkjagmbik { + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[xor(12672)] + #[prost(uint64, tag = "1")] + pub fdfjcoccaoa: u64, + #[xor(14656)] + #[prost(uint64, tag = "4")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "12")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cgngmnnijlk { + #[prost(bool, tag = "1")] + pub nldbieegndm: bool, + #[prost(bool, tag = "2")] + pub dcmikaacihk: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9581)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Inhoncginlg { + #[xor(1753)] + #[prost(int32, tag = "1")] + pub jpkbnjeaohd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9652)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pfjamccbeih { + #[xor(14696)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpacebgkoab { + #[prost(message, optional, tag = "1")] + pub section: ::core::option::Option, + #[prost(string, tag = "2")] + pub transform_id: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub camera_x: u32, + #[prost(uint32, tag = "4")] + pub camera_y: u32, + #[prost(uint32, tag = "5")] + pub kedlgoakhld: u32, + #[prost(bool, tag = "6")] + pub gfhegijnplf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7764)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetRoleCardDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5880)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jhhfogfhjio { + #[xor(3862)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8723)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Efjgolaidbm { + #[xor(11431)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pjclbjpgpma { + #[prost(uint32, tag = "1")] + pub gieobpmcpck: u32, + #[prost(uint32, tag = "2")] + pub ncfeipdbcjg: u32, + #[prost(bool, tag = "3")] + pub hegffmgfbhj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(830)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kiakbbelhil { + /// VMP DETECTED + /// + #[xor(15390)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8796)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cjcahigdhbl { + #[xor(4417)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djeoplpnkgk { + #[xor(390)] + #[prost(uint32, tag = "13")] + pub exp: u32, + #[prost(map = "uint32, int32", tag = "3")] + pub efhjeghnemn: ::std::collections::HashMap, + #[xor(14993)] + #[prost(uint32, tag = "5")] + pub level: u32, + #[xor(12456)] + #[prost(uint32, tag = "12")] + pub ohgfkgiedmo: u32, + #[xor(4416)] + #[prost(uint32, tag = "2")] + pub star: u32, + #[xor(8451)] + #[prost(uint32, tag = "11")] + pub rank: u32, + #[xor(4783)] + #[prost(uint32, tag = "1")] + pub buddy_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Efbcfcifhgm { + #[xor(4926)] + #[prost(uint32, tag = "12")] + pub pglhelicfcf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8513)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eafpfdplhgc { + #[xor(9773)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jpafandladd { + #[prost(int32, tag = "1")] + pub avatar_id: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lkoachaenaf { + #[prost(uint32, tag = "1")] + pub kmmblnlnkgo: u32, + #[prost(uint32, tag = "2")] + pub nadebamdkdg: u32, + #[prost(int32, tag = "3")] + pub count: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dieabknibdm { + #[xor(3088)] + #[prost(int32, tag = "1094")] + pub ggjfklmbkmf: i32, + #[xor(11023)] + #[prost(int32, tag = "12")] + pub gbhhajlacmg: i32, + #[xor(2976)] + #[prost(int32, tag = "15")] + pub bcbplpdpkfk: i32, + #[xor(9280)] + #[prost(int32, tag = "2")] + pub bkdpcjpombl: i32, + #[prost(float, repeated, tag = "8")] + pub gagbfnpmgpf: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "1037")] + pub hmgcofimamk: bool, + #[xor(12566)] + #[prost(int32, tag = "14")] + pub gchnbbikffp: i32, + #[xor(16237)] + #[prost(int32, tag = "11")] + pub fmbgjionldc: i32, + #[xor(13552)] + #[prost(int32, tag = "1194")] + pub phoiflbkjme: i32, + #[xor(9860)] + #[prost(int32, tag = "1819")] + pub kdbkfgbfbfd: i32, + #[xor(13197)] + #[prost(int32, tag = "34")] + pub mnknfdcifbm: i32, + #[xor(5696)] + #[prost(int32, tag = "5")] + pub opbannndmdp: i32, + #[xor(12071)] + #[prost(int32, tag = "4")] + pub jalbcjjdoff: i32, + #[xor(11602)] + #[prost(int32, tag = "10")] + pub gpblninblge: i32, + #[xor(10604)] + #[prost(int32, tag = "13")] + pub bcddjbailgd: i32, + #[xor(6886)] + #[prost(int32, tag = "528")] + pub pdfegpaaopk: i32, + #[prost(float, tag = "9")] + pub jhdpfdjipje: f32, + #[xor(13896)] + #[prost(int32, tag = "3")] + pub eedkkdadncg: i32, + #[prost(message, repeated, tag = "1")] + pub ieploccockn: ::prost::alloc::vec::Vec, + #[xor(13908)] + #[prost(int32, tag = "2030")] + pub ajehkjldjml: i32, + #[xor(10197)] + #[prost(int32, tag = "6")] + pub iiilokpdmhd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7451)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetWeaponDataScRsp { + #[prost(uint32, repeated, tag = "11")] + pub condlbebhca: ::prost::alloc::vec::Vec, + #[xor(11561)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "12")] + pub pninkkjeipi: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub weapon_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1174)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ecbejbbckac {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jiahalkoppm { + #[prost(string, tag = "1")] + pub kiekknmjjon: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lbekljpgodm { + #[prost(bool, tag = "6")] + pub hhdkohdobkk: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5715)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jajeaefpico { + #[xor(9078)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejlpkojfgac { + #[prost(enumeration = "Nljhpikkdnd", tag = "1")] + pub dkmepflgcmf: i32, + #[prost(message, optional, tag = "2")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub cglcnlabmba: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub jpfigchhmba: ::core::option::Option, + #[prost(bool, tag = "5")] + pub kpijbmlabli: bool, + #[prost(bool, tag = "6")] + pub ddalokfcpci: bool, + #[prost(bool, tag = "7")] + pub opdidljeddm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mpacagfdkop { + #[prost(int32, tag = "1")] + pub template_id: i32, + #[prost(enumeration = "Afbpjmnlncf", tag = "2")] + pub kjongknfkee: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(661)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hafnloononk { + #[xor(1383)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbmhfknggml { + #[prost(int32, tag = "1")] + pub hmmneikfple: i32, + #[prost(int32, tag = "2")] + pub star: i32, + #[prost(int32, tag = "3")] + pub chcdfnkdbke: i32, + #[prost(map = "uint32, message", tag = "4")] + pub oklfbifmhij: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "5")] + pub aooloieeagi: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub nnhbdfldcbn: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub aklngcnogbc: ::core::option::Option, + #[prost(map = "uint32, int32", tag = "8")] + pub cmmajelgfbh: ::std::collections::HashMap, + #[prost(message, repeated, tag = "9")] + pub gafdeiifkkg: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "10")] + pub gggfmnmdaoh: i32, + #[prost(uint32, tag = "11")] + pub offemdgpmeo: u32, + #[prost(uint32, repeated, tag = "12")] + pub kcglmmdekab: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "14")] + pub dlabfeadhpf: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub bfljohplkdc: u32, + #[prost(uint32, tag = "16")] + pub djogideieia: u32, + #[prost(bool, tag = "17")] + pub gnbciljejip: bool, + #[prost(message, optional, tag = "18")] + pub dpndhaolida: ::core::option::Option, + #[prost(uint32, tag = "19")] + pub hcdbijognlp: u32, + #[prost(int64, tag = "20")] + pub iggofgjfodb: i64, + #[prost(map = "uint32, int32", tag = "21")] + pub kiabkfncndl: ::std::collections::HashMap, + #[prost(map = "uint32, int32", tag = "22")] + pub iaohaipmlhp: ::std::collections::HashMap, + #[prost(message, optional, tag = "23")] + pub eciolilndhk: ::core::option::Option, + #[prost(message, optional, tag = "24")] + pub ojjeeiflgme: ::core::option::Option, + #[prost(map = "uint32, int32", tag = "25")] + pub lnnegniibkj: ::std::collections::HashMap, + #[prost(uint32, tag = "26")] + pub ohnppfeppgb: u32, + #[prost(int32, tag = "27")] + pub kfgmaomjlhl: i32, + #[prost(message, optional, tag = "28")] + pub iehogghinhc: ::core::option::Option, + #[prost(int32, tag = "29")] + pub lojkdlkclfi: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cjmhpdegnii { + #[xor(1619)] + #[prost(int32, tag = "13")] + pub ocphdlakcfj: i32, + #[xor(4132)] + #[prost(int32, tag = "7")] + pub doijaikcnjg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aapfoehagao { + #[prost(message, optional, tag = "1")] + pub mghfnnjlplc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llcdmmlgcbg { + #[prost(string, tag = "1")] + pub appdnhldamm: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub elicklianja: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub kbnkgfomadd: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ekcnmilkkjk {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ognainkfhml { + #[xor(10538)] + #[prost(uint32, tag = "9")] + pub kpfdcfehhnc: u32, + #[xor(12942)] + #[prost(uint32, tag = "7")] + pub gjiodjcdddp: u32, + #[xor(15474)] + #[prost(uint32, tag = "10")] + pub r#type: u32, + #[prost(string, tag = "14")] + pub leagjddklof: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub andkmbnlmoi: ::prost::alloc::string::String, + #[xor(6679)] + #[prost(uint32, tag = "6")] + pub template_id: u32, + #[prost(string, tag = "1")] + pub gkdipnedmjk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9928)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Plmhpcmdnde { + #[xor(3650)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[xor(1362)] + #[prost(uint32, tag = "2")] + pub efmpiehjjem: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pmhlenbaojf { + #[prost(enumeration = "Habecehfojh", tag = "1")] + pub hbjggpbfnog: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onjajdkenmg { + #[prost(string, tag = "1")] + pub olopcnmoagp: ::prost::alloc::string::String, + #[prost(map = "string, string", tag = "2")] + pub gpabcfjfaje: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + #[prost(map = "string, string", tag = "3")] + pub ilclagcmjdn: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggjiceegdda { + #[prost(int32, tag = "1")] + pub avatar_id: i32, + #[prost(int64, tag = "2")] + pub eonhiiakndc: i64, + #[prost(int32, tag = "3")] + pub hogkcpkjfgo: i32, + #[prost(int32, tag = "4")] + pub aeoepagmahf: i32, + #[prost(int32, tag = "5")] + pub cjpgbkbhkld: i32, + #[prost(int32, tag = "6")] + pub fedpfjjcabm: i32, + #[prost(int32, tag = "7")] + pub icoehgohboi: i32, + #[prost(int32, tag = "8")] + pub fknbcmohbek: i32, + #[prost(int32, tag = "9")] + pub dcdmbhmdnin: i32, + #[prost(int32, tag = "10")] + pub oicmokjaojd: i32, + #[prost(int32, tag = "11")] + pub coichficpoe: i32, + #[prost(int32, tag = "12")] + pub nannmjaieai: i32, + #[prost(int32, tag = "13")] + pub ofldkbiifpf: i32, + #[prost(message, repeated, tag = "14")] + pub jcgebnhagic: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub pafphpmhhoa: i32, + #[prost(int32, tag = "16")] + pub lojohlinogb: i32, + #[prost(int32, tag = "17")] + pub fljjhddfnni: i32, + #[prost(int32, tag = "18")] + pub knemlhnilib: i32, + #[prost(int32, tag = "19")] + pub elfogmijmjl: i32, + #[prost(message, repeated, tag = "20")] + pub bibnoefnfol: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "21")] + pub pihhlagocfp: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "22")] + pub knpkkpajkie: i32, + #[prost(int32, tag = "23")] + pub bhblpfoihjh: i32, + #[prost(int32, tag = "24")] + pub ojaehipklej: i32, + #[prost(int32, tag = "25")] + pub hfcebnfnlki: i32, + #[prost(message, repeated, tag = "29")] + pub ipmmkanlihk: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "30")] + pub gjeaknhhjac: i32, + #[prost(int32, tag = "31")] + pub khfaedhifji: i32, + #[prost(uint32, tag = "32")] + pub lmgnhgifjje: u32, + #[prost(uint32, tag = "33")] + pub gjikbfgjgnm: u32, + #[prost(uint32, tag = "34")] + pub hdnfhihohkd: u32, + #[prost(uint32, tag = "35")] + pub hnomlaajchd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(483)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gikbcanbpgg { + #[xor(11210)] + #[prost(uint32, tag = "12")] + pub avatar_id: u32, + #[prost(bool, repeated, tag = "1")] + pub talent_switch_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eefplnhklbl { + #[prost(message, repeated, tag = "9")] + pub bhdnoblbnoh: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Deflkildefh", repeated, tag = "7")] + pub dmfcojjihcc: ::prost::alloc::vec::Vec, + #[xor(11541)] + #[prost(uint32, tag = "3")] + pub uid: u32, + #[xor(13432)] + #[prost(int32, tag = "4")] + pub fkkbflokodb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3871)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlnifngikie { + #[prost(int32, repeated, tag = "3")] + pub gnbgjkfeckj: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "7")] + pub ahebjlfhlma: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gifegacghmj { + #[prost(map = "uint32, uint32", tag = "13")] + pub ohkfncepmam: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gpinecdehdd { + #[prost(message, optional, tag = "14")] + pub dpeflkffjjd: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub apacdkacfnd: ::core::option::Option, + #[xor(6748)] + #[prost(int32, tag = "9")] + pub npimojhcdaj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpmijbeebih { + #[prost(message, optional, tag = "9")] + pub gidapkddnkg: ::core::option::Option, + #[xor(16074)] + #[prost(uint32, tag = "13")] + pub kjongknfkee: u32, + #[xor(3431)] + #[prost(uint32, tag = "3")] + pub bhbfkmpaakh: u32, + #[xor(16169)] + #[prost(uint32, tag = "6")] + pub lcaidhpecok: u32, + #[xor(3543)] + #[prost(uint32, tag = "14")] + pub kmmjjgagcch: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clkeajcmnko { + #[prost(message, optional, tag = "1")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(enumeration = "HollowGridLink", tag = "2")] + pub bbbmiohmgic: i32, + #[prost(message, optional, tag = "3")] + pub fobfhnajggd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1864)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdijafboiih { + #[xor(6858)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6928)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lfggdecffne { + #[xor(9673)] + #[prost(uint32, tag = "1")] + pub tag: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ioedhfgimpn { + #[prost(uint32, repeated, tag = "8")] + pub ekbdiilbmil: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2160)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hicghpipgpm {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndnmkkpogjf { + #[prost(message, optional, tag = "1")] + pub ohmeifflppm: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gopmcgkcapo { + #[prost(message, optional, tag = "1")] + pub event_graph_owner_uid: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hhdhdjphojg: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub delbgoehhop: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub aelnfbkpodl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ifjhbfjfegb { + #[xor(1402)] + #[prost(int32, tag = "13")] + pub lamomhanken: i32, + #[xor(15958)] + #[prost(int32, tag = "2")] + pub ddcnjgiklbp: i32, + #[xor(9198)] + #[prost(int32, tag = "7")] + pub retcode: i32, + #[xor(1420)] + #[prost(int32, tag = "8")] + pub lhgmkeminbn: i32, + #[xor(16177)] + #[prost(int32, tag = "4")] + pub bkmgijmnlpf: i32, + #[xor(6978)] + #[prost(int32, tag = "12")] + pub ggdkhpplobj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hddkdjnjgli {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnojikndcag { + #[prost(uint32, repeated, tag = "1")] + pub eknblobefgf: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub lfnhndbhhjl: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub loiganhhldb: ::core::option::Option, + #[prost(message, repeated, tag = "8")] + pub mcioofbppon: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Klmlennfbfd", tag = "10")] + pub kmlkcndejom: i32, + #[prost(message, optional, tag = "12")] + pub ihddijlgldh: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub pfggbffgjjd: ::core::option::Option, + #[prost(bool, tag = "15")] + pub ilikllnocoa: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5383)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iaohdblpnne { + #[xor(9024)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "14")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "15")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(4481)] + #[prost(uint64, tag = "1")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plpbolddopm { + #[prost(message, optional, tag = "1")] + pub jojaagalofn: ::core::option::Option, + #[prost(enumeration = "Piljklinmdm", tag = "2")] + pub hobjbpineli: i32, + #[prost(message, optional, tag = "3")] + pub position: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub claojgokflb: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub moccldbpbcp: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub pmcnjhgllnn: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub afdhhmokmcg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2568)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cehcgpeljcl { + #[xor(6832)] + #[prost(uint32, tag = "12")] + pub tag: u32, + #[prost(enumeration = "Acinfaajeel", tag = "5")] + pub pjneiaehofa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbmgnelifgp { + #[prost(message, optional, tag = "1")] + pub mlcpadgnnaa: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub dncgekhkobk: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "3")] + pub odnpbhepnoa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Deeppmgfank { + #[xor(1961)] + #[prost(uint32, tag = "9")] + pub hmmneikfple: u32, + #[xor(1368)] + #[prost(uint32, tag = "11")] + pub pnbfolmcnjm: u32, + #[xor(7213)] + #[prost(uint32, tag = "15")] + pub flbkfpdokpd: u32, + #[xor(12225)] + #[prost(uint32, tag = "6")] + pub chbpchpkkfb: u32, + #[xor(3263)] + #[prost(uint32, tag = "12")] + pub dpbdmenlkll: u32, + #[xor(14967)] + #[prost(uint32, tag = "14")] + pub bihmoeaggam: u32, + #[xor(12925)] + #[prost(uint32, tag = "10")] + pub kmcdlbcbphd: u32, + #[xor(2612)] + #[prost(uint32, tag = "13")] + pub bpggmciokkf: u32, + #[prost(map = "string, uint32", tag = "8")] + pub mkfdcjnplee: ::std::collections::HashMap<::prost::alloc::string::String, u32>, + #[xor(13134)] + #[prost(uint32, tag = "4")] + pub codjdppbjnl: u32, + #[xor(8196)] + #[prost(uint32, tag = "1")] + pub fpdlfkmmdmd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hidbpcehdcg { + #[prost(message, optional, tag = "1")] + pub group: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hfgdjcfhokn: ::core::option::Option, + #[prost(bool, tag = "3")] + pub oobhkffklog: bool, + #[prost(bool, tag = "4")] + pub coeiaabonii: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Naibpfmnbhl { + #[xor(9849)] + #[prost(int32, tag = "9")] + pub gncfdekgjof: i32, + #[prost(message, repeated, tag = "11")] + pub oomgfpecjhf: ::prost::alloc::vec::Vec, + #[prost(map = "string, message", tag = "13")] + pub mdhfccpjbad: ::std::collections::HashMap< + ::prost::alloc::string::String, + Kdbgbfabakc, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ppnpikbfbil { + #[prost(int32, tag = "1")] + pub pohnmenbegi: i32, + #[prost(int32, tag = "2")] + pub llffkfoejgj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(472)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jamcakbpnip { + #[xor(9189)] + #[prost(uint64, tag = "7")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "4")] + pub info: ::core::option::Option, + #[xor(3969)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "10")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcfpibnlogf { + #[prost(bool, tag = "1")] + pub fdbpafaaoan: bool, + #[prost(uint32, repeated, tag = "2")] + pub ebcdbcbneih: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3896)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hgeigfaaain { + /// VMP DETECTED + /// + #[xor(15182)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5026)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fpemiopggga { + #[xor(15329)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lnofcnlndfp { + #[prost(message, optional, tag = "1")] + pub ljcebenngpl: ::core::option::Option, + #[prost(bool, tag = "2")] + pub lalphjplngn: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klfpfchaiao { + #[prost(uint32, tag = "1")] + pub opmkcccconm: u32, + #[prost(uint32, tag = "2")] + pub ekpcpcnhbcc: u32, + #[prost(string, tag = "3")] + pub section: ::prost::alloc::string::String, + #[prost(bool, tag = "4")] + pub dbofbcpamfe: bool, + #[prost(bool, tag = "5")] + pub ocgagbpecak: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8904)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfieeffhiga { + #[xor(3806)] + #[prost(uint32, tag = "14")] + pub iahpcojelin: u32, + #[prost(uint32, repeated, tag = "1")] + pub bcnhoghbcfk: ::prost::alloc::vec::Vec, + #[xor(5405)] + #[prost(uint32, tag = "9")] + pub group: u32, + #[xor(1648)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idlmhbnmlcc { + #[prost(string, tag = "1")] + pub token: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub febpalgdanf: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub pfdmjhmgaed: ::core::option::Option, + #[prost(map = "uint32, string", tag = "4")] + pub hgfbopnmkjc: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpcgiobmead { + #[prost(string, tag = "1")] + pub pilemfjcdkp: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub template_id: u32, + #[prost(message, optional, tag = "3")] + pub akbioidehdo: ::core::option::Option, + #[prost(map = "string, message", tag = "4")] + pub jkoapeepedf: ::std::collections::HashMap< + ::prost::alloc::string::String, + Hlhkjjdaeol, + >, + #[prost(map = "uint32, message", tag = "5")] + pub ibpbnpgebol: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "6")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ngdahabjhke {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8346)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetPhotoWallDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejfnpohjhlo { + #[prost(message, repeated, tag = "1")] + pub ilomllmbddd: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub hbboajdknbf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbfmdcilbej { + #[prost(int32, tag = "1")] + pub kginbigkgdp: i32, + #[prost(int64, tag = "2")] + pub aedaabgkehb: i64, + #[prost(int32, tag = "3")] + pub icoehgohboi: i32, + #[prost(int32, tag = "4")] + pub jlffokgighc: i32, + #[prost(int32, tag = "5")] + pub hbhnbanmkhm: i32, + #[prost(message, repeated, tag = "6")] + pub jcgebnhagic: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "7")] + pub fljjhddfnni: i32, + #[prost(message, repeated, tag = "8")] + pub bibnoefnfol: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "9")] + pub ddmghgnfble: i32, + #[prost(int32, tag = "10")] + pub enjffjhdkkn: i32, + #[prost(int32, tag = "11")] + pub gkecplmaegh: i32, + #[prost(int32, tag = "12")] + pub fknbcmohbek: i32, + #[prost(int32, tag = "13")] + pub ccibdkbmjap: i32, + #[prost(bool, tag = "14")] + pub bflaalncokd: bool, + #[prost(int32, tag = "15")] + pub ffekjgbhmih: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2159)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SyncEventInfoScNotify { + #[prost(string, tag = "685")] + pub npc_interaction: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "1")] + pub action_list: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "5")] + pub oegekggofne: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(map = "string, string", tag = "7")] + pub ephecmlegaj: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + #[xor(3735)] + #[prost(uint32, tag = "4")] + pub clgfbjgkocf: u32, + #[xor(2556)] + #[prost(uint32, tag = "13")] + pub nocgpaolime: u32, + #[xor(14266)] + #[prost(uint32, tag = "2")] + pub tag: u32, + #[prost(map = "string, string", tag = "15")] + pub cpcifgmopgk: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, + #[xor(8726)] + #[prost(uint32, tag = "12")] + pub owner_id: u32, + #[prost(enumeration = "EventGraphOwnerType", tag = "8")] + pub owner_type: i32, + #[xor(5417)] + #[prost(uint32, tag = "11")] + pub section_id: u32, + #[xor(4722)] + #[prost(uint32, tag = "6")] + pub event_graph_uid: u32, + #[prost(map = "string, int32", tag = "10")] + pub hnapceekmpe: ::std::collections::HashMap<::prost::alloc::string::String, i32>, + #[prost(map = "string, int32", tag = "3")] + pub aeiaggdebfk: ::std::collections::HashMap<::prost::alloc::string::String, i32>, + #[xor(5293)] + #[prost(uint32, tag = "9")] + pub fjckpdofhjf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aogfdjcnjln { + #[prost(string, tag = "1")] + pub kcclegdlljc: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub jmoddhjlecc: ::prost::alloc::string::String, + #[prost(int32, tag = "3")] + pub balfodofeha: i32, + #[prost(int32, tag = "4")] + pub kianbndmmaj: i32, + #[prost(string, tag = "5")] + pub lajdiobhnjc: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub ophdfbihglk: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub pinmdcfnmce: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub acgebhonfom: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub fpdhclcdgen: ::prost::alloc::string::String, + #[prost(enumeration = "Aeoihpdcomb", tag = "10")] + pub lcbkchjojhc: i32, + #[prost(enumeration = "Odgpcomndpm", tag = "11")] + pub mdihfldkeoe: i32, + #[prost(uint32, tag = "12")] + pub uid: u32, + #[prost(int32, tag = "13")] + pub dgbbcfkndaf: i32, + #[prost(bool, tag = "14")] + pub llmpakgngpn: bool, + #[prost(int32, tag = "15")] + pub cccjgccopeo: i32, + #[prost(string, tag = "16")] + pub khngmkjocha: ::prost::alloc::string::String, + #[prost(bool, tag = "17")] + pub hmpadbffcbb: bool, + #[prost(uint32, tag = "18")] + pub ddbmjpajmnc: u32, + #[prost(bool, tag = "19")] + pub mleoedkohah: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kifmifobegb { + #[prost(string, tag = "1")] + pub majnhdojplo: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub appdnhldamm: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub elgcbflfjno: ::prost::alloc::string::String, + #[prost(enumeration = "Pelhdnfcpem", tag = "4")] + pub nhahoapiomm: i32, + #[prost(message, optional, tag = "5")] + pub jbcbamblgjk: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub dedkcldjeke: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5701)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mmhienlljhc { + #[xor(16307)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lffmfpadnbi { + #[prost(enumeration = "Hhaiaeholnp", tag = "1")] + pub hpldfimmjjj: i32, + #[prost(message, optional, tag = "2")] + pub fdeohomlplo: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub akkjdomccmn: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub ekboekelpho: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jaecfjffekh { + #[xor(6977)] + #[prost(int32, tag = "13")] + pub ecdklimojjl: i32, + #[xor(7259)] + #[prost(int32, tag = "12")] + pub lndnaeogbbn: i32, + #[prost(bool, tag = "10")] + pub oofjnihcoej: bool, + #[xor(1842)] + #[prost(int32, tag = "11")] + pub biceappjjjd: i32, + #[xor(4306)] + #[prost(int32, tag = "15")] + pub mlfbdbalkgj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmhbmaiadlm { + #[prost(message, repeated, tag = "12")] + pub djnggennkbf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcibabklmom { + #[prost(message, repeated, tag = "3")] + pub onifgjhajnk: ::prost::alloc::vec::Vec, + #[xor(3735)] + #[prost(uint32, tag = "9")] + pub galekebfmim: u32, + #[xor(6463)] + #[prost(uint32, tag = "7")] + pub pkfmpakneog: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pckfkkgmnpd { + #[xor(7465)] + #[prost(uint32, tag = "15")] + pub flbkfpdokpd: u32, + #[prost(message, optional, tag = "7")] + pub position: ::core::option::Option, + #[xor(854)] + #[prost(uint32, tag = "13")] + pub lhbejkbkbfh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmhdnidmomi { + #[prost(enumeration = "Pcekojidped", tag = "1")] + pub ekbfgknccph: i32, + #[prost(string, tag = "2")] + pub dcpnffhjklk: ::prost::alloc::string::String, + #[prost(enumeration = "Kimhnenegop", tag = "3")] + pub fpbfehmkhgp: i32, + #[prost(map = "string, message", tag = "4")] + pub jjfjncfjaca: ::std::collections::HashMap< + ::prost::alloc::string::String, + Jiahalkoppm, + >, + #[prost(string, tag = "5")] + pub calhjjbpiaf: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afpbpiodgpk { + #[xor(5643)] + #[prost(int32, tag = "3")] + pub eadfmoeifod: i32, + #[prost(uint32, repeated, tag = "2")] + pub bkdeogdpeld: ::prost::alloc::vec::Vec, + #[xor(5121)] + #[prost(int64, tag = "10")] + pub ldgpffiabcf: i64, + #[prost(uint32, repeated, tag = "13")] + pub nhhafmpoipi: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub ohpobncgnji: ::core::option::Option, + #[xor(7614)] + #[prost(uint32, tag = "1")] + pub quest_id: u32, + #[xor(8470)] + #[prost(uint32, tag = "8")] + pub gnanbaglmjp: u32, + #[xor(14289)] + #[prost(int32, tag = "11")] + pub elgapoghfle: i32, + #[prost(message, optional, tag = "7")] + pub hhfngjoldcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpmpgmpehlj { + #[prost(bytes = "vec", tag = "12")] + pub bgoiibjhdck: ::prost::alloc::vec::Vec, + #[xor(8965)] + #[prost(uint32, tag = "7")] + pub r#type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2656)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jeghamhhngf { + #[xor(8079)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgmpkolloii { + #[prost(message, optional, tag = "1")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(enumeration = "Klfinbnookg", tag = "2")] + pub ahhbfimgoaa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djdcjkeanbc { + #[prost(enumeration = "Cnaookdijik", tag = "1")] + pub bhhdjkjomnf: i32, + #[prost(message, optional, tag = "2")] + pub jfnheedagif: ::core::option::Option, + #[prost(enumeration = "Clhfpgmncdb", tag = "3")] + pub lpmlnjjjgog: i32, + #[prost(message, optional, tag = "4")] + pub pohnmenbegi: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub llffkfoejgj: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub gdecmnpplgi: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub aknjmlgjleb: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub agddcgingde: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub olhnfhfdfgj: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub ofmdfgabjbh: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub kicmjlpdoic: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub dnffiafemeg: ::core::option::Option, + #[prost(message, repeated, tag = "13")] + pub fekcfhiklmm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub angjefccgpm: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "15")] + pub ianhccpdolj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4956)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cmofdcehefa { + #[xor(9280)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pnjkalglkjc { + #[prost(float, tag = "14")] + pub pohnmenbegi: f32, + #[prost(float, tag = "15")] + pub llffkfoejgj: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9537)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmnjjklaepm { + #[prost(uint32, repeated, tag = "15")] + pub ieobogdlfim: ::prost::alloc::vec::Vec, + #[xor(15373)] + #[prost(uint32, tag = "3")] + pub migelfhjkak: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dgjdebeapch {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iibaabcpbnb { + #[prost(message, optional, tag = "1")] + pub mlcpadgnnaa: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub avatar_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(485)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fjkghndhajl { + #[xor(14252)] + #[prost(uint32, tag = "3")] + pub flgfnfnbgmn: u32, + #[xor(4233)] + #[prost(uint32, tag = "7")] + pub aeicekmldco: u32, + #[xor(2293)] + #[prost(uint32, tag = "5")] + pub buddy_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlhghkcchdb { + #[prost(message, optional, tag = "14")] + pub hmnlekkhcbo: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbpfnnbpiek { + #[prost(string, tag = "1")] + pub kcclegdlljc: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub fiieiehipik: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub ddbmjpajmnc: u32, + #[prost(message, repeated, tag = "4")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DungeonInfo { + #[prost(message, optional, tag = "384")] + pub apeblmffnca: ::core::option::Option, + #[prost(message, repeated, tag = "1131")] + pub kodckkfpgjn: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "965")] + pub dinlalbfphe: ::core::option::Option, + #[prost(message, optional, tag = "1618")] + pub oecefiailfk: ::core::option::Option, + #[xor(1233)] + #[prost(int64, tag = "10")] + pub ldgpffiabcf: i64, + #[prost(message, optional, tag = "898")] + pub mccfipfipna: ::core::option::Option, + #[xor(9956)] + #[prost(uint32, tag = "1678")] + pub quest_type: u32, + #[prost(uint32, repeated, tag = "7")] + pub ehlpbajpapb: ::prost::alloc::vec::Vec, + #[xor(9219)] + #[prost(uint32, tag = "1085")] + pub ejhneaebine: u32, + #[prost(uint32, repeated, tag = "1517")] + pub cdkcghnonnh: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub icemikabfhm: ::core::option::Option, + #[prost(uint32, repeated, tag = "953")] + pub foacgpjpgph: ::prost::alloc::vec::Vec, + #[xor(15329)] + #[prost(uint32, tag = "881")] + pub cbjnleffjkj: u32, + #[prost(message, optional, tag = "11")] + pub dungeon_equip_info: ::core::option::Option, + #[prost(message, optional, tag = "1745")] + pub chainokkcmi: ::core::option::Option, + #[prost(uint32, repeated, tag = "786")] + pub dnabcggcahe: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub ehkhgigflna: ::prost::alloc::vec::Vec, + #[xor(7231)] + #[prost(uint32, tag = "2")] + pub dneffhlemfg: u32, + #[prost(message, optional, tag = "58")] + pub afkgjgmdamj: ::core::option::Option, + #[prost(message, optional, tag = "686")] + pub fjkcbmnhphk: ::core::option::Option, + #[xor(3085)] + #[prost(uint32, tag = "1604")] + pub lpkgbddmokl: u32, + #[prost(bool, tag = "1015")] + pub eaaoaombghm: bool, + #[prost(bool, tag = "1693")] + pub mihgcfnccci: bool, + #[xor(4138)] + #[prost(uint32, tag = "6")] + pub quest_id: u32, + #[prost(map = "uint32, uint32", tag = "15")] + pub ibonobeajop: ::std::collections::HashMap, + #[prost(message, optional, tag = "1950")] + pub fflmpahjpbb: ::core::option::Option, + #[prost(uint32, repeated, tag = "1196")] + pub clbjckinjoc: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "1068")] + pub fafnecmibae: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub lpicabplkhk: ::core::option::Option, + #[prost(uint32, repeated, tag = "343")] + pub dmopnggplij: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub adgfaonhkig: ::core::option::Option, + #[xor(3205)] + #[prost(uint32, tag = "5")] + pub djmpcdbnamf: u32, + #[prost(map = "uint32, int32", tag = "1")] + pub makahklbeoe: ::std::collections::HashMap, + #[prost(message, repeated, tag = "14")] + pub occfppknhai: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub lfpepddfbdi: ::core::option::Option, + #[prost(bool, tag = "130")] + pub lfaenmoienf: bool, + #[prost(message, repeated, tag = "55")] + pub buddy_list: ::prost::alloc::vec::Vec, + #[xor(3690)] + #[prost(uint32, tag = "1132")] + pub bcjdmidklll: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iahgdailnen { + #[prost(string, tag = "1")] + pub dcpnffhjklk: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub efpckpnefdc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7875)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Okcjncdfjcl { + #[xor(11978)] + #[prost(int32, tag = "1")] + pub kfobnfboaoi: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofdclomphoj { + #[prost(message, repeated, tag = "8")] + pub imgikmndbja: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4767)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjcphkmpaeo { + #[prost(uint32, repeated, tag = "1")] + pub bfgenanklmg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elccbcacbhd { + #[prost(message, optional, tag = "1")] + pub clgdocgoggb: ::core::option::Option, + #[prost(bool, tag = "2")] + pub ckailogbmkd: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofpgelbjmle { + #[prost(message, optional, tag = "1")] + pub fmagggjgmda: ::core::option::Option, + #[prost(bool, tag = "2")] + pub gfhegijnplf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Heojmeogjme { + #[prost(bool, tag = "5")] + pub kmeoicgddma: bool, + #[xor(8290)] + #[prost(uint32, tag = "14")] + pub jkncpglbhlc: u32, + #[xor(1943)] + #[prost(uint32, tag = "3")] + pub jmmkidnedfc: u32, + #[xor(11074)] + #[prost(uint32, tag = "13")] + pub kigcmeakejp: u32, + #[xor(11983)] + #[prost(uint32, tag = "4")] + pub mmfjdplpmmc: u32, + #[xor(1013)] + #[prost(uint32, tag = "11")] + pub nooenefhgdb: u32, + #[xor(927)] + #[prost(uint32, tag = "8")] + pub ingdomhggdo: u32, + #[xor(858)] + #[prost(uint32, tag = "1")] + pub pmeagcelpga: u32, + #[xor(1918)] + #[prost(uint32, tag = "6")] + pub edlgemojkgd: u32, + #[xor(3350)] + #[prost(uint32, tag = "10")] + pub oloicgndbnj: u32, + #[xor(9365)] + #[prost(uint32, tag = "2")] + pub iiddjfplohc: u32, + #[xor(4601)] + #[prost(uint32, tag = "9")] + pub pdjddomahea: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9952)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bombkopeglk { + #[prost(message, optional, tag = "8")] + pub info: ::core::option::Option, + #[xor(10129)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, + #[xor(13562)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "12")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdikgagabge { + #[prost(uint32, tag = "1")] + pub bfljohplkdc: u32, + #[prost(uint32, tag = "2")] + pub lldfaklhfdk: u32, + #[prost(uint32, tag = "3")] + pub aiajckoonbf: u32, + #[prost(enumeration = "Golmkkbjhip", tag = "4")] + pub ejibcbbnnll: i32, + #[prost(uint32, repeated, tag = "5")] + pub jcjdjkfbbek: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub njmhfmkicol: bool, + #[prost(uint32, tag = "7")] + pub ijnmcdlecgg: u32, + #[prost(uint32, repeated, tag = "8")] + pub bincdphpmgd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub ddnnmlmkkip: u32, + #[prost(uint32, tag = "10")] + pub oopkapigclc: u32, + #[prost(uint32, tag = "11")] + pub mnncckhmdnl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5409)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetPlayerBasicInfoScRsp { + #[xor(14574)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, optional, tag = "3")] + pub basic_info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5173)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chkiebdkggm { + #[prost(string, tag = "10")] + pub kjgbjnnljmg: ::prost::alloc::string::String, + #[xor(6269)] + #[prost(uint32, tag = "13")] + pub dimdlbpkbaj: u32, + #[xor(128)] + #[prost(uint32, tag = "6")] + pub group: u32, + #[xor(3485)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4448)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dgeecoaeojd { + #[prost(bool, tag = "15")] + pub jcfnjlbgglh: bool, + #[xor(5171)] + #[prost(uint32, tag = "12")] + pub nmljmjcnldp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogpbdglmkhe { + #[prost(message, repeated, tag = "1")] + pub mabpfnichnk: ::prost::alloc::vec::Vec, + #[xor(14496)] + #[prost(uint32, tag = "12")] + pub bclnjeandcm: u32, + #[prost(uint32, repeated, tag = "9")] + pub ekelbfpempg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eomlakbllkf { + #[prost(message, optional, tag = "1")] + pub mgjdcahcpfa: ::core::option::Option, + #[prost(bool, tag = "2")] + pub pellblmpfld: bool, + #[prost(bool, tag = "3")] + pub nacokmgjccm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct PacketHead { + #[prost(uint32, tag = "1")] + pub packet_id: u32, + #[prost(uint32, tag = "11")] + pub request_id: u32, + #[prost(bool, tag = "14")] + pub obhoflianjp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gnfhhmnhiao { + #[xor(2522)] + #[prost(uint32, tag = "15")] + pub jmcgfhdplje: u32, + #[prost(enumeration = "Pjojcdnafhd", tag = "1")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Beaehhmhecl { + #[xor(791)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(824)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gcnflohppih { + #[xor(4536)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5827)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nadcgebpcee { + #[prost(string, repeated, tag = "5")] + pub fihcipfhoip: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[xor(10647)] + #[prost(uint32, tag = "4")] + pub hhckfadhicp: u32, + #[prost(string, tag = "12")] + pub dcpnffhjklk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibcedmkaedn { + #[prost(enumeration = "Mogpldajfbm", tag = "1")] + pub r#type: i32, + #[prost(message, optional, tag = "2")] + pub iompcihagcj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kfncklgeoin { + #[prost(float, tag = "1")] + pub ibcokdjfkbc: f32, + #[prost(float, tag = "7")] + pub mhapicdicpc: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5942)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhcknakbhag { + #[xor(4644)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, repeated, tag = "8")] + pub chhegaecdoj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7121)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetPhotoWallDataScRsp { + #[prost(message, repeated, tag = "3")] + pub djniclmckih: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub kjgijgfeoel: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub jpmfnkanfhe: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1")] + pub eblnjbaaidf: ::prost::alloc::vec::Vec, + #[xor(2351)] + #[prost(uint32, tag = "2")] + pub libogmifhem: u32, + #[xor(2313)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipgjaficbep { + #[prost(message, optional, tag = "1")] + pub jhooejigljp: ::core::option::Option, + #[prost(enumeration = "Bhpdbbhjhih", tag = "2")] + pub dkmepflgcmf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnfalhpjhjo { + #[prost(map = "int32, message", tag = "9")] + pub hmnjnhpbmeo: ::std::collections::HashMap, + #[prost(message, repeated, tag = "1")] + pub jjokkofacfm: ::prost::alloc::vec::Vec, + #[xor(2819)] + #[prost(int32, tag = "12")] + pub ajcocoionnb: i32, + #[prost(message, optional, boxed, tag = "14")] + pub fdgenpgolod: ::core::option::Option<::prost::alloc::boxed::Box>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njepkdgcnhe { + #[xor(9637)] + #[prost(uint32, tag = "9")] + pub ddcnjgiklbp: u32, + #[prost(message, repeated, tag = "10")] + pub kknbekibeoe: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub lpjjomklfde: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8139)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Adkepiopaej { + #[prost(bool, tag = "8")] + pub cmambaghkle: bool, + #[prost(enumeration = "Keebdldhndf", tag = "11")] + pub ilndienaocg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lanpobekphd { + #[prost(message, optional, tag = "1")] + pub bddlconiggl: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "2")] + pub ekbfgknccph: i32, + #[prost(message, optional, tag = "3")] + pub bmjbgakagpp: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub gcgehiligom: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5910)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kggoaolblja {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4285)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hofdjaefkab { + #[prost(message, optional, tag = "5")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(60)] + #[prost(uint64, tag = "14")] + pub fkcdkdiacni: u64, + #[xor(11079)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DungeonEquipInfo { + #[prost(message, optional, tag = "215")] + pub bjmpeeedflm: ::core::option::Option, + #[prost(uint32, repeated, tag = "2")] + pub njlkidfacej: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub chmonacgpfi: ::prost::alloc::vec::Vec, + #[xor(1386)] + #[prost(uint32, tag = "7")] + pub hakcepdodmj: u32, + #[prost(message, repeated, tag = "12")] + pub equip_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub hhbajfplnob: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub ojhaeecbfjj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "423")] + pub jbgiifidggp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub lfengahbcha: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub buddy_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub mjdfibcdoen: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub weapon_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "492")] + pub flmamanhpaj: ::core::option::Option, + #[xor(12878)] + #[prost(uint32, tag = "851")] + pub ommaeeokpdk: u32, + #[prost(message, repeated, tag = "5")] + pub glmmdebfabl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub ieaadiegjpc: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1")] + pub ioifcempngc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fkeigbpbpml {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9057)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ciofcldiahn { + #[xor(2267)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, + #[xor(2313)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "15")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(842)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idikmealkbi { + #[prost(message, optional, tag = "10")] + pub bmejgefamoc: ::core::option::Option, + #[xor(8900)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odbkoehadpl { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ekppdkdkibj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3236)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmojeajonib { + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, + #[xor(4827)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[xor(2245)] + #[prost(uint64, tag = "11")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7540)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glfbopojkai { + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(9301)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, + #[xor(9678)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmmmlblfdmj { + #[prost(message, optional, tag = "1")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub obhhacdlakj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lmejjcpdfdo {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3024)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ppifhnpjpfc { + #[xor(1643)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmboclhaolk { + #[xor(13496)] + #[prost(int32, tag = "1")] + pub kehiioopklf: i32, + #[prost(int32, repeated, tag = "6")] + pub gnpblbjdncb: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "14")] + pub chgpfjcecad: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "4")] + pub lknanbnjnig: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7491)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ecmpmpaihmi { + #[xor(15123)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7092)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llcbhicflao { + #[prost(message, repeated, tag = "11")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(3127)] + #[prost(uint64, tag = "6")] + pub fkcdkdiacni: u64, + #[xor(16145)] + #[prost(uint64, tag = "10")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "13")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9672)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct KeepAliveNotify { + #[prost(bytes = "vec", tag = "5")] + pub info: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "15")] + pub sc_data: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Focafakobci { + #[prost(message, optional, tag = "13")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3109)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kchgmopiopm { + #[prost(uint32, repeated, tag = "1")] + pub iokmnhfmblk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahnjgcjdboh { + #[prost(string, tag = "2")] + pub transform_id: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub camera_x: u32, + #[prost(uint32, tag = "4")] + pub camera_y: u32, + #[prost(uint32, tag = "5")] + pub kedlgoakhld: u32, + #[prost(bool, tag = "6")] + pub gfhegijnplf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bnaemekdmbj { + #[prost(enumeration = "Dolmncanpff", tag = "15")] + pub r#type: i32, + #[xor(13793)] + #[prost(int32, tag = "5")] + pub lkdbeecbglo: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(161)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmljbdoflgh { + #[xor(380)] + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(message, optional, tag = "13")] + pub pheaeeecdmg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chmphhkijab { + #[prost(message, optional, tag = "1")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(enumeration = "Hoophmkdpgb", tag = "2")] + pub pfdnfhigfof: i32, + #[prost(message, optional, tag = "3")] + pub lkdbeecbglo: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dehfkbkeagl {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Didoaffbnhl { + #[prost(bool, tag = "13")] + pub epekkmbndao: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Caplagnfhdb { + #[prost(int32, tag = "1")] + pub pjbpfknnjem: i32, + #[prost(int32, tag = "2")] + pub r#type: i32, + #[prost(bool, tag = "3")] + pub djldiehhajf: bool, + #[prost(bool, tag = "4")] + pub gfhegijnplf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2732)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aahkdajgbfj { + #[prost(message, optional, tag = "12")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(1879)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, + #[xor(13403)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpgahfgalbh { + #[prost(map = "uint32, uint32", tag = "5")] + pub holfbbbajah: ::std::collections::HashMap, + #[xor(9717)] + #[prost(uint32, tag = "6")] + pub ghifdkelobe: u32, + #[xor(714)] + #[prost(uint32, tag = "2")] + pub npc_id: u32, + #[xor(10884)] + #[prost(uint32, tag = "4")] + pub lnfellgihbi: u32, + #[xor(9446)] + #[prost(int64, tag = "13")] + pub last_recovery_timestamp: i64, + #[xor(5064)] + #[prost(int32, tag = "10")] + pub eedkkdadncg: i32, + #[xor(2163)] + #[prost(uint32, tag = "15")] + pub ebfofmiolap: u32, + #[xor(9283)] + #[prost(uint32, tag = "9")] + pub quest_id: u32, + #[xor(6240)] + #[prost(uint32, tag = "7")] + pub ljkfpofijcc: u32, + #[prost(message, repeated, tag = "12")] + pub bedmnlnkjea: ::prost::alloc::vec::Vec, + #[xor(3451)] + #[prost(int32, tag = "8")] + pub pljgoabaknj: i32, + #[prost(uint32, repeated, tag = "1")] + pub mbdcfkhbhge: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6512)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pclikakgfnd { + #[prost(uint32, repeated, tag = "8")] + pub knikhodpjfj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub jiiddifjdee: ::prost::alloc::vec::Vec, + #[xor(1453)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7578)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mmdjcoeobda { + #[xor(16124)] + #[prost(uint32, tag = "15")] + pub jhooejigljp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcdgogcjgbk { + #[prost(uint32, repeated, tag = "6")] + pub lfikahlchlh: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub buddy_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub fpafpjhpfci: ::prost::alloc::vec::Vec, + #[xor(4187)] + #[prost(uint32, tag = "9")] + pub nahoocejlnh: u32, + #[xor(2116)] + #[prost(uint32, tag = "5")] + pub ibolicmcene: u32, + #[prost(uint32, repeated, tag = "11")] + pub heipkpkpdkm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7957)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flkknlkilaj { + #[xor(821)] + #[prost(uint32, tag = "5")] + pub mllcmiipfeh: u32, + #[prost(message, optional, tag = "13")] + pub bjmpeeedflm: ::core::option::Option, + #[xor(13613)] + #[prost(uint32, tag = "7")] + pub alelbpldaom: u32, + #[prost(message, optional, tag = "9")] + pub flmamanhpaj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ehllhfddpap { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(bool, tag = "2")] + pub ijajkkhclfp: bool, + #[prost(int64, tag = "3")] + pub eahodcbbbhe: i64, + #[prost(int32, tag = "4")] + pub jfcpedlngij: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncpddkcflkn { + #[prost(bool, tag = "1")] + pub fkhfkbihkhc: bool, + #[prost(message, optional, tag = "2")] + pub quest_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cmfajcmbnhf {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkjalpgjhaj { + #[prost(string, repeated, tag = "1")] + pub cbjjemdgnab: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, tag = "2")] + pub kalkllfldag: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Momfdepdpal { + #[prost(uint32, tag = "1")] + pub acndhegapdf: u32, + #[prost(bytes = "vec", tag = "2")] + pub ngcjccncngk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kpbkolgcmfp { + #[prost(int32, tag = "1")] + pub lkdbeecbglo: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oefdkhoippj { + #[prost(int32, repeated, tag = "1")] + pub unlock_id_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ldinmhakikh { + #[xor(12834)] + #[prost(int64, tag = "2")] + pub jjnhkjimggn: i64, + #[prost(bool, tag = "3")] + pub lock: bool, + #[xor(1790)] + #[prost(int32, tag = "15")] + pub ndellckgecb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Adiekaamofp { + #[prost(int32, tag = "1")] + pub ifljdmjcfdc: i32, + #[prost(int32, tag = "2")] + pub bkcennknhje: i32, + #[prost(bool, tag = "3")] + pub gfhegijnplf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bkioiohnohc {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5068)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngjgjnfojcm { + #[xor(11941)] + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(message, repeated, tag = "6")] + pub mabpfnichnk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9214)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ppjgkkcaink { + #[xor(6975)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aoddpljpooc { + #[prost(message, optional, tag = "1")] + pub hfgdjcfhokn: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub gaobmaiodij: ::core::option::Option, + #[prost(bool, tag = "3")] + pub mfdaknjeidc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActionOpenUi { + #[prost(string, tag = "1")] + pub ui: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub args: i32, + #[prost(string, tag = "3")] + pub beinmnbghnj: ::prost::alloc::string::String, + #[prost(int32, tag = "4")] + pub store_template_id: i32, + #[prost(int32, tag = "5")] + pub npc_id: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7028)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddenhppbdfh { + #[xor(5270)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(message, optional, tag = "7")] + pub lkhmgfpocdb: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1261)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lonhhljbbjj { + #[xor(15062)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7708)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ifehgkggdam { + #[xor(6675)] + #[prost(uint32, tag = "1")] + pub pclamamdkik: u32, + #[xor(13423)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4887)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Idcanplpfai { + #[xor(13341)] + #[prost(uint32, tag = "6")] + pub fcfbjmhjpjg: u32, + #[xor(4116)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7299)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdhcknmgmgk { + #[xor(14444)] + #[prost(uint32, tag = "7")] + pub kinnmmnmmid: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Leibgphhmlg { + #[xor(14364)] + #[prost(int32, tag = "6")] + pub cgaoaojlbje: i32, + #[prost(message, optional, tag = "1")] + pub apacdkacfnd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eiabblfgifi { + #[prost(uint32, tag = "1")] + pub gcnenlcnlfd: u32, + #[prost(bool, tag = "2")] + pub dibhnhadaml: bool, + #[prost(bool, tag = "3")] + pub dmpnabaflbh: bool, + #[prost(enumeration = "Gidfhmiamhm", tag = "4")] + pub anhbenaihkh: i32, + #[prost(message, optional, tag = "5")] + pub dkamadpoiad: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub coiilhglhmp: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8170)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fmcegogkmeg { + #[xor(4234)] + #[prost(uint32, tag = "7")] + pub quest_id: u32, + #[xor(13358)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[xor(10301)] + #[prost(uint32, tag = "8")] + pub bdihooemnhp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bocjkafpphc { + #[prost(message, optional, tag = "4")] + pub ngijoclkklh: ::core::option::Option, + #[prost(enumeration = "Mmfcknlpofd", tag = "11")] + pub glehkceafcl: i32, + #[xor(10440)] + #[prost(uint32, tag = "13")] + pub nfmojhjjldd: u32, + #[prost(bool, tag = "7")] + pub hdenpaehopf: bool, + #[prost(message, optional, tag = "8")] + pub lbgmecpfodf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2153)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Andbcpkbdno { + #[xor(3826)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3336)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmahlolfhjj { + #[prost(message, optional, tag = "12")] + pub info: ::core::option::Option, + #[xor(2122)] + #[prost(uint64, tag = "1")] + pub fdfjcoccaoa: u64, + #[xor(15872)] + #[prost(uint64, tag = "4")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6150)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdgioebopia { + #[xor(1604)] + #[prost(uint32, tag = "7")] + pub kedlgoakhld: u32, + #[prost(uint32, repeated, tag = "10")] + pub jdekjlcnabb: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Fofhkjpcmdl", tag = "6")] + pub lioinmelhgn: i32, + #[prost(message, repeated, tag = "15")] + pub scene_unit_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6825)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aihahklibie { + #[prost(uint32, repeated, tag = "6")] + pub iiebfhalebp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub adkhllnnhap: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(706)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmdggjimcko { + #[prost(message, repeated, tag = "9")] + pub jiaeedlfdhd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub jahjmdigjbk: ::prost::alloc::vec::Vec, + #[xor(5940)] + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, repeated, tag = "8")] + pub ngmkehfgjgl: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "11")] + pub dkgljebhbam: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3953)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dnppdmhbjml { + #[xor(501)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[xor(16319)] + #[prost(uint64, tag = "4")] + pub gglnpjfcibj: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eofabgkkdpi { + #[prost(string, tag = "1")] + pub ahonbimlchi: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edmjnnflllm { + #[prost(enumeration = "Fkmgibgjmmc", tag = "1")] + pub r#type: i32, + #[prost(message, repeated, tag = "2")] + pub cckfknjmbdl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub doamdncgaom: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub jckkooalfoo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7549)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbnpebolnca { + #[xor(10925)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(9353)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Alfibebgmbl {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kidccdnggag { + #[prost(message, optional, tag = "1")] + pub hfdbcfkhcep: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub adnkggjihkj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knpgagkbhap { + #[prost(uint32, repeated, tag = "14")] + pub cjfdlimgjjc: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, int64", tag = "10")] + pub ifekcgmioip: ::std::collections::HashMap, + #[xor(5347)] + #[prost(uint32, tag = "1")] + pub kppfiiaojkf: u32, + #[prost(uint32, repeated, tag = "3")] + pub kebhgncibbd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub obcbfhmcfpc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub eckneecikcn: ::prost::alloc::vec::Vec, + #[xor(4962)] + #[prost(uint32, tag = "15")] + pub pcepcnocclg: u32, + #[prost(message, optional, tag = "4")] + pub opdimgpadnn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5129)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oihgjkdbpgj { + #[xor(7478)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nfojhkklnep { + #[prost(enumeration = "Peecjnnconk", tag = "1")] + pub owner_type: i32, + #[prost(enumeration = "Adfpiodbbll", tag = "2")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2950)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kohmanbjomh { + #[xor(13135)] + #[prost(uint32, tag = "3")] + pub lbhpbgjmakm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2105)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hkhclimcmpm { + #[xor(11638)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cmaglgdkoag {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aljokpbbmck { + #[prost(enumeration = "Clhfpgmncdb", tag = "1")] + pub lppfcpnndcd: i32, + #[prost(message, optional, tag = "2")] + pub pohnmenbegi: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub llffkfoejgj: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub efpckpnefdc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2995)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdcgechlkog { + #[prost(map = "uint32, bool", tag = "6")] + pub bdjpaflafik: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9896)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Acjgjhhafdm { + #[xor(2180)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9346)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ffhamijmefb { + /// VMP DETECTED + /// + #[xor(14887)] + #[prost(uint32, tag = "2")] + pub quest_id: u32, + #[xor(9034)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5163)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhokoabedbf { + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(15537)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "11")] + pub info: ::core::option::Option, + #[xor(12549)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Akfnlbkpdbg { + #[xor(3599)] + #[prost(uint32, tag = "12")] + pub template_id: u32, + #[xor(1958)] + #[prost(uint32, tag = "15")] + pub pgiomnpgicj: u32, + #[xor(13784)] + #[prost(uint32, tag = "6")] + pub level: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1087)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bbcclflgdcd { + #[xor(9751)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Capnmcjdjbj { + #[prost(enumeration = "Cnaookdijik", tag = "1")] + pub bhhdjkjomnf: i32, + #[prost(enumeration = "Clhfpgmncdb", tag = "2")] + pub lpmlnjjjgog: i32, + #[prost(message, optional, tag = "3")] + pub pohnmenbegi: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub llffkfoejgj: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub gdecmnpplgi: ::core::option::Option, + #[prost(string, tag = "6")] + pub ddnhingbfde: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "7")] + pub emohgkbioen: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub ofinmdbdckb: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "9")] + pub mimdmiddlib: bool, + #[prost(message, optional, tag = "10")] + pub filohlbkgco: ::core::option::Option, + #[prost(message, repeated, tag = "11")] + pub jfbomnbmdal: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "12")] + pub adniekgkmen: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub bidnejnhbin: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub oacebkcpapj: ::core::option::Option, + #[prost(bool, tag = "15")] + pub ailmhaekfdn: bool, + #[prost(message, repeated, tag = "16")] + pub bbkaknjfhom: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "17")] + pub ogalohbfobp: bool, + #[prost(string, tag = "18")] + pub pincppcamap: ::prost::alloc::string::String, + #[prost(enumeration = "Pcekojidped", tag = "20")] + pub caepilileai: i32, + #[prost(string, tag = "21")] + pub njcpmjhlmkh: ::prost::alloc::string::String, + #[prost(enumeration = "Pcekojidped", tag = "22")] + pub phpbnoppnbd: i32, + #[prost(string, tag = "23")] + pub oaejiofkijj: ::prost::alloc::string::String, + #[prost(enumeration = "Pcekojidped", tag = "24")] + pub chhfadomjbb: i32, + #[prost(message, optional, tag = "25")] + pub lnmbpaieiko: ::core::option::Option, + #[prost(message, repeated, tag = "26")] + pub lfoaifnmjdd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "27")] + pub neaogkdajml: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "28")] + pub dbjlkikeeoc: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "29")] + pub agnkhidhiji: ::prost::alloc::vec::Vec, + #[prost(string, tag = "30")] + pub jdbhindfajp: ::prost::alloc::string::String, + #[prost(enumeration = "Pcekojidped", tag = "31")] + pub fdakkblbadk: i32, + #[prost(bool, tag = "32")] + pub jckifdjieih: bool, + #[prost(message, optional, tag = "33")] + pub abnngkihkpm: ::core::option::Option, + #[prost(message, optional, tag = "34")] + pub jfnheedagif: ::core::option::Option, + #[prost(message, optional, tag = "35")] + pub gfkpmmhnnhn: ::core::option::Option, + #[prost(message, optional, tag = "36")] + pub fmagggjgmda: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct ResourceInfo { + #[xor(9957)] + #[prost(uint32, tag = "13")] + pub template_id: u32, + #[xor(14197)] + #[prost(int32, tag = "9")] + pub count: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8255)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetGachaDataCsReq { + #[xor(11015)] + #[prost(uint32, tag = "1")] + pub gacha_type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gbippafkilf { + #[xor(5699)] + #[prost(uint32, tag = "9")] + pub khfpfkcaigl: u32, + #[prost(float, tag = "13")] + pub ddjlknoenae: f32, + #[xor(11678)] + #[prost(int32, tag = "7")] + pub dcfencbnfhg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbmocmemicj { + #[prost(string, tag = "7")] + pub majnhdojplo: ::prost::alloc::string::String, + #[xor(12284)] + #[prost(int64, tag = "6")] + pub iphpmkbmjhb: i64, + #[xor(1502)] + #[prost(uint32, tag = "12")] + pub lnhfhfknkge: u32, + #[prost(string, repeated, tag = "3")] + pub pnimoaafifl: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, tag = "9")] + pub ooahgoobbha: ::prost::alloc::string::String, + #[xor(97)] + #[prost(int64, tag = "13")] + pub lljlloigpjc: i64, + #[xor(14558)] + #[prost(uint32, tag = "2")] + pub foddplkhofb: u32, + #[prost(message, optional, tag = "8")] + pub dcpnffhjklk: ::core::option::Option, + #[prost(string, tag = "15")] + pub booilddffge: ::prost::alloc::string::String, + #[prost(bool, tag = "14")] + pub npcjkneiglm: bool, + #[prost(bool, tag = "10")] + pub aikgbidibhh: bool, + #[prost(message, optional, tag = "4")] + pub lagkidpjdkp: ::core::option::Option, + #[prost(bool, tag = "5")] + pub aiggacjpnfn: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6354)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmanidhllah { + #[xor(21)] + #[prost(uint32, tag = "14")] + pub efpckpnefdc: u32, + #[prost(message, optional, tag = "6")] + pub kfnhejkhcfo: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgeinebnhcf { + #[prost(uint32, repeated, tag = "9")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RewardBuffData { + #[prost(message, repeated, tag = "1")] + pub reward_buff_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fffcojobdlg { + #[prost(uint32, repeated, tag = "8")] + pub ekoppfcdbfi: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub iodcapodddo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2685)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clmmanllfio { + #[prost(message, optional, tag = "15")] + pub lcbjpmnpckl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bhlpocanlda { + #[xor(7337)] + #[prost(int32, tag = "9")] + pub clophpmeace: i32, + #[prost(bool, tag = "3")] + pub ndngcmmnidh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oogdcmkkcml { + #[prost(bool, tag = "1")] + pub hlhjfpgiedd: bool, + #[prost(bool, tag = "2")] + pub dahpnfelfnn: bool, + #[prost(bool, tag = "3")] + pub maaljgdmioh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfbdojlofan { + #[xor(1450)] + #[prost(uint32, tag = "3")] + pub gbimlpfgnme: u32, + #[xor(5898)] + #[prost(int64, tag = "7")] + pub bgmccnajbeg: i64, + #[prost(uint32, repeated, tag = "5")] + pub pjeobhcgegh: ::prost::alloc::vec::Vec, + #[xor(11279)] + #[prost(uint32, tag = "12")] + pub template_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3981)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhejpmabcij { + #[xor(9762)] + #[prost(uint32, tag = "8")] + pub buddy_id: u32, + #[prost(message, repeated, tag = "9")] + pub ieploccockn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "1")] + pub lock: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Boikkpjhcmj { + #[xor(5267)] + #[prost(uint32, tag = "14")] + pub lhbejkbkbfh: u32, + #[prost(message, repeated, tag = "7")] + pub deabmamkbaa: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3747)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fpdkkmlgobe { + #[xor(4751)] + #[prost(uint32, tag = "15")] + pub bhlkkamefen: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdmahgmieik { + #[prost(bytes = "vec", tag = "8")] + pub kbgengphjej: ::prost::alloc::vec::Vec, + #[xor(8562)] + #[prost(int32, tag = "10")] + pub template_id: i32, + #[xor(13335)] + #[prost(int32, tag = "11")] + pub npbfklplagb: i32, + #[xor(11734)] + #[prost(uint64, tag = "12")] + pub fdfjcoccaoa: u64, + #[xor(8472)] + #[prost(int32, tag = "15")] + pub njcgjalgfch: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8897)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetAuthkeyScRsp { + /// VMP DETECTED + /// + #[prost(string, tag = "1")] + pub ndahdnljnlc: ::prost::alloc::string::String, + #[xor(3636)] + #[prost(uint32, tag = "5")] + pub fepaimkkoih: u32, + #[prost(string, tag = "7")] + pub eppmlogockb: ::prost::alloc::string::String, + #[xor(178)] + #[prost(int32, tag = "9")] + pub retcode: i32, + #[xor(10230)] + #[prost(uint32, tag = "12")] + pub fddfhkekbpd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3038)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfbijfegcce { + #[prost(uint32, repeated, tag = "15")] + pub ecdpfnjnkig: ::prost::alloc::vec::Vec, + #[xor(4889)] + #[prost(uint32, tag = "4")] + pub ofcehhidpgo: u32, + #[xor(14969)] + #[prost(uint32, tag = "7")] + pub lgegnbdmjnl: u32, + #[xor(13905)] + #[prost(uint32, tag = "2")] + pub ohdkcchhekh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2014)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmfefomdfhc { + #[prost(message, optional, tag = "13")] + pub ooifcbdacif: ::core::option::Option, + #[xor(13522)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5533)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bnmpjkaonkd { + #[xor(13196)] + #[prost(uint32, tag = "3")] + pub bgm_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjpgjfacajh { + #[prost(int32, tag = "1")] + pub npc_id: i32, + #[prost(int32, tag = "2")] + pub interaction: i32, + #[prost(string, tag = "3")] + pub iidnjcionhi: ::prost::alloc::string::String, + #[prost(int32, tag = "4")] + pub fmkfjcmjjik: i32, + #[prost(enumeration = "Jpnihhbgepd", tag = "5")] + pub odnpbhepnoa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abboiocgcho { + #[prost(string, tag = "1")] + pub mgjdcahcpfa: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub position: ::core::option::Option, + #[prost(bool, tag = "3")] + pub mollcdjkool: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5698)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pokpnbldmhd { + #[xor(4631)] + #[prost(uint32, tag = "6")] + pub level: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nngnchioeak { + #[prost(int32, tag = "1")] + pub quest_id: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9496)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eknphbobima { + #[xor(14936)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9067)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jlgjeiohiel { + #[xor(8464)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dhbejggdeeo {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjjkfjbjdda { + #[prost(message, repeated, tag = "1")] + pub fckhpamjkbn: ::prost::alloc::vec::Vec, + #[prost(enumeration = "HollowEntityType", tag = "2")] + pub pbgfddlpihp: i32, + #[prost(message, repeated, tag = "3")] + pub ooicblaegij: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub igpbdhdnmkm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kmhobmcloco {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pccmnocpaml { + #[prost(message, optional, tag = "2")] + pub femmmcikmhk: ::core::option::Option, + #[xor(12533)] + #[prost(int32, tag = "6")] + pub hekopfkhbaj: i32, + #[xor(13409)] + #[prost(int32, tag = "9")] + pub eldaekefdbk: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Paljinmfill { + #[prost(uint32, tag = "1")] + pub template_id: u32, + #[prost(uint32, tag = "2")] + pub phcbebaelmf: u32, + #[prost(int64, tag = "3")] + pub jfaljjobabd: i64, + #[prost(bool, tag = "4")] + pub cdclblegnpa: bool, + #[prost(uint64, tag = "5")] + pub ajidkgenpcn: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgddmjlcedp { + #[prost(string, tag = "1")] + pub lkdbeecbglo: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jkkodakbbeh { + #[prost(enumeration = "Ikkfjkejfld", tag = "6")] + pub kjongknfkee: i32, + #[xor(10527)] + #[prost(uint32, tag = "7")] + pub fcmajdepikp: u32, + #[prost(bool, tag = "5")] + pub ilikllnocoa: bool, + #[xor(9950)] + #[prost(uint32, tag = "3")] + pub ncaogklmdec: u32, + #[xor(9309)] + #[prost(uint32, tag = "13")] + pub phcbebaelmf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mciianpneke { + #[prost(uint32, tag = "1")] + pub pokoclhpeeg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1483)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ohfbefhkdcp { + #[xor(7371)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Efpcibgjkpp { + #[prost(uint64, tag = "1")] + pub nmagphdoajc: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9913)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmoemfocgng { + #[prost(message, optional, tag = "6")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(8938)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, + #[xor(1659)] + #[prost(uint64, tag = "2")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4886)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Knmdiddfgph {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Filbkddphen { + #[prost(map = "uint32, uint32", tag = "1")] + pub ajppilianbi: ::std::collections::HashMap, + #[prost(string, tag = "2")] + pub beinmnbghnj: ::prost::alloc::string::String, + #[prost(int32, repeated, tag = "3")] + pub nfikmcfeifl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mijnjlaalma { + #[prost(message, repeated, tag = "9")] + pub kahcggocohi: ::prost::alloc::vec::Vec, + #[xor(9492)] + #[prost(uint32, tag = "8")] + pub template_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Moccffaggjp { + #[prost(double, tag = "1")] + pub pohnmenbegi: f64, + #[prost(double, tag = "2")] + pub llffkfoejgj: f64, + #[prost(double, tag = "3")] + pub cgcpijamknl: f64, + #[prost(double, tag = "4")] + pub johoaliiccj: f64, + #[prost(double, tag = "5")] + pub hcopojhoimc: f64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mceacbeoele { + #[prost(message, optional, tag = "2")] + pub bdlfhapgoco: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9000)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cmbonlfofcf { + #[xor(6123)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifleabbimln { + #[prost(enumeration = "HollowGridLink", tag = "1")] + pub bdhdkglgljb: i32, + #[prost(message, optional, tag = "2")] + pub pefnehdfdmj: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub akkjdomccmn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcnipbgbalp { + #[prost(string, tag = "1")] + pub dhiafbkblhc: ::prost::alloc::string::String, + #[prost(enumeration = "Dklgniaakji", tag = "13")] + pub jhooeobinia: i32, + #[prost(string, tag = "5")] + pub cfhmigfkadg: ::prost::alloc::string::String, + #[xor(10523)] + #[prost(int32, tag = "9")] + pub pkfnailgikm: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1603)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Idecdipggan { + #[xor(2557)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6966)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npjincbfdie { + #[prost(message, repeated, tag = "7")] + pub pdcogpelnfo: ::prost::alloc::vec::Vec, + #[prost(float, tag = "8")] + pub ehmjpgjfmeh: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7058)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nopffidhoje { + #[xor(10710)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6500)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lenmfljhahb { + #[prost(message, optional, tag = "12")] + pub ieploccockn: ::core::option::Option, + #[xor(10702)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[xor(7433)] + #[prost(uint32, tag = "6")] + pub migelfhjkak: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lhfbdijjhbp { + #[xor(12106)] + #[prost(int32, tag = "2")] + pub lfgefjplima: i32, + #[xor(15166)] + #[prost(int32, tag = "3")] + pub pnfgigjcaea: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eiikdejbinc { + #[prost(bool, tag = "1")] + pub fdhoehnbcjo: bool, + #[prost(bool, tag = "2")] + pub bigbhhpmdnb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VideotapeInfo { + #[prost(bool, tag = "10")] + pub finished: bool, + #[prost(message, repeated, tag = "7")] + pub gffmeopojgo: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub icopbeofhkh: ::prost::alloc::vec::Vec, + #[xor(9096)] + #[prost(uint32, tag = "9")] + pub archive_file_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egnfgeibbod { + #[prost(message, optional, tag = "1")] + pub quest_id: ::core::option::Option, + #[prost(bool, tag = "2")] + pub enbccffknld: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nemannnhkkk {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jplojjpmlpd {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhpcmobpcob { + #[prost(message, repeated, tag = "7")] + pub kfkjgmehome: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(512)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mplmjfjeffd {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjfpapknlak { + #[prost(map = "uint32, int32", tag = "13")] + pub fabmleglhie: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8811)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bidhgpbngkc { + #[prost(message, repeated, tag = "7")] + pub dhlflmlnndg: ::prost::alloc::vec::Vec, + #[xor(14854)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ofgidbocnmb { + #[prost(bool, tag = "1")] + pub hfgdjcfhokn: bool, + #[prost(bool, tag = "2")] + pub gfhegijnplf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Popnjfeddkl { + #[xor(9396)] + #[prost(uint32, tag = "12")] + pub bclnjeandcm: u32, + #[prost(uint32, repeated, tag = "15")] + pub gohlahllafe: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub bghkmnpikkb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub ibebdklgebp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub encecahdjjp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub glmmdebfabl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub dgohbjpfiob: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub djhongokhcj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub lcldmapddge: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1")] + pub mcpdjikhchi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npfffbmheim { + #[prost(message, optional, tag = "1")] + pub clgdocgoggb: ::core::option::Option, + #[prost(bool, tag = "2")] + pub mjdonhmlfod: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhkkalmclaa { + #[prost(int32, tag = "1")] + pub npc_id: i32, + #[prost(int32, tag = "2")] + pub pdpnooimhfl: i32, + #[prost(int32, tag = "3")] + pub ljdphlcgmkk: i32, + #[prost(int32, tag = "4")] + pub febhiaknkco: i32, + #[prost(int32, tag = "5")] + pub ikklghjnjnm: i32, + #[prost(string, tag = "6")] + pub jmjgmednmmp: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub lmhcfdjmjld: ::prost::alloc::string::String, + #[prost(float, tag = "8")] + pub lbndcablhij: f32, + #[prost(float, tag = "9")] + pub bcimemnfpkc: f32, + #[prost(float, tag = "10")] + pub nogohbglefc: f32, + #[prost(float, tag = "11")] + pub hhdhgkgifkf: f32, + #[prost(string, tag = "12")] + pub gobbelcokll: ::prost::alloc::string::String, + #[prost(int32, tag = "14")] + pub mnofclefihp: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9910)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fokclgadnhb { + #[xor(9625)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(833)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibbmkolfeep { + #[prost(message, repeated, tag = "5")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(3876)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, + #[xor(13149)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2085)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bpkkemppklh { + #[xor(16365)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhdikmoilih { + #[prost(string, tag = "1")] + pub ui: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub args: i32, + #[prost(bool, tag = "3")] + pub kjjbcmbhgke: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7292)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mhglkecmfkk { + #[xor(11531)] + #[prost(uint32, tag = "13")] + pub bbjildlnhgm: u32, + #[xor(3526)] + #[prost(uint32, tag = "8")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fbfmkajheip { + #[prost(bool, tag = "3")] + pub dgbdaknlcbm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icmkeckcicn { + #[prost(message, repeated, tag = "1")] + pub scene_unit_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub fbinoonaemk: bool, + #[prost(bool, tag = "3")] + pub ikbeommcihm: bool, + #[prost(uint32, tag = "4")] + pub kedlgoakhld: u32, + #[prost(bool, tag = "5")] + pub dehnhaipeig: bool, + #[prost(enumeration = "Fofhkjpcmdl", tag = "6")] + pub lioinmelhgn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajndelcobge { + #[prost(string, tag = "1")] + pub oiidemlgihg: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mkigjjldbha { + #[xor(10532)] + #[prost(int32, tag = "1")] + pub bolhfhdimmb: i32, + #[xor(1461)] + #[prost(int32, tag = "10")] + pub cgnoigmjbpi: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anepnhgakgg { + #[prost(enumeration = "Pcekojidped", tag = "1")] + pub ekbfgknccph: i32, + #[prost(string, tag = "2")] + pub dcpnffhjklk: ::prost::alloc::string::String, + #[prost(enumeration = "Elbfmaaicom", tag = "3")] + pub fpbfehmkhgp: i32, + #[prost(message, repeated, tag = "4")] + pub booilddffge: ::prost::alloc::vec::Vec, + #[prost(map = "string, message", tag = "5")] + pub jjfjncfjaca: ::std::collections::HashMap< + ::prost::alloc::string::String, + Jiahalkoppm, + >, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ciphlmmgppi { + #[prost(bool, tag = "6")] + pub dgbdaknlcbm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Beiihkhbloj { + #[prost(message, repeated, tag = "15")] + pub gchiicifgkc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7502)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpeicacmckc { + #[xor(507)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(message, optional, tag = "12")] + pub edhlpalpfcj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlhkllppolc { + #[prost(uint32, tag = "1")] + pub bhbfkmpaakh: u32, + #[prost(message, repeated, tag = "2")] + pub noebkmdmfga: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub jejjgkdekib: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8767)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emjieednlhe { + #[xor(4068)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "12")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(2899)] + #[prost(uint64, tag = "7")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Akgbjonbnpe { + #[prost(enumeration = "Pckilpbdcgf", tag = "15")] + pub r#type: i32, + #[xor(4844)] + #[prost(int32, tag = "1")] + pub lkdbeecbglo: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clikipfoidg { + #[prost(message, repeated, tag = "1")] + pub pcafkgehcan: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub jehbjmehcnf: bool, + #[prost(message, repeated, tag = "3")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub khebfdaihah: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glkkokefbgm { + #[prost(uint32, repeated, tag = "1")] + pub gnbgjkfeckj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub ieeeklnbloc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnnljjilacc { + #[prost(enumeration = "Jpnihhbgepd", tag = "1")] + pub odnpbhepnoa: i32, + #[prost(message, optional, tag = "2")] + pub avatar_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dphmgjfddeg { + #[prost(uint32, tag = "1")] + pub bhbfkmpaakh: u32, + #[prost(message, repeated, tag = "2")] + pub noebkmdmfga: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pienbikobko {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjagoecgghb { + #[prost(map = "int32, int32", tag = "2")] + pub mmhbphllfdd: ::std::collections::HashMap, + #[prost(message, optional, tag = "9")] + pub position: ::core::option::Option, + #[xor(2614)] + #[prost(int32, tag = "12")] + pub lcdeijokgmk: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3621)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Begpnkokpam { + #[prost(message, repeated, tag = "9")] + pub ceemndalfkh: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub olcjklbegoh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oggimcinmoo { + #[prost(message, optional, tag = "10")] + pub akgfmckieoh: ::core::option::Option, + #[xor(5209)] + #[prost(uint32, tag = "8")] + pub kkoghefnkoa: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Giogkkajiga {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3748)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Imnaedfphga { + #[xor(3892)] + #[prost(uint32, tag = "12")] + pub bpoakpnaham: u32, + #[xor(8222)] + #[prost(uint32, tag = "14")] + pub mmdgifhlbao: u32, + #[xor(5785)] + #[prost(uint32, tag = "7")] + pub ipgpmbgkejn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(651)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjciddhelpb { + #[xor(11560)] + #[prost(uint64, tag = "5")] + pub fdfjcoccaoa: u64, + #[xor(9637)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3826)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fgbhikbdonl { + #[xor(14649)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9219)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Anmdgammnpd { + #[xor(15103)] + #[prost(uint32, tag = "13")] + pub template_id: u32, + #[xor(7675)] + #[prost(uint32, tag = "9")] + pub eaomhmmkkch: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2814)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akckopgeofb { + #[xor(9442)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(message, repeated, tag = "5")] + pub cpagbahnlge: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6048)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mmeimedlaoj { + #[prost(enumeration = "Hkkbglfmhme", tag = "5")] + pub gjmpnjbgpln: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5015)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cpdjbmfobil { + #[xor(4628)] + #[prost(uint32, tag = "15")] + pub cdklkjpfhhl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kbgpjinklka { + #[xor(4901)] + #[prost(uint32, tag = "2")] + pub efdffdaiomf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fgkaccndbph { + #[prost(int32, tag = "1")] + pub liebfpdicjh: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ondfnfcejai { + #[xor(2904)] + #[prost(uint32, tag = "15")] + pub lfipbcpkdcc: u32, + #[xor(14886)] + #[prost(uint32, tag = "3")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iafjopmbckn { + #[prost(message, repeated, tag = "4")] + pub bpadblgnbpe: ::prost::alloc::vec::Vec, + #[xor(12284)] + #[prost(uint32, tag = "10")] + pub opkidkbmkkn: u32, + #[prost(message, repeated, tag = "13")] + pub degabndkgof: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub ddjgpkjbcko: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "12")] + pub igjinbpacbi: ::std::collections::HashMap, + #[prost(message, repeated, tag = "3")] + pub pdpaomaophk: ::prost::alloc::vec::Vec, + #[xor(9182)] + #[prost(uint32, tag = "8")] + pub blibllmijkc: u32, + #[prost(uint32, repeated, tag = "14")] + pub mfcmfcmdmjm: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub ohjbgnkecjm: ::prost::alloc::string::String, + #[xor(782)] + #[prost(uint32, tag = "6")] + pub r#type: u32, + #[xor(15863)] + #[prost(uint32, tag = "11")] + pub pfhkpjilong: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecdknodfadh { + #[prost(int32, repeated, tag = "1")] + pub jbldecccjcg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ahlnfjcdlmc { + #[xor(4261)] + #[prost(uint32, tag = "6")] + pub template_id: u32, + #[prost(bool, tag = "1")] + pub oemoaianidj: bool, + #[prost(bool, tag = "13")] + pub ajofgdhpboi: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9588)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Diedgkaegng { + #[xor(15423)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnlncifdjea { + #[prost(uint32, repeated, tag = "6")] + pub aghbmipkpkj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub ekelbfpempg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2838)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Npbodfbplke { + #[xor(10949)] + #[prost(uint64, tag = "5")] + pub minddnoilcb: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gjamccjdmlk { + #[prost(enumeration = "ChessUiIconType", tag = "1")] + pub nadebamdkdg: i32, + #[prost(enumeration = "Hcahcakhohb", tag = "15")] + pub loaipbifodp: i32, + #[xor(1103)] + #[prost(int32, tag = "7")] + pub omjondnnfdd: i32, + #[prost(enumeration = "ChessUiColor", tag = "2")] + pub pcbkafemaab: i32, + #[xor(9343)] + #[prost(int32, tag = "3")] + pub count: i32, + #[prost(enumeration = "ChessUiColor", tag = "9")] + pub mbjcafjhdni: i32, + #[prost(enumeration = "ChessUiIconType", tag = "12")] + pub dmhppbbefpk: i32, + #[prost(enumeration = "ChessUiControlType", tag = "4")] + pub kmmblnlnkgo: i32, + #[prost(enumeration = "ChessUiControlType", tag = "14")] + pub gbemdodhcpe: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihkgmdlnfeg { + #[prost(message, optional, tag = "2")] + pub hidifbappec: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub adefebnfkfn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3305)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mlhacliobdi { + #[xor(2646)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kodpjbgbepg { + #[prost(uint32, tag = "1")] + pub cinlamkghbj: u32, + #[prost(enumeration = "ActionType", tag = "2")] + pub action_type: i32, + #[prost(bytes = "vec", tag = "3")] + pub body: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hoinllbkpoe { + #[prost(map = "uint32, uint32", tag = "14")] + pub pjpjmagpkpc: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7473)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetArcadeDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6736)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetMainCityRevivalDataScRsp { + #[xor(16309)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(message, optional, tag = "1")] + pub main_city_revival: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdamklhnlbd { + #[prost(map = "int32, int32", tag = "1")] + pub meonegbnaed: ::std::collections::HashMap, + #[prost(bool, tag = "2")] + pub igaekmnnmmi: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Knhdppoljdg { + #[prost(message, optional, tag = "1")] + pub gelakkamabm: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub pfdmjhmgaed: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5278)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epcmiiehckn { + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, + #[xor(10678)] + #[prost(uint64, tag = "6")] + pub fdfjcoccaoa: u64, + #[xor(10755)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlaglakjiek { + #[prost(message, optional, tag = "1")] + pub fiieiehipik: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub lgcdjcdbmml: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub pkedollpjbm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub njgfhhihdgg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub pfaidfaefdi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4957)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hbnacbaoplm { + #[xor(8777)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eeaneegifgi { + #[prost(message, optional, tag = "1")] + pub quest_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mfegncpbkfg { + #[xor(8156)] + #[prost(uint32, tag = "13")] + pub iiigfddbomm: u32, + #[xor(11363)] + #[prost(uint32, tag = "14")] + pub aiajckoonbf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fppcgckpkhi { + #[prost(message, optional, tag = "1")] + pub efpckpnefdc: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ojldlpbkinl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub aokebkkgcig: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpmmlhebeof { + #[prost(message, repeated, tag = "1")] + pub nmiponkijdh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1043)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bimbkdomjji { + #[xor(9682)] + #[prost(uint64, tag = "12")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "15")] + pub info: ::core::option::Option, + #[xor(13308)] + #[prost(uint64, tag = "7")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8419)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pagmjdmdkbl { + #[xor(13403)] + #[prost(uint32, tag = "6")] + pub fiieiehipik: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6323)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmpkfhnjnpp { + #[xor(3573)] + #[prost(int32, tag = "5")] + pub retcode: i32, + #[xor(3494)] + #[prost(uint32, tag = "12")] + pub aaafnplnbal: u32, + #[prost(message, repeated, tag = "8")] + pub aclbcckfpmi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(540)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ahhjghlcmeg { + #[xor(13962)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6647)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdcpejpfgmf { + #[xor(2521)] + #[prost(uint32, tag = "9")] + pub tag: u32, + #[prost(enumeration = "Hdmafmfohjl", tag = "6")] + pub r#type: i32, + #[prost(string, tag = "11")] + pub elldlbindnj: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3887)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odnohlbjmoo { + /// VMP DETECTED + /// + #[prost(string, tag = "1")] + pub cgfcobholha: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "2")] + pub ehkhgigflna: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub ejegfmpcdan: ::prost::alloc::string::String, + #[prost(bool, tag = "4")] + pub ckcpnjncchc: bool, + #[prost(bool, tag = "5")] + pub labggejmnck: bool, + #[prost(bool, tag = "6")] + pub mmbkjcekdkd: bool, + #[xor(8788)] + #[prost(uint32, tag = "7")] + pub gdkjeooocnc: u32, + #[prost(uint32, repeated, tag = "8")] + pub foacgpjpgph: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub bhidbmaddkh: ::prost::alloc::vec::Vec, + #[xor(10156)] + #[prost(uint32, tag = "10")] + pub dneffhlemfg: u32, + #[prost(uint32, repeated, tag = "11")] + pub dnabcggcahe: ::prost::alloc::vec::Vec, + #[xor(16065)] + #[prost(uint32, tag = "12")] + pub quest_id: u32, + #[xor(6480)] + #[prost(uint32, tag = "13")] + pub buddy_id: u32, + #[prost(bool, tag = "14")] + pub ombgkbpjoai: bool, + #[prost(uint32, repeated, tag = "15")] + pub avatars: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2028")] + pub dmopnggplij: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2032")] + pub clbjckinjoc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljlmeegfgal { + #[prost(map = "uint32, message", tag = "3")] + pub pknmffpebkc: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5670)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ioifeljkdkm { + #[xor(11770)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Megbohcmelc { + #[prost(message, optional, tag = "3")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3238)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knbiiddjdgb { + #[prost(message, optional, tag = "12")] + pub bmdcgmcnajb: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cepdedmlgoe { + #[prost(oneof = "cepdedmlgoe::Type", tags = "1, 2")] + pub r#type: ::core::option::Option, +} +/// Nested message and enum types in `CEPDEDMLGOE`. +pub mod cepdedmlgoe { + #[derive(yanagi_proto_derive::CmdID)] + #[derive(yanagi_proto_derive::XorFields)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Type { + #[prost(string, tag = "1")] + Str(::prost::alloc::string::String), + #[prost(uint32, tag = "2")] + Hash(u32), + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flgfjfheing { + #[prost(message, optional, tag = "1")] + pub mgkoacfjjea: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ianhccpdolj: ::core::option::Option, + #[prost(enumeration = "Klcnpnekjhm", tag = "3")] + pub r#type: i32, + #[prost(int32, tag = "4")] + pub flbkfpdokpd: i32, + #[prost(bool, tag = "5")] + pub jjgifknonmk: bool, + #[prost(bool, tag = "6")] + pub oimdgfanjnd: bool, + #[prost(message, optional, tag = "7")] + pub gdedgknogfn: ::core::option::Option, + #[prost(bool, tag = "8")] + pub dfhgnjagfpo: bool, + #[prost(bool, tag = "9")] + pub ifaghjkiioa: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ddlalcpmpfn { + #[xor(16071)] + #[prost(int32, tag = "5")] + pub ikifgchooog: i32, + #[xor(1898)] + #[prost(uint32, tag = "8")] + pub efnbmliacmk: u32, + #[xor(16282)] + #[prost(uint32, tag = "14")] + pub fekgjgfhekj: u32, + #[prost(message, optional, tag = "10")] + pub nfmojhjjldd: ::core::option::Option, + #[xor(12316)] + #[prost(int32, tag = "4")] + pub nfelkldllhb: i32, + #[xor(5016)] + #[prost(int32, tag = "9")] + pub count: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Anjaecjbjdc { + #[xor(9321)] + #[prost(int32, tag = "6")] + pub lamomhanken: i32, + #[xor(8455)] + #[prost(int32, tag = "2")] + pub ggdkhpplobj: i32, + #[xor(11926)] + #[prost(int32, tag = "15")] + pub lhgmkeminbn: i32, + #[xor(8579)] + #[prost(int32, tag = "13")] + pub ddcnjgiklbp: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7570)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Piohfgfibip { + #[xor(13614)] + #[prost(uint32, tag = "3")] + pub ghifdkelobe: u32, + #[xor(5180)] + #[prost(uint32, tag = "15")] + pub fcbckehgoga: u32, + #[xor(13090)] + #[prost(uint32, tag = "13")] + pub bhnmbooodka: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2490)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjmdnpighmd { + #[prost(int32, repeated, tag = "12")] + pub kmaaclgkphn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mabnhjfokog { + #[xor(5622)] + #[prost(uint32, tag = "13")] + pub beklldpdbab: u32, + #[prost(uint32, repeated, tag = "11")] + pub fbkpccademd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(932)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eejlhgbmjnp { + #[xor(15024)] + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(message, repeated, tag = "1")] + pub llkpmmnfeig: ::prost::alloc::vec::Vec, + #[xor(5759)] + #[prost(uint32, tag = "13")] + pub aphhengpplk: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3309)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hadaboghmib { + #[prost(enumeration = "Ffgmmejnael", tag = "1")] + pub gjmpnjbgpln: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kilnncafdgl { + #[prost(message, optional, tag = "1")] + pub bpcdfdnkkoc: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub akmodehglfn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cpnbcmhmfgg {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aleppfnffaj { + #[prost(message, optional, tag = "1")] + pub event_graph_uid: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub apacdkacfnd: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub acjafbkkflf: ::core::option::Option, + #[prost(bool, tag = "4")] + pub niiglkgjmhk: bool, + #[prost(message, optional, tag = "5")] + pub hoolebkalgc: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub ogjgcpjnhkd: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub ghjekfcdanb: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub homemonglfd: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub afmhggngmop: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub ocmbhfijmdb: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnhncebfeoh { + #[prost(int32, repeated, tag = "1")] + pub hfnobnddpcd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4840)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkeobbgfhli { + #[prost(message, optional, tag = "5")] + pub iabbmakoooj: ::core::option::Option, + #[prost(string, tag = "8")] + pub oiglaminabe: ::prost::alloc::string::String, + #[prost(message, optional, tag = "11")] + pub lhbejkbkbfh: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4098)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bpcahajmnlf { + #[xor(15483)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mijinobgggp { + #[prost(message, optional, tag = "1")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub fiieiehipik: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "3")] + pub odnpbhepnoa: i32, + #[prost(bool, tag = "4")] + pub lidejjpngfh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ahkojfbfigj {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehaofefndlk { + #[prost(message, repeated, tag = "5")] + pub dajddmdjgbl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub gldhagkgidh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjjdkpalkmc { + #[prost(enumeration = "ChessUiControlType", tag = "1")] + pub r#type: i32, + #[prost(enumeration = "ChessUiIconType", tag = "2")] + pub ilbpbafcila: i32, + #[prost(message, optional, tag = "3")] + pub hhoaffcpgap: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub bddlconiggl: ::core::option::Option, + #[prost(enumeration = "HollowEntityType", tag = "6")] + pub fkkbflokodb: i32, + #[prost(enumeration = "ChessUiColor", tag = "7")] + pub dcnikjnfgoj: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8352)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdjchfgfnbj { + #[prost(message, optional, tag = "7")] + pub pgcmhgoiijc: ::core::option::Option, + #[prost(bool, tag = "9")] + pub cnkoblmjhaf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8467)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdmgopamfcn { + #[prost(message, repeated, tag = "10")] + pub eappabhclii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3548)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Boncjicnljf { + #[prost(message, optional, tag = "6")] + pub edcecdkjhka: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8241)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetCafeDataScRsp { + #[prost(message, optional, tag = "6")] + pub cafe_data: ::core::option::Option, + #[xor(15949)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nbjchnhoiep {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mjcmlonkdla { + #[prost(int32, tag = "1")] + pub phnejnbnehm: i32, + #[prost(bool, tag = "2")] + pub igaekmnnmmi: bool, + #[prost(int32, tag = "3")] + pub section: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gibdbcoffjl { + #[prost(int32, tag = "1")] + pub pohnmenbegi: i32, + #[prost(int32, tag = "2")] + pub llffkfoejgj: i32, + #[prost(int32, tag = "3")] + pub cgcpijamknl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enpbghllbfh { + #[prost(message, optional, tag = "15")] + pub glfnliipmmb: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub fboofengkbl: ::core::option::Option, + #[prost(map = "uint32, message", tag = "3")] + pub iadaggjbikg: ::std::collections::HashMap, + #[prost(bool, tag = "12")] + pub mohomjglblm: bool, + #[prost(message, optional, tag = "9")] + pub lkhmgfpocdb: ::core::option::Option, + #[prost(int32, repeated, tag = "7")] + pub occacmhghhb: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub llkflflppfp: ::core::option::Option, + #[xor(7055)] + #[prost(uint32, tag = "6")] + pub fcfbjmhjpjg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8868)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hailelhogcd { + #[xor(15684)] + #[prost(uint32, tag = "7")] + pub tag: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6484)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fkfofhildnb { + #[xor(1732)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnmejpflblp { + #[prost(map = "uint32, message", tag = "4")] + pub apnhnfopjae: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "10")] + pub cpfmacmkobl: ::std::collections::HashMap, + #[prost(message, optional, tag = "15")] + pub ejihoefielc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7903)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afooedljncm { + #[xor(14317)] + #[prost(uint32, tag = "4")] + pub plcmabdfkpf: u32, + #[xor(9836)] + #[prost(uint32, tag = "6")] + pub jkhpachcfgh: u32, + #[prost(map = "uint32, uint32", tag = "5")] + pub cgfajbcoice: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5628)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mlpfloakafh { + #[xor(1705)] + #[prost(uint32, tag = "1")] + pub buddy_id: u32, + #[xor(8377)] + #[prost(uint32, tag = "11")] + pub aeicekmldco: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcnlhfmkclo { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub fkkbflokodb: i32, + #[prost(message, optional, tag = "2")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub hakiigcgkjf: ::core::option::Option, + #[prost(enumeration = "HollowEntityType", tag = "4")] + pub bkmdecamaan: i32, + #[prost(message, optional, tag = "5")] + pub hkmoeeoabkc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8679)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jmgebmngikl { + #[xor(9623)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7973)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekdpecpkolf { + #[prost(enumeration = "Inlkgbcadge", tag = "7")] + pub cnmhcnfnmim: i32, + #[prost(string, tag = "9")] + pub jkekhfmllho: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9737)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mfjlicdkegm { + #[xor(14675)] + #[prost(uint32, tag = "12")] + pub jhooejigljp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkidomdjpoe { + #[prost(message, repeated, tag = "8")] + pub bhdnoblbnoh: ::prost::alloc::vec::Vec, + #[xor(2719)] + #[prost(uint32, tag = "4")] + pub pndaimlojeg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gidjfljfbad { + #[prost(bool, tag = "5")] + pub hpepmipfeab: bool, + #[prost(bool, tag = "12")] + pub olmbckeopdg: bool, + #[xor(5236)] + #[prost(uint32, tag = "11")] + pub ajlbpdgcmgn: u32, + #[xor(11487)] + #[prost(uint32, tag = "4")] + pub nlfcgpnfohh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dcelkbjlafn { + #[prost(message, optional, tag = "1")] + pub level: ::core::option::Option, + #[prost(enumeration = "Jpnihhbgepd", tag = "2")] + pub odnpbhepnoa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ogbeigkffhi { + #[prost(bool, tag = "14")] + pub hjljochckpe: bool, + #[prost(enumeration = "Ablocgbdipn", tag = "12")] + pub ecglhiffmii: i32, + #[prost(enumeration = "Dehdmbcfeap", tag = "7")] + pub gboefcobkcf: i32, + #[xor(9183)] + #[prost(int32, tag = "5")] + pub ebgnihadjgg: i32, + #[prost(enumeration = "Pifnkldafnk", tag = "9")] + pub lbebfpjliob: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2115)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fejgjjfdaga { + #[xor(13612)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hegmaimmadk { + #[xor(977)] + #[prost(int32, tag = "7")] + pub mnbibdhfclp: i32, + #[xor(6069)] + #[prost(int32, tag = "9")] + pub eoahfahogci: i32, + #[xor(8117)] + #[prost(uint32, tag = "4")] + pub hinoaickkli: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9280)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ohkdjehjabe { + #[xor(15880)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9965)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Afkldmdmjpi { + #[xor(12708)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1576)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebdgnikphmo { + #[xor(5782)] + #[prost(uint64, tag = "5")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, + #[xor(11494)] + #[prost(uint64, tag = "12")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "1")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjohgjkpokd { + #[prost(uint32, repeated, tag = "5")] + pub jooalimiafg: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1")] + pub olcjklbegoh: ::prost::alloc::vec::Vec, + #[xor(1133)] + #[prost(uint32, tag = "10")] + pub kdifkmdkbaf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmkmjoajioh { + #[prost(bool, tag = "1")] + pub gkmdgocecnc: bool, + #[prost(bool, tag = "2")] + pub nldbieegndm: bool, + #[prost(bool, tag = "3")] + pub jdgchifhmpo: bool, + #[prost(message, optional, tag = "4")] + pub hledbngkcdl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2768)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nkkphlnnonb {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdakcpfhhfk { + #[prost(message, repeated, tag = "1")] + pub emfejebhodj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub anjjgbjikoc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9963)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Clgmflchgmi { + #[prost(enumeration = "Ecihmhhnkko", tag = "1")] + pub imbbdhigooc: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjhgegedhcd { + #[prost(string, tag = "2")] + pub khjiddeblee: ::prost::alloc::string::String, + #[xor(1014)] + #[prost(int64, tag = "1")] + pub mcpmobeikhc: i64, + #[prost(string, tag = "11")] + pub lgamamphecj: ::prost::alloc::string::String, + #[prost(bool, tag = "7")] + pub hglpkgclmha: bool, + #[xor(6166)] + #[prost(int64, tag = "9")] + pub hccjckmjabc: i64, + #[xor(15244)] + #[prost(uint32, tag = "6")] + pub template_id: u32, + #[prost(string, tag = "15")] + pub dcenneolnfo: ::prost::alloc::string::String, + #[xor(9864)] + #[prost(uint32, tag = "12")] + pub hlnfdjdckll: u32, + #[xor(11570)] + #[prost(uint32, tag = "4")] + pub kkofabmmaib: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndbaiogfakp { + #[prost(message, optional, tag = "1")] + pub eaeiifkpdof: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkkaejkfeac { + #[prost(int32, repeated, tag = "14")] + pub plokadhcnab: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub ocoofaikopn: ::core::option::Option, + #[prost(int32, repeated, tag = "9")] + pub pbaldglhhcm: ::prost::alloc::vec::Vec, + #[xor(9142)] + #[prost(int32, tag = "10")] + pub ajcocoionnb: i32, + #[xor(356)] + #[prost(uint32, tag = "6")] + pub ambeaipbeli: u32, + #[prost(float, tag = "11")] + pub hdaokibdehc: f32, + #[prost(message, optional, boxed, tag = "13")] + pub nfmojkfpmpn: ::core::option::Option<::prost::alloc::boxed::Box>, + #[prost(map = "int32, int32", tag = "4")] + pub angfhnjliil: ::std::collections::HashMap, + #[xor(9128)] + #[prost(int32, tag = "8")] + pub lblefhnlbon: i32, + #[prost(map = "int32, int32", tag = "2")] + pub iajpnlknmhc: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5523)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihbmkobfjee { + #[prost(uint32, repeated, tag = "5")] + pub dfdmejeidpg: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub peepcllcohd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "542")] + pub klakliahdjm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "11")] + pub keenpachdkn: bool, + #[prost(message, repeated, tag = "8")] + pub glmmdebfabl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1")] + pub jblhmcdghmd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub ieaadiegjpc: ::prost::alloc::vec::Vec, + #[xor(13950)] + #[prost(uint32, tag = "13")] + pub gjmpnjbgpln: u32, + #[prost(message, repeated, tag = "15")] + pub jbgiifidggp: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub bacgnfodkei: ::core::option::Option, + #[prost(uint32, repeated, tag = "14")] + pub heegfchdgln: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub djicigecden: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub bjifjebiong: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub ojhaeecbfjj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub ioifcempngc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aojeinclmjc { + #[xor(13629)] + #[prost(uint32, tag = "11")] + pub uid: u32, + #[xor(8318)] + #[prost(uint32, tag = "2")] + pub r#type: u32, + #[xor(2773)] + #[prost(uint32, tag = "7")] + pub fooapnmkbab: u32, + #[xor(2387)] + #[prost(uint32, tag = "8")] + pub hfgdjcfhokn: u32, + #[xor(4846)] + #[prost(uint32, tag = "5")] + pub fmcncklcdpl: u32, + #[xor(11021)] + #[prost(uint32, tag = "10")] + pub template_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7246)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetFairyInfoScRsp { + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[xor(4106)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jiibjcokieg { + #[prost(int32, tag = "1")] + pub r#type: i32, + #[prost(string, tag = "2")] + pub gkdipnedmjk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Haabgelofga { + #[xor(4025)] + #[prost(uint32, tag = "9")] + pub gbhhhkfbbph: u32, + #[xor(15661)] + #[prost(uint32, tag = "14")] + pub njcejcfehpi: u32, + #[prost(message, repeated, tag = "15")] + pub ebkjdmelcoo: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub ebehimlpdkc: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub mijmjfciocg: ::prost::alloc::vec::Vec, + #[xor(11149)] + #[prost(uint64, tag = "10")] + pub iompfopcppk: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6583)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ndhppepalcf { + #[xor(1819)] + #[prost(uint32, tag = "1")] + pub mlcpadgnnaa: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3820)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cfapppkbooe { + /// VMP DETECTED + /// + #[xor(7497)] + #[prost(int64, tag = "3")] + pub lcmphgcpdbd: i64, + #[xor(14323)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhfbkolomhk { + #[prost(int32, repeated, tag = "1")] + pub ifmjbedbidm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub blbnpdpedbm: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "10")] + pub fibchenapmn: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "11")] + pub hcfnikmdbbf: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "15")] + pub aecbjgdigcd: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5948)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct EnterSectionCompleteCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkhjlomodpi { + #[prost(message, repeated, tag = "13")] + pub epkclfnfded: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub nkpkhhenjpg: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub iabbmakoooj: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub epnmbfhfalk: ::core::option::Option, + #[xor(14785)] + #[prost(uint32, tag = "10")] + pub pnngokcflej: u32, + #[xor(11082)] + #[prost(int32, tag = "15")] + pub pnmlnjdkdhn: i32, + #[prost(message, optional, tag = "14")] + pub haanaaegfgp: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub ghefgijimdo: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ojdhppijibf {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1680)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetCampIdleDataCsReq { + #[xor(11776)] + #[prost(uint32, tag = "12")] + pub dlpjmdlcigp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7548)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oflcjaldahc { + #[prost(message, repeated, tag = "11")] + pub gndkmoooebd: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Pojpbehhick", tag = "13")] + pub dkmepflgcmf: i32, + #[prost(message, repeated, tag = "3")] + pub kekiidflcid: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub mabpmhcglil: bool, + #[xor(2914)] + #[prost(uint32, tag = "8")] + pub nhabenmbjlf: u32, + #[prost(uint32, repeated, tag = "10")] + pub efmabpdcmhe: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahfffbhohln { + #[prost(message, optional, tag = "1")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hhdhdjphojg: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub delbgoehhop: ::prost::alloc::vec::Vec, + #[prost(enumeration = "HollowEntityType", tag = "4")] + pub elhojkcihcm: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5043)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdciojppobn { + #[xor(847)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7488)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetPlayerMailsCsReq { + #[xor(7864)] + #[prost(uint32, tag = "4")] + pub mpchpkdfbge: u32, + #[xor(953)] + #[prost(uint32, tag = "5")] + pub mokhbngncba: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opghollomoc { + #[prost(enumeration = "Gcejplldcmo", tag = "1")] + pub hmndojdccae: i32, + #[prost(string, tag = "2")] + pub imbbebgelbk: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub hoplpghhdnk: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kkebemphhkh { + #[xor(12659)] + #[prost(uint32, tag = "7")] + pub lhbejkbkbfh: u32, + #[xor(13399)] + #[prost(uint32, tag = "4")] + pub flbkfpdokpd: u32, + #[prost(message, optional, tag = "5")] + pub position: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2280)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lholaogbagc { + #[xor(13814)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8664)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmonkhfkici { + #[xor(11236)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub info: ::core::option::Option, + #[xor(14900)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Onbnjigpcna {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojmfigbbpli { + #[prost(message, repeated, tag = "3")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub fmboiohmjil: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6411)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ckbmfhablkh { + #[xor(2389)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Almfafcifpn { + #[xor(14461)] + #[prost(uint32, tag = "5")] + pub kcgnknnnbop: u32, + #[prost(bytes = "vec", tag = "3")] + pub gocpkpgedgf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Minanapopnm { + #[prost(message, optional, tag = "1")] + pub lgnobbdbgdl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjhbofaeepa { + #[prost(message, optional, tag = "6")] + pub glfnliipmmb: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub llkflflppfp: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub lkhmgfpocdb: ::core::option::Option, + #[prost(map = "uint32, message", tag = "12")] + pub iadaggjbikg: ::std::collections::HashMap, + #[xor(11570)] + #[prost(uint32, tag = "9")] + pub fcfbjmhjpjg: u32, + #[prost(bool, tag = "2")] + pub mohomjglblm: bool, + #[prost(message, optional, tag = "13")] + pub fboofengkbl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4716)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahbklpoobcc { + #[prost(message, repeated, tag = "10")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(10462)] + #[prost(uint64, tag = "5")] + pub fdfjcoccaoa: u64, + #[xor(10982)] + #[prost(uint64, tag = "8")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "14")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2743)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ondiemcpfag { + #[xor(8081)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, repeated, tag = "8")] + pub pjcmmigacfm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfapihdjmmm { + #[xor(995)] + #[prost(uint32, tag = "8")] + pub kmmjjgagcch: u32, + #[prost(message, repeated, tag = "2")] + pub nkkfmhbhanl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efckbjinhai { + #[xor(231)] + #[prost(uint32, tag = "78")] + pub dlpjmdlcigp: u32, + #[xor(325)] + #[prost(int64, tag = "1610")] + pub kjicljmjlpk: i64, + #[xor(5939)] + #[prost(uint32, tag = "1233")] + pub oolelhbjfgb: u32, + #[prost(bool, tag = "1646")] + pub lock: bool, + #[prost(int32, repeated, tag = "485")] + pub njchflckdme: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "46")] + pub nldfoclcjnb: ::prost::alloc::vec::Vec, + #[xor(7950)] + #[prost(uint32, tag = "1399")] + pub lfdijgkkmdp: u32, + #[prost(string, tag = "1197")] + pub chohgjdlnfo: ::prost::alloc::string::String, + #[prost(string, tag = "1574")] + pub npedlbpbkaa: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub dhfjmmcfibd: ::prost::alloc::string::String, + #[xor(1549)] + #[prost(uint32, tag = "1661")] + pub cahfcjcapbd: u32, + #[prost(string, tag = "9")] + pub bgjadkolnoc: ::prost::alloc::string::String, + #[prost(bool, tag = "131")] + pub dgdedicmepk: bool, + #[prost(uint32, repeated, tag = "1760")] + pub ddedhlbbclf: ::prost::alloc::vec::Vec, + #[prost(string, tag = "73")] + pub leobeegkmeg: ::prost::alloc::string::String, + #[xor(11615)] + #[prost(uint32, tag = "7")] + pub jbhceebanog: u32, + #[prost(string, tag = "4")] + pub lncjcbljjcm: ::prost::alloc::string::String, + #[xor(12251)] + #[prost(int64, tag = "14")] + pub ldgpffiabcf: i64, + #[xor(5763)] + #[prost(int64, tag = "1930")] + pub badfbalaofm: i64, + #[prost(string, tag = "12")] + pub andkmbnlmoi: ::prost::alloc::string::String, + #[xor(14566)] + #[prost(uint32, tag = "1")] + pub ggingnflokm: u32, + #[prost(string, tag = "8")] + pub ogiahgcinef: ::prost::alloc::string::String, + #[xor(13260)] + #[prost(uint32, tag = "6")] + pub kihaanoaekk: u32, + #[xor(243)] + #[prost(uint32, tag = "1434")] + pub fhmfbnminhb: u32, + #[prost(string, tag = "1806")] + pub delpcphhfgp: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub oimhhfhoakk: ::prost::alloc::string::String, + #[prost(bool, tag = "777")] + pub ffnpgdcdled: bool, + #[prost(bool, tag = "1324")] + pub fhcigmimgnk: bool, + #[xor(177)] + #[prost(uint32, tag = "15")] + pub dmljnllakjd: u32, + #[xor(6736)] + #[prost(uint32, tag = "1224")] + pub npckkoencbg: u32, + #[xor(8581)] + #[prost(int64, tag = "10")] + pub mcpmobeikhc: i64, + #[xor(424)] + #[prost(int32, tag = "13")] + pub aonfblhlmnp: i32, + #[prost(string, tag = "950")] + pub mpfibfkpfcl: ::prost::alloc::string::String, + #[xor(9915)] + #[prost(uint32, tag = "488")] + pub aaekmilbjji: u32, + #[xor(8209)] + #[prost(uint32, tag = "2")] + pub ghifdkelobe: u32, + #[prost(message, repeated, tag = "1588")] + pub fiicogiejnc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "919")] + pub cmpahnhacmp: ::prost::alloc::vec::Vec, + #[xor(4309)] + #[prost(int32, tag = "1431")] + pub gokemcofdff: i32, + #[prost(message, repeated, tag = "697")] + pub mcmcfcpbijg: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "535")] + pub ncpfbekodpl: bool, + #[xor(10044)] + #[prost(uint32, tag = "3")] + pub nfcbeplgnob: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5297)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Njafjilbapp { + #[xor(792)] + #[prost(uint32, tag = "10")] + pub aldbmeomoni: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(522)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jbgmijiagfi { + #[xor(9775)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cignmoomcgk { + #[prost(uint32, tag = "1")] + pub jmcgfhdplje: u32, + #[prost(uint32, tag = "2")] + pub kjongknfkee: u32, + #[prost(map = "uint32, uint32", tag = "3")] + pub ohkfncepmam: ::std::collections::HashMap, + #[prost(uint32, tag = "4")] + pub phcbebaelmf: u32, + #[prost(uint32, tag = "5")] + pub owner_type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7074)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Apgjeoegioh { + #[xor(6382)] + #[prost(uint32, tag = "9")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kngimggijfc {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ampgglelodj { + #[prost(message, optional, tag = "1")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub phpgbloebdf: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub neehbakfffa: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub lmekinajfad: ::core::option::Option, + #[prost(bool, tag = "5")] + pub gjdchdfejhl: bool, + #[prost(bool, tag = "6")] + pub nhhkigmaklf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6648)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpbhcodcfkd { + #[xor(14823)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, + #[xor(8208)] + #[prost(uint64, tag = "7")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "12")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpmeojkfhej { + #[prost(int32, repeated, tag = "1")] + pub hmonbhmokge: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6253)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nflcpjnmilo { + #[xor(13366)] + #[prost(int32, tag = "6")] + pub retcode: i32, + #[xor(10287)] + #[prost(uint32, tag = "7")] + pub clomjfbhmko: u32, + #[xor(899)] + #[prost(uint32, tag = "3")] + pub chfcbpfclim: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5525)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bbijepldpbo { + #[xor(10575)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3672)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mofjelclejn { + #[xor(13541)] + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(message, optional, tag = "6")] + pub caolobaabbn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Alcghfjfplg { + #[xor(15805)] + #[prost(int32, tag = "10")] + pub cgecfdefdah: i32, + #[xor(12974)] + #[prost(int32, tag = "15")] + pub ifaddmjmide: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(499)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnbbhkpbpah { + #[prost(message, repeated, tag = "4")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(15469)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[xor(4772)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkcjldikpcb { + #[prost(message, repeated, tag = "1")] + pub mdhdjihbfic: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgknknmnoph { + #[prost(message, optional, tag = "1")] + pub r#type: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub count: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub fiieiehipik: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub lgcdjcdbmml: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Beiilcdnioe { + #[prost(message, optional, tag = "1")] + pub mnpphbgdmkl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub cophhjpkaae: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub cimddebbbph: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub ohadnkglhip: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub cajimaheccm: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub pnalnlmgdkl: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub dpfoelhabbn: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub amkkjgmnjki: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub ngflemingig: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub eliadpdbaca: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub jfghpgkmgik: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub ofajknpimmj: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub bkofidmgcli: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub leanhogoeoa: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub gabcopfnpnd: ::core::option::Option, + #[prost(message, optional, tag = "16")] + pub emcoijgbekk: ::core::option::Option, + #[prost(message, optional, tag = "17")] + pub eecbljhclmg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pdgijhgjgmi { + #[prost(uint32, tag = "1")] + pub llbdhkdlebh: u32, + #[prost(uint32, tag = "2")] + pub gghneacaidl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kgaknbaopcl { + #[prost(bool, tag = "1")] + pub dcmikaacihk: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lholippelbn { + #[prost(message, optional, tag = "1")] + pub fpclgmdcdhm: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub ddbmjpajmnc: u32, + #[prost(message, repeated, tag = "3")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfjobcaalhe { + #[prost(message, repeated, tag = "4")] + pub gegfajpkhii: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub hlfhfjppalf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mafbgngakdm { + #[xor(15905)] + #[prost(uint32, tag = "7")] + pub hebdnnbjfam: u32, + #[xor(4856)] + #[prost(uint32, tag = "10")] + pub template_id: u32, + #[xor(613)] + #[prost(uint32, tag = "13")] + pub ohbbnkgfjaa: u32, + #[xor(8207)] + #[prost(uint32, tag = "11")] + pub hfgdjcfhokn: u32, + #[xor(4101)] + #[prost(uint32, tag = "12")] + pub aknbmmbhcij: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6628)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bfgdkbgmcpf { + #[xor(7352)] + #[prost(int32, tag = "13")] + pub ofgfdeipfaj: i32, + #[xor(3052)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Igdonogcjnn { + #[prost(message, repeated, tag = "1")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2927)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjpmilljcdn { + #[prost(string, tag = "12")] + pub kjgbjnnljmg: ::prost::alloc::string::String, + #[xor(3711)] + #[prost(uint32, tag = "4")] + pub dimdlbpkbaj: u32, + #[xor(11586)] + #[prost(uint32, tag = "15")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdknbnmdaoj { + #[prost(message, optional, tag = "1")] + pub efpckpnefdc: ::core::option::Option, + #[prost(bool, tag = "2")] + pub kbpohfhfldg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3098)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njfedcdjnfa { + #[xor(13570)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "2")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(4802)] + #[prost(uint64, tag = "3")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "13")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2739)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Miijpjlhmff { + #[prost(map = "uint32, int32", tag = "12")] + pub ajppilianbi: ::std::collections::HashMap, + #[xor(15770)] + #[prost(uint32, tag = "3")] + pub count: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldpnmhgomfd { + #[prost(string, tag = "1")] + pub fkkfnjmbgod: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpapncnepih { + #[prost(uint32, tag = "1")] + pub kmcmgklljbn: u32, + #[prost(message, repeated, tag = "2")] + pub egeanadbfci: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub nkkfmhbhanl: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub aldffcapkca: bool, + #[prost(uint32, tag = "5")] + pub caakiikadep: u32, + #[prost(message, optional, tag = "6")] + pub gckbbnmlddc: ::core::option::Option, + #[prost(bytes = "vec", tag = "7")] + pub jbgckcdcael: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub mlcpadgnnaa: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jhdpbgdbdbe { + #[prost(bool, tag = "1")] + pub fbinoonaemk: bool, + #[prost(int32, tag = "2")] + pub kedlgoakhld: i32, + #[prost(bool, tag = "3")] + pub gfhegijnplf: bool, + #[prost(bool, tag = "4")] + pub ikbeommcihm: bool, + #[prost(enumeration = "Fofhkjpcmdl", tag = "5")] + pub lioinmelhgn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmpkhifenmc { + #[prost(message, optional, tag = "1")] + pub section_id: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub pfimeigjkhc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6214)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EndBattleCsReq { + /// VMP DETECTED + /// + #[prost(message, optional, tag = "3")] + pub gfkogpnmnfe: ::core::option::Option, + #[prost(bool, tag = "7")] + pub fkfkhallogi: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pionfhmccml { + #[prost(bool, tag = "1")] + pub nkllfjcpphb: bool, + #[prost(float, tag = "3")] + pub ohgcjmfdfpl: f32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njjnailabej { + #[prost(uint32, repeated, tag = "9")] + pub bbaihciehen: ::prost::alloc::vec::Vec, + #[xor(7105)] + #[prost(uint32, tag = "1")] + pub febglbabbnn: u32, + #[prost(enumeration = "Iimcjlkanfi", tag = "15")] + pub hbjamoabjkf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lacglcbjclh { + #[prost(uint32, repeated, tag = "1")] + pub fddeofeadhk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub glmmdebfabl: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub dlbpjdfcmpo: ::core::option::Option, + #[prost(uint32, repeated, tag = "10")] + pub ibebdklgebp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub dgohbjpfiob: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hojnbnkibcm { + #[prost(message, repeated, tag = "3")] + pub ajeecjpajfc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3202)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mmmpmkeofbk {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8246)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eoclammpkma { + #[xor(6393)] + #[prost(int32, tag = "8")] + pub retcode: i32, + #[xor(4220)] + #[prost(uint32, tag = "12")] + pub cionidfhigi: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpjpgcmdhdl { + #[prost(enumeration = "Kmpfpppkfjn", tag = "1")] + pub r#type: i32, + #[prost(message, optional, tag = "2")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub ocljonblabb: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub ddobpcnjioj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eaghokffehd { + #[prost(uint32, repeated, tag = "3")] + pub mnhckepgnak: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub jbfifgefkam: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub dgbdkipjmad: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdaaklbeidh { + #[xor(11937)] + #[prost(uint64, tag = "3")] + pub aldbmeomoni: u64, + #[prost(string, tag = "5")] + pub gnmdfhkbbfb: ::prost::alloc::string::String, + #[xor(4991)] + #[prost(uint32, tag = "2")] + pub ehmfcaoinch: u32, + #[prost(string, tag = "11")] + pub lgahbhbghlb: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SkillWishlistPlan { + #[prost(enumeration = "SkillWishlistPlanType", tag = "1")] + pub plan_type: i32, + #[prost(uint32, repeated, tag = "2")] + pub wish_skill_id_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccpomjoenkk { + #[xor(381)] + #[prost(int64, tag = "1")] + pub iompfopcppk: i64, + #[prost(uint32, repeated, tag = "9")] + pub gdfnlbfdggj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub idjcmcienlh: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub mchnampmbhp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmbfalbnfll { + #[prost(map = "uint32, uint32", tag = "5")] + pub ohkfncepmam: ::std::collections::HashMap, + #[prost(string, tag = "11")] + pub nalafejpbng: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub bnidjiaigek: ::prost::alloc::string::String, + #[xor(7959)] + #[prost(uint32, tag = "1")] + pub kpfdcfehhnc: u32, + #[xor(3600)] + #[prost(uint32, tag = "15")] + pub template_id: u32, + #[xor(1788)] + #[prost(uint32, tag = "4")] + pub acagpefkoea: u32, + #[xor(563)] + #[prost(int64, tag = "13")] + pub mcpmobeikhc: i64, + #[prost(enumeration = "Mgdnceflcmp", tag = "8")] + pub kjongknfkee: i32, + #[xor(13694)] + #[prost(uint32, tag = "14")] + pub dfadlccbeoo: u32, + #[prost(enumeration = "Hcamdcgjobf", tag = "10")] + pub r#type: i32, + #[prost(string, tag = "12")] + pub majnhdojplo: ::prost::alloc::string::String, + #[xor(12569)] + #[prost(uint32, tag = "7")] + pub ifgmnbljncb: u32, + #[xor(13401)] + #[prost(uint32, tag = "2")] + pub hklcmfdikoh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbjjgbiebcg { + #[prost(int32, tag = "1")] + pub nocgpaolime: i32, + #[prost(enumeration = "Iimcjlkanfi", tag = "2")] + pub offekepmnll: i32, + #[prost(enumeration = "Gdjmkbccndm", tag = "7")] + pub cjhcjdmdlij: i32, + #[prost(int32, tag = "10")] + pub lbebfpjliob: i32, + #[prost(string, repeated, tag = "11")] + pub pcdlgfddjlm: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(int32, tag = "12")] + pub fjckpdofhjf: i32, + #[prost(int32, tag = "13")] + pub injbfbhpkjb: i32, + #[prost(enumeration = "Giglhifedgn", tag = "14")] + pub gboefcobkcf: i32, + #[prost(bool, tag = "15")] + pub gdcjohnijaj: bool, + #[prost(enumeration = "Lnlmgceeflg", tag = "16")] + pub aokiajhllfc: i32, + #[prost(uint32, tag = "17")] + pub bgepbofgadk: u32, + #[prost(message, optional, tag = "18")] + pub bcjikglboka: ::core::option::Option, + #[prost(message, optional, tag = "19")] + pub djabmmbdgah: ::core::option::Option, + #[prost(uint32, repeated, tag = "20")] + pub beljbepihbj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "21")] + pub leegleljlha: u32, + #[prost(int32, tag = "22")] + pub gaagekhgghf: i32, + #[prost(message, optional, tag = "23")] + pub bjgkhpdbkbl: ::core::option::Option, + #[prost(message, optional, tag = "1001")] + pub dnjjggjfenk: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(320)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjiedfdddkh { + #[prost(message, repeated, tag = "10")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(14354)] + #[prost(uint64, tag = "12")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "15")] + pub info: ::core::option::Option, + #[xor(14639)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hfnnnbnkcmj { + #[xor(16061)] + #[prost(uint64, tag = "15")] + pub kmiaocfgleh: u64, + #[xor(12850)] + #[prost(uint32, tag = "7")] + pub efdffdaiomf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6562)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct InteractWithUnitCsReq { + #[xor(8269)] + #[prost(int32, tag = "8")] + pub unit_tag: i32, + #[prost(enumeration = "InteractTarget", tag = "2")] + pub r#type: i32, + #[xor(11498)] + #[prost(int32, tag = "9")] + pub interaction: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HallSceneInfo { + #[xor(12940)] + #[prost(uint32, tag = "127")] + pub kedlgoakhld: u32, + #[prost(string, repeated, tag = "879")] + pub kegdjjgjabi: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(int32, repeated, tag = "1363")] + pub gfgjkaidenh: ::prost::alloc::vec::Vec, + #[xor(6141)] + #[prost(uint32, tag = "7")] + pub time_of_day: u32, + #[prost(message, repeated, tag = "685")] + pub peikpnocfog: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1291")] + pub fbeolodbbbi: ::prost::alloc::vec::Vec, + #[xor(15904)] + #[prost(uint32, tag = "11")] + pub time_period: u32, + #[xor(4406)] + #[prost(uint32, tag = "1379")] + pub jblljokcgam: u32, + #[prost(message, repeated, tag = "238")] + pub ggknknfhmph: ::prost::alloc::vec::Vec, + #[xor(2736)] + #[prost(uint32, tag = "4")] + pub section_id: u32, + #[prost(message, optional, tag = "12")] + pub position: ::core::option::Option, + #[xor(11304)] + #[prost(uint32, tag = "5")] + pub bgm_id: u32, + #[xor(14524)] + #[prost(uint32, tag = "9")] + pub camera_y: u32, + #[prost(int32, repeated, tag = "1842")] + pub gnbgjkfeckj: ::prost::alloc::vec::Vec, + #[xor(7246)] + #[prost(uint32, tag = "2")] + pub mcfjgijcmfl: u32, + #[prost(uint32, repeated, tag = "1733")] + pub dpmjknknmbf: ::prost::alloc::vec::Vec, + #[xor(8628)] + #[prost(uint32, tag = "8")] + pub hlnkijemieh: u32, + #[prost(uint32, repeated, tag = "1324")] + pub ohfceeemopi: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub jkdgmmjjdlk: ::core::option::Option, + #[prost(message, repeated, tag = "13")] + pub dfccogcmnom: ::prost::alloc::vec::Vec, + #[xor(8000)] + #[prost(uint32, tag = "1026")] + pub main_city_avatar_id: u32, + #[xor(6005)] + #[prost(uint32, tag = "1547")] + pub day_of_week: u32, + #[prost(map = "int32, int32", tag = "14")] + pub main_city_objects_state: ::std::collections::HashMap, + #[prost(message, repeated, tag = "284")] + pub bgcigkaaiin: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1")] + pub scene_unit_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "1276")] + pub ibgjecbknaf: bool, + #[prost(message, repeated, tag = "1532")] + pub gjggpoinpod: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "15")] + pub mojmkoocdec: ::core::option::Option, + #[xor(14450)] + #[prost(uint32, tag = "293")] + pub cligphpcbhn: u32, + #[prost(int32, repeated, tag = "1045")] + pub bogkfppjljp: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "1880")] + pub ahebjlfhlma: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "1161")] + pub hjmpphmfbki: ::std::collections::HashMap, + #[prost(string, tag = "459")] + pub transform_id: ::prost::alloc::string::String, + #[xor(3533)] + #[prost(uint32, tag = "634")] + pub player_avatar_id: u32, + #[xor(14523)] + #[prost(uint32, tag = "3")] + pub camera_x: u32, + #[xor(14474)] + #[prost(uint32, tag = "1949")] + pub dpeedkicjcf: u32, + #[prost(bool, tag = "1390")] + pub negageboace: bool, + #[prost(map = "string, int32", tag = "10")] + pub fbohpmghbcb: ::std::collections::HashMap<::prost::alloc::string::String, i32>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2216)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetFashionStoreInfoCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggigpkdieal { + #[prost(int32, tag = "1")] + pub kgfpgonahpb: i32, + #[prost(int32, tag = "2")] + pub canecpnekha: i32, + #[prost(message, repeated, tag = "4")] + pub dkckjpbdcod: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmhojigmcnl { + #[prost(message, optional, tag = "7")] + pub hkhgjgjednn: ::core::option::Option, + #[xor(9847)] + #[prost(int32, tag = "2")] + pub hpoegnelcik: i32, + #[prost(message, optional, tag = "6")] + pub omogbfodlgg: ::core::option::Option, + #[xor(7363)] + #[prost(uint32, tag = "11")] + pub cbjjhcgpbmn: u32, + #[xor(11228)] + #[prost(uint32, tag = "3")] + pub hdeibfkcbif: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dcaidfchned { + #[prost(int32, tag = "1")] + pub njeniokdeac: i32, + #[prost(int32, tag = "2")] + pub level: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Camdibknjjf { + #[prost(message, optional, tag = "1")] + pub llbdhkdlebh: ::core::option::Option, + #[prost(enumeration = "Kjbchdkmgfk", tag = "2")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dchlokphmmm { + #[xor(4231)] + #[prost(uint32, tag = "5")] + pub template_id: u32, + #[prost(string, repeated, tag = "2")] + pub bpmgaeffigl: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(int32, repeated, tag = "12")] + pub anjjgbjikoc: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "11")] + pub oemoaianidj: bool, + #[prost(int32, repeated, tag = "13")] + pub delbgoehhop: ::prost::alloc::vec::Vec, + #[xor(1808)] + #[prost(int64, tag = "7")] + pub ghlccnkijod: i64, + #[xor(12616)] + #[prost(uint32, tag = "1")] + pub pgiomnpgicj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Domeaedomad { + #[prost(enumeration = "Epplgceemdm", tag = "1")] + pub cmmacbidlbc: i32, + #[prost(bool, tag = "2")] + pub bkeejibbbfj: bool, + #[prost(bool, tag = "3")] + pub adphdnnhlcg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imfkkpmdfok { + #[prost(message, repeated, tag = "9")] + pub klgkpghjblo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5568)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glnejojmfmo { + #[xor(11211)] + #[prost(int32, tag = "15")] + pub olfbdmnhdgm: i32, + #[prost(message, optional, tag = "2")] + pub nnhbdfldcbn: ::core::option::Option, + #[xor(12853)] + #[prost(int64, tag = "4")] + pub lcmphgcpdbd: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aabglmmcobd {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kblodlmpjjd { + #[prost(uint32, tag = "1")] + pub ggoeinmcnip: u32, + #[prost(uint32, tag = "2")] + pub cdklkjpfhhl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbyssInfo { + #[xor(365)] + #[prost(uint32, tag = "12")] + pub djmpcdbnamf: u32, + #[prost(uint32, repeated, tag = "13")] + pub pgakkbefnhe: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "436")] + pub geohmnkdmjc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1583")] + pub iohfadhhecp: ::prost::alloc::vec::Vec, + #[xor(13758)] + #[prost(uint32, tag = "3")] + pub lpkgbddmokl: u32, + #[xor(2295)] + #[prost(uint32, tag = "10")] + pub edlgemojkgd: u32, + #[xor(8591)] + #[prost(uint64, tag = "1")] + pub iompfopcppk: u64, + #[prost(uint32, repeated, tag = "8")] + pub looppkneafg: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub ollfapdmahi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "39")] + pub agbgbeindej: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "1683")] + pub jodlccohehl: bool, + #[prost(uint32, repeated, tag = "15")] + pub lpibldnfegm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub iomfijndkhp: bool, + #[prost(uint32, repeated, tag = "4")] + pub gmjdobfpnkp: ::prost::alloc::vec::Vec, + #[xor(13811)] + #[prost(uint32, tag = "7")] + pub fmfkedfihbj: u32, + #[prost(uint32, repeated, tag = "1675")] + pub kapfkobkaop: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub pfdhengnodo: bool, + #[xor(2753)] + #[prost(uint32, tag = "9")] + pub pmeagcelpga: u32, + #[xor(15083)] + #[prost(uint32, tag = "1697")] + pub joalmldmdnf: u32, + #[prost(message, repeated, tag = "11")] + pub hnggfmjljje: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhenafnpdpg { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(string, tag = "2")] + pub nick_name: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub hjcanegmain: u32, + #[prost(uint32, tag = "4")] + pub level: u32, + #[prost(string, tag = "5")] + pub elldlbindnj: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub mbjfkebfmbm: ::prost::alloc::string::String, + #[prost(uint32, tag = "7")] + pub dgpggnhjdai: u32, + #[prost(uint32, tag = "8")] + pub avatar_id: u32, + #[prost(bool, tag = "9")] + pub icllmfddjbp: bool, + #[prost(uint32, tag = "10")] + pub majnhdojplo: u32, + #[prost(uint32, tag = "11")] + pub mgfifdgbdej: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pllfjlciaka { + #[xor(13816)] + #[prost(uint32, tag = "7")] + pub mgekmfiolkf: u32, + #[xor(3374)] + #[prost(uint32, tag = "6")] + pub lkdbeecbglo: u32, + #[prost(bool, tag = "8")] + pub claghdagoid: bool, + #[xor(11643)] + #[prost(uint32, tag = "4")] + pub gigjifkekce: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnppcmlgdhn { + #[prost(map = "string, message", tag = "9")] + pub mdhfccpjbad: ::std::collections::HashMap< + ::prost::alloc::string::String, + Kdbgbfabakc, + >, + #[xor(8162)] + #[prost(int32, tag = "3")] + pub gncfdekgjof: i32, + #[prost(message, optional, tag = "7")] + pub ciphcjaompa: ::core::option::Option, + #[prost(message, repeated, tag = "10")] + pub oomgfpecjhf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9405)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cmlhjindegp { + #[xor(13174)] + #[prost(uint32, tag = "7")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iangcbneoib { + #[prost(uint32, tag = "1")] + pub aamgiifpmpo: u32, + #[prost(uint32, tag = "2")] + pub fmoiohacbff: u32, + #[prost(message, optional, tag = "3")] + pub ommlaecpghe: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncpdcjpnmcn { + #[prost(uint32, tag = "1")] + pub kgaamcllobh: u32, + #[prost(message, repeated, tag = "2")] + pub aoppojcdgge: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6768)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Doeepniikmm { + #[xor(6123)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5286)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Odpgeaamdab { + #[xor(12444)] + #[prost(uint32, tag = "10")] + pub quest_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9360)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nakpfcihkkj { + #[xor(12740)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdcjagnckeh { + #[prost(message, repeated, tag = "2")] + pub ohmojmcdiad: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Plkijdfnieh { + #[xor(13693)] + #[prost(uint32, tag = "15")] + pub kmmjjgagcch: u32, + #[xor(1252)] + #[prost(uint64, tag = "5")] + pub cmlmoiedncg: u64, + #[xor(14124)] + #[prost(uint64, tag = "9")] + pub gopihdlhogf: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkeajgfgeeo { + #[prost(enumeration = "PostEffectType", tag = "1")] + pub r#type: i32, + #[prost(string, tag = "2")] + pub dcpnffhjklk: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub flbkfpdokpd: ::core::option::Option, + #[prost(bool, tag = "4")] + pub mcagnmfppii: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1166)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bhllobhaobd { + #[xor(1536)] + #[prost(uint32, tag = "9")] + pub cdklkjpfhhl: u32, + #[xor(1315)] + #[prost(uint32, tag = "3")] + pub fcmajdepikp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4527)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ggecejkbaef { + #[prost(enumeration = "Feodihogjkb", tag = "8")] + pub paaaeeobgoa: i32, + #[xor(2241)] + #[prost(int32, tag = "5")] + pub fmkfjcmjjik: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Daihdeomcoc { + #[xor(2489)] + #[prost(int32, tag = "1")] + pub eadfmoeifod: i32, + #[xor(1775)] + #[prost(int32, tag = "6")] + pub gnanbaglmjp: i32, + #[xor(13740)] + #[prost(int32, tag = "15")] + pub elgapoghfle: i32, + #[prost(message, optional, tag = "12")] + pub ohpobncgnji: ::core::option::Option, + #[xor(11179)] + #[prost(uint32, tag = "13")] + pub quest_id: u32, + #[prost(message, optional, tag = "14")] + pub hhfngjoldcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Plnpfkbncaj { + #[xor(4804)] + #[prost(uint32, tag = "2")] + pub chdljlljglm: u32, + #[xor(2713)] + #[prost(uint32, tag = "15")] + pub liebfpdicjh: u32, + #[xor(13241)] + #[prost(uint32, tag = "6")] + pub kefanclhknl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjjhimhpock { + #[prost(enumeration = "Ppobfkigjgc", tag = "1")] + pub hpldfimmjjj: i32, + #[prost(enumeration = "Clhfpgmncdb", tag = "2")] + pub position: i32, + #[prost(message, optional, tag = "3")] + pub pohnmenbegi: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub llffkfoejgj: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub efpckpnefdc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2317)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetFriendListCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5693)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bomhcgnhhjm { + #[xor(8120)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anhibikpjdf { + #[prost(enumeration = "Ogepfnogkhm", tag = "1")] + pub r#type: i32, + #[prost(message, optional, tag = "2")] + pub fmkfjcmjjik: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5491)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bddpipnabjk { + #[xor(2971)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuestData { + #[prost(message, repeated, tag = "13")] + pub eglbmigladm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9073)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ipjkdgmolfm { + #[xor(3)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mkdogogoahl { + #[xor(4614)] + #[prost(uint32, tag = "2")] + pub eiophdkehdd: u32, + #[xor(2075)] + #[prost(uint32, tag = "3")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(310)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bpoagjjboli { + #[xor(12921)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4789)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Amenklabekg { + #[xor(8537)] + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ljipimmdbhi { + #[xor(12139)] + #[prost(uint32, tag = "12")] + pub lnncbibebkp: u32, + #[xor(15999)] + #[prost(uint64, tag = "7")] + pub mcpmobeikhc: u64, + #[xor(14714)] + #[prost(uint32, tag = "4")] + pub kfobnfboaoi: u32, + #[xor(3463)] + #[prost(uint64, tag = "9")] + pub ldgpffiabcf: u64, + #[xor(6766)] + #[prost(uint32, tag = "1")] + pub fhmfbnminhb: u32, + #[xor(9678)] + #[prost(uint32, tag = "5")] + pub hencfabchcj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhdjmjnijbm { + #[prost(uint32, tag = "1")] + pub mdhgabkhecm: u32, + #[prost(string, tag = "2")] + pub cekhnhfoelo: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub nblcbepfmcj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5940)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lnfippjhggk { + #[xor(6991)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Adminngadcf { + #[xor(529)] + #[prost(int32, tag = "12")] + pub eedkkdadncg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9014)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oanfakcpagg { + #[xor(1271)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3740)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hoekbjeofcm { + #[xor(2568)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "14")] + pub info: ::core::option::Option, + #[xor(3307)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "3")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Feckdiieifa {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gegjeehglfk {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oklcpcmeihh { + #[prost(message, optional, tag = "1")] + pub cdklkjpfhhl: ::core::option::Option, + #[prost(string, repeated, tag = "2")] + pub hmonbhmokge: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub amfmfagnhkg: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub kahfegnaikp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlpmdbpibgl { + #[prost(uint32, repeated, tag = "12")] + pub kebhgncibbd: ::prost::alloc::vec::Vec, + #[xor(9825)] + #[prost(uint32, tag = "14")] + pub pcepcnocclg: u32, + #[prost(message, repeated, tag = "4")] + pub fmdfodigpjb: ::prost::alloc::vec::Vec, + #[xor(2157)] + #[prost(int64, tag = "5")] + pub ekaidkcbfba: i64, + #[xor(13770)] + #[prost(uint32, tag = "15")] + pub kppfiiaojkf: u32, + #[xor(1834)] + #[prost(uint32, tag = "9")] + pub jdiflkoigoi: u32, + #[prost(message, repeated, tag = "8")] + pub cadapbfhflm: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub eckneecikcn: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub cjfdlimgjjc: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "1")] + pub cgmfpmknfal: bool, + #[xor(2537)] + #[prost(uint32, tag = "3")] + pub jeakigaeeek: u32, + #[prost(message, repeated, tag = "10")] + pub jocpnfclmfi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub obcbfhmcfpc: ::prost::alloc::vec::Vec, + #[xor(6182)] + #[prost(int32, tag = "11")] + pub gmmghpagfma: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5127)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Edlojgneoio { + #[prost(enumeration = "Ckaodddhmag", tag = "5")] + pub pjneiaehofa: i32, + #[xor(5434)] + #[prost(uint32, tag = "2")] + pub pkjdkdfcplh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlbkhcehnnk { + #[prost(message, optional, tag = "1")] + pub opghfklilnn: ::core::option::Option, + #[prost(bool, tag = "2")] + pub bhafnbmhaeg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kphmfmpnaom { + #[prost(message, repeated, tag = "7")] + pub jfpaoolmcdk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(126)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Biibklinnck { + #[prost(message, optional, tag = "9")] + pub info: ::core::option::Option, + #[xor(10584)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, + #[xor(6320)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mkebohkbdpe { + #[prost(enumeration = "Dhbbohmhfjn", tag = "1")] + pub r#type: i32, + #[prost(uint32, tag = "2")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idafpmflplj { + #[prost(message, optional, tag = "6")] + pub fmopdcmedpc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3120)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibpbpnbcfnf { + #[xor(8352)] + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(message, optional, tag = "4")] + pub kcbdhjoleai: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ffjbaonanlc { + #[prost(bool, tag = "6")] + pub epekkmbndao: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Blhpgmimbbg { + #[prost(uint32, tag = "1")] + pub cgbiiimlpda: u32, + #[prost(uint32, tag = "2")] + pub mnjbbdjmffi: u32, + #[prost(message, optional, tag = "3")] + pub fkpnhffdgfd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1752)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gdonmjhaaao {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfjamkkdlnf { + #[prost(message, optional, tag = "1")] + pub oohhibekggp: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9050)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hfiklkfagmj { + #[xor(15658)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agcdgfkldah { + #[prost(message, optional, tag = "1")] + pub efpckpnefdc: ::core::option::Option, + #[prost(string, tag = "2")] + pub nmpddgmjhfi: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub delbgoehhop: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dphigilfoba { + #[prost(int32, tag = "1")] + pub gnjlbnapgcb: i32, + #[prost(message, optional, tag = "2")] + pub hobnpobcban: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5551)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetActivityDataCsReq { + #[xor(6304)] + #[prost(int32, tag = "8")] + pub activity_type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hgbgaepnmim { + #[xor(15670)] + #[prost(int32, tag = "1")] + pub ohbgcbbhggg: i32, + #[xor(2575)] + #[prost(int32, tag = "3")] + pub dfecjkcdlfm: i32, + #[xor(2896)] + #[prost(int32, tag = "12")] + pub r#type: i32, + #[xor(1012)] + #[prost(int32, tag = "2")] + pub ieijjalmeeg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2379)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Clkgfjicbje { + #[xor(2447)] + #[prost(int32, tag = "12")] + pub retcode: i32, + #[xor(6837)] + #[prost(int32, tag = "10")] + pub kfobnfboaoi: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6902)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ifncchljgni { + #[xor(9003)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jllcfjdnkkn { + #[prost(enumeration = "Ocfgejdkdan", tag = "1")] + pub r#type: i32, + #[prost(int32, tag = "2")] + pub lkdbeecbglo: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adhfhbecgod { + #[prost(string, tag = "1")] + pub kjjajbbcjjp: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub cbeaadpoigb: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub gfigboedadl: ::prost::alloc::string::String, + #[prost(int64, repeated, tag = "4")] + pub eleofnegeac: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4013)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Necijkdhgna { + #[xor(11319)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Majdcpobjoi { + #[prost(bool, tag = "7")] + pub lehilccnaie: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djdjaacclib { + #[xor(9200)] + #[prost(uint32, tag = "5")] + pub oobpkgknamg: u32, + #[prost(message, repeated, tag = "9")] + pub bclejapmjkn: ::prost::alloc::vec::Vec, + #[xor(8185)] + #[prost(uint32, tag = "7")] + pub gmhacfgboao: u32, + #[prost(message, repeated, tag = "12")] + pub ghnokpfcakd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1")] + pub amnohomebnl: ::prost::alloc::vec::Vec, + #[xor(12427)] + #[prost(uint32, tag = "6")] + pub ckkkheoalae: u32, + #[prost(message, repeated, tag = "2")] + pub ffnlmogecdo: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub hdmdamikcfe: ::prost::alloc::vec::Vec, + #[xor(9802)] + #[prost(uint32, tag = "3")] + pub jhgaoacoipj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2215)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eaeojngggjc { + #[prost(string, tag = "9")] + pub name: ::prost::alloc::string::String, + #[xor(4260)] + #[prost(uint32, tag = "7")] + pub koelfcbhneo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1639)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ikacbfdhmbl { + #[xor(7479)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(bool, tag = "11")] + pub egohaboffli: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7961)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ojmgnfkikfa {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kgnmhbmkiom { + #[xor(4722)] + #[prost(uint32, tag = "3")] + pub ipdpnnnkndl: u32, + #[xor(35)] + #[prost(uint32, tag = "12")] + pub agimnbddlbh: u32, + #[xor(10050)] + #[prost(uint32, tag = "15")] + pub fefnfbhabim: u32, + #[xor(4638)] + #[prost(uint32, tag = "4")] + pub cjlmmcemecd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8006)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcigmdjlgng { + #[prost(uint32, repeated, tag = "7")] + pub ginghefjaki: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub adkdllimgbk: ::prost::alloc::vec::Vec, + #[xor(8530)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1316)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetRechargeItemListCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Licaodfmpgn { + #[prost(bool, tag = "1")] + pub dpfohmlmaoi: bool, + #[prost(bool, tag = "10")] + pub lnkdddpblkf: bool, + #[prost(uint32, repeated, tag = "13")] + pub mpnadhlgoad: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub ooanmplgeno: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cmcdofgempb { + #[prost(enumeration = "HollowShopType", tag = "1")] + pub kibjdojigki: i32, + #[prost(uint32, tag = "2")] + pub jdkifgmpnlo: u32, + #[prost(bool, tag = "3")] + pub ejkjejpkffi: bool, + #[prost(uint32, tag = "4")] + pub eahdeppnocm: u32, + #[prost(int32, tag = "5")] + pub bhpejfhpife: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9309)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hegmaocmael { + #[xor(12737)] + #[prost(uint32, tag = "15")] + pub tag: u32, + #[prost(string, tag = "12")] + pub nbhmladoiha: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bleebellhbc { + #[prost(message, repeated, tag = "1")] + pub ieploccockn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hfnminhbpbi { + #[prost(bool, tag = "1")] + pub jgoaknljoip: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6976)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdofkmbofaf { + #[xor(11598)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(bool, tag = "10")] + pub ngcjmgpllfg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mkpgpnnndha {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3486)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Knhbfcfimie { + #[xor(14836)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnedinnjmol { + #[prost(string, tag = "1")] + pub hkjfgkgfpao: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub onhmicmigan: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub pmgmgnnhhnk: ::core::option::Option, + #[prost(bool, tag = "4")] + pub jmdcihhhaoc: bool, + #[prost(enumeration = "Cdjffkonbjl", tag = "5")] + pub r#type: i32, + #[prost(message, optional, tag = "6")] + pub cofemokalfm: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub ogihdljgafi: ::core::option::Option, + #[prost(bool, tag = "8")] + pub ocnmccfikbd: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4390)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetServerTimestampCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njifieocafh { + #[prost(uint32, repeated, tag = "5")] + pub pfgmdldijbj: ::prost::alloc::vec::Vec, + #[xor(15044)] + #[prost(uint32, tag = "2")] + pub hbblddcnlhe: u32, + #[prost(bool, tag = "9")] + pub faffdaijfgj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(715)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Johjhjgmnjl { + #[xor(8720)] + #[prost(uint32, tag = "1")] + pub efpckpnefdc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kfghkoldjfp { + #[prost(uint32, tag = "1")] + pub cgejajdihcg: u32, + #[prost(uint32, tag = "2")] + pub hlofjkidbmd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(494)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Neoiaaclegf { + #[prost(uint32, repeated, tag = "11")] + pub ebehimlpdkc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lihpdeldgnc { + #[prost(message, optional, tag = "1")] + pub aapbacnflhg: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hjdloaehcoa: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1444)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Idldaepfmki { + #[xor(15080)] + #[prost(uint32, tag = "3")] + pub dimdlbpkbaj: u32, + #[prost(bool, tag = "14")] + pub eppefdfnobh: bool, + #[xor(7689)] + #[prost(uint32, tag = "13")] + pub efpckpnefdc: u32, + #[xor(11087)] + #[prost(uint32, tag = "7")] + pub group: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1515)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bigkgbodcik { + #[xor(290)] + #[prost(int32, tag = "10")] + pub fhmjplajjla: i32, + #[prost(message, repeated, tag = "14")] + pub ieploccockn: ::prost::alloc::vec::Vec, + #[xor(12821)] + #[prost(int64, tag = "7")] + pub bedkheljdlh: i64, + #[xor(700)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7137)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bfkbbadfkgp { + #[xor(7489)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lnkmhdobanj { + #[prost(map = "int32, int32", tag = "15")] + pub enaajknppdi: ::std::collections::HashMap, + #[xor(13927)] + #[prost(int32, tag = "12")] + pub jjppjdcbemo: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1746)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nngbpokdiod { + #[prost(uint32, repeated, tag = "3")] + pub bfgenanklmg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgmjjkjbdga { + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + #[prost(int32, tag = "2")] + pub pokbhknkmbm: i32, + #[prost(int32, tag = "3")] + pub iddhoklnpib: i32, + #[prost(bool, tag = "4")] + pub mgajmhoeboc: bool, + #[prost(int32, tag = "5")] + pub ikfdecmbbdj: i32, + #[prost(int32, tag = "6")] + pub igmgikpcili: i32, + #[prost(uint32, tag = "7")] + pub mimehaaemhg: u32, + #[prost(uint64, tag = "8")] + pub aldbmeomoni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1396)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mgijhnfklpm { + #[xor(13224)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gbemnfmllnb { + #[xor(13512)] + #[prost(uint32, tag = "8")] + pub efpckpnefdc: u32, + #[xor(2865)] + #[prost(uint32, tag = "7")] + pub agimnbddlbh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Glcoffedhbe {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8310)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Egdhcccmdkc { + #[xor(12577)] + #[prost(uint64, tag = "14")] + pub gglnpjfcibj: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8335)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bdjdmakjnjd { + #[xor(5325)] + #[prost(int32, tag = "8")] + pub retcode: i32, + #[xor(10486)] + #[prost(uint32, tag = "10")] + pub iahpcojelin: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ooelnnijahl { + #[prost(bytes = "vec", tag = "10")] + pub eegjfjmnncp: ::prost::alloc::vec::Vec, + #[xor(10186)] + #[prost(uint32, tag = "4")] + pub iknhaoggmjb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjgnjaogfen { + #[xor(14834)] + #[prost(int32, tag = "1")] + pub akhbfinhnjd: i32, + #[xor(5581)] + #[prost(int64, tag = "15")] + pub fojllbnjjhk: i64, + #[prost(enumeration = "Bppokkjkajf", tag = "13")] + pub cmchlblgohf: i32, + #[xor(13009)] + #[prost(int64, tag = "14")] + pub mjhdpjdadfi: i64, + #[prost(enumeration = "Neaglmokbip", tag = "9")] + pub keghlgpihih: i32, + #[xor(14442)] + #[prost(uint32, tag = "5")] + pub pclamamdkik: u32, + #[xor(5714)] + #[prost(uint32, tag = "8")] + pub ianhccpdolj: u32, + #[xor(6895)] + #[prost(uint32, tag = "6")] + pub jhooejigljp: u32, + #[xor(14492)] + #[prost(uint32, tag = "3")] + pub quest_id: u32, + #[prost(message, optional, tag = "4")] + pub faboekkohcf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UnlockInfo { + #[prost(message, repeated, tag = "4")] + pub dlkfddbjeon: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "11")] + pub edjdmphbabo: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "15")] + pub unlock_id_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Knflimnagkn { + #[prost(bool, tag = "3")] + pub gmpfbanibdm: bool, + #[xor(10651)] + #[prost(uint32, tag = "14")] + pub oifhkgahelf: u32, + #[xor(16083)] + #[prost(uint32, tag = "9")] + pub mlcpadgnnaa: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(747)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blggkhhbgkj { + #[prost(message, optional, tag = "2")] + pub gnkebpblhga: ::core::option::Option, + #[prost(enumeration = "Nhpdopglcim", tag = "5")] + pub pedfbhjbkpc: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjnnncelfip { + #[xor(605)] + #[prost(uint32, tag = "9")] + pub bhbfkmpaakh: u32, + #[prost(message, optional, tag = "13")] + pub gidapkddnkg: ::core::option::Option, + #[xor(13250)] + #[prost(uint32, tag = "1")] + pub kmmjjgagcch: u32, + #[xor(351)] + #[prost(uint32, tag = "4")] + pub kjongknfkee: u32, + #[xor(12218)] + #[prost(uint32, tag = "14")] + pub lcaidhpecok: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3244)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Liokbhccigc { + #[xor(9213)] + #[prost(int32, tag = "2")] + pub knffoiffljd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olfljimpfgk { + #[prost(bool, tag = "1")] + pub ibembdjogbj: bool, + #[prost(message, repeated, tag = "2")] + pub homnpjfjhdo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub oeejldgjkoi: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub odldljfooem: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub pdfobfmolml: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub hkhkgiokcid: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjgcjbbmhmi { + #[prost(message, optional, tag = "1")] + pub aaocolehhnj: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub jkaleilepmg: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub klinjndogfk: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub mbdlfhjnldd: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub pibeppnmgna: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub fedmhobabme: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub nfommndpcdi: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub glhoamilhec: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub dnnikkdckoi: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub kapninmkocn: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub bmpfjnlegno: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub nlefpammnkp: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub fdhadnbnllc: ::core::option::Option, + #[prost(message, optional, tag = "516")] + pub cpebgnkpgol: ::core::option::Option, + #[prost(message, optional, tag = "1247")] + pub apahcmnpmkp: ::core::option::Option, + #[prost(message, optional, tag = "1984")] + pub mbfappnjefi: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(82)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibkcpalfmgk { + #[xor(6826)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, + #[xor(8452)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "6")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "15")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7831)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bffhcoaphjm {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6877)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bpgkhhdhgeo {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Klmbnhffkdl { + #[xor(8307)] + #[prost(uint32, tag = "15")] + pub fefnfbhabim: u32, + #[xor(5624)] + #[prost(uint32, tag = "1")] + pub cjlmmcemecd: u32, + #[xor(15524)] + #[prost(uint32, tag = "7")] + pub kcakanppokj: u32, + #[xor(16032)] + #[prost(uint32, tag = "11")] + pub ipdpnnnkndl: u32, + #[xor(3857)] + #[prost(uint32, tag = "4")] + pub jfdfboilfek: u32, + #[xor(5076)] + #[prost(uint32, tag = "13")] + pub agimnbddlbh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4482)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eilkmjdgkng { + #[xor(498)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7083)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fnofkgioifc { + #[xor(8421)] + #[prost(int32, tag = "7")] + pub retcode: i32, + #[xor(10457)] + #[prost(uint32, tag = "6")] + pub aeicekmldco: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7148)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nffhmaahejb { + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, + #[xor(1336)] + #[prost(uint64, tag = "10")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "13")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(2967)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgbdebaagpi { + #[prost(uint32, repeated, tag = "6")] + pub chfkmepbpmi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub mcpdjikhchi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub jacmcjchjhh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub baacakbmbko: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub djhongokhcj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub encecahdjjp: ::prost::alloc::vec::Vec, + #[xor(12382)] + #[prost(uint32, tag = "3")] + pub bclnjeandcm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nhmanflakck { + #[xor(11341)] + #[prost(int32, tag = "4")] + pub injbfbhpkjb: i32, + #[xor(10963)] + #[prost(int32, tag = "5")] + pub fjckpdofhjf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khcojalcchi { + #[prost(message, optional, tag = "1")] + pub eeplbkfndmc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mlfimijahpi { + #[xor(11363)] + #[prost(int32, tag = "4")] + pub ahdbalhodda: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcfkbclodob { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub fkkbflokodb: i32, + #[prost(message, optional, tag = "2")] + pub bddlconiggl: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub opgkkfolfkn: ::core::option::Option, + #[prost(enumeration = "Dekghfophnj", tag = "4")] + pub gojjfbjajbi: i32, + #[prost(message, optional, tag = "5")] + pub mepcefhljkp: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "6")] + pub omjjondpodp: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjhliciffkp { + #[prost(uint32, tag = "1")] + pub pjmmgfeignk: u32, + #[prost(uint32, repeated, tag = "2")] + pub ohjolpklbmp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub gkahnnafkbb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8692)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Clebieadgni { + #[xor(10811)] + #[prost(uint32, tag = "10")] + pub fiieiehipik: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Angmbahaknj { + #[prost(uint32, tag = "1")] + pub lpnkdjhhphn: u32, + #[prost(uint32, tag = "2")] + pub ahocgnkkngp: u32, + #[prost(string, tag = "3")] + pub amijnnpcpkl: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fbcehadpomp { + #[xor(7824)] + #[prost(uint32, tag = "12")] + pub skill_type: u32, + #[xor(15926)] + #[prost(uint32, tag = "5")] + pub level: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2003)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djjckeadodi { + #[prost(string, tag = "6")] + pub jholagfihbm: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afoeiecjknh { + #[prost(message, optional, tag = "1")] + pub jikgnoliede: ::core::option::Option, + #[prost(enumeration = "HollowEntityType", repeated, tag = "2")] + pub lfdogcepcda: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub meadeimhgem: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub npblldamimn: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub opalhlkfpmb: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub ginbleohejl: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub cgliabbgigf: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub jjpfaochdoj: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub apmgkdkmjmo: ::core::option::Option, + #[prost(enumeration = "HollowEntityType", repeated, tag = "10")] + pub ldjbokalijc: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub ieehkckfgia: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub ljkphaonake: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub genbjlijdci: ::core::option::Option, + #[prost(enumeration = "Pcekojidped", tag = "14")] + pub ekbfgknccph: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(869)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pgibhcageop { + #[xor(3962)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdnfnmmhpcj { + #[prost(uint32, tag = "1")] + pub kmmjjgagcch: u32, + #[prost(uint32, tag = "2")] + pub lcaidhpecok: u32, + #[prost(uint32, tag = "3")] + pub fihineehlii: u32, + #[prost(uint32, tag = "4")] + pub eedkkdadncg: u32, + #[prost(uint32, tag = "5")] + pub kfiofoncjik: u32, + #[prost(enumeration = "Jdbnfhbobih", tag = "6")] + pub hfgdjcfhokn: i32, + #[prost(message, optional, tag = "7")] + pub lbgmecpfodf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghdafghffcb { + #[prost(message, optional, tag = "1")] + pub mnfmgkhblkh: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub egldkangknl: ::core::option::Option, + #[prost(string, tag = "3")] + pub odmbgkpgldc: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "4")] + pub afgpbaplndc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgapbojhihe { + #[prost(uint32, tag = "1")] + pub dmicgckopoc: u32, + #[prost(string, tag = "2")] + pub epkkccjdmci: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9021)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hahplfdemff { + #[xor(2128)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "6")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "15")] + pub info: ::core::option::Option, + #[xor(5800)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aggihnapjko { + #[prost(message, optional, tag = "5")] + pub koelfcbhneo: ::core::option::Option, + #[prost(string, tag = "6")] + pub avatar_id: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub hfgdjcfhokn: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub fedpfjjcabm: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub aabopljgbek: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ajhiobbdeih { + #[xor(9360)] + #[prost(int32, tag = "1")] + pub pcepcnocclg: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(461)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fhpcolkekem { + #[xor(9322)] + #[prost(uint32, tag = "14")] + pub moaeafhpdko: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enokageonpa { + #[prost(map = "uint32, int32", tag = "7")] + pub ppojklgfgic: ::std::collections::HashMap, + #[prost(float, tag = "12")] + pub hijpbhlngnc: f32, + #[prost(map = "uint32, int32", tag = "10")] + pub opioepifkcj: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "15")] + pub ahkehahapgh: ::std::collections::HashMap, + #[prost(map = "uint32, int32", tag = "1")] + pub pgcpoilgkgf: ::std::collections::HashMap, + #[prost(map = "uint32, int32", tag = "13")] + pub mmcoofnjdck: ::std::collections::HashMap, + #[xor(5583)] + #[prost(int32, tag = "5")] + pub lfbocfjhbib: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(309)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcddalmmljp { + #[xor(5783)] + #[prost(uint32, tag = "5")] + pub jeakigaeeek: u32, + #[prost(int32, repeated, tag = "1")] + pub ndcafdlnabc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmljmhnajcm { + #[prost(message, optional, tag = "2")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub lgcdjcdbmml: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Jpnihhbgepd", tag = "4")] + pub odnpbhepnoa: i32, + #[prost(message, repeated, tag = "5")] + pub phfmldbanbl: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub njgfhhihdgg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1853)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Benapghbagd {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aiphefammob { + #[prost(bool, tag = "1")] + pub gkmdgocecnc: bool, + #[prost(bool, tag = "2")] + pub nldbieegndm: bool, + #[prost(message, repeated, tag = "4")] + pub hledbngkcdl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aileeaffgdg { + #[xor(14549)] + #[prost(int32, tag = "13")] + pub ojilljolaae: i32, + #[xor(7977)] + #[prost(uint32, tag = "15")] + pub nhdbpkjfdoc: u32, + #[xor(10450)] + #[prost(int32, tag = "2")] + pub bihfeieijai: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6466)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffodgllomhn { + /// VMP DETECTED + /// + #[xor(10152)] + #[prost(uint32, tag = "4")] + pub buddy_id: u32, + #[xor(318)] + #[prost(uint32, tag = "8")] + pub quest_id: u32, + #[prost(uint32, repeated, tag = "9")] + pub foacgpjpgph: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub mmbkjcekdkd: bool, + #[prost(uint32, repeated, tag = "12")] + pub avatars: ::prost::alloc::vec::Vec, + #[xor(8769)] + #[prost(uint32, tag = "13")] + pub dneffhlemfg: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(930)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kajpkpflnjl { + #[prost(message, optional, tag = "15")] + pub pahieeaolfm: ::core::option::Option, + #[xor(15029)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obcaonpoiah { + #[prost(enumeration = "Clhfpgmncdb", tag = "1")] + pub lppfcpnndcd: i32, + #[prost(message, optional, tag = "2")] + pub pohnmenbegi: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub llffkfoejgj: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub lcjdkmhnjbp: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "7")] + pub mofbgdcckcm: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "8")] + pub ifjndejgplp: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "9")] + pub ckkgjgpcafp: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "10")] + pub oagieheahja: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Pifnkldafnk", tag = "11")] + pub lbebfpjliob: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eamccfpbddp { + #[xor(15727)] + #[prost(int32, tag = "14")] + pub ohdgppamjcp: i32, + #[prost(message, optional, tag = "2")] + pub inmepgighgi: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clpnmkloela { + #[prost(uint32, tag = "1")] + pub femppbingka: u32, + #[prost(map = "uint32, int32", tag = "2")] + pub adlhdokemlg: ::std::collections::HashMap, + #[prost(uint32, tag = "3")] + pub rank: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecgfllhcpab { + #[prost(string, repeated, tag = "5")] + pub hjichikpoki: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, tag = "13")] + pub njjdhepkbkh: ::prost::alloc::string::String, + #[xor(13462)] + #[prost(int32, tag = "1")] + pub cbdjgmblind: i32, + #[prost(message, optional, tag = "1225")] + pub ihpmlpecbae: ::core::option::Option, + #[prost(string, tag = "2")] + pub hfgdjcfhokn: ::prost::alloc::string::String, + #[prost(message, optional, tag = "1472")] + pub dnjjggjfenk: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub kbnjjnkohek: ::core::option::Option, + #[xor(5812)] + #[prost(uint32, tag = "9")] + pub febglbabbnn: u32, + #[xor(4345)] + #[prost(int32, tag = "8")] + pub emboajldipc: i32, + #[xor(887)] + #[prost(int32, tag = "1752")] + pub ghjlpmnimjm: i32, + #[xor(5125)] + #[prost(uint32, tag = "3")] + pub template_id: u32, + #[xor(3917)] + #[prost(uint32, tag = "10")] + pub bgepbofgadk: u32, + #[prost(bool, tag = "15")] + pub gdcjohnijaj: bool, + #[xor(9246)] + #[prost(uint32, tag = "4")] + pub uid: u32, + #[xor(4730)] + #[prost(int32, tag = "229")] + pub ofcijhbebmp: i32, + #[xor(4769)] + #[prost(int32, tag = "12")] + pub ofgfdeipfaj: i32, + #[prost(message, optional, tag = "1973")] + pub bjgkhpdbkbl: ::core::option::Option, + #[prost(enumeration = "Konhdgokibf", tag = "14")] + pub epekkmbndao: i32, + #[xor(8067)] + #[prost(int32, tag = "6")] + pub npoikehikdi: i32, + #[xor(5442)] + #[prost(int32, tag = "47")] + pub hkcnmkadonp: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2097)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Banobhndbja { + #[xor(1472)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1952)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfecgaedbok { + #[prost(message, repeated, tag = "5")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(7956)] + #[prost(uint64, tag = "8")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "9")] + pub info: ::core::option::Option, + #[xor(9365)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2104)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjidkmmpeak { + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(816)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, + #[xor(7127)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "6")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gniikfigckh { + #[prost(int32, repeated, tag = "1")] + pub bjhnefldfkk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3074)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kcdpfnnbmfb { + #[xor(3991)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[xor(7977)] + #[prost(int32, tag = "12")] + pub bbhmndmhhlk: i32, + #[xor(6224)] + #[prost(uint64, tag = "15")] + pub gglnpjfcibj: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Eieojdogeib {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8251)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imiobffhnen { + #[xor(7205)] + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(message, repeated, tag = "13")] + pub ncbahpoldbo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jefnpiejamb { + #[xor(15793)] + #[prost(uint32, tag = "1")] + pub pfomhmfnibd: u32, + #[prost(enumeration = "Epplgceemdm", repeated, tag = "14")] + pub ddmdoddfial: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub echgfbnmljb: ::prost::alloc::vec::Vec, + #[xor(16167)] + #[prost(uint32, tag = "2")] + pub napkdnidlck: u32, + #[prost(enumeration = "Epplgceemdm", repeated, tag = "9")] + pub cfpbphjjjbf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jclljpgoeom {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9097)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pokdchkmjoc { + #[xor(6948)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, repeated, tag = "3")] + pub adkhllnnhap: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub ihdmdcajggj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdeenabmcfk { + #[xor(4804)] + #[prost(uint32, tag = "4")] + pub fneiplpghnd: u32, + #[prost(map = "uint32, uint32", tag = "3")] + pub bpfpijnmlcp: ::std::collections::HashMap, + #[xor(6355)] + #[prost(uint32, tag = "5")] + pub egckaglnjfm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nlbccpaonal {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jpeciikpcif {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6701)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ejfilkcmojb { + #[prost(message, optional, tag = "13")] + pub lhbejkbkbfh: ::core::option::Option, + #[xor(15135)] + #[prost(uint64, tag = "14")] + pub aldbmeomoni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2989)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetRewardBuffDataScRsp { + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, + #[xor(4196)] + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnhcccdefkl { + #[prost(message, optional, tag = "7")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cigkbjgcdee {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActionSwitchSection { + #[prost(uint32, tag = "1")] + pub section: u32, + #[prost(string, tag = "2")] + pub transform_id: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub camera_x: u32, + #[prost(uint32, tag = "4")] + pub camera_y: u32, + #[prost(uint32, tag = "5")] + pub kedlgoakhld: u32, + #[prost(bool, tag = "6")] + pub gfhegijnplf: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4242)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccgpeboebjk { + #[xor(3039)] + #[prost(uint64, tag = "11")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "4")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(15775)] + #[prost(uint64, tag = "7")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "15")] + pub info: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8189)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcddjkboihm { + #[prost(message, optional, tag = "9")] + pub info: ::core::option::Option, + #[xor(1268)] + #[prost(uint64, tag = "12")] + pub fdfjcoccaoa: u64, + #[xor(4286)] + #[prost(uint64, tag = "14")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "5")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nmhogibegcp { + #[xor(3018)] + #[prost(int32, tag = "11")] + pub fbocogogkhd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MainCityRevivalData { + #[prost(message, repeated, tag = "3")] + pub iodcapodddo: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub ekoppfcdbfi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Acpmglibaag { + #[xor(1958)] + #[prost(uint32, tag = "12")] + pub cjlmmcemecd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcmmkdieanf { + #[prost(enumeration = "HollowEntityType", tag = "1")] + pub fkkbflokodb: i32, + #[prost(uint32, tag = "2")] + pub bddlconiggl: u32, + #[prost(string, tag = "3")] + pub hakiigcgkjf: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ljojaddalgo { + #[xor(5670)] + #[prost(int64, tag = "3")] + pub digblcoafeb: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bfeogagkgbp { + #[xor(11307)] + #[prost(uint32, tag = "8")] + pub plapbmdekpp: u32, + #[xor(6563)] + #[prost(uint32, tag = "12")] + pub mlcpadgnnaa: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bcaebipjfag { + #[xor(3630)] + #[prost(uint32, tag = "9")] + pub section_id: u32, + #[xor(2651)] + #[prost(uint32, tag = "13")] + pub bpcdfdnkkoc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8607)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Alnholjmehp { + #[xor(5820)] + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjipdlpapec { + #[xor(6814)] + #[prost(uint32, tag = "9")] + pub template_id: u32, + #[xor(11078)] + #[prost(uint32, tag = "12")] + pub aalfnnmbodk: u32, + #[xor(6981)] + #[prost(uint32, tag = "7")] + pub hfgdjcfhokn: u32, + #[prost(map = "uint32, uint32", tag = "5")] + pub ohkfncepmam: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Foidhcndpog { + #[prost(message, optional, tag = "1")] + pub pohnmenbegi: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub llffkfoejgj: ::core::option::Option, + #[prost(enumeration = "Clhfpgmncdb", tag = "3")] + pub position: i32, + #[prost(message, optional, tag = "4")] + pub lcjdkmhnjbp: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(int32, repeated, tag = "6")] + pub r#type: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Hhfhcilfaoa", tag = "7")] + pub podefpclepd: i32, + #[prost(message, optional, tag = "8")] + pub cpihhgfelkn: ::core::option::Option, + #[prost(int32, repeated, tag = "9")] + pub jkipapmgbia: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "10")] + pub nfaeohbkodo: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "11")] + pub hkpefaioabf: bool, + #[prost(message, repeated, tag = "12")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, + #[prost(string, tag = "13")] + pub hoplpghhdnk: ::prost::alloc::string::String, + #[prost(int32, repeated, tag = "14")] + pub kbeekngelnj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4879)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lbpeomjfmng { + #[xor(10878)] + #[prost(uint32, tag = "13")] + pub level: u32, + #[xor(5401)] + #[prost(uint32, tag = "8")] + pub mlcpadgnnaa: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dbfbnamdkgn {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3832)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dajmlnpbgao { + #[xor(2147)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9755)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ijnkgmcmdak { + #[xor(478)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Igjijhjpoln { + #[xor(1156)] + #[prost(uint32, tag = "7")] + pub bclnjeandcm: u32, + #[prost(message, repeated, tag = "11")] + pub mabpfnichnk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub bhnhgfpjili: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbbfnckdnoj { + #[prost(map = "uint32, uint32", tag = "3")] + pub hbbialfokig: ::std::collections::HashMap, + #[xor(7327)] + #[prost(uint32, tag = "11")] + pub fiieiehipik: u32, + #[xor(9768)] + #[prost(uint32, tag = "7")] + pub kkcicfccmpg: u32, + #[xor(6482)] + #[prost(uint32, tag = "10")] + pub ghlimbjgkfk: u32, + #[prost(bool, tag = "2")] + pub lock: bool, + #[xor(12522)] + #[prost(uint32, tag = "12")] + pub uid: u32, + #[xor(6873)] + #[prost(uint32, tag = "8")] + pub count: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjccneabkca { + #[prost(uint32, repeated, tag = "15")] + pub bcippkpceho: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8780)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olliokdiobd { + #[prost(message, optional, tag = "12")] + pub info: ::core::option::Option, + #[xor(5047)] + #[prost(uint64, tag = "3")] + pub fkcdkdiacni: u64, + #[xor(5612)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dppiddnaefl { + #[prost(uint32, tag = "1")] + pub eiopeekccca: u32, + #[prost(uint32, tag = "2")] + pub jhooejigljp: u32, + #[prost(uint32, tag = "3")] + pub ahdbalhodda: u32, + #[prost(message, optional, tag = "4")] + pub position: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub rotation: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub bbmnhkpfpmj: ::prost::alloc::vec::Vec, + #[prost(oneof = "dppiddnaefl::Dnjjggjfenk", tags = "7, 8, 9, 10")] + pub dnjjggjfenk: ::core::option::Option, +} +/// Nested message and enum types in `DPPIDDNAEFL`. +pub mod dppiddnaefl { + #[derive(yanagi_proto_derive::CmdID)] + #[derive(yanagi_proto_derive::XorFields)] + #[derive(Clone, Copy, PartialEq, ::prost::Oneof)] + pub enum Dnjjggjfenk { + #[prost(message, tag = "7")] + Avatar(super::Jpafandladd), + #[prost(message, tag = "8")] + Monster(super::Cmekfjohaik), + #[prost(message, tag = "9")] + Gadget(super::Ebildkdeppm), + #[prost(message, tag = "10")] + Npc(super::Jlfieljlmbp), + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9018)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jelhphlahkd { + #[xor(8021)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[xor(613)] + #[prost(uint32, tag = "15")] + pub nogjeniecic: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9465)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcgfdimokmi { + #[prost(message, optional, tag = "12")] + pub gabkgfljamn: ::core::option::Option, + #[xor(6995)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdbhkadfckn { + #[prost(uint32, repeated, tag = "3")] + pub ogdeddicjfd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1")] + pub omoimbdappo: ::prost::alloc::vec::Vec, + #[xor(4730)] + #[prost(uint32, tag = "11")] + pub jplonhlffod: u32, + #[prost(bool, tag = "15")] + pub ammfhncgbkp: bool, + #[prost(message, repeated, tag = "2")] + pub ojadpiaphpe: ::prost::alloc::vec::Vec, + #[xor(5019)] + #[prost(uint32, tag = "12")] + pub quest_id: u32, + #[xor(8800)] + #[prost(uint32, tag = "13")] + pub icoehgohboi: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2574)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbgjkebplgh { + #[prost(message, optional, tag = "14")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(12054)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[xor(2334)] + #[prost(uint64, tag = "15")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gdmgilfoofm { + #[prost(bool, tag = "1")] + pub gojfhhcddlj: bool, + #[prost(uint32, tag = "2")] + pub rank: u32, + #[prost(uint32, tag = "3")] + pub eedkkdadncg: u32, + #[prost(uint32, tag = "4")] + pub fnidibidnnc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kiedcdfggno { + #[xor(6906)] + #[prost(uint32, tag = "8")] + pub mlcpadgnnaa: u32, + #[prost(uint32, repeated, tag = "2")] + pub kfhociapgmi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afkmfplfhkl { + #[prost(uint32, repeated, tag = "10")] + pub clbbogbgcjd: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "13")] + pub aenldajfjji: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "14")] + pub fjklgodkfba: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnhlfamcean { + #[prost(message, optional, tag = "1")] + pub opllilckkkp: ::core::option::Option, + #[prost(int32, tag = "2")] + pub pedfbhjbkpc: i32, + #[prost(message, optional, tag = "3")] + pub idkfmchphpb: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6390)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bfnedkofjip { + #[xor(11238)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7227)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneTransitionCsReq { + #[prost(message, optional, tag = "10")] + pub position: ::core::option::Option, + #[xor(10610)] + #[prost(uint32, tag = "5")] + pub section_id: u32, + #[xor(14882)] + #[prost(uint32, tag = "12")] + pub doidboabofj: u32, + #[prost(string, tag = "7")] + pub gjmpnjbgpln: ::prost::alloc::string::String, + #[prost(message, optional, tag = "14")] + pub ffhglkfmhni: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1026)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Enakcejlkbm { + #[xor(9438)] + #[prost(int32, tag = "9")] + pub agimnbddlbh: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9396)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mojgipiobac { + #[prost(bool, tag = "11")] + pub goilaoppijh: bool, + #[xor(5728)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iplkbcllkpc { + #[xor(10868)] + #[prost(int64, tag = "14")] + pub hccjckmjabc: i64, + #[prost(bool, tag = "11")] + pub jiggmlemhce: bool, + #[prost(bool, tag = "4")] + pub chccfngplio: bool, + #[prost(bool, tag = "9")] + pub jcddahefnji: bool, + #[xor(15747)] + #[prost(int64, tag = "6")] + pub llkkkcfijjf: i64, + #[xor(8599)] + #[prost(uint32, tag = "1")] + pub dckmpnogmmj: u32, + #[prost(bool, tag = "8")] + pub eegnodgiajk: bool, + #[xor(2397)] + #[prost(uint32, tag = "5")] + pub aldbmeomoni: u32, + #[prost(bool, tag = "15")] + pub hadempkggdd: bool, + #[xor(1410)] + #[prost(uint32, tag = "3")] + pub moganmhhmob: u32, + #[xor(1537)] + #[prost(uint32, tag = "2")] + pub avatar_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgengehlmgh { + #[prost(map = "int32, int32", tag = "1")] + pub gednjdiinhb: ::std::collections::HashMap, + #[prost(message, optional, tag = "15")] + pub jbenbildbjp: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub kcoiibphckp: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub pecemppjaej: ::core::option::Option, + #[xor(10786)] + #[prost(int32, tag = "4")] + pub eamfclhddhp: i32, + #[xor(10828)] + #[prost(int32, tag = "11")] + pub pjiaapjbeko: i32, + #[xor(3386)] + #[prost(int32, tag = "12")] + pub lgpjiihhapk: i32, + #[prost(message, optional, tag = "5")] + pub kegbgpeghcg: ::core::option::Option, + #[xor(8103)] + #[prost(int32, tag = "13")] + pub enolnedkndn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6830)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmpncfaaocd { + #[prost(message, repeated, tag = "3")] + pub lcipdallclh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2673)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Moimhfdhlbd { + #[prost(message, optional, tag = "9")] + pub bmdcgmcnajb: ::core::option::Option, + #[xor(3670)] + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhgjcappepl { + #[prost(bool, tag = "1")] + pub fdbpafaaoan: bool, + #[prost(uint32, repeated, tag = "2")] + pub ebcdbcbneih: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub geeppnlmpgj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5424)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct ModTimeCsReq { + #[xor(10138)] + #[prost(uint32, tag = "9")] + pub time_period: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jafaonkmbel { + #[prost(enumeration = "PostEffectType", tag = "1")] + pub r#type: i32, + #[prost(string, tag = "2")] + pub dcpnffhjklk: ::prost::alloc::string::String, + #[prost(int32, tag = "3")] + pub flbkfpdokpd: i32, + #[prost(bool, tag = "4")] + pub mcagnmfppii: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4403)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lejbdmcfpnc { + #[xor(5074)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(message, optional, tag = "4")] + pub kldflkejhko: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9901)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncgenlhaepb { + #[prost(message, repeated, tag = "2")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(9000)] + #[prost(uint64, tag = "5")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "10")] + pub info: ::core::option::Option, + #[xor(1265)] + #[prost(uint64, tag = "1")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4191)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gfkaeelkfbf { + #[xor(13949)] + #[prost(uint32, tag = "12")] + pub jodadfonlob: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1325)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bmdlcemddia { + #[xor(6509)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cadchcngoli { + #[prost(message, optional, tag = "3")] + pub hdcbclhmnad: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub nbemliennej: ::core::option::Option, + #[xor(4159)] + #[prost(uint32, tag = "1")] + pub emkbdkpeceh: u32, + #[prost(message, optional, tag = "5")] + pub babajfidapk: ::core::option::Option, + #[xor(4456)] + #[prost(uint64, tag = "7")] + pub lhbejkbkbfh: u64, + #[prost(message, optional, tag = "4")] + pub fjocidcdabb: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mopogkpmppf { + #[prost(enumeration = "Jpnihhbgepd", tag = "1")] + pub odnpbhepnoa: i32, + #[prost(enumeration = "Dhbbohmhfjn", tag = "2")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcehnnmhafn { + #[prost(message, repeated, tag = "8")] + pub nkmelimaeda: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4101)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oifebhgbmed { + #[xor(183)] + #[prost(uint32, tag = "15")] + pub avatar_id: u32, + #[prost(bool, tag = "13")] + pub pbehkahplpc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipccnhnohjl { + #[prost(message, repeated, tag = "1")] + pub mhenpogcgca: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dnlpidhcagj { + #[prost(uint32, tag = "1")] + pub lidgkemmpho: u32, + #[prost(bool, tag = "2")] + pub aiggcamffme: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nngpnjmakdk { + #[xor(16209)] + #[prost(uint32, tag = "3")] + pub jhgcgljfhid: u32, + #[xor(13102)] + #[prost(uint32, tag = "9")] + pub anglpohejlo: u32, + #[xor(14934)] + #[prost(uint32, tag = "5")] + pub clgdocgoggb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oaljmidnphm { + #[prost(message, optional, tag = "1")] + pub chlhlmpdjif: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4435)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flependlgof { + #[xor(4873)] + #[prost(uint64, tag = "3")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "4")] + pub info: ::core::option::Option, + #[xor(12985)] + #[prost(uint64, tag = "9")] + pub fkcdkdiacni: u64, + #[prost(message, repeated, tag = "2")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9294)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahoknalikkj { + #[xor(3156)] + #[prost(uint32, tag = "6")] + pub mpnagboofcc: u32, + #[prost(uint32, repeated, tag = "8")] + pub mcfgpekclai: ::prost::alloc::vec::Vec, + #[xor(11388)] + #[prost(uint32, tag = "12")] + pub gnepdjeldfb: u32, + #[xor(5688)] + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(bool, tag = "9")] + pub dkkpoknmjgi: bool, + #[xor(14328)] + #[prost(uint32, tag = "15")] + pub ggejapflaom: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(867)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bpllgngehkc { + #[xor(8931)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7462)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mgahpfcmekg { + #[prost(enumeration = "Pckilpbdcgf", tag = "13")] + pub r#type: i32, + #[xor(6530)] + #[prost(int32, tag = "11")] + pub lfgefjplima: i32, + #[xor(3201)] + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfbcdngfefd { + #[prost(message, optional, tag = "1")] + pub trashbin_hermit_data: ::core::option::Option, + #[prost(uint32, repeated, tag = "2")] + pub lgikhbakhed: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub mpidghmlcga: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "4")] + pub fmmokfbkfja: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub fdeokhpfnfn: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub dlkfddbjeon: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub nlafmbdmlip: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub onpoacgocof: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub mkjkdndkbpk: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub dnopipopcio: ::core::option::Option, + #[prost(uint32, repeated, tag = "12")] + pub cnedhngdmgc: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "13")] + pub lfjdohpmffa: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "14")] + pub ngpnmklbhoi: ::core::option::Option, + #[prost(uint32, repeated, tag = "15")] + pub kfkpoidcpca: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "282")] + pub ohbgkhdencm: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "503")] + pub idfpoacebkh: ::core::option::Option, + #[prost(message, optional, tag = "507")] + pub majnhdojplo: ::core::option::Option, + #[prost(message, optional, tag = "676")] + pub kooaifabmhm: ::core::option::Option, + #[prost(message, optional, tag = "898")] + pub hacfkhlhbgh: ::core::option::Option, + #[prost(message, optional, tag = "900")] + pub agjpooolnhg: ::core::option::Option, + #[prost(message, optional, tag = "1135")] + pub gbdalkcjcpb: ::core::option::Option, + #[prost(message, optional, tag = "1230")] + pub mgidkpgjhhm: ::core::option::Option, + #[prost(message, optional, tag = "1309")] + pub kepmknijehb: ::core::option::Option, + #[prost(message, optional, tag = "1364")] + pub jkgpfpljgoa: ::core::option::Option, + #[prost(message, optional, tag = "1430")] + pub jhfbkdadedk: ::core::option::Option, + #[prost(message, optional, tag = "1731")] + pub jahhifcibaf: ::core::option::Option, + #[prost(message, repeated, tag = "1896")] + pub ngfdmmgfihd: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "1957")] + pub eaphbenjdae: ::core::option::Option, + #[prost(message, optional, tag = "2040")] + pub gjdlmeeakjn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdhkafkmnhf { + #[prost(message, repeated, tag = "1")] + pub ieploccockn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pldbbajacco {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1202)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lfalalecepg { + #[xor(3009)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lohlmkpahgp { + #[xor(6138)] + #[prost(uint64, tag = "15")] + pub lhbejkbkbfh: u64, + #[prost(message, optional, tag = "8")] + pub oghcnmnbkcd: ::core::option::Option, + #[xor(7507)] + #[prost(uint32, tag = "9")] + pub r#type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5657)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Decjejehhfn { + #[xor(8636)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(815)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdfhhijeghn { + #[prost(map = "uint32, int32", tag = "14")] + pub djklfkplljh: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpmaehgpkbm { + #[prost(message, optional, tag = "1")] + pub fhaiilcnkmj: ::core::option::Option, + #[prost(bool, tag = "2")] + pub khebfdaihah: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InteractInfo { + #[xor(8743)] + #[prost(int32, tag = "5")] + pub interact_id: i32, + #[prost(map = "uint32, string", tag = "4")] + pub participators: ::std::collections::HashMap, + #[prost(bool, tag = "2")] + pub ijhdlhkjapc: bool, + #[prost(enumeration = "InteractTarget", repeated, tag = "14")] + pub interact_target_list: ::prost::alloc::vec::Vec, + #[prost(double, tag = "1")] + pub scale_w: f64, + #[prost(double, tag = "6")] + pub scale_x: f64, + #[prost(bool, tag = "9")] + pub ohkjeimaefm: bool, + #[prost(double, tag = "10")] + pub scale_r: f64, + #[prost(double, tag = "12")] + pub scale_y: f64, + #[prost(bool, tag = "8")] + pub cpjhnndpgie: bool, + #[prost(string, tag = "15")] + pub name: ::prost::alloc::string::String, + #[prost(double, tag = "7")] + pub scale_z: f64, + #[prost(bool, tag = "11")] + pub ldjbknfbioo: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ckohmodggfg {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1348)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpolmdbkkmc { + #[prost(uint32, repeated, tag = "10")] + pub hhbajfplnob: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jegloijekoa { + #[prost(message, repeated, tag = "9")] + pub kjoheememhl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5708)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ndalfmlmkjc { + #[xor(15188)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8977)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inkdpbebnka { + #[xor(10782)] + #[prost(uint64, tag = "7")] + pub fkcdkdiacni: u64, + #[xor(1415)] + #[prost(uint64, tag = "12")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "14")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kfeaoapmidb { + #[xor(1472)] + #[prost(uint32, tag = "4")] + pub hfgdjcfhokn: u32, + #[xor(6837)] + #[prost(uint32, tag = "13")] + pub phcbebaelmf: u32, + #[xor(2872)] + #[prost(uint32, tag = "14")] + pub template_id: u32, + #[xor(10442)] + #[prost(uint32, tag = "5")] + pub ggejapflaom: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fggcbdihdaf { + #[prost(string, repeated, tag = "1")] + pub onkmbojkcaj: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, tag = "2")] + pub nmacbfegkdd: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9187)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetEquipDataScRsp { + #[prost(uint32, repeated, tag = "1")] + pub npjiigiplce: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub icdbfaacpgk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub equip_list: ::prost::alloc::vec::Vec, + #[xor(10223)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3032)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iahimpobmgf { + #[prost(string, tag = "9")] + pub gncekgdmalm: ::prost::alloc::string::String, + #[prost(message, optional, tag = "15")] + pub lcbjpmnpckl: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lejionefmhc { + #[prost(message, optional, tag = "1")] + pub bikgllnjnec: ::core::option::Option, + #[prost(string, tag = "2")] + pub imopcdildod: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub alccjnhgkac: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub olpffppkjdj: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Akbadikklib {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8850)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adgffokchie { + #[prost(uint32, repeated, tag = "4")] + pub hgkcapklkbp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8247)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkgakecflbn { + #[xor(1058)] + #[prost(uint32, tag = "2")] + pub pgiomnpgicj: u32, + #[prost(bytes = "vec", tag = "3")] + pub eafhinadadm: ::prost::alloc::vec::Vec, + #[xor(12527)] + #[prost(int32, tag = "7")] + pub gjmpnjbgpln: i32, + #[xor(5896)] + #[prost(uint32, tag = "4")] + pub uid: u32, + #[xor(7724)] + #[prost(uint64, tag = "11")] + pub ikjmhmokcfe: u64, + #[prost(bool, tag = "14")] + pub cchaabddhok: bool, + #[prost(bool, tag = "9")] + pub kgkfjnikhkh: bool, + #[prost(string, tag = "12")] + pub info: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8266)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjmjghklnla { + #[prost(bool, tag = "4")] + pub dbjhlphgafg: bool, + #[xor(5686)] + #[prost(uint32, tag = "14")] + pub tag: u32, + #[prost(string, tag = "5")] + pub elldlbindnj: ::prost::alloc::string::String, + #[xor(6375)] + #[prost(uint32, tag = "3")] + pub cbpbdmlkndn: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2454)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gifffajlfee { + #[xor(8594)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5269)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pinijmmdgij { + #[xor(8005)] + #[prost(int32, tag = "14")] + pub retcode: i32, + #[xor(8759)] + #[prost(uint32, tag = "2")] + pub tag: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jcjlloclajn { + #[prost(bool, tag = "1")] + pub poflofmcnfl: bool, + #[prost(bool, tag = "2")] + pub iadechfanah: bool, + #[prost(bool, tag = "3")] + pub jfknigcdeno: bool, + #[prost(bool, tag = "4")] + pub ghkkgnjhaoh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ipaecjbniah { + #[xor(4487)] + #[prost(uint32, tag = "1")] + pub djgfeclamla: u32, + #[xor(11056)] + #[prost(uint32, tag = "10")] + pub level: u32, + #[xor(8193)] + #[prost(uint32, tag = "6")] + pub exp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6219)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cggpkhoggnd { + #[xor(8714)] + #[prost(uint32, tag = "9")] + pub gcnenlcnlfd: u32, + #[xor(12282)] + #[prost(uint64, tag = "3")] + pub event_id: u64, + #[xor(3938)] + #[prost(int32, tag = "13")] + pub igfpelaffee: i32, + #[xor(14193)] + #[prost(uint32, tag = "15")] + pub uid: u32, + #[prost(bool, tag = "10")] + pub faikgjoehmh: bool, + #[xor(4426)] + #[prost(uint32, tag = "14")] + pub nafkgiconnn: u32, + #[prost(bool, tag = "12")] + pub hinihpdgele: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hgdhleipieg { + #[prost(int32, tag = "1")] + pub flipioihdbn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3415)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbliphjdkcd { + #[prost(uint32, repeated, tag = "3")] + pub ehlpbajpapb: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7522)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhmdaikogjc { + #[xor(15001)] + #[prost(uint32, tag = "14")] + pub fggfjdkggkj: u32, + #[xor(14270)] + #[prost(uint32, tag = "15")] + pub afalfineafi: u32, + #[prost(message, repeated, tag = "6")] + pub anjjgbjikoc: ::prost::alloc::vec::Vec, + #[xor(11881)] + #[prost(uint32, tag = "13")] + pub ajkbhenncjp: u32, + #[prost(message, optional, tag = "1")] + pub bphoppdahng: ::core::option::Option, + #[xor(12468)] + #[prost(int32, tag = "11")] + pub bgnanbcapif: i32, + #[prost(message, optional, tag = "4")] + pub lhbejkbkbfh: ::core::option::Option, + #[xor(7177)] + #[prost(int32, tag = "12")] + pub pnagmpknaig: i32, + #[xor(15474)] + #[prost(uint32, tag = "2")] + pub kikoolloddg: u32, + #[xor(1736)] + #[prost(int32, tag = "8")] + pub bcifebbfjle: i32, + #[xor(14618)] + #[prost(uint32, tag = "10")] + pub lcjfcafnemd: u32, + #[xor(4910)] + #[prost(int32, tag = "7")] + pub ekpcpcnhbcc: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akdgbhglbfc { + #[prost(message, optional, tag = "1")] + pub kgbcimlmcgd: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub mmhomempipj: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub ogejeglmbpp: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4192)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghjimncpiap { + #[prost(uint32, repeated, tag = "14")] + pub hejdhigmkpn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpllohkdcfh { + #[prost(enumeration = "Deoobgfghfj", tag = "1")] + pub kmmblnlnkgo: i32, + #[prost(message, optional, tag = "2")] + pub lkbaklckpna: ::core::option::Option, + #[prost(bool, tag = "3")] + pub fjopopcijeb: bool, + #[prost(bool, tag = "4")] + pub kpajbakdddh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4798)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilnnpccgcja { + #[xor(111)] + #[prost(uint32, tag = "11")] + pub quest_id: u32, + #[prost(uint32, repeated, tag = "9")] + pub bkdeogdpeld: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub nhhafmpoipi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcfhggihnog { + #[prost(string, tag = "1")] + pub njeniokdeac: ::prost::alloc::string::String, + #[prost(string, repeated, tag = "2")] + pub pfimeigjkhc: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, tag = "3")] + pub olgmophhcli: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfdafoepiid { + #[prost(message, optional, tag = "7")] + pub lmjgnnmikjj: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8782)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ahkhbjjhond {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4586)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddAvatarScNotify { + #[prost(bool, tag = "2")] + pub lock: bool, + #[prost(enumeration = "AddAvatarPerformType", tag = "15")] + pub perform_type: i32, + #[xor(13308)] + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[prost(message, repeated, tag = "8")] + pub ieploccockn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5056)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mkdgcadkiko { + #[xor(13710)] + #[prost(int32, tag = "12")] + pub bemlgnmkngm: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enbjbomifem { + #[prost(message, repeated, tag = "14")] + pub okhconhhpcp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Labkkaniano { + #[xor(12124)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(message, repeated, tag = "2")] + pub ajeecjpajfc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gofgdmmpkpf { + #[prost(int32, tag = "1")] + pub gianhlaenfe: i32, + #[prost(message, optional, tag = "2")] + pub nofplblobhj: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub cmdmmekcafk: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub jpjfpclpajl: ::core::option::Option, + #[prost(int32, tag = "5")] + pub ganojbldgcj: i32, + #[prost(int32, tag = "6")] + pub magebminojc: i32, + #[prost(float, tag = "7")] + pub bcmjliflafh: f32, + #[prost(message, optional, tag = "8")] + pub gghjmgpeoef: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub ndfflmijifd: ::core::option::Option, + #[prost(bool, tag = "10")] + pub jmncipfggcl: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7078)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mmclppnjmbf { + #[xor(1777)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epecncgffio { + #[prost(message, optional, tag = "1")] + pub fiieiehipik: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub padncenkkpd: ::core::option::Option, + #[prost(bool, tag = "3")] + pub lidejjpngfh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(849)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lkidjbaplgh { + #[xor(9073)] + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, optional, tag = "1")] + pub oocflbncjhd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5776)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetEquipDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(201)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Amofmmgchbg { + #[xor(3197)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Akmkcpllbch { + #[xor(546)] + #[prost(int32, tag = "8")] + pub retcode: i32, + #[xor(4927)] + #[prost(uint64, tag = "1")] + pub lhbejkbkbfh: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1980)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bhhjeeknnpd { + #[xor(2471)] + #[prost(uint32, tag = "4")] + pub buddy_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1854)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fdklcckfnbd { + #[xor(5499)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7862)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edcdaehkbnk { + #[prost(string, tag = "10")] + pub lkpnllifnib: ::prost::alloc::string::String, + #[xor(4379)] + #[prost(uint32, tag = "2")] + pub tag: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1173)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cffohkkjmlk { + #[xor(6452)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(477)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgjlbkgcijm { + #[prost(message, optional, tag = "2")] + pub apaedfjpphl: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub djhongokhcj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Albdmagcojb { + #[prost(string, tag = "1")] + pub hmonbhmokge: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dejlbhjoaop { + #[prost(message, repeated, tag = "6")] + pub gkahnnafkbb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub ohjolpklbmp: ::prost::alloc::vec::Vec, + #[xor(8750)] + #[prost(uint32, tag = "13")] + pub pjmmgfeignk: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4589)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aelemledcjb { + #[prost(bool, tag = "10")] + pub efaipldeogp: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7091)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Paiingmbcee { + #[xor(14884)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[xor(4624)] + #[prost(uint64, tag = "5")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "9")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "14")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hffnhekbceo { + #[prost(uint32, repeated, tag = "1")] + pub fkldekncjnn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub ehgjlbopfhg: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jaglngljoeh { + #[prost(bool, tag = "7")] + pub ilikllnocoa: bool, + #[xor(4779)] + #[prost(uint32, tag = "14")] + pub aagmalpelel: u32, + #[prost(uint32, repeated, tag = "12")] + pub iokmnhfmblk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ggdhfchbldk { + #[xor(11516)] + #[prost(uint32, tag = "2")] + pub quest_id: u32, + #[xor(13354)] + #[prost(uint32, tag = "8")] + pub ceapekbjdjd: u32, + #[xor(12744)] + #[prost(uint32, tag = "11")] + pub nhdeljijpgo: u32, + #[xor(4508)] + #[prost(uint32, tag = "5")] + pub jpkbnjeaohd: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4695)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lpdpbgpdijb {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hopjjeendmm { + #[prost(message, optional, tag = "11")] + pub level_perform_info: ::core::option::Option, + #[xor(9177)] + #[prost(uint32, tag = "6")] + pub iakbomjphnh: u32, + #[xor(10711)] + #[prost(uint32, tag = "8")] + pub jhgaoacoipj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhdicdhlcfn { + #[prost(bool, tag = "2")] + pub aimmdoolkoe: bool, + #[xor(15609)] + #[prost(uint32, tag = "4")] + pub hkopdmjdgjj: u32, + #[prost(message, repeated, tag = "1")] + pub mfcpmjmicai: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkahicckoim { + #[prost(map = "uint32, uint32", tag = "1")] + pub ajppilianbi: ::std::collections::HashMap, + #[prost(uint32, tag = "2")] + pub feanggnllfg: u32, + #[prost(uint32, tag = "3")] + pub gagbnbcohep: u32, + #[prost(string, tag = "4")] + pub beinmnbghnj: ::prost::alloc::string::String, + #[prost(int32, repeated, tag = "5")] + pub nfikmcfeifl: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kbfjlpndecl {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(104)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ankmmklkcan { + #[xor(14096)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ffpkcphnbpd {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfnholllneb { + #[prost(message, optional, tag = "1")] + pub gmgpeclahdm: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hhpibbppaeh: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub llgkfedahig: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbdofmckgal { + #[prost(message, repeated, tag = "4")] + pub ejhmkakedkc: ::prost::alloc::vec::Vec, + #[prost(string, tag = "5")] + pub name: ::prost::alloc::string::String, + #[prost(enumeration = "Ngcffhcgmac", tag = "6")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5689)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aoelamhblnd { + #[xor(10210)] + #[prost(int32, tag = "11")] + pub dpaeikpkhgl: i32, + #[prost(message, repeated, tag = "14")] + pub gffoejhfblb: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "9")] + pub hmpijcabdkf: bool, + #[xor(7160)] + #[prost(int32, tag = "2")] + pub idenanenoge: i32, + #[prost(message, repeated, tag = "13")] + pub kknbekibeoe: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub oohheaekpad: bool, + #[prost(message, repeated, tag = "7")] + pub cadllkpiljh: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub eeakheejpmo: bool, + #[xor(15650)] + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8826)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Homhghcmkok { + #[xor(1409)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgokfpphacc { + #[prost(message, optional, tag = "1")] + pub bbiidnnlech: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfdjodkiaok { + #[prost(uint32, repeated, tag = "1")] + pub bdpjmmkjlhn: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2121)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SavePlayerSystemSettingCsReq { + #[prost(message, optional, tag = "10")] + pub nnmgihloibc: ::core::option::Option, + #[xor(6649)] + #[prost(uint32, tag = "9")] + pub r#type: u32, + #[xor(7998)] + #[prost(uint32, tag = "13")] + pub params: u32, + #[prost(message, optional, tag = "14")] + pub kgcpjdikocg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnfanljocmp { + #[prost(enumeration = "Bcmlnginlcn", tag = "1")] + pub kmmblnlnkgo: i32, + #[prost(int32, tag = "2")] + pub mbpjfndengn: i32, + #[prost(int32, repeated, tag = "3")] + pub onollodlbkl: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub fjopopcijeb: bool, + #[prost(bool, tag = "5")] + pub abgfbbhcioe: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ddjdofgkjpg { + #[prost(int32, tag = "1")] + pub opnagkkjplp: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akabfoablkj { + #[prost(message, optional, tag = "1")] + pub clgdocgoggb: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ajchedcogge: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fjieimppgbc {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jplihicapma { + #[prost(float, tag = "1")] + pub kffdknkcnok: f32, + #[xor(1586)] + #[prost(uint32, tag = "3")] + pub lhbejkbkbfh: u32, + #[prost(message, optional, tag = "4")] + pub nfmojhjjldd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfobkhaogmb { + #[prost(string, tag = "1")] + pub group: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub hfgdjcfhokn: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbjbiccpmom { + #[prost(uint64, tag = "1")] + pub gglnpjfcibj: u64, + #[prost(uint32, tag = "2")] + pub aehcdloifkp: u32, + #[prost(message, optional, tag = "3")] + pub koamjailkge: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub ofndcldbcla: u32, + #[prost(string, tag = "5")] + pub oejdnpkepap: ::prost::alloc::string::String, + #[prost(uint32, tag = "6")] + pub ipimkconaed: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4425)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fifojjkdfof { + #[xor(10253)] + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(message, repeated, tag = "9")] + pub avatar_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct YorozuyaInfo { + #[prost(uint32, repeated, tag = "8")] + pub kncgjfgfala: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub jpmokbhdnmn: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub oagklpamemd: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Hfkcedkbglm", tag = "4")] + pub meebfcghjln: i32, + #[prost(map = "uint32, int32", tag = "5")] + pub bickpbkgfec: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "9")] + pub mbdjmldabkd: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "1")] + pub olkemjgejni: bool, + #[prost(message, repeated, tag = "11")] + pub imjofdihdmb: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub ooijkpdandn: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub unlock_hollow_id_list: ::prost::alloc::vec::Vec, + #[xor(15841)] + #[prost(uint32, tag = "13")] + pub afmfhcbgaem: u32, + #[prost(map = "uint32, uint32", tag = "7")] + pub cjbefdepkmo: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(709)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpphhhfgcff { + #[prost(uint32, repeated, tag = "6")] + pub mmimgddioao: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8168)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bkkkacpdone { + #[xor(6182)] + #[prost(uint32, tag = "1")] + pub dflfdcddjfj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3845)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jachaijaeik { + #[xor(9729)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmegnnojiok { + #[prost(message, optional, tag = "1")] + pub hcnbjkelagn: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub nlokefgffkn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oflondiphnd { + #[prost(message, optional, tag = "1")] + pub cljgdbopadm: ::core::option::Option, + #[prost(bool, tag = "2")] + pub nailgckoomj: bool, + #[prost(bool, tag = "3")] + pub mehaojpcfib: bool, + #[prost(bool, tag = "4")] + pub odmdjkljccm: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lelbhfeimak { + #[prost(uint32, repeated, tag = "3")] + pub gmjdobfpnkp: ::prost::alloc::vec::Vec, + #[xor(16262)] + #[prost(uint32, tag = "5")] + pub ccnlfijlnad: u32, + #[xor(11082)] + #[prost(uint32, tag = "6")] + pub aghafmjngan: u32, + #[prost(uint32, repeated, tag = "15")] + pub fajpfmdamgl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub egieccopeap: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "1815")] + pub claghdagoid: bool, + #[prost(map = "uint32, uint32", tag = "12")] + pub miljidfhnej: ::std::collections::HashMap, + #[xor(11890)] + #[prost(uint32, tag = "10")] + pub ephdlaifemn: u32, + #[prost(message, optional, tag = "208")] + pub hildhgbdgen: ::core::option::Option, + #[prost(uint32, repeated, tag = "8")] + pub gelnaaeknmc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub dmmlodefioo: ::prost::alloc::vec::Vec, + #[xor(6015)] + #[prost(uint32, tag = "1")] + pub moaeafhpdko: u32, + #[prost(uint32, repeated, tag = "2027")] + pub doimifepane: ::prost::alloc::vec::Vec, + #[xor(10468)] + #[prost(uint32, tag = "1855")] + pub fimjdpfchhn: u32, + #[xor(5773)] + #[prost(uint32, tag = "1795")] + pub eimclpeamdh: u32, + #[xor(8140)] + #[prost(uint32, tag = "1645")] + pub ofgnbanlaak: u32, + #[prost(map = "uint32, uint32", tag = "2")] + pub bipebdcnhaj: ::std::collections::HashMap, + #[xor(2764)] + #[prost(uint32, tag = "7")] + pub bdphpjciojn: u32, + #[xor(4472)] + #[prost(uint32, tag = "1776")] + pub neioclphdoe: u32, + #[xor(12383)] + #[prost(uint32, tag = "4")] + pub jifgmgjkcok: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hglefpiefnc { + #[prost(int32, tag = "1")] + pub akacgpjilpb: i32, + #[prost(int32, tag = "2")] + pub mbpojcmnelp: i32, + #[prost(int32, tag = "3")] + pub bbehfhcbgoi: i32, + #[prost(bool, tag = "4")] + pub nmdiinnohif: bool, + #[prost(bool, tag = "5")] + pub mbbckdgmicp: bool, + #[prost(bool, tag = "6")] + pub gggnmboolep: bool, + #[prost(enumeration = "Ggibodiabfo", tag = "7")] + pub perform_type: i32, + #[prost(bool, tag = "8")] + pub pjhldllddgo: bool, + #[prost(int32, repeated, tag = "9")] + pub gicohflnpjh: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "10")] + pub nmacbfegkdd: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, tag = "11")] + pub kmpeoibpobk: bool, + #[prost(bool, tag = "12")] + pub impfnjjaefn: bool, + #[prost(int32, tag = "13")] + pub afmfaeahhpa: i32, + #[prost(string, tag = "14")] + pub transform_id: ::prost::alloc::string::String, + #[prost(bool, tag = "15")] + pub hgingmcoece: bool, + #[prost(uint32, tag = "16")] + pub oohcihjendg: u32, + #[prost(uint32, tag = "17")] + pub kahfegnaikp: u32, + #[prost(bool, tag = "18")] + pub gfhegijnplf: bool, + #[prost(bool, tag = "19")] + pub bkkbljlojal: bool, + #[prost(bool, tag = "20")] + pub fjalikjodji: bool, + #[prost(bool, tag = "21")] + pub ckhgnbloopb: bool, + #[prost(bool, tag = "22")] + pub oifphllnano: bool, + #[prost(message, optional, tag = "23")] + pub ajleagodjfc: ::core::option::Option, + #[prost(enumeration = "Ejboopmcpbe", tag = "24")] + pub lhjlgchmndb: i32, + #[prost(map = "int32, string", tag = "25")] + pub participators: ::std::collections::HashMap, + #[prost(bool, tag = "26")] + pub apjicmenkpd: bool, + #[prost(bool, tag = "27")] + pub fjbbogahjmc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jimfmhgooie { + #[prost(int32, repeated, tag = "6")] + pub unlock_id_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Odmddcnlcem {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5494)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetAvatarDataScRsp { + #[xor(8390)] + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, repeated, tag = "1")] + pub avatar_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kijlkkiafic { + #[prost(message, optional, tag = "1")] + pub npc_id: ::core::option::Option, + #[prost(string, tag = "2")] + pub hngafifkjgb: ::prost::alloc::string::String, + #[prost(string, repeated, tag = "3")] + pub lahkflhenoh: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2560)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dkcipkeccgf { + #[xor(9095)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kfaamomneim { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub lhbpbjjahdk: u32, + #[prost(uint32, tag = "3")] + pub bhepogjldla: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct WeaponInfo { + #[xor(12348)] + #[prost(uint32, tag = "2")] + pub level: u32, + #[xor(6130)] + #[prost(uint32, tag = "6")] + pub refine_level: u32, + #[xor(7909)] + #[prost(uint32, tag = "8")] + pub star: u32, + #[xor(8448)] + #[prost(uint32, tag = "9")] + pub template_id: u32, + #[prost(bool, tag = "1")] + pub fcnfkibbleo: bool, + #[xor(14757)] + #[prost(uint32, tag = "11")] + pub exp: u32, + #[xor(11058)] + #[prost(uint32, tag = "4")] + pub uid: u32, + #[prost(bool, tag = "7")] + pub lock: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3097)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gpchlmdijin { + #[xor(1791)] + #[prost(uint32, tag = "10")] + pub uid: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eddlgdapjnk { + #[prost(message, optional, tag = "1")] + pub lbkieoahmjg: ::core::option::Option, + #[prost(bool, tag = "2")] + pub ijajkkhclfp: bool, + #[prost(int64, tag = "3")] + pub eahodcbbbhe: i64, + #[prost(string, tag = "4")] + pub lkpnllifnib: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub jholagfihbm: ::prost::alloc::string::String, + #[prost(message, optional, tag = "6")] + pub gmmcdnbdjmh: ::core::option::Option, + #[prost(bool, tag = "7")] + pub kbbkoipmdjj: bool, + #[prost(bool, tag = "8")] + pub egohaboffli: bool, + #[prost(int32, tag = "9")] + pub jfcpedlngij: i32, + #[prost(message, optional, tag = "10")] + pub pplekelgjaj: ::core::option::Option, + #[prost(bool, tag = "11")] + pub lpkhknjmjhc: bool, + #[prost(message, optional, tag = "12")] + pub gbdebemijfn: ::core::option::Option, + #[prost(message, repeated, tag = "13")] + pub kialeffcmgp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Apbjdmphelk { + #[prost(uint32, tag = "1")] + pub jblljokcgam: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3478)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imimlkafkoc { + #[prost(uint32, repeated, tag = "12")] + pub djniholkbbo: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkfambhglho { + #[prost(uint32, repeated, tag = "1")] + pub bgepbofgadk: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epbphmagene { + #[prost(message, repeated, tag = "15")] + pub gohhgfpcgfd: ::prost::alloc::vec::Vec, + #[xor(4177)] + #[prost(int32, tag = "9")] + pub template_id: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4099)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Leleghfeimo { + #[prost(message, repeated, tag = "7")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, + #[xor(12976)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[xor(11585)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnjkppoolap { + #[xor(7329)] + #[prost(uint32, tag = "3")] + pub kdifkmdkbaf: u32, + #[prost(uint32, repeated, tag = "8")] + pub kilcalodpik: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub olcjklbegoh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub jbbnopcdehe: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6166)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ppkcfopcpng { + #[xor(4687)] + #[prost(uint32, tag = "2")] + pub avatar_id: u32, + #[xor(6232)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7193)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hcbpkliapfc { + #[xor(5512)] + #[prost(int32, tag = "15")] + pub olfbdmnhdgm: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjnhajohgce { + #[prost(enumeration = "HollowShopType", tag = "1")] + pub kibjdojigki: i32, + #[prost(enumeration = "HollowShopCurrencyType", tag = "2")] + pub pbjklbpmail: i32, + #[prost(enumeration = "Kdpdcifbodf", tag = "4")] + pub ipgpmbgkejn: i32, + #[prost(message, repeated, tag = "5")] + pub dgdgiibpjlb: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub fgpajgalikn: bool, + #[prost(uint32, repeated, tag = "8")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Oamifikjhga { + #[prost(bool, tag = "1")] + pub jjgifknonmk: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bcehkoeienj {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbodeoaamid { + #[prost(uint32, tag = "1")] + pub fablmmkdljn: u32, + #[prost(message, repeated, tag = "2")] + pub hfmlnfgmapf: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub bgngcdnkjnl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub clbdipcpofm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkncjhjffel { + #[prost(message, optional, tag = "1")] + pub dgcehnmkncc: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub gijmkjjfpad: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub okalcfbfjke: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub ecaehcalmoj: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub kpcghkfhphc: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jbbnaldjllg {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2891)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetBuddyDataScRsp { + #[prost(uint32, repeated, tag = "10")] + pub lfikahlchlh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub fpafpjhpfci: ::prost::alloc::vec::Vec, + #[xor(7116)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(message, repeated, tag = "8")] + pub buddy_list: ::prost::alloc::vec::Vec, + #[xor(16364)] + #[prost(uint32, tag = "15")] + pub nahoocejlnh: u32, + #[xor(11613)] + #[prost(uint32, tag = "9")] + pub ibolicmcene: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Imbkdieojng { + #[prost(bool, tag = "1")] + pub hogpakjdmep: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Edmlpnllpmf { + #[xor(10785)] + #[prost(int32, tag = "3")] + pub pglhelicfcf: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1326)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct EnterWorldScRsp { + #[xor(4017)] + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6706)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ocekhegdibl { + #[xor(8379)] + #[prost(uint32, tag = "12")] + pub tag: u32, + #[xor(12379)] + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkaomebjiho { + #[prost(message, optional, tag = "1")] + pub bknleelkmeg: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5461)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dllmjhcidlg { + #[xor(14695)] + #[prost(uint32, tag = "12")] + pub anglpohejlo: u32, + #[xor(15218)] + #[prost(int32, tag = "4")] + pub bihmoeaggam: i32, + #[xor(579)] + #[prost(uint32, tag = "9")] + pub jajemoheohh: u32, + #[prost(bool, tag = "13")] + pub akbpkmjenea: bool, + #[xor(2042)] + #[prost(uint32, tag = "1")] + pub ekkegakmcbj: u32, + #[prost(map = "uint32, uint32", tag = "14")] + pub ijhkbkgobij: ::std::collections::HashMap, + #[xor(720)] + #[prost(uint32, tag = "6")] + pub flbkfpdokpd: u32, + #[xor(8820)] + #[prost(uint32, tag = "11")] + pub oopkapigclc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7588)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Doeamnbhiif { + #[xor(14503)] + #[prost(uint32, tag = "6")] + pub avatar_id: u32, + #[xor(1297)] + #[prost(int32, tag = "4")] + pub ohdhcdndjfn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9473)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hoenekfpfej { + #[prost(uint32, repeated, tag = "6")] + pub avatars: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub foacgpjpgph: ::prost::alloc::vec::Vec, + #[xor(9019)] + #[prost(uint32, tag = "9")] + pub quest_id: u32, + #[xor(3542)] + #[prost(uint32, tag = "10")] + pub buddy_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljjpiihkngf { + #[prost(message, repeated, tag = "13")] + pub fpbjenokkpc: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5570)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bglapcmommh { + #[xor(4207)] + #[prost(uint32, tag = "9")] + pub jhooejigljp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hhcekkbfcna { + #[prost(double, tag = "1")] + pub pohnmenbegi: f64, + #[prost(double, tag = "2")] + pub llffkfoejgj: f64, + #[prost(double, tag = "3")] + pub cgcpijamknl: f64, + #[prost(double, tag = "4")] + pub johoaliiccj: f64, + #[prost(double, tag = "5")] + pub hcopojhoimc: f64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7700)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dhkpclphecd { + #[xor(14725)] + #[prost(uint32, tag = "7")] + pub cdklkjpfhhl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7974)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Bmpnjfmomij { + #[xor(2576)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Podofaaooki {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1179)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmnjneibmko { + #[xor(10501)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(message, repeated, tag = "2")] + pub chhegaecdoj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3650)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdjcoofjcgl { + #[xor(15796)] + #[prost(uint64, tag = "8")] + pub fdfjcoccaoa: u64, + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(5311)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4078)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjgbjffenol { + #[prost(message, optional, tag = "2")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(13745)] + #[prost(uint64, tag = "15")] + pub fkcdkdiacni: u64, + #[xor(11206)] + #[prost(uint64, tag = "1")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(548)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetRewardBuffDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8985)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fepmghmgjhk { + #[xor(591)] + #[prost(uint32, tag = "8")] + pub ghifdkelobe: u32, + #[xor(4231)] + #[prost(uint32, tag = "12")] + pub bhnmbooodka: u32, + #[xor(5090)] + #[prost(int32, tag = "11")] + pub retcode: i32, + #[xor(15138)] + #[prost(uint32, tag = "3")] + pub fcbckehgoga: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5529)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ipiidmkcbfm { + #[xor(589)] + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nmnlnfngmhn { + #[prost(uint32, tag = "1")] + pub hnijnpdambl: u32, + #[prost(uint32, tag = "2")] + pub dpeflkffjjd: u32, + #[prost(uint32, tag = "3")] + pub iblnjkeddpm: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mglcgjeibhk { + #[xor(13121)] + #[prost(uint32, tag = "13")] + pub kcgnknnnbop: u32, + #[prost(bytes = "vec", tag = "8")] + pub gocpkpgedgf: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Leacgnkgppl { + #[prost(message, repeated, tag = "1")] + pub pbpphccccma: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub bhmaaekkebp: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idpogdjcjhc { + #[prost(map = "int32, message", tag = "11")] + pub ingnmfjlkoo: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Khbfnlglggo { + #[xor(6793)] + #[prost(int64, tag = "14")] + pub kggpcmomkbp: i64, + #[xor(2932)] + #[prost(uint32, tag = "8")] + pub template_id: u32, + #[xor(11985)] + #[prost(int64, tag = "15")] + pub nfccdndbpak: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Mkhoenaahfo { + #[prost(bool, tag = "13")] + pub ilikllnocoa: bool, + #[xor(4569)] + #[prost(uint32, tag = "8")] + pub template_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oadkookamph { + #[prost(message, repeated, tag = "4")] + pub khmlidnomim: ::prost::alloc::vec::Vec, + #[prost(map = "int32, message", tag = "7")] + pub deoghibnamb: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmfafkldghe { + #[prost(enumeration = "HollowGridLink", repeated, tag = "1")] + pub eglkooofbek: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Aihfclbhifo { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(int64, tag = "2")] + pub nlhcbaigpbi: i64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4140)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetWebActivityDataScRsp { + #[xor(4480)] + #[prost(uint32, tag = "13")] + pub lfbephmhffn: u32, + #[xor(15092)] + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(string, tag = "15")] + pub klinjndogfk: ::prost::alloc::string::String, + #[xor(3064)] + #[prost(uint32, tag = "6")] + pub ialhnmeldfj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Nkmhegfacgg {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlpncfamice { + #[prost(message, optional, tag = "5")] + pub ikjkblcecae: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub comgjibonng: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub bmejgefamoc: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub dieboccoahp: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub glhoamilhec: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gjpmjdnedad {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjaacjmmkcd { + #[prost(message, optional, tag = "1")] + pub bddlconiggl: ::core::option::Option, + #[prost(enumeration = "Magmmkboaop", repeated, tag = "2")] + pub bhdnoblbnoh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneInfo { + #[prost(message, optional, tag = "8")] + pub efaammolimn: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub hall_scene_info: ::core::option::Option, + #[prost(message, optional, tag = "1292")] + pub cikijjbldlk: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub fight_scene_info: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub hocpplmdnkk: ::core::option::Option, + #[prost(message, optional, tag = "1")] + pub dfiihojpdno: ::core::option::Option, + #[xor(14876)] + #[prost(uint32, tag = "11")] + pub event_id: u32, + #[prost(message, optional, tag = "10")] + pub hkenjbobbce: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub jdgbajjceld: ::core::option::Option, + #[xor(12057)] + #[prost(uint32, tag = "9")] + pub jpkbnjeaohd: u32, + #[xor(5665)] + #[prost(uint32, tag = "4")] + pub local_play_type: u32, + #[prost(message, optional, tag = "13")] + pub agecepiagdd: ::core::option::Option, + #[xor(6864)] + #[prost(uint32, tag = "15")] + pub scene_type: u32, + #[prost(bool, tag = "2")] + pub ibgjecbknaf: bool, + #[xor(1684)] + #[prost(uint32, tag = "12")] + pub amgndcmmhaj: u32, + #[prost(message, optional, tag = "5")] + pub mhkiabipmhn: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9668)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aaoelobmjnk { + #[prost(message, optional, tag = "7")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(1086)] + #[prost(uint64, tag = "10")] + pub fkcdkdiacni: u64, + #[xor(11236)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cgbimmadmgi { + #[prost(uint32, tag = "1")] + pub kgaamcllobh: u32, + #[prost(uint32, tag = "2")] + pub lhbejkbkbfh: u32, + #[prost(uint32, tag = "3")] + pub foddplkhofb: u32, + #[prost(uint32, tag = "4")] + pub dmifmgfbbbp: u32, + #[prost(int32, tag = "5")] + pub fedpfjjcabm: i32, + #[prost(int32, tag = "6")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Chohgbagmgf { + #[prost(float, tag = "5")] + pub fommlkhlpee: f32, + #[prost(bool, tag = "6")] + pub hnnkplnibek: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cjempopgebk { + #[prost(bool, tag = "1")] + pub hegffmgfbhj: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fgmancfemoh { + #[prost(bool, tag = "1")] + pub jgoaknljoip: bool, + #[prost(bool, tag = "2")] + pub fbinoonaemk: bool, + #[prost(int32, tag = "3")] + pub kedlgoakhld: i32, + #[prost(bool, tag = "4")] + pub gfhegijnplf: bool, + #[prost(bool, tag = "5")] + pub ikbeommcihm: bool, + #[prost(enumeration = "Bgoekjcooml", tag = "6")] + pub refresh_status: i32, + #[prost(enumeration = "Fofhkjpcmdl", tag = "7")] + pub lioinmelhgn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lnmkfcloegj { + #[prost(message, optional, tag = "1")] + pub ifomgdpopkg: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub iogiglimmah: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Loamecjdbmc { + #[prost(int32, tag = "1")] + pub bafafbhebei: i32, + #[prost(enumeration = "TimePeriodType", tag = "2")] + pub time_period: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cfiifkcnkco { + #[xor(5596)] + #[prost(uint32, tag = "12")] + pub template_id: u32, + #[prost(enumeration = "Bnkfglmlmfh", tag = "7")] + pub hfgdjcfhokn: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5029)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgnicnapank { + #[xor(8944)] + #[prost(int32, tag = "6")] + pub kfobnfboaoi: i32, + #[xor(614)] + #[prost(int32, tag = "15")] + pub flbkfpdokpd: i32, + #[prost(message, repeated, tag = "13")] + pub bkcbihnmgnb: ::prost::alloc::vec::Vec, + #[prost(string, tag = "9")] + pub mcpmobeikhc: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub ldgpffiabcf: ::prost::alloc::string::String, + #[xor(767)] + #[prost(int32, tag = "7")] + pub njmlpochkip: i32, + #[xor(5823)] + #[prost(int32, tag = "8")] + pub hmmneikfple: i32, + #[xor(1284)] + #[prost(int32, tag = "3")] + pub oambdhbhfpl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4007)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hkojlnjopnf { + #[xor(11235)] + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1150)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fecipddnien { + #[xor(919)] + #[prost(uint32, tag = "6")] + pub avatar_id: u32, + #[xor(11231)] + #[prost(uint32, tag = "11")] + pub ebdjkahnpib: u32, + #[prost(bool, tag = "7")] + pub pbehkahplpc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljkhpibbkie { + #[prost(bytes = "vec", tag = "3")] + pub bgoiibjhdck: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Deflkildefh", tag = "14")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aklbonjinjb { + #[prost(message, optional, tag = "1")] + pub ocphdlakcfj: ::core::option::Option, + #[prost(enumeration = "Jfpjdljmhol", tag = "2")] + pub ebgmdoiddom: i32, + #[prost(enumeration = "Jpnihhbgepd", tag = "3")] + pub odnpbhepnoa: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2909)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct EnterWorldCsReq { + #[prost(bool, tag = "2")] + pub homppbbhlpc: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(912)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Anfmhhbfkhf { + #[xor(4233)] + #[prost(int32, tag = "5")] + pub retcode: i32, + #[xor(6637)] + #[prost(uint32, tag = "11")] + pub ghifdkelobe: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5688)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Gpeobedecfj { + #[xor(13764)] + #[prost(uint32, tag = "14")] + pub pglhelicfcf: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cejemighmkc { + #[prost(bool, tag = "1")] + pub pkmnpbbjhha: bool, + #[prost(string, tag = "2")] + pub hgeefmbognb: ::prost::alloc::string::String, + #[prost(bool, tag = "3")] + pub nhimbkpiiln: bool, + #[prost(string, tag = "4")] + pub oaocpiecgga: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub pcfbknbfdod: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub fnpaelpfioc: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9840)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lkchncdnack { + #[xor(1832)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lfcfndiejdp {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pcgbhjgacfm { + #[prost(message, optional, tag = "13")] + pub obgejnhbfca: ::core::option::Option, + #[xor(2410)] + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdcbgbfiabh { + #[prost(message, repeated, tag = "7")] + pub cfhinildiph: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(8357)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ompbajblhbp { + #[prost(message, optional, tag = "14")] + pub info: ::core::option::Option, + #[xor(10725)] + #[prost(uint64, tag = "8")] + pub fkcdkdiacni: u64, + #[xor(11462)] + #[prost(uint64, tag = "9")] + pub fdfjcoccaoa: u64, + #[prost(message, repeated, tag = "15")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5222)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehnmhfcmela { + #[prost(uint32, repeated, tag = "13")] + pub kkjjpagepjn: ::prost::alloc::vec::Vec, + #[xor(10748)] + #[prost(uint32, tag = "1")] + pub efpckpnefdc: u32, + #[xor(2882)] + #[prost(uint32, tag = "12")] + pub template_id: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Imllcdnmein { + #[xor(10189)] + #[prost(int32, tag = "12")] + pub ahdbalhodda: i32, + #[prost(message, optional, tag = "7")] + pub nfmojhjjldd: ::core::option::Option, + #[xor(4096)] + #[prost(uint32, tag = "3")] + pub fiieiehipik: u32, + #[xor(15086)] + #[prost(uint32, tag = "8")] + pub lhbejkbkbfh: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpallloiphn { + #[prost(map = "uint32, int32", tag = "4")] + pub pbhdklkiijp: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdfldgjcjgm { + #[prost(message, optional, tag = "1")] + pub bgepbofgadk: ::core::option::Option, + #[prost(enumeration = "HollowEntityType", tag = "2")] + pub pbgfddlpihp: i32, + #[prost(message, optional, tag = "3")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub lgnobbdbgdl: ::core::option::Option, + #[prost(string, tag = "5")] + pub mcicgcibdga: ::prost::alloc::string::String, + #[prost(enumeration = "Pcekojidped", tag = "6")] + pub keillplgejl: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfcgmbllkkj { + #[prost(bool, tag = "1")] + pub mjfghjgbgmd: bool, + #[prost(string, tag = "2")] + pub hgeefmbognb: ::prost::alloc::string::String, + #[prost(bool, tag = "3")] + pub nhimbkpiiln: bool, + #[prost(string, tag = "4")] + pub oaocpiecgga: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub pcfbknbfdod: ::prost::alloc::string::String, + #[prost(bool, tag = "6")] + pub lbaakblbgli: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbilmcaeafp { + #[prost(string, tag = "1")] + pub ui: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(625)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekalhcdhbnj { + #[xor(10943)] + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(message, repeated, tag = "6")] + pub lichkmhkoeh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eeafiohnlja { + #[prost(message, optional, tag = "1")] + pub oghcnmnbkcd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcpfilamnld { + #[prost(message, repeated, tag = "1")] + pub jmlofakikki: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibejcjmeien { + #[xor(8373)] + #[prost(uint32, tag = "9")] + pub aldbmeomoni: u32, + #[prost(map = "uint32, uint32", tag = "3")] + pub ohkfncepmam: ::std::collections::HashMap, + #[xor(2965)] + #[prost(uint32, tag = "14")] + pub mcnmkdmidlo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Cgjnfkgcpkf {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlhjlpcgmgj { + #[prost(message, optional, tag = "1")] + pub ggmahjkcmng: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lcekladmopm { + #[xor(12095)] + #[prost(uint32, tag = "15")] + pub mibfimdanol: u32, + #[prost(bool, tag = "2")] + pub mdlekfgpjmb: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6984)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Paecpigjhij { + #[prost(message, repeated, tag = "3")] + pub anjjgbjikoc: ::prost::alloc::vec::Vec, + #[xor(16026)] + #[prost(uint32, tag = "4")] + pub lcjfcafnemd: u32, + #[xor(2868)] + #[prost(uint32, tag = "5")] + pub gmnjfclbogb: u32, + #[prost(message, optional, tag = "7")] + pub lhbejkbkbfh: ::core::option::Option, + #[xor(9769)] + #[prost(int32, tag = "14")] + pub edndhombnnd: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ijfmpopfgmg { + #[prost(bool, tag = "8")] + pub jjgokojnefh: bool, + #[xor(8178)] + #[prost(uint32, tag = "5")] + pub chjeiofopjp: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5411)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kmpgnkdnhbn {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojnhnjomhin { + #[prost(int32, tag = "1")] + pub bgbjnicnjja: i32, + #[prost(int32, tag = "2")] + pub eedkkdadncg: i32, + #[prost(int32, repeated, tag = "3")] + pub jbchoegilal: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "4")] + pub ljapameahki: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(116)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Pnolhdbjbdc { + #[xor(13472)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cihnegieaap { + #[prost(message, optional, tag = "2")] + pub count: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub eofeglpmbdm: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "4")] + pub opgkkfolfkn: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "5")] + pub pkedollpjbm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub hcbliaclanf: bool, + #[prost(message, repeated, tag = "7")] + pub njgfhhihdgg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub pfaidfaefdi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5454)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pifjlccpejf { + #[prost(uint32, repeated, tag = "2")] + pub avatar_list: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(93)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lmednalnmgp { + #[xor(11932)] + #[prost(uint32, tag = "2")] + pub eeplbkfndmc: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emamchfjnmg { + #[prost(message, optional, tag = "1")] + pub quest_id: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(5386)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetQuestDataCsReq { + #[xor(560)] + #[prost(uint32, tag = "12")] + pub quest_type: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hncafodjogp { + #[prost(uint32, tag = "1")] + pub lgnobbdbgdl: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhjmhohpbgd { + #[prost(message, optional, tag = "1")] + pub section: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub dlpigeiekhf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhdmaghgbbb { + #[prost(bool, tag = "3")] + pub fhcigmimgnk: bool, + #[prost(message, repeated, tag = "4")] + pub mcmcfcpbijg: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "5")] + pub njchflckdme: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub ffnpgdcdled: bool, + #[prost(message, repeated, tag = "13")] + pub nldfoclcjnb: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "15")] + pub idgflelcnoj: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2311)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icjjpgokfkj { + #[prost(message, repeated, tag = "3")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, + #[xor(7445)] + #[prost(uint64, tag = "2")] + pub fdfjcoccaoa: u64, + #[xor(15234)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1654)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jdjlekbpccm { + #[xor(16218)] + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eiokbihpkmj { + #[xor(802)] + #[prost(uint32, tag = "14")] + pub kmmjjgagcch: u32, + #[prost(message, repeated, tag = "6")] + pub adkhllnnhap: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Niobomkheah { + #[prost(bool, tag = "1")] + pub cbcnloailll: bool, + #[prost(message, optional, tag = "2")] + pub eeiigipkjdf: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khacbedmhmk { + #[prost(map = "int32, enumeration(Cogeanaeohd)", tag = "2")] + pub aahjnijnabk: ::std::collections::HashMap, + #[prost(int32, repeated, tag = "6")] + pub gheplpoegoi: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofccmlojkcb { + #[prost(string, repeated, tag = "1")] + pub hcdoebhodjp: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, tag = "2")] + pub njiljbcmfbe: ::prost::alloc::string::String, + #[prost(string, repeated, tag = "4")] + pub bpagfccmepo: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2798)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ecophmkaaen { + #[xor(5701)] + #[prost(uint32, tag = "13")] + pub fiieiehipik: u32, + #[xor(7491)] + #[prost(uint32, tag = "7")] + pub jdkifgmpnlo: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dicmknkinmo { + #[prost(string, tag = "1")] + pub kcclegdlljc: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub jmoddhjlecc: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub balfodofeha: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub kianbndmmaj: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub lajdiobhnjc: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub ophdfbihglk: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub pinmdcfnmce: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub acgebhonfom: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub fpdhclcdgen: ::core::option::Option, + #[prost(enumeration = "Aeoihpdcomb", tag = "10")] + pub lcbkchjojhc: i32, + #[prost(enumeration = "Odgpcomndpm", tag = "11")] + pub mdihfldkeoe: i32, + #[prost(int32, tag = "13")] + pub dgbbcfkndaf: i32, + #[prost(message, optional, tag = "14")] + pub dcohbnjfkbl: ::core::option::Option, + #[prost(message, repeated, tag = "15")] + pub nbknpjofkok: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "16")] + pub pccfjdomocp: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "17")] + pub llmpakgngpn: bool, + #[prost(message, optional, tag = "18")] + pub cccjgccopeo: ::core::option::Option, + #[prost(message, optional, tag = "19")] + pub khngmkjocha: ::core::option::Option, + #[prost(uint32, repeated, tag = "20")] + pub pkeacomphlm: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chpfkaobnlk { + #[prost(message, optional, tag = "8")] + pub kgefhnlflih: ::core::option::Option, + #[prost(uint32, repeated, tag = "2")] + pub mbpaogfholo: ::prost::alloc::vec::Vec, + #[xor(11829)] + #[prost(uint32, tag = "9")] + pub jodadfonlob: u32, + #[prost(message, optional, tag = "14")] + pub apacdkacfnd: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbhllpghmhe { + #[prost(enumeration = "Goiliboheob", tag = "1")] + pub r#type: i32, + #[prost(message, optional, tag = "2")] + pub pcnabdlhnmp: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub chbakdfhbjl: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub uid: ::core::option::Option, + #[prost(string, tag = "5")] + pub njkfgjmkbdb: ::prost::alloc::string::String, + #[prost(message, optional, tag = "6")] + pub ikmpafnhfmi: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub admcbagkalo: ::core::option::Option, + #[prost(message, repeated, tag = "8")] + pub kbkljfeikpb: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub gjijonibkgd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub kokcgioeocc: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(message, repeated, tag = "12")] + pub ilgllihoeci: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2712)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnkoibdjphh { + #[xor(3705)] + #[prost(uint64, tag = "4")] + pub fdfjcoccaoa: u64, + #[xor(15216)] + #[prost(uint64, tag = "5")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "8")] + pub info: ::core::option::Option, + #[prost(message, repeated, tag = "1")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3426)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlhkjpepmma { + #[prost(map = "uint32, int32", tag = "14")] + pub djklfkplljh: ::std::collections::HashMap, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(164)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Lmmdjkpoihp { + #[xor(6728)] + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(bool, tag = "4")] + pub finished: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Fcgipmhebjc { + #[prost(uint32, tag = "1")] + pub jhooejigljp: u32, + #[prost(uint32, tag = "2")] + pub ianhccpdolj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfkoinkkkkg { + #[prost(uint32, repeated, tag = "1")] + pub doimifepane: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4959)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gahjnnbkgmn { + #[prost(map = "uint32, uint32", tag = "9")] + pub pdhaoenmebe: ::std::collections::HashMap, + #[prost(message, repeated, tag = "6")] + pub kjohnfdnfjh: ::prost::alloc::vec::Vec, + #[xor(9429)] + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(message, optional, tag = "15")] + pub dcgooojbefg: ::core::option::Option, + #[prost(bool, tag = "7")] + pub ooiglkgojao: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2200)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetResourceDataScRsp { + #[prost(map = "uint32, message", tag = "3")] + pub auto_recovery_info: ::std::collections::HashMap, + #[prost(message, repeated, tag = "1")] + pub resource_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub kbnffcbcngh: ::prost::alloc::vec::Vec, + #[xor(918)] + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9595)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerGetTokenScRsp { + /// VMP DETECTED + /// + #[prost(string, tag = "1")] + pub sign: ::prost::alloc::string::String, + #[xor(13343)] + #[prost(uint32, tag = "5")] + pub uid: u32, + #[xor(2331)] + #[prost(uint32, tag = "6")] + pub pjmhbmfeade: u32, + #[prost(string, tag = "7")] + pub lcljjhpcdca: ::prost::alloc::string::String, + #[xor(9603)] + #[prost(int64, tag = "12")] + pub iibbjaochpk: i64, + #[xor(3064)] + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(string, tag = "14")] + pub server_rand_key: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1626)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct GetWebActivityDataCsReq {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bajiigiinmb { + #[xor(5335)] + #[prost(uint32, tag = "1")] + pub lpnkdjhhphn: u32, + #[xor(971)] + #[prost(uint32, tag = "13")] + pub ahocgnkkngp: u32, + #[prost(string, tag = "4")] + pub amijnnpcpkl: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khinfkafkfo { + #[prost(message, repeated, tag = "1")] + pub dedkbgegamn: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub igogghmifmc: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub eoajdjbnjon: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub hjdloaehcoa: ::core::option::Option, + #[prost(bool, tag = "5")] + pub heeflpbgfoh: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlndkenohjb { + #[prost(oneof = "hlndkenohjb::Acjfaknjkne", tags = "1, 2, 3")] + pub acjfaknjkne: ::core::option::Option, +} +/// Nested message and enum types in `HLNDKENOHJB`. +pub mod hlndkenohjb { + #[derive(yanagi_proto_derive::CmdID)] + #[derive(yanagi_proto_derive::XorFields)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Acjfaknjkne { + #[prost(message, tag = "1")] + MiniGameParam(super::Oailifacjmk), + #[prost(message, tag = "2")] + ActGameParam(super::Eiabblfgifi), + #[prost(message, tag = "3")] + HollowParam(super::Iifflkmmcle), + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6686)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Deodgadfdni {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1862)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfjjhidfjff { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, + #[prost(bool, tag = "3")] + pub fglbjejpamb: bool, + #[xor(4002)] + #[prost(uint32, tag = "9")] + pub henmkajoacj: u32, + #[xor(582)] + #[prost(uint32, tag = "12")] + pub section_id: u32, + #[xor(9408)] + #[prost(uint32, tag = "13")] + pub fgemocaekfi: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4584)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbkeebpcmbm { + #[prost(uint32, repeated, tag = "5")] + pub bfgenanklmg: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(6542)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Laiffnhcjba { + #[xor(14282)] + #[prost(uint32, tag = "6")] + pub kikoolloddg: u32, + #[prost(message, optional, tag = "15")] + pub jphcicnafmh: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub hnomjlobbfd: ::core::option::Option, + #[xor(16232)] + #[prost(int32, tag = "12")] + pub bmbaomnopja: i32, + #[prost(bool, tag = "1")] + pub gafnehmpopp: bool, + #[prost(message, optional, tag = "10")] + pub hhafhhpkcep: ::core::option::Option, + #[prost(bool, tag = "5")] + pub abhdbijjpbo: bool, + #[xor(5600)] + #[prost(int32, tag = "11")] + pub pbhlmpjkppg: i32, + #[xor(10957)] + #[prost(int32, tag = "4")] + pub lglpmlegedg: i32, + #[xor(11112)] + #[prost(int32, tag = "14")] + pub obmhdjhfgom: i32, + #[prost(bool, tag = "2")] + pub kibmgnkioci: bool, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djhgebegpcp { + #[prost(string, repeated, tag = "1")] + pub ngmlghpniag: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, tag = "2")] + pub gkflcgnokbk: bool, + #[prost(enumeration = "Gdibboodhok", tag = "3")] + pub gdmeijffgdk: i32, + #[prost(uint32, tag = "4")] + pub uid: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahplgnpfech { + #[prost(string, tag = "1")] + pub appdnhldamm: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub dedkcldjeke: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub kmfjeamdebl: ::core::option::Option, + #[prost(string, tag = "4")] + pub cgeebgpljnh: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Jpcoadbaogc {} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(2497)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ifmbejicmop { + #[prost(enumeration = "Kclkglckean", tag = "11")] + pub imbbdhigooc: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cecmfbcjljh { + #[prost(message, repeated, tag = "1")] + pub mcibilmneih: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4483)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcmfobjmebk { + #[prost(message, repeated, tag = "8")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(4569)] + #[prost(uint64, tag = "11")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "13")] + pub info: ::core::option::Option, + #[xor(9498)] + #[prost(uint64, tag = "5")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mapojelinok { + #[prost(enumeration = "Odonpppeeik", tag = "1")] + pub r#type: i32, + #[prost(message, optional, tag = "2")] + pub mgjdcahcpfa: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub position: ::core::option::Option, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4859)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Opnggijajeh { + #[xor(2137)] + #[prost(uint32, tag = "15")] + pub pigjgigjngb: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfknmlhplko { + #[prost(string, tag = "1")] + pub kcclegdlljc: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub jhknllpfafm: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub jmoddhjlecc: ::prost::alloc::string::String, + #[prost(uint32, tag = "4")] + pub domkbfibcfo: u32, + #[prost(uint32, tag = "5")] + pub acjgpicjihd: u32, + #[prost(string, tag = "6")] + pub idjmodhihjj: ::prost::alloc::string::String, + #[prost(bool, tag = "7")] + pub jlkoilinpoc: bool, + #[prost(uint32, tag = "8")] + pub ddbmjpajmnc: u32, + #[prost(uint32, tag = "9")] + pub uid: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gndfngdhopf { + #[prost(string, tag = "1")] + pub group: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub hfgdjcfhokn: ::prost::alloc::string::String, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(9466)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjnigfjaeob { + #[xor(15271)] + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(message, repeated, tag = "7")] + pub lcipdallclh: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kinbgdhkomb { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(int32, tag = "2")] + pub fiieiehipik: i32, + #[prost(uint32, tag = "3")] + pub ocphdlakcfj: u32, + #[prost(uint32, tag = "4")] + pub lkdbeecbglo: u32, + #[prost(uint32, tag = "5")] + pub elpemeghddi: u32, + #[prost(uint32, tag = "6")] + pub foheinkeibm: u32, + #[prost(enumeration = "HollowShopCurrencyType", tag = "7")] + pub pbjklbpmail: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nokahefkiog { + #[prost(uint64, repeated, tag = "11")] + pub dkojoijibka: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(7684)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ahdkodiidng { + #[xor(11315)] + #[prost(uint32, tag = "2")] + pub group: u32, + #[xor(6400)] + #[prost(uint32, tag = "9")] + pub dimdlbpkbaj: u32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahbecemmghb { + #[prost(message, optional, tag = "1")] + pub nfmojhjjldd: ::core::option::Option, + #[prost(enumeration = "Bahlemdifco", tag = "2")] + pub r#type: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(373)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Hmenkfloaod {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Adailfpniog { + #[prost(enumeration = "TimePeriodType", tag = "1")] + pub time_period: i32, + #[prost(int32, tag = "2")] + pub hccbgkjolcb: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(3512)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Iahiaacnooi { + #[xor(2353)] + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(4678)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpmnlaghbfl { + #[prost(message, repeated, tag = "9")] + pub makhbhhdpii: ::prost::alloc::vec::Vec, + #[xor(4858)] + #[prost(uint64, tag = "13")] + pub fkcdkdiacni: u64, + #[prost(message, optional, tag = "15")] + pub info: ::core::option::Option, + #[xor(4152)] + #[prost(uint64, tag = "4")] + pub fdfjcoccaoa: u64, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ArchiveInfo { + #[prost(uint32, repeated, tag = "9")] + pub mdfapdghdah: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub hollow_archive_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub fbaomddpdhm: ::prost::alloc::vec::Vec, + #[xor(9763)] + #[prost(int32, tag = "4")] + pub eiebnmhcmal: i32, + #[prost(message, repeated, tag = "1")] + pub videotaps_info: ::prost::alloc::vec::Vec, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(1487)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Dhdedhjgalm { + #[xor(11006)] + #[prost(int32, tag = "14")] + pub avatar_id: i32, + #[xor(1906)] + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[cmdid(650)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Ndglnbpcamp { + #[xor(15707)] + #[prost(int32, tag = "11")] + pub nmignhinnpp: i32, +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Kpjklfgpnaj {} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dlcinfgheml { + Ejfkcochfij = 0, + Nmkhgejfpla = 1, + Bndonfpfdjm = 2, + Njpclmfjdcg = 3, + Kodobildjbn = 4, + Cdgegjnmanl = 5, + Cflmffhpkia = 6, +} +impl Dlcinfgheml { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ejfkcochfij => "DLCINFGHEML_EJFKCOCHFIJ", + Self::Nmkhgejfpla => "DLCINFGHEML_NMKHGEJFPLA", + Self::Bndonfpfdjm => "DLCINFGHEML_BNDONFPFDJM", + Self::Njpclmfjdcg => "DLCINFGHEML_NJPCLMFJDCG", + Self::Kodobildjbn => "DLCINFGHEML_KODOBILDJBN", + Self::Cdgegjnmanl => "DLCINFGHEML_CDGEGJNMANL", + Self::Cflmffhpkia => "DLCINFGHEML_CFLMFFHPKIA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DLCINFGHEML_EJFKCOCHFIJ" => Some(Self::Ejfkcochfij), + "DLCINFGHEML_NMKHGEJFPLA" => Some(Self::Nmkhgejfpla), + "DLCINFGHEML_BNDONFPFDJM" => Some(Self::Bndonfpfdjm), + "DLCINFGHEML_NJPCLMFJDCG" => Some(Self::Njpclmfjdcg), + "DLCINFGHEML_KODOBILDJBN" => Some(Self::Kodobildjbn), + "DLCINFGHEML_CDGEGJNMANL" => Some(Self::Cdgegjnmanl), + "DLCINFGHEML_CFLMFFHPKIA" => Some(Self::Cflmffhpkia), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gecbbkojhoc { + Bnijjlmlgnl = 0, +} +impl Gecbbkojhoc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bnijjlmlgnl => "GECBBKOJHOC_BNIJJLMLGNL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GECBBKOJHOC_BNIJJLMLGNL" => Some(Self::Bnijjlmlgnl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lbopmmkgojb { + Hdfhblgmjkb = 0, + Fmjmjpgnhki = 1, +} +impl Lbopmmkgojb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hdfhblgmjkb => "LBOPMMKGOJB_HDFHBLGMJKB", + Self::Fmjmjpgnhki => "LBOPMMKGOJB_FMJMJPGNHKI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LBOPMMKGOJB_HDFHBLGMJKB" => Some(Self::Hdfhblgmjkb), + "LBOPMMKGOJB_FMJMJPGNHKI" => Some(Self::Fmjmjpgnhki), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Neaglmokbip { + Pkeicflickm = 0, + Bhjdbkfjkfi = 1, + Ebjjkejfoli = 2, +} +impl Neaglmokbip { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pkeicflickm => "NEAGLMOKBIP_PKEICFLICKM", + Self::Bhjdbkfjkfi => "NEAGLMOKBIP_BHJDBKFJKFI", + Self::Ebjjkejfoli => "NEAGLMOKBIP_EBJJKEJFOLI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NEAGLMOKBIP_PKEICFLICKM" => Some(Self::Pkeicflickm), + "NEAGLMOKBIP_BHJDBKFJKFI" => Some(Self::Bhjdbkfjkfi), + "NEAGLMOKBIP_EBJJKEJFOLI" => Some(Self::Ebjjkejfoli), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hhfhcilfaoa { + All = 0, + Core = 1, + Noncore = 2, +} +impl Hhfhcilfaoa { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::All => "HHFHCILFAOA_ALL", + Self::Core => "HHFHCILFAOA_CORE", + Self::Noncore => "HHFHCILFAOA_NONCORE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HHFHCILFAOA_ALL" => Some(Self::All), + "HHFHCILFAOA_CORE" => Some(Self::Core), + "HHFHCILFAOA_NONCORE" => Some(Self::Noncore), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Klffejfabjf { + Mphhfjmodmi = 0, + Eddleaejpon = 1, +} +impl Klffejfabjf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mphhfjmodmi => "KLFFEJFABJF_MPHHFJMODMI", + Self::Eddleaejpon => "KLFFEJFABJF_EDDLEAEJPON", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KLFFEJFABJF_MPHHFJMODMI" => Some(Self::Mphhfjmodmi), + "KLFFEJFABJF_EDDLEAEJPON" => Some(Self::Eddleaejpon), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fijdnfaehko { + Ikpfnkpbipj = 0, + Agiddmpaekc = 1, +} +impl Fijdnfaehko { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ikpfnkpbipj => "FIJDNFAEHKO_IKPFNKPBIPJ", + Self::Agiddmpaekc => "FIJDNFAEHKO_AGIDDMPAEKC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FIJDNFAEHKO_IKPFNKPBIPJ" => Some(Self::Ikpfnkpbipj), + "FIJDNFAEHKO_AGIDDMPAEKC" => Some(Self::Agiddmpaekc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gcdccloahfl { + Dljjaamnckj = 0, + Mnmclbenmij = 1, + Blemboemgln = 2, + Onbnnpkmcgh = 3, +} +impl Gcdccloahfl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dljjaamnckj => "GCDCCLOAHFL_DLJJAAMNCKJ", + Self::Mnmclbenmij => "GCDCCLOAHFL_MNMCLBENMIJ", + Self::Blemboemgln => "GCDCCLOAHFL_BLEMBOEMGLN", + Self::Onbnnpkmcgh => "GCDCCLOAHFL_ONBNNPKMCGH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GCDCCLOAHFL_DLJJAAMNCKJ" => Some(Self::Dljjaamnckj), + "GCDCCLOAHFL_MNMCLBENMIJ" => Some(Self::Mnmclbenmij), + "GCDCCLOAHFL_BLEMBOEMGLN" => Some(Self::Blemboemgln), + "GCDCCLOAHFL_ONBNNPKMCGH" => Some(Self::Onbnnpkmcgh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nphfolplfih { + Fencpphcadd = 0, + Kplbgbcincg = 1001, + Lbkghniehko = 1004, + Pjhlmnigfpc = 1008, + Odladmlhdab = 2003, + Ilcdjlkhkpo = 2004, + Lkdkinnelgi = 2005, +} +impl Nphfolplfih { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fencpphcadd => "NPHFOLPLFIH_FENCPPHCADD", + Self::Kplbgbcincg => "NPHFOLPLFIH_KPLBGBCINCG", + Self::Lbkghniehko => "NPHFOLPLFIH_LBKGHNIEHKO", + Self::Pjhlmnigfpc => "NPHFOLPLFIH_PJHLMNIGFPC", + Self::Odladmlhdab => "NPHFOLPLFIH_ODLADMLHDAB", + Self::Ilcdjlkhkpo => "NPHFOLPLFIH_ILCDJLKHKPO", + Self::Lkdkinnelgi => "NPHFOLPLFIH_LKDKINNELGI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NPHFOLPLFIH_FENCPPHCADD" => Some(Self::Fencpphcadd), + "NPHFOLPLFIH_KPLBGBCINCG" => Some(Self::Kplbgbcincg), + "NPHFOLPLFIH_LBKGHNIEHKO" => Some(Self::Lbkghniehko), + "NPHFOLPLFIH_PJHLMNIGFPC" => Some(Self::Pjhlmnigfpc), + "NPHFOLPLFIH_ODLADMLHDAB" => Some(Self::Odladmlhdab), + "NPHFOLPLFIH_ILCDJLKHKPO" => Some(Self::Ilcdjlkhkpo), + "NPHFOLPLFIH_LKDKINNELGI" => Some(Self::Lkdkinnelgi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum HollowGridLink { + HollowGridLinkNone = 0, + Up = 1, + Down = 2, + Right = 4, + Left = 8, + HollowGridLinkAll = 15, +} +impl HollowGridLink { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowGridLinkNone => "HollowGridLink_HOLLOW_GRID_LINK_NONE", + Self::Up => "HollowGridLink_UP", + Self::Down => "HollowGridLink_DOWN", + Self::Right => "HollowGridLink_RIGHT", + Self::Left => "HollowGridLink_LEFT", + Self::HollowGridLinkAll => "HollowGridLink_HOLLOW_GRID_LINK_ALL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HollowGridLink_HOLLOW_GRID_LINK_NONE" => Some(Self::HollowGridLinkNone), + "HollowGridLink_UP" => Some(Self::Up), + "HollowGridLink_DOWN" => Some(Self::Down), + "HollowGridLink_RIGHT" => Some(Self::Right), + "HollowGridLink_LEFT" => Some(Self::Left), + "HollowGridLink_HOLLOW_GRID_LINK_ALL" => Some(Self::HollowGridLinkAll), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Odlnlfmbnff { + Dhjmokocied = 0, +} +impl Odlnlfmbnff { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dhjmokocied => "ODLNLFMBNFF_DHJMOKOCIED", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ODLNLFMBNFF_DHJMOKOCIED" => Some(Self::Dhjmokocied), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nnpkhgoghdc { + Iojdgmhdhij = 0, + Oojlbbgdjea = 1, + Gmmjdffmjbb = 2, + Knbnagnbopd = 3, + Oejkjjbnhch = 4, + Mookgdpifil = 5, +} +impl Nnpkhgoghdc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Iojdgmhdhij => "NNPKHGOGHDC_IOJDGMHDHIJ", + Self::Oojlbbgdjea => "NNPKHGOGHDC_OOJLBBGDJEA", + Self::Gmmjdffmjbb => "NNPKHGOGHDC_GMMJDFFMJBB", + Self::Knbnagnbopd => "NNPKHGOGHDC_KNBNAGNBOPD", + Self::Oejkjjbnhch => "NNPKHGOGHDC_OEJKJJBNHCH", + Self::Mookgdpifil => "NNPKHGOGHDC_MOOKGDPIFIL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NNPKHGOGHDC_IOJDGMHDHIJ" => Some(Self::Iojdgmhdhij), + "NNPKHGOGHDC_OOJLBBGDJEA" => Some(Self::Oojlbbgdjea), + "NNPKHGOGHDC_GMMJDFFMJBB" => Some(Self::Gmmjdffmjbb), + "NNPKHGOGHDC_KNBNAGNBOPD" => Some(Self::Knbnagnbopd), + "NNPKHGOGHDC_OEJKJJBNHCH" => Some(Self::Oejkjjbnhch), + "NNPKHGOGHDC_MOOKGDPIFIL" => Some(Self::Mookgdpifil), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Idmmjklbfio { + Nhpibhcbnjp = 0, + Kpohgakaeln = 1, + Pkcjmgailfo = 2, + Mfgbnjfakak = 3, + Djigdbkonjk = 4, + Gfeaikhdlmm = 5, + Dnomcidhikp = 6, + Lgjfdoilfdd = 7, + Ddkpddnbpdp = 8, + Hilkapjphmc = 9, + Pnijgfgbgnh = 10, + Pmegfmpbdio = 11, + Kiihihpppec = 12, + Obkoacgblkp = 13, +} +impl Idmmjklbfio { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nhpibhcbnjp => "IDMMJKLBFIO_NHPIBHCBNJP", + Self::Kpohgakaeln => "IDMMJKLBFIO_KPOHGAKAELN", + Self::Pkcjmgailfo => "IDMMJKLBFIO_PKCJMGAILFO", + Self::Mfgbnjfakak => "IDMMJKLBFIO_MFGBNJFAKAK", + Self::Djigdbkonjk => "IDMMJKLBFIO_DJIGDBKONJK", + Self::Gfeaikhdlmm => "IDMMJKLBFIO_GFEAIKHDLMM", + Self::Dnomcidhikp => "IDMMJKLBFIO_DNOMCIDHIKP", + Self::Lgjfdoilfdd => "IDMMJKLBFIO_LGJFDOILFDD", + Self::Ddkpddnbpdp => "IDMMJKLBFIO_DDKPDDNBPDP", + Self::Hilkapjphmc => "IDMMJKLBFIO_HILKAPJPHMC", + Self::Pnijgfgbgnh => "IDMMJKLBFIO_PNIJGFGBGNH", + Self::Pmegfmpbdio => "IDMMJKLBFIO_PMEGFMPBDIO", + Self::Kiihihpppec => "IDMMJKLBFIO_KIIHIHPPPEC", + Self::Obkoacgblkp => "IDMMJKLBFIO_OBKOACGBLKP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IDMMJKLBFIO_NHPIBHCBNJP" => Some(Self::Nhpibhcbnjp), + "IDMMJKLBFIO_KPOHGAKAELN" => Some(Self::Kpohgakaeln), + "IDMMJKLBFIO_PKCJMGAILFO" => Some(Self::Pkcjmgailfo), + "IDMMJKLBFIO_MFGBNJFAKAK" => Some(Self::Mfgbnjfakak), + "IDMMJKLBFIO_DJIGDBKONJK" => Some(Self::Djigdbkonjk), + "IDMMJKLBFIO_GFEAIKHDLMM" => Some(Self::Gfeaikhdlmm), + "IDMMJKLBFIO_DNOMCIDHIKP" => Some(Self::Dnomcidhikp), + "IDMMJKLBFIO_LGJFDOILFDD" => Some(Self::Lgjfdoilfdd), + "IDMMJKLBFIO_DDKPDDNBPDP" => Some(Self::Ddkpddnbpdp), + "IDMMJKLBFIO_HILKAPJPHMC" => Some(Self::Hilkapjphmc), + "IDMMJKLBFIO_PNIJGFGBGNH" => Some(Self::Pnijgfgbgnh), + "IDMMJKLBFIO_PMEGFMPBDIO" => Some(Self::Pmegfmpbdio), + "IDMMJKLBFIO_KIIHIHPPPEC" => Some(Self::Kiihihpppec), + "IDMMJKLBFIO_OBKOACGBLKP" => Some(Self::Obkoacgblkp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jejodbhanjk { + Nchkahlifdg = 0, + Kagcikecijh = 1, + Mciaohibcdb = 2, + Ffbfjckdhfl = 3, + Dnppglkpado = 4, + Olccdhmfnbd = 5, +} +impl Jejodbhanjk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nchkahlifdg => "JEJODBHANJK_NCHKAHLIFDG", + Self::Kagcikecijh => "JEJODBHANJK_KAGCIKECIJH", + Self::Mciaohibcdb => "JEJODBHANJK_MCIAOHIBCDB", + Self::Ffbfjckdhfl => "JEJODBHANJK_FFBFJCKDHFL", + Self::Dnppglkpado => "JEJODBHANJK_DNPPGLKPADO", + Self::Olccdhmfnbd => "JEJODBHANJK_OLCCDHMFNBD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JEJODBHANJK_NCHKAHLIFDG" => Some(Self::Nchkahlifdg), + "JEJODBHANJK_KAGCIKECIJH" => Some(Self::Kagcikecijh), + "JEJODBHANJK_MCIAOHIBCDB" => Some(Self::Mciaohibcdb), + "JEJODBHANJK_FFBFJCKDHFL" => Some(Self::Ffbfjckdhfl), + "JEJODBHANJK_DNPPGLKPADO" => Some(Self::Dnppglkpado), + "JEJODBHANJK_OLCCDHMFNBD" => Some(Self::Olccdhmfnbd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jdbnfhbobih { + Bhcjofddepd = 0, + Fnkbakhbgcm = 1, + Idajidkckoa = 2, + Gkmajejniaj = 3, + Fikgpphcggh = 4, + Fokcmfbpmef = 5, + Ljcofedaggf = 6, +} +impl Jdbnfhbobih { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bhcjofddepd => "JDBNFHBOBIH_BHCJOFDDEPD", + Self::Fnkbakhbgcm => "JDBNFHBOBIH_FNKBAKHBGCM", + Self::Idajidkckoa => "JDBNFHBOBIH_IDAJIDKCKOA", + Self::Gkmajejniaj => "JDBNFHBOBIH_GKMAJEJNIAJ", + Self::Fikgpphcggh => "JDBNFHBOBIH_FIKGPPHCGGH", + Self::Fokcmfbpmef => "JDBNFHBOBIH_FOKCMFBPMEF", + Self::Ljcofedaggf => "JDBNFHBOBIH_LJCOFEDAGGF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JDBNFHBOBIH_BHCJOFDDEPD" => Some(Self::Bhcjofddepd), + "JDBNFHBOBIH_FNKBAKHBGCM" => Some(Self::Fnkbakhbgcm), + "JDBNFHBOBIH_IDAJIDKCKOA" => Some(Self::Idajidkckoa), + "JDBNFHBOBIH_GKMAJEJNIAJ" => Some(Self::Gkmajejniaj), + "JDBNFHBOBIH_FIKGPPHCGGH" => Some(Self::Fikgpphcggh), + "JDBNFHBOBIH_FOKCMFBPMEF" => Some(Self::Fokcmfbpmef), + "JDBNFHBOBIH_LJCOFEDAGGF" => Some(Self::Ljcofedaggf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Amckpejoijn { + Ckiihjpamdm = 0, +} +impl Amckpejoijn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ckiihjpamdm => "AMCKPEJOIJN_CKIIHJPAMDM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AMCKPEJOIJN_CKIIHJPAMDM" => Some(Self::Ckiihjpamdm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dekghfophnj { + TypeOfEntityParamNone = 0, + TypeOfEntityParamInt = 1, + TypeOfEntityParamVec2 = 2, +} +impl Dekghfophnj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::TypeOfEntityParamNone => "DEKGHFOPHNJ_TYPE_OF_ENTITY_PARAM_NONE", + Self::TypeOfEntityParamInt => "DEKGHFOPHNJ_TYPE_OF_ENTITY_PARAM_INT", + Self::TypeOfEntityParamVec2 => "DEKGHFOPHNJ_TYPE_OF_ENTITY_PARAM_VEC2", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DEKGHFOPHNJ_TYPE_OF_ENTITY_PARAM_NONE" => Some(Self::TypeOfEntityParamNone), + "DEKGHFOPHNJ_TYPE_OF_ENTITY_PARAM_INT" => Some(Self::TypeOfEntityParamInt), + "DEKGHFOPHNJ_TYPE_OF_ENTITY_PARAM_VEC2" => Some(Self::TypeOfEntityParamVec2), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nkoahlbbkbh { + VarTypeNone = 0, + VarTypeInt = 1, + VarTypeString = 2, + VarTypeVector2 = 3, + VarTypeListInt = 4, + VarTypeListString = 5, + VarTypeListVector2 = 6, +} +impl Nkoahlbbkbh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::VarTypeNone => "NKOAHLBBKBH_VAR_TYPE_NONE", + Self::VarTypeInt => "NKOAHLBBKBH_VAR_TYPE_INT", + Self::VarTypeString => "NKOAHLBBKBH_VAR_TYPE_STRING", + Self::VarTypeVector2 => "NKOAHLBBKBH_VAR_TYPE_VECTOR2", + Self::VarTypeListInt => "NKOAHLBBKBH_VAR_TYPE_LIST_INT", + Self::VarTypeListString => "NKOAHLBBKBH_VAR_TYPE_LIST_STRING", + Self::VarTypeListVector2 => "NKOAHLBBKBH_VAR_TYPE_LIST_VECTOR2", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NKOAHLBBKBH_VAR_TYPE_NONE" => Some(Self::VarTypeNone), + "NKOAHLBBKBH_VAR_TYPE_INT" => Some(Self::VarTypeInt), + "NKOAHLBBKBH_VAR_TYPE_STRING" => Some(Self::VarTypeString), + "NKOAHLBBKBH_VAR_TYPE_VECTOR2" => Some(Self::VarTypeVector2), + "NKOAHLBBKBH_VAR_TYPE_LIST_INT" => Some(Self::VarTypeListInt), + "NKOAHLBBKBH_VAR_TYPE_LIST_STRING" => Some(Self::VarTypeListString), + "NKOAHLBBKBH_VAR_TYPE_LIST_VECTOR2" => Some(Self::VarTypeListVector2), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Najhlmfojjg { + Oifjppmhloc = 0, + Eaeaoenaeef = 1, + Edpkfhephod = 2, +} +impl Najhlmfojjg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Oifjppmhloc => "NAJHLMFOJJG_OIFJPPMHLOC", + Self::Eaeaoenaeef => "NAJHLMFOJJG_EAEAOENAEEF", + Self::Edpkfhephod => "NAJHLMFOJJG_EDPKFHEPHOD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NAJHLMFOJJG_OIFJPPMHLOC" => Some(Self::Oifjppmhloc), + "NAJHLMFOJJG_EAEAOENAEEF" => Some(Self::Eaeaoenaeef), + "NAJHLMFOJJG_EDPKFHEPHOD" => Some(Self::Edpkfhephod), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Almljipkkpm { + Okineilphlf = 0, + Mjnjjomencf = 1, + Cdjnfhomnim = 2, +} +impl Almljipkkpm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Okineilphlf => "ALMLJIPKKPM_OKINEILPHLF", + Self::Mjnjjomencf => "ALMLJIPKKPM_MJNJJOMENCF", + Self::Cdjnfhomnim => "ALMLJIPKKPM_CDJNFHOMNIM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ALMLJIPKKPM_OKINEILPHLF" => Some(Self::Okineilphlf), + "ALMLJIPKKPM_MJNJJOMENCF" => Some(Self::Mjnjjomencf), + "ALMLJIPKKPM_CDJNFHOMNIM" => Some(Self::Cdjnfhomnim), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mkokbfcadnh { + Deggcnkoiaj = 0, + Omcdjmniocc = 1, + Cmgdglejgem = 2, + Cfggkhmlokk = 3, + Fdppllkfmbh = 4, + Jlpkinkinli = 5, + Ijacolaafkc = 6, + Bohfnfaeiaj = 7, + Kgcjajnhpoc = 8, + Jbjpmocobap = 9, + Jmigbhpnnhl = 10, + Ffeopalhlhm = 11, + Oahnmenoaka = 12, +} +impl Mkokbfcadnh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Deggcnkoiaj => "MKOKBFCADNH_DEGGCNKOIAJ", + Self::Omcdjmniocc => "MKOKBFCADNH_OMCDJMNIOCC", + Self::Cmgdglejgem => "MKOKBFCADNH_CMGDGLEJGEM", + Self::Cfggkhmlokk => "MKOKBFCADNH_CFGGKHMLOKK", + Self::Fdppllkfmbh => "MKOKBFCADNH_FDPPLLKFMBH", + Self::Jlpkinkinli => "MKOKBFCADNH_JLPKINKINLI", + Self::Ijacolaafkc => "MKOKBFCADNH_IJACOLAAFKC", + Self::Bohfnfaeiaj => "MKOKBFCADNH_BOHFNFAEIAJ", + Self::Kgcjajnhpoc => "MKOKBFCADNH_KGCJAJNHPOC", + Self::Jbjpmocobap => "MKOKBFCADNH_JBJPMOCOBAP", + Self::Jmigbhpnnhl => "MKOKBFCADNH_JMIGBHPNNHL", + Self::Ffeopalhlhm => "MKOKBFCADNH_FFEOPALHLHM", + Self::Oahnmenoaka => "MKOKBFCADNH_OAHNMENOAKA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MKOKBFCADNH_DEGGCNKOIAJ" => Some(Self::Deggcnkoiaj), + "MKOKBFCADNH_OMCDJMNIOCC" => Some(Self::Omcdjmniocc), + "MKOKBFCADNH_CMGDGLEJGEM" => Some(Self::Cmgdglejgem), + "MKOKBFCADNH_CFGGKHMLOKK" => Some(Self::Cfggkhmlokk), + "MKOKBFCADNH_FDPPLLKFMBH" => Some(Self::Fdppllkfmbh), + "MKOKBFCADNH_JLPKINKINLI" => Some(Self::Jlpkinkinli), + "MKOKBFCADNH_IJACOLAAFKC" => Some(Self::Ijacolaafkc), + "MKOKBFCADNH_BOHFNFAEIAJ" => Some(Self::Bohfnfaeiaj), + "MKOKBFCADNH_KGCJAJNHPOC" => Some(Self::Kgcjajnhpoc), + "MKOKBFCADNH_JBJPMOCOBAP" => Some(Self::Jbjpmocobap), + "MKOKBFCADNH_JMIGBHPNNHL" => Some(Self::Jmigbhpnnhl), + "MKOKBFCADNH_FFEOPALHLHM" => Some(Self::Ffeopalhlhm), + "MKOKBFCADNH_OAHNMENOAKA" => Some(Self::Oahnmenoaka), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ahphiaenaeo { + MphEntityTypeNone = 0, + MphEntityTypePlayer = 1, + MphEntityTypeNpc = 2, + MphEntityTypeGrid = 3, + MphEntityTypeSection = 4, +} +impl Ahphiaenaeo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::MphEntityTypeNone => "AHPHIAENAEO_MPH_ENTITY_TYPE_NONE", + Self::MphEntityTypePlayer => "AHPHIAENAEO_MPH_ENTITY_TYPE_PLAYER", + Self::MphEntityTypeNpc => "AHPHIAENAEO_MPH_ENTITY_TYPE_NPC", + Self::MphEntityTypeGrid => "AHPHIAENAEO_MPH_ENTITY_TYPE_GRID", + Self::MphEntityTypeSection => "AHPHIAENAEO_MPH_ENTITY_TYPE_SECTION", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AHPHIAENAEO_MPH_ENTITY_TYPE_NONE" => Some(Self::MphEntityTypeNone), + "AHPHIAENAEO_MPH_ENTITY_TYPE_PLAYER" => Some(Self::MphEntityTypePlayer), + "AHPHIAENAEO_MPH_ENTITY_TYPE_NPC" => Some(Self::MphEntityTypeNpc), + "AHPHIAENAEO_MPH_ENTITY_TYPE_GRID" => Some(Self::MphEntityTypeGrid), + "AHPHIAENAEO_MPH_ENTITY_TYPE_SECTION" => Some(Self::MphEntityTypeSection), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cnobbckbiio { + Apjghdhhfpi = 0, +} +impl Cnobbckbiio { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Apjghdhhfpi => "CNOBBCKBIIO_APJGHDHHFPI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CNOBBCKBIIO_APJGHDHHFPI" => Some(Self::Apjghdhhfpi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fohngdeoabe { + Kkdhekmnolh = 0, + Oeankhbbgol = 1, + Opniokmpkae = 2, + Jhheccdlhld = 3, +} +impl Fohngdeoabe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kkdhekmnolh => "FOHNGDEOABE_KKDHEKMNOLH", + Self::Oeankhbbgol => "FOHNGDEOABE_OEANKHBBGOL", + Self::Opniokmpkae => "FOHNGDEOABE_OPNIOKMPKAE", + Self::Jhheccdlhld => "FOHNGDEOABE_JHHECCDLHLD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FOHNGDEOABE_KKDHEKMNOLH" => Some(Self::Kkdhekmnolh), + "FOHNGDEOABE_OEANKHBBGOL" => Some(Self::Oeankhbbgol), + "FOHNGDEOABE_OPNIOKMPKAE" => Some(Self::Opniokmpkae), + "FOHNGDEOABE_JHHECCDLHLD" => Some(Self::Jhheccdlhld), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ndonkejhhki { + Faokljninph = 0, + Nhkbongogoo = 1, + Phkijgmiced = 2, + Dodmmlbldpo = 3, +} +impl Ndonkejhhki { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Faokljninph => "NDONKEJHHKI_FAOKLJNINPH", + Self::Nhkbongogoo => "NDONKEJHHKI_NHKBONGOGOO", + Self::Phkijgmiced => "NDONKEJHHKI_PHKIJGMICED", + Self::Dodmmlbldpo => "NDONKEJHHKI_DODMMLBLDPO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NDONKEJHHKI_FAOKLJNINPH" => Some(Self::Faokljninph), + "NDONKEJHHKI_NHKBONGOGOO" => Some(Self::Nhkbongogoo), + "NDONKEJHHKI_PHKIJGMICED" => Some(Self::Phkijgmiced), + "NDONKEJHHKI_DODMMLBLDPO" => Some(Self::Dodmmlbldpo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gimjfpeannp { + Kjoajkcfkmo = 0, + Lebmcecepcj = 1, +} +impl Gimjfpeannp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kjoajkcfkmo => "GIMJFPEANNP_KJOAJKCFKMO", + Self::Lebmcecepcj => "GIMJFPEANNP_LEBMCECEPCJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GIMJFPEANNP_KJOAJKCFKMO" => Some(Self::Kjoajkcfkmo), + "GIMJFPEANNP_LEBMCECEPCJ" => Some(Self::Lebmcecepcj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oeelgfebacd { + TargetTypeNone = 0, + TargetTypeEvent = 1, + TargetTypeNpc = 2, +} +impl Oeelgfebacd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::TargetTypeNone => "OEELGFEBACD_TARGET_TYPE_NONE", + Self::TargetTypeEvent => "OEELGFEBACD_TARGET_TYPE_EVENT", + Self::TargetTypeNpc => "OEELGFEBACD_TARGET_TYPE_NPC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OEELGFEBACD_TARGET_TYPE_NONE" => Some(Self::TargetTypeNone), + "OEELGFEBACD_TARGET_TYPE_EVENT" => Some(Self::TargetTypeEvent), + "OEELGFEBACD_TARGET_TYPE_NPC" => Some(Self::TargetTypeNpc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fjdagjknojp { + Card = 0, + HollowItem = 6, +} +impl Fjdagjknojp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Card => "FJDAGJKNOJP_CARD", + Self::HollowItem => "FJDAGJKNOJP_HOLLOW_ITEM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FJDAGJKNOJP_CARD" => Some(Self::Card), + "FJDAGJKNOJP_HOLLOW_ITEM" => Some(Self::HollowItem), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ifdkhhhhala { + Gdoacgeodij = 0, + Emekbabahgi = 1, + Dmcmonhahah = 3, + Egblebjoega = 4, + Akjlmhdlmhb = 100, +} +impl Ifdkhhhhala { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gdoacgeodij => "IFDKHHHHALA_GDOACGEODIJ", + Self::Emekbabahgi => "IFDKHHHHALA_EMEKBABAHGI", + Self::Dmcmonhahah => "IFDKHHHHALA_DMCMONHAHAH", + Self::Egblebjoega => "IFDKHHHHALA_EGBLEBJOEGA", + Self::Akjlmhdlmhb => "IFDKHHHHALA_AKJLMHDLMHB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IFDKHHHHALA_GDOACGEODIJ" => Some(Self::Gdoacgeodij), + "IFDKHHHHALA_EMEKBABAHGI" => Some(Self::Emekbabahgi), + "IFDKHHHHALA_DMCMONHAHAH" => Some(Self::Dmcmonhahah), + "IFDKHHHHALA_EGBLEBJOEGA" => Some(Self::Egblebjoega), + "IFDKHHHHALA_AKJLMHDLMHB" => Some(Self::Akjlmhdlmhb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cfcbpmmdfhl { + Nmeionmcdmf = 0, + Nagoopknflc = 1, + Bbifnepmhil = 2, + Lhhjnhbkhfl = 3, + Bnbfbcjmlaf = 4, + Loljcbejdnj = 5, + Dadflmlolel = 6, + Labphobilbd = 7, + Cekenkckclf = 8, + Elgkbdjaija = 9, + Cliinnnieaf = 12, + Bgabgjpegcn = 13, + Njlpgdacemm = 14, + Mohignmegcp = 15, + Lhfpjikjdnj = 16, + Kcecmocpado = 17, + Bncilhbeopn = 18, + Kepmmocnafb = 19, + Iipkmmpinhd = 20, + Hpkkfeiidaf = 21, + Fdeiepnlplh = 22, + Nbkodeemoap = 23, + Dhppiollmei = 24, + Dlgendjimki = 25, +} +impl Cfcbpmmdfhl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nmeionmcdmf => "CFCBPMMDFHL_NMEIONMCDMF", + Self::Nagoopknflc => "CFCBPMMDFHL_NAGOOPKNFLC", + Self::Bbifnepmhil => "CFCBPMMDFHL_BBIFNEPMHIL", + Self::Lhhjnhbkhfl => "CFCBPMMDFHL_LHHJNHBKHFL", + Self::Bnbfbcjmlaf => "CFCBPMMDFHL_BNBFBCJMLAF", + Self::Loljcbejdnj => "CFCBPMMDFHL_LOLJCBEJDNJ", + Self::Dadflmlolel => "CFCBPMMDFHL_DADFLMLOLEL", + Self::Labphobilbd => "CFCBPMMDFHL_LABPHOBILBD", + Self::Cekenkckclf => "CFCBPMMDFHL_CEKENKCKCLF", + Self::Elgkbdjaija => "CFCBPMMDFHL_ELGKBDJAIJA", + Self::Cliinnnieaf => "CFCBPMMDFHL_CLIINNNIEAF", + Self::Bgabgjpegcn => "CFCBPMMDFHL_BGABGJPEGCN", + Self::Njlpgdacemm => "CFCBPMMDFHL_NJLPGDACEMM", + Self::Mohignmegcp => "CFCBPMMDFHL_MOHIGNMEGCP", + Self::Lhfpjikjdnj => "CFCBPMMDFHL_LHFPJIKJDNJ", + Self::Kcecmocpado => "CFCBPMMDFHL_KCECMOCPADO", + Self::Bncilhbeopn => "CFCBPMMDFHL_BNCILHBEOPN", + Self::Kepmmocnafb => "CFCBPMMDFHL_KEPMMOCNAFB", + Self::Iipkmmpinhd => "CFCBPMMDFHL_IIPKMMPINHD", + Self::Hpkkfeiidaf => "CFCBPMMDFHL_HPKKFEIIDAF", + Self::Fdeiepnlplh => "CFCBPMMDFHL_FDEIEPNLPLH", + Self::Nbkodeemoap => "CFCBPMMDFHL_NBKODEEMOAP", + Self::Dhppiollmei => "CFCBPMMDFHL_DHPPIOLLMEI", + Self::Dlgendjimki => "CFCBPMMDFHL_DLGENDJIMKI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CFCBPMMDFHL_NMEIONMCDMF" => Some(Self::Nmeionmcdmf), + "CFCBPMMDFHL_NAGOOPKNFLC" => Some(Self::Nagoopknflc), + "CFCBPMMDFHL_BBIFNEPMHIL" => Some(Self::Bbifnepmhil), + "CFCBPMMDFHL_LHHJNHBKHFL" => Some(Self::Lhhjnhbkhfl), + "CFCBPMMDFHL_BNBFBCJMLAF" => Some(Self::Bnbfbcjmlaf), + "CFCBPMMDFHL_LOLJCBEJDNJ" => Some(Self::Loljcbejdnj), + "CFCBPMMDFHL_DADFLMLOLEL" => Some(Self::Dadflmlolel), + "CFCBPMMDFHL_LABPHOBILBD" => Some(Self::Labphobilbd), + "CFCBPMMDFHL_CEKENKCKCLF" => Some(Self::Cekenkckclf), + "CFCBPMMDFHL_ELGKBDJAIJA" => Some(Self::Elgkbdjaija), + "CFCBPMMDFHL_CLIINNNIEAF" => Some(Self::Cliinnnieaf), + "CFCBPMMDFHL_BGABGJPEGCN" => Some(Self::Bgabgjpegcn), + "CFCBPMMDFHL_NJLPGDACEMM" => Some(Self::Njlpgdacemm), + "CFCBPMMDFHL_MOHIGNMEGCP" => Some(Self::Mohignmegcp), + "CFCBPMMDFHL_LHFPJIKJDNJ" => Some(Self::Lhfpjikjdnj), + "CFCBPMMDFHL_KCECMOCPADO" => Some(Self::Kcecmocpado), + "CFCBPMMDFHL_BNCILHBEOPN" => Some(Self::Bncilhbeopn), + "CFCBPMMDFHL_KEPMMOCNAFB" => Some(Self::Kepmmocnafb), + "CFCBPMMDFHL_IIPKMMPINHD" => Some(Self::Iipkmmpinhd), + "CFCBPMMDFHL_HPKKFEIIDAF" => Some(Self::Hpkkfeiidaf), + "CFCBPMMDFHL_FDEIEPNLPLH" => Some(Self::Fdeiepnlplh), + "CFCBPMMDFHL_NBKODEEMOAP" => Some(Self::Nbkodeemoap), + "CFCBPMMDFHL_DHPPIOLLMEI" => Some(Self::Dhppiollmei), + "CFCBPMMDFHL_DLGENDJIMKI" => Some(Self::Dlgendjimki), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ljpfokmidap { + Hhnpmgibhhh = 0, +} +impl Ljpfokmidap { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hhnpmgibhhh => "LJPFOKMIDAP_HHNPMGIBHHH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LJPFOKMIDAP_HHNPMGIBHHH" => Some(Self::Hhnpmgibhhh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gehenibecei { + Gchdkpdcmgb = 0, + Llnfnanghaf = 1, + Nnkkmaolegm = 2, + Oppgjpaiodf = 3, + Hjafmgokhgp = 4, + Ekodakmkfhi = 5, +} +impl Gehenibecei { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gchdkpdcmgb => "GEHENIBECEI_GCHDKPDCMGB", + Self::Llnfnanghaf => "GEHENIBECEI_LLNFNANGHAF", + Self::Nnkkmaolegm => "GEHENIBECEI_NNKKMAOLEGM", + Self::Oppgjpaiodf => "GEHENIBECEI_OPPGJPAIODF", + Self::Hjafmgokhgp => "GEHENIBECEI_HJAFMGOKHGP", + Self::Ekodakmkfhi => "GEHENIBECEI_EKODAKMKFHI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GEHENIBECEI_GCHDKPDCMGB" => Some(Self::Gchdkpdcmgb), + "GEHENIBECEI_LLNFNANGHAF" => Some(Self::Llnfnanghaf), + "GEHENIBECEI_NNKKMAOLEGM" => Some(Self::Nnkkmaolegm), + "GEHENIBECEI_OPPGJPAIODF" => Some(Self::Oppgjpaiodf), + "GEHENIBECEI_HJAFMGOKHGP" => Some(Self::Hjafmgokhgp), + "GEHENIBECEI_EKODAKMKFHI" => Some(Self::Ekodakmkfhi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ajgcehbabam { + Acpoekmejee = 0, + Bnlionhiiho = 100000001, + Nncefbdalao = 100000002, + Acbkchmaafj = 100000003, + Hipboebgjnm = 100000004, +} +impl Ajgcehbabam { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Acpoekmejee => "AJGCEHBABAM_ACPOEKMEJEE", + Self::Bnlionhiiho => "AJGCEHBABAM_BNLIONHIIHO", + Self::Nncefbdalao => "AJGCEHBABAM_NNCEFBDALAO", + Self::Acbkchmaafj => "AJGCEHBABAM_ACBKCHMAAFJ", + Self::Hipboebgjnm => "AJGCEHBABAM_HIPBOEBGJNM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AJGCEHBABAM_ACPOEKMEJEE" => Some(Self::Acpoekmejee), + "AJGCEHBABAM_BNLIONHIIHO" => Some(Self::Bnlionhiiho), + "AJGCEHBABAM_NNCEFBDALAO" => Some(Self::Nncefbdalao), + "AJGCEHBABAM_ACBKCHMAAFJ" => Some(Self::Acbkchmaafj), + "AJGCEHBABAM_HIPBOEBGJNM" => Some(Self::Hipboebgjnm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Eaaffjmlaki { + HollowMiniGameTypeNone = 0, + HollowMiniGameTypeHacker = 1, +} +impl Eaaffjmlaki { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowMiniGameTypeNone => "EAAFFJMLAKI_HOLLOW_MINI_GAME_TYPE_NONE", + Self::HollowMiniGameTypeHacker => "EAAFFJMLAKI_HOLLOW_MINI_GAME_TYPE_HACKER", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EAAFFJMLAKI_HOLLOW_MINI_GAME_TYPE_NONE" => { + Some(Self::HollowMiniGameTypeNone) + } + "EAAFFJMLAKI_HOLLOW_MINI_GAME_TYPE_HACKER" => { + Some(Self::HollowMiniGameTypeHacker) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gmmjlmjhmdi { + Eoboacekkoj = 0, + Nabaoblphfb = 5, +} +impl Gmmjlmjhmdi { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Eoboacekkoj => "GMMJLMJHMDI_EOBOACEKKOJ", + Self::Nabaoblphfb => "GMMJLMJHMDI_NABAOBLPHFB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GMMJLMJHMDI_EOBOACEKKOJ" => Some(Self::Eoboacekkoj), + "GMMJLMJHMDI_NABAOBLPHFB" => Some(Self::Nabaoblphfb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bhdmlkeppjo { + Kkckjhkjfbm = 0, + Dlfdfhkmihk = 1, + Jgejlkngpja = 2, + Lffpihngkei = 3, + Oohbeoilaip = 4, + Coopnghiono = 5, +} +impl Bhdmlkeppjo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kkckjhkjfbm => "BHDMLKEPPJO_KKCKJHKJFBM", + Self::Dlfdfhkmihk => "BHDMLKEPPJO_DLFDFHKMIHK", + Self::Jgejlkngpja => "BHDMLKEPPJO_JGEJLKNGPJA", + Self::Lffpihngkei => "BHDMLKEPPJO_LFFPIHNGKEI", + Self::Oohbeoilaip => "BHDMLKEPPJO_OOHBEOILAIP", + Self::Coopnghiono => "BHDMLKEPPJO_COOPNGHIONO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BHDMLKEPPJO_KKCKJHKJFBM" => Some(Self::Kkckjhkjfbm), + "BHDMLKEPPJO_DLFDFHKMIHK" => Some(Self::Dlfdfhkmihk), + "BHDMLKEPPJO_JGEJLKNGPJA" => Some(Self::Jgejlkngpja), + "BHDMLKEPPJO_LFFPIHNGKEI" => Some(Self::Lffpihngkei), + "BHDMLKEPPJO_OOHBEOILAIP" => Some(Self::Oohbeoilaip), + "BHDMLKEPPJO_COOPNGHIONO" => Some(Self::Coopnghiono), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hjdpcgjhbon { + HollowPosChangedReasonNone = 0, + HollowPosChangedReasonMove = 1, + HollowPosChangedReasonTransfer = 2, + HollowPosChangedReasonPush = 3, +} +impl Hjdpcgjhbon { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowPosChangedReasonNone => { + "HJDPCGJHBON_HOLLOW_POS_CHANGED_REASON_NONE" + } + Self::HollowPosChangedReasonMove => { + "HJDPCGJHBON_HOLLOW_POS_CHANGED_REASON_MOVE" + } + Self::HollowPosChangedReasonTransfer => { + "HJDPCGJHBON_HOLLOW_POS_CHANGED_REASON_TRANSFER" + } + Self::HollowPosChangedReasonPush => { + "HJDPCGJHBON_HOLLOW_POS_CHANGED_REASON_PUSH" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HJDPCGJHBON_HOLLOW_POS_CHANGED_REASON_NONE" => { + Some(Self::HollowPosChangedReasonNone) + } + "HJDPCGJHBON_HOLLOW_POS_CHANGED_REASON_MOVE" => { + Some(Self::HollowPosChangedReasonMove) + } + "HJDPCGJHBON_HOLLOW_POS_CHANGED_REASON_TRANSFER" => { + Some(Self::HollowPosChangedReasonTransfer) + } + "HJDPCGJHBON_HOLLOW_POS_CHANGED_REASON_PUSH" => { + Some(Self::HollowPosChangedReasonPush) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gihaiolhmap { + GuestStatusNone = 0, + GuestStatusSuccess = 1, + GuestStatusFail = 2, + GuestStatusCloseQuest = 3, +} +impl Gihaiolhmap { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::GuestStatusNone => "GIHAIOLHMAP_GUEST_STATUS_NONE", + Self::GuestStatusSuccess => "GIHAIOLHMAP_GUEST_STATUS_SUCCESS", + Self::GuestStatusFail => "GIHAIOLHMAP_GUEST_STATUS_FAIL", + Self::GuestStatusCloseQuest => "GIHAIOLHMAP_GUEST_STATUS_CLOSE_QUEST", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GIHAIOLHMAP_GUEST_STATUS_NONE" => Some(Self::GuestStatusNone), + "GIHAIOLHMAP_GUEST_STATUS_SUCCESS" => Some(Self::GuestStatusSuccess), + "GIHAIOLHMAP_GUEST_STATUS_FAIL" => Some(Self::GuestStatusFail), + "GIHAIOLHMAP_GUEST_STATUS_CLOSE_QUEST" => Some(Self::GuestStatusCloseQuest), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lomjeopblcg { + Loalekgmeaa = 0, + Nmljjjkfpld = 1, + Fgaflknpkde = 2, +} +impl Lomjeopblcg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Loalekgmeaa => "LOMJEOPBLCG_LOALEKGMEAA", + Self::Nmljjjkfpld => "LOMJEOPBLCG_NMLJJJKFPLD", + Self::Fgaflknpkde => "LOMJEOPBLCG_FGAFLKNPKDE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LOMJEOPBLCG_LOALEKGMEAA" => Some(Self::Loalekgmeaa), + "LOMJEOPBLCG_NMLJJJKFPLD" => Some(Self::Nmljjjkfpld), + "LOMJEOPBLCG_FGAFLKNPKDE" => Some(Self::Fgaflknpkde), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gdbdepbdoec { + Ikomehmbmkd = 0, + Dbpgjmlaefd = 1, +} +impl Gdbdepbdoec { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ikomehmbmkd => "GDBDEPBDOEC_IKOMEHMBMKD", + Self::Dbpgjmlaefd => "GDBDEPBDOEC_DBPGJMLAEFD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GDBDEPBDOEC_IKOMEHMBMKD" => Some(Self::Ikomehmbmkd), + "GDBDEPBDOEC_DBPGJMLAEFD" => Some(Self::Dbpgjmlaefd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Apnndaiejok { + Ecnajmpcdkb = 0, + Aapdlfcnidg = 1, + Llojihdogel = 2, + Nmhniakboag = 3, + Ecolicjndol = 4, + Clonoannpah = 5, + Kmleemmoeak = 6, + Lddddkbgekn = 7, +} +impl Apnndaiejok { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ecnajmpcdkb => "APNNDAIEJOK_ECNAJMPCDKB", + Self::Aapdlfcnidg => "APNNDAIEJOK_AAPDLFCNIDG", + Self::Llojihdogel => "APNNDAIEJOK_LLOJIHDOGEL", + Self::Nmhniakboag => "APNNDAIEJOK_NMHNIAKBOAG", + Self::Ecolicjndol => "APNNDAIEJOK_ECOLICJNDOL", + Self::Clonoannpah => "APNNDAIEJOK_CLONOANNPAH", + Self::Kmleemmoeak => "APNNDAIEJOK_KMLEEMMOEAK", + Self::Lddddkbgekn => "APNNDAIEJOK_LDDDDKBGEKN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "APNNDAIEJOK_ECNAJMPCDKB" => Some(Self::Ecnajmpcdkb), + "APNNDAIEJOK_AAPDLFCNIDG" => Some(Self::Aapdlfcnidg), + "APNNDAIEJOK_LLOJIHDOGEL" => Some(Self::Llojihdogel), + "APNNDAIEJOK_NMHNIAKBOAG" => Some(Self::Nmhniakboag), + "APNNDAIEJOK_ECOLICJNDOL" => Some(Self::Ecolicjndol), + "APNNDAIEJOK_CLONOANNPAH" => Some(Self::Clonoannpah), + "APNNDAIEJOK_KMLEEMMOEAK" => Some(Self::Kmleemmoeak), + "APNNDAIEJOK_LDDDDKBGEKN" => Some(Self::Lddddkbgekn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Konhdgokibf { + Gfpajkmnpfe = 0, + Dhgoelpflgi = 1, + Lkfdcdenaic = 2, + Apladdfinjp = 4, + Nnebclmkofn = 8, +} +impl Konhdgokibf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gfpajkmnpfe => "KONHDGOKIBF_GFPAJKMNPFE", + Self::Dhgoelpflgi => "KONHDGOKIBF_DHGOELPFLGI", + Self::Lkfdcdenaic => "KONHDGOKIBF_LKFDCDENAIC", + Self::Apladdfinjp => "KONHDGOKIBF_APLADDFINJP", + Self::Nnebclmkofn => "KONHDGOKIBF_NNEBCLMKOFN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KONHDGOKIBF_GFPAJKMNPFE" => Some(Self::Gfpajkmnpfe), + "KONHDGOKIBF_DHGOELPFLGI" => Some(Self::Dhgoelpflgi), + "KONHDGOKIBF_LKFDCDENAIC" => Some(Self::Lkfdcdenaic), + "KONHDGOKIBF_APLADDFINJP" => Some(Self::Apladdfinjp), + "KONHDGOKIBF_NNEBCLMKOFN" => Some(Self::Nnebclmkofn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cajclhfnhld { + Ahihbafcdom = 0, +} +impl Cajclhfnhld { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ahihbafcdom => "CAJCLHFNHLD_AHIHBAFCDOM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CAJCLHFNHLD_AHIHBAFCDOM" => Some(Self::Ahihbafcdom), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gliikimfgmk { + Bopfkbekpbc = 0, + Ljdpmdhpcji = 1, +} +impl Gliikimfgmk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bopfkbekpbc => "GLIIKIMFGMK_BOPFKBEKPBC", + Self::Ljdpmdhpcji => "GLIIKIMFGMK_LJDPMDHPCJI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GLIIKIMFGMK_BOPFKBEKPBC" => Some(Self::Bopfkbekpbc), + "GLIIKIMFGMK_LJDPMDHPCJI" => Some(Self::Ljdpmdhpcji), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ecgfdamoeim { + Oimedpojamk = 0, + Cjfhnffpaki = 1, + Inldfooplli = 2, + Cpiejadbndg = 3, + Bogjgmmippb = 4, + Mabjkldclch = 5, + Agdhfdkjkhh = 6, +} +impl Ecgfdamoeim { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Oimedpojamk => "ECGFDAMOEIM_OIMEDPOJAMK", + Self::Cjfhnffpaki => "ECGFDAMOEIM_CJFHNFFPAKI", + Self::Inldfooplli => "ECGFDAMOEIM_INLDFOOPLLI", + Self::Cpiejadbndg => "ECGFDAMOEIM_CPIEJADBNDG", + Self::Bogjgmmippb => "ECGFDAMOEIM_BOGJGMMIPPB", + Self::Mabjkldclch => "ECGFDAMOEIM_MABJKLDCLCH", + Self::Agdhfdkjkhh => "ECGFDAMOEIM_AGDHFDKJKHH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ECGFDAMOEIM_OIMEDPOJAMK" => Some(Self::Oimedpojamk), + "ECGFDAMOEIM_CJFHNFFPAKI" => Some(Self::Cjfhnffpaki), + "ECGFDAMOEIM_INLDFOOPLLI" => Some(Self::Inldfooplli), + "ECGFDAMOEIM_CPIEJADBNDG" => Some(Self::Cpiejadbndg), + "ECGFDAMOEIM_BOGJGMMIPPB" => Some(Self::Bogjgmmippb), + "ECGFDAMOEIM_MABJKLDCLCH" => Some(Self::Mabjkldclch), + "ECGFDAMOEIM_AGDHFDKJKHH" => Some(Self::Agdhfdkjkhh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dcblefeppje { + Kpbchifagfj = 0, +} +impl Dcblefeppje { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kpbchifagfj => "DCBLEFEPPJE_KPBCHIFAGFJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DCBLEFEPPJE_KPBCHIFAGFJ" => Some(Self::Kpbchifagfj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Heonecgjbdl { + HollowItemOptionTypeNone = 0, + HollowItemOptionTypeDrop = 1, + HollowItemOptionTypeReplace = 2, + HollowItemOptionTypeAdd = 3, +} +impl Heonecgjbdl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowItemOptionTypeNone => "HEONECGJBDL_HOLLOW_ITEM_OPTION_TYPE_NONE", + Self::HollowItemOptionTypeDrop => "HEONECGJBDL_HOLLOW_ITEM_OPTION_TYPE_DROP", + Self::HollowItemOptionTypeReplace => { + "HEONECGJBDL_HOLLOW_ITEM_OPTION_TYPE_REPLACE" + } + Self::HollowItemOptionTypeAdd => "HEONECGJBDL_HOLLOW_ITEM_OPTION_TYPE_ADD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HEONECGJBDL_HOLLOW_ITEM_OPTION_TYPE_NONE" => { + Some(Self::HollowItemOptionTypeNone) + } + "HEONECGJBDL_HOLLOW_ITEM_OPTION_TYPE_DROP" => { + Some(Self::HollowItemOptionTypeDrop) + } + "HEONECGJBDL_HOLLOW_ITEM_OPTION_TYPE_REPLACE" => { + Some(Self::HollowItemOptionTypeReplace) + } + "HEONECGJBDL_HOLLOW_ITEM_OPTION_TYPE_ADD" => { + Some(Self::HollowItemOptionTypeAdd) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ofmdpfdkbgd { + Bimgmiaekae = 0, + Aeakmbbpick = 1, + Geiljfnafmd = 2, + Phoaomiioen = 3, +} +impl Ofmdpfdkbgd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bimgmiaekae => "OFMDPFDKBGD_BIMGMIAEKAE", + Self::Aeakmbbpick => "OFMDPFDKBGD_AEAKMBBPICK", + Self::Geiljfnafmd => "OFMDPFDKBGD_GEILJFNAFMD", + Self::Phoaomiioen => "OFMDPFDKBGD_PHOAOMIIOEN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OFMDPFDKBGD_BIMGMIAEKAE" => Some(Self::Bimgmiaekae), + "OFMDPFDKBGD_AEAKMBBPICK" => Some(Self::Aeakmbbpick), + "OFMDPFDKBGD_GEILJFNAFMD" => Some(Self::Geiljfnafmd), + "OFMDPFDKBGD_PHOAOMIIOEN" => Some(Self::Phoaomiioen), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kbnjecckjol { + Mldlcibbbde = 0, + Najilmiglgn = 1, + Lliaiinplkl = 2, +} +impl Kbnjecckjol { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mldlcibbbde => "KBNJECCKJOL_MLDLCIBBBDE", + Self::Najilmiglgn => "KBNJECCKJOL_NAJILMIGLGN", + Self::Lliaiinplkl => "KBNJECCKJOL_LLIAIINPLKL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KBNJECCKJOL_MLDLCIBBBDE" => Some(Self::Mldlcibbbde), + "KBNJECCKJOL_NAJILMIGLGN" => Some(Self::Najilmiglgn), + "KBNJECCKJOL_LLIAIINPLKL" => Some(Self::Lliaiinplkl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Goomeonocga { + Bflfcfhhcne = 0, + Jddbpibdanf = 1, + Kpmlbcgedif = 2, +} +impl Goomeonocga { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bflfcfhhcne => "GOOMEONOCGA_BFLFCFHHCNE", + Self::Jddbpibdanf => "GOOMEONOCGA_JDDBPIBDANF", + Self::Kpmlbcgedif => "GOOMEONOCGA_KPMLBCGEDIF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GOOMEONOCGA_BFLFCFHHCNE" => Some(Self::Bflfcfhhcne), + "GOOMEONOCGA_JDDBPIBDANF" => Some(Self::Jddbpibdanf), + "GOOMEONOCGA_KPMLBCGEDIF" => Some(Self::Kpmlbcgedif), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aikjaikehmg { + Onkkhflpike = 0, + Hjikpdahimc = 1, + Jejehbfjekj = 2, + Kcnienphane = 3, +} +impl Aikjaikehmg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Onkkhflpike => "AIKJAIKEHMG_ONKKHFLPIKE", + Self::Hjikpdahimc => "AIKJAIKEHMG_HJIKPDAHIMC", + Self::Jejehbfjekj => "AIKJAIKEHMG_JEJEHBFJEKJ", + Self::Kcnienphane => "AIKJAIKEHMG_KCNIENPHANE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AIKJAIKEHMG_ONKKHFLPIKE" => Some(Self::Onkkhflpike), + "AIKJAIKEHMG_HJIKPDAHIMC" => Some(Self::Hjikpdahimc), + "AIKJAIKEHMG_JEJEHBFJEKJ" => Some(Self::Jejehbfjekj), + "AIKJAIKEHMG_KCNIENPHANE" => Some(Self::Kcnienphane), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jcpkekgioia { + Ooplmdkbihg = 0, + Ldnjdpmbdec = 1, +} +impl Jcpkekgioia { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ooplmdkbihg => "JCPKEKGIOIA_OOPLMDKBIHG", + Self::Ldnjdpmbdec => "JCPKEKGIOIA_LDNJDPMBDEC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JCPKEKGIOIA_OOPLMDKBIHG" => Some(Self::Ooplmdkbihg), + "JCPKEKGIOIA_LDNJDPMBDEC" => Some(Self::Ldnjdpmbdec), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ocfgejdkdan { + Bcdgjdajjbh = 0, + Apeboinpjcb = 1, +} +impl Ocfgejdkdan { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bcdgjdajjbh => "OCFGEJDKDAN_BCDGJDAJJBH", + Self::Apeboinpjcb => "OCFGEJDKDAN_APEBOINPJCB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OCFGEJDKDAN_BCDGJDAJJBH" => Some(Self::Bcdgjdajjbh), + "OCFGEJDKDAN_APEBOINPJCB" => Some(Self::Apeboinpjcb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jpfppgeicgf { + Plaabhljifk = 0, + Kbkdmhlphmn = 1, + Fbljoeakoph = 2, + Fcjafnpbgnf = 3, + Mnifdapkepn = 4, + Eadodhmhcnb = 5, + Eokmdnbnpad = 6, + Icbnnlihnlo = 7, + Odpkjokfobd = 50, + Nbjacomlmgi = 100, + Bmnogjihppn = 101, + Fikpniphogn = 102, + Bgpegcgeeae = 103, + Mhdilgghikh = 104, + Gaemeecpcdf = 105, + Jegcfaencgl = 106, + Hmijipkande = 107, + Lobokdiadgc = 108, + Ahfljkkllnf = 109, +} +impl Jpfppgeicgf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Plaabhljifk => "JPFPPGEICGF_PLAABHLJIFK", + Self::Kbkdmhlphmn => "JPFPPGEICGF_KBKDMHLPHMN", + Self::Fbljoeakoph => "JPFPPGEICGF_FBLJOEAKOPH", + Self::Fcjafnpbgnf => "JPFPPGEICGF_FCJAFNPBGNF", + Self::Mnifdapkepn => "JPFPPGEICGF_MNIFDAPKEPN", + Self::Eadodhmhcnb => "JPFPPGEICGF_EADODHMHCNB", + Self::Eokmdnbnpad => "JPFPPGEICGF_EOKMDNBNPAD", + Self::Icbnnlihnlo => "JPFPPGEICGF_ICBNNLIHNLO", + Self::Odpkjokfobd => "JPFPPGEICGF_ODPKJOKFOBD", + Self::Nbjacomlmgi => "JPFPPGEICGF_NBJACOMLMGI", + Self::Bmnogjihppn => "JPFPPGEICGF_BMNOGJIHPPN", + Self::Fikpniphogn => "JPFPPGEICGF_FIKPNIPHOGN", + Self::Bgpegcgeeae => "JPFPPGEICGF_BGPEGCGEEAE", + Self::Mhdilgghikh => "JPFPPGEICGF_MHDILGGHIKH", + Self::Gaemeecpcdf => "JPFPPGEICGF_GAEMEECPCDF", + Self::Jegcfaencgl => "JPFPPGEICGF_JEGCFAENCGL", + Self::Hmijipkande => "JPFPPGEICGF_HMIJIPKANDE", + Self::Lobokdiadgc => "JPFPPGEICGF_LOBOKDIADGC", + Self::Ahfljkkllnf => "JPFPPGEICGF_AHFLJKKLLNF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JPFPPGEICGF_PLAABHLJIFK" => Some(Self::Plaabhljifk), + "JPFPPGEICGF_KBKDMHLPHMN" => Some(Self::Kbkdmhlphmn), + "JPFPPGEICGF_FBLJOEAKOPH" => Some(Self::Fbljoeakoph), + "JPFPPGEICGF_FCJAFNPBGNF" => Some(Self::Fcjafnpbgnf), + "JPFPPGEICGF_MNIFDAPKEPN" => Some(Self::Mnifdapkepn), + "JPFPPGEICGF_EADODHMHCNB" => Some(Self::Eadodhmhcnb), + "JPFPPGEICGF_EOKMDNBNPAD" => Some(Self::Eokmdnbnpad), + "JPFPPGEICGF_ICBNNLIHNLO" => Some(Self::Icbnnlihnlo), + "JPFPPGEICGF_ODPKJOKFOBD" => Some(Self::Odpkjokfobd), + "JPFPPGEICGF_NBJACOMLMGI" => Some(Self::Nbjacomlmgi), + "JPFPPGEICGF_BMNOGJIHPPN" => Some(Self::Bmnogjihppn), + "JPFPPGEICGF_FIKPNIPHOGN" => Some(Self::Fikpniphogn), + "JPFPPGEICGF_BGPEGCGEEAE" => Some(Self::Bgpegcgeeae), + "JPFPPGEICGF_MHDILGGHIKH" => Some(Self::Mhdilgghikh), + "JPFPPGEICGF_GAEMEECPCDF" => Some(Self::Gaemeecpcdf), + "JPFPPGEICGF_JEGCFAENCGL" => Some(Self::Jegcfaencgl), + "JPFPPGEICGF_HMIJIPKANDE" => Some(Self::Hmijipkande), + "JPFPPGEICGF_LOBOKDIADGC" => Some(Self::Lobokdiadgc), + "JPFPPGEICGF_AHFLJKKLLNF" => Some(Self::Ahfljkkllnf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mlddjhgbmkf { + Igeljiojjef = 0, + Ooeofcljdle = 1, + Bhdegpjacbh = 2, +} +impl Mlddjhgbmkf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Igeljiojjef => "MLDDJHGBMKF_IGELJIOJJEF", + Self::Ooeofcljdle => "MLDDJHGBMKF_OOEOFCLJDLE", + Self::Bhdegpjacbh => "MLDDJHGBMKF_BHDEGPJACBH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MLDDJHGBMKF_IGELJIOJJEF" => Some(Self::Igeljiojjef), + "MLDDJHGBMKF_OOEOFCLJDLE" => Some(Self::Ooeofcljdle), + "MLDDJHGBMKF_BHDEGPJACBH" => Some(Self::Bhdegpjacbh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jpoepfmppen { + Kfpnmcdcbbc = 0, + Japcokpklia = 1, + Menjipadfha = 2, +} +impl Jpoepfmppen { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kfpnmcdcbbc => "JPOEPFMPPEN_KFPNMCDCBBC", + Self::Japcokpklia => "JPOEPFMPPEN_JAPCOKPKLIA", + Self::Menjipadfha => "JPOEPFMPPEN_MENJIPADFHA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JPOEPFMPPEN_KFPNMCDCBBC" => Some(Self::Kfpnmcdcbbc), + "JPOEPFMPPEN_JAPCOKPKLIA" => Some(Self::Japcokpklia), + "JPOEPFMPPEN_MENJIPADFHA" => Some(Self::Menjipadfha), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oeeelllfffg { + RewardTipsTypeNone = 0, + RewardTipsTypeMainCity = 1, +} +impl Oeeelllfffg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::RewardTipsTypeNone => "OEEELLLFFFG_REWARD_TIPS_TYPE_NONE", + Self::RewardTipsTypeMainCity => "OEEELLLFFFG_REWARD_TIPS_TYPE_MAIN_CITY", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OEEELLLFFFG_REWARD_TIPS_TYPE_NONE" => Some(Self::RewardTipsTypeNone), + "OEEELLLFFFG_REWARD_TIPS_TYPE_MAIN_CITY" => { + Some(Self::RewardTipsTypeMainCity) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hhdkamfifjd { + Ggajnochaaf = 0, + Lclanehmgih = 1, + Nhnlibfpbbb = 2, + Ngloeedckid = 3, + Jbgldgdkgcj = 4, + Legkjmmeggi = 5, +} +impl Hhdkamfifjd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ggajnochaaf => "HHDKAMFIFJD_GGAJNOCHAAF", + Self::Lclanehmgih => "HHDKAMFIFJD_LCLANEHMGIH", + Self::Nhnlibfpbbb => "HHDKAMFIFJD_NHNLIBFPBBB", + Self::Ngloeedckid => "HHDKAMFIFJD_NGLOEEDCKID", + Self::Jbgldgdkgcj => "HHDKAMFIFJD_JBGLDGDKGCJ", + Self::Legkjmmeggi => "HHDKAMFIFJD_LEGKJMMEGGI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HHDKAMFIFJD_GGAJNOCHAAF" => Some(Self::Ggajnochaaf), + "HHDKAMFIFJD_LCLANEHMGIH" => Some(Self::Lclanehmgih), + "HHDKAMFIFJD_NHNLIBFPBBB" => Some(Self::Nhnlibfpbbb), + "HHDKAMFIFJD_NGLOEEDCKID" => Some(Self::Ngloeedckid), + "HHDKAMFIFJD_JBGLDGDKGCJ" => Some(Self::Jbgldgdkgcj), + "HHDKAMFIFJD_LEGKJMMEGGI" => Some(Self::Legkjmmeggi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Daohkibogho { + Elebbicbick = 0, + Pkbehalmdoo = 1, + Obaniljcimd = 2, + Heoelgaojdh = 3, + Maeldlbifmo = 4, + Dpjomfoficc = 5, + Ceaaeghpjgf = 6, + Dbikpknppaa = 7, + Blajbmmjhfb = 8, + Jlmmbpbbikh = 9, + Agejpnldepc = 10, + Pkfbgfckfhf = 11, + Dhfddegaffa = 12, + Lnmbgmcggeh = 13, + Glnphninagh = 14, + Efkaaojgomf = 15, + Nhgfjopmddf = 16, + Kagbkgemhok = 17, + Lblbdkllcpe = 18, + Ooppilikhen = 19, + Hgilfkgdinp = 20, + Imhknkmeonm = 21, +} +impl Daohkibogho { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Elebbicbick => "DAOHKIBOGHO_ELEBBICBICK", + Self::Pkbehalmdoo => "DAOHKIBOGHO_PKBEHALMDOO", + Self::Obaniljcimd => "DAOHKIBOGHO_OBANILJCIMD", + Self::Heoelgaojdh => "DAOHKIBOGHO_HEOELGAOJDH", + Self::Maeldlbifmo => "DAOHKIBOGHO_MAELDLBIFMO", + Self::Dpjomfoficc => "DAOHKIBOGHO_DPJOMFOFICC", + Self::Ceaaeghpjgf => "DAOHKIBOGHO_CEAAEGHPJGF", + Self::Dbikpknppaa => "DAOHKIBOGHO_DBIKPKNPPAA", + Self::Blajbmmjhfb => "DAOHKIBOGHO_BLAJBMMJHFB", + Self::Jlmmbpbbikh => "DAOHKIBOGHO_JLMMBPBBIKH", + Self::Agejpnldepc => "DAOHKIBOGHO_AGEJPNLDEPC", + Self::Pkfbgfckfhf => "DAOHKIBOGHO_PKFBGFCKFHF", + Self::Dhfddegaffa => "DAOHKIBOGHO_DHFDDEGAFFA", + Self::Lnmbgmcggeh => "DAOHKIBOGHO_LNMBGMCGGEH", + Self::Glnphninagh => "DAOHKIBOGHO_GLNPHNINAGH", + Self::Efkaaojgomf => "DAOHKIBOGHO_EFKAAOJGOMF", + Self::Nhgfjopmddf => "DAOHKIBOGHO_NHGFJOPMDDF", + Self::Kagbkgemhok => "DAOHKIBOGHO_KAGBKGEMHOK", + Self::Lblbdkllcpe => "DAOHKIBOGHO_LBLBDKLLCPE", + Self::Ooppilikhen => "DAOHKIBOGHO_OOPPILIKHEN", + Self::Hgilfkgdinp => "DAOHKIBOGHO_HGILFKGDINP", + Self::Imhknkmeonm => "DAOHKIBOGHO_IMHKNKMEONM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DAOHKIBOGHO_ELEBBICBICK" => Some(Self::Elebbicbick), + "DAOHKIBOGHO_PKBEHALMDOO" => Some(Self::Pkbehalmdoo), + "DAOHKIBOGHO_OBANILJCIMD" => Some(Self::Obaniljcimd), + "DAOHKIBOGHO_HEOELGAOJDH" => Some(Self::Heoelgaojdh), + "DAOHKIBOGHO_MAELDLBIFMO" => Some(Self::Maeldlbifmo), + "DAOHKIBOGHO_DPJOMFOFICC" => Some(Self::Dpjomfoficc), + "DAOHKIBOGHO_CEAAEGHPJGF" => Some(Self::Ceaaeghpjgf), + "DAOHKIBOGHO_DBIKPKNPPAA" => Some(Self::Dbikpknppaa), + "DAOHKIBOGHO_BLAJBMMJHFB" => Some(Self::Blajbmmjhfb), + "DAOHKIBOGHO_JLMMBPBBIKH" => Some(Self::Jlmmbpbbikh), + "DAOHKIBOGHO_AGEJPNLDEPC" => Some(Self::Agejpnldepc), + "DAOHKIBOGHO_PKFBGFCKFHF" => Some(Self::Pkfbgfckfhf), + "DAOHKIBOGHO_DHFDDEGAFFA" => Some(Self::Dhfddegaffa), + "DAOHKIBOGHO_LNMBGMCGGEH" => Some(Self::Lnmbgmcggeh), + "DAOHKIBOGHO_GLNPHNINAGH" => Some(Self::Glnphninagh), + "DAOHKIBOGHO_EFKAAOJGOMF" => Some(Self::Efkaaojgomf), + "DAOHKIBOGHO_NHGFJOPMDDF" => Some(Self::Nhgfjopmddf), + "DAOHKIBOGHO_KAGBKGEMHOK" => Some(Self::Kagbkgemhok), + "DAOHKIBOGHO_LBLBDKLLCPE" => Some(Self::Lblbdkllcpe), + "DAOHKIBOGHO_OOPPILIKHEN" => Some(Self::Ooppilikhen), + "DAOHKIBOGHO_HGILFKGDINP" => Some(Self::Hgilfkgdinp), + "DAOHKIBOGHO_IMHKNKMEONM" => Some(Self::Imhknkmeonm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kijpomlpkad { + Monhbpmfjpk = 0, + Pgkfbjakblg = 1, + Lmkbkaakgif = 2, + Gjinldcanig = 3, +} +impl Kijpomlpkad { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Monhbpmfjpk => "KIJPOMLPKAD_MONHBPMFJPK", + Self::Pgkfbjakblg => "KIJPOMLPKAD_PGKFBJAKBLG", + Self::Lmkbkaakgif => "KIJPOMLPKAD_LMKBKAAKGIF", + Self::Gjinldcanig => "KIJPOMLPKAD_GJINLDCANIG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KIJPOMLPKAD_MONHBPMFJPK" => Some(Self::Monhbpmfjpk), + "KIJPOMLPKAD_PGKFBJAKBLG" => Some(Self::Pgkfbjakblg), + "KIJPOMLPKAD_LMKBKAAKGIF" => Some(Self::Lmkbkaakgif), + "KIJPOMLPKAD_GJINLDCANIG" => Some(Self::Gjinldcanig), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bldnlcajldl { + Gaefmcffflp = 0, + Laichgilefk = 1, + Mkoklcemfim = 2, +} +impl Bldnlcajldl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gaefmcffflp => "BLDNLCAJLDL_GAEFMCFFFLP", + Self::Laichgilefk => "BLDNLCAJLDL_LAICHGILEFK", + Self::Mkoklcemfim => "BLDNLCAJLDL_MKOKLCEMFIM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BLDNLCAJLDL_GAEFMCFFFLP" => Some(Self::Gaefmcffflp), + "BLDNLCAJLDL_LAICHGILEFK" => Some(Self::Laichgilefk), + "BLDNLCAJLDL_MKOKLCEMFIM" => Some(Self::Mkoklcemfim), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iopjakcolni { + ModifyTimeSegmentTypeNone = 0, + ModifyTimeSegmentTypeModify = 1, + ModifyTimeSegmentTypeSave = 2, + ModifyTimeSegmentTypeReset = 4, + ModifyTimeSegmentTypeApply = 5, +} +impl Iopjakcolni { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ModifyTimeSegmentTypeNone => { + "IOPJAKCOLNI_MODIFY_TIME_SEGMENT_TYPE_NONE" + } + Self::ModifyTimeSegmentTypeModify => { + "IOPJAKCOLNI_MODIFY_TIME_SEGMENT_TYPE_MODIFY" + } + Self::ModifyTimeSegmentTypeSave => { + "IOPJAKCOLNI_MODIFY_TIME_SEGMENT_TYPE_SAVE" + } + Self::ModifyTimeSegmentTypeReset => { + "IOPJAKCOLNI_MODIFY_TIME_SEGMENT_TYPE_RESET" + } + Self::ModifyTimeSegmentTypeApply => { + "IOPJAKCOLNI_MODIFY_TIME_SEGMENT_TYPE_APPLY" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IOPJAKCOLNI_MODIFY_TIME_SEGMENT_TYPE_NONE" => { + Some(Self::ModifyTimeSegmentTypeNone) + } + "IOPJAKCOLNI_MODIFY_TIME_SEGMENT_TYPE_MODIFY" => { + Some(Self::ModifyTimeSegmentTypeModify) + } + "IOPJAKCOLNI_MODIFY_TIME_SEGMENT_TYPE_SAVE" => { + Some(Self::ModifyTimeSegmentTypeSave) + } + "IOPJAKCOLNI_MODIFY_TIME_SEGMENT_TYPE_RESET" => { + Some(Self::ModifyTimeSegmentTypeReset) + } + "IOPJAKCOLNI_MODIFY_TIME_SEGMENT_TYPE_APPLY" => { + Some(Self::ModifyTimeSegmentTypeApply) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hfomelolimd { + Hcmdjhhjapb = 0, + Okhdfekpndk = 1, + Gokgladbcpf = 2, + Malfhebionf = 3, +} +impl Hfomelolimd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hcmdjhhjapb => "HFOMELOLIMD_HCMDJHHJAPB", + Self::Okhdfekpndk => "HFOMELOLIMD_OKHDFEKPNDK", + Self::Gokgladbcpf => "HFOMELOLIMD_GOKGLADBCPF", + Self::Malfhebionf => "HFOMELOLIMD_MALFHEBIONF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HFOMELOLIMD_HCMDJHHJAPB" => Some(Self::Hcmdjhhjapb), + "HFOMELOLIMD_OKHDFEKPNDK" => Some(Self::Okhdfekpndk), + "HFOMELOLIMD_GOKGLADBCPF" => Some(Self::Gokgladbcpf), + "HFOMELOLIMD_MALFHEBIONF" => Some(Self::Malfhebionf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pjojcdnafhd { + Foigkofiogl = 0, + Nlkgafdcdpk = 1, + Kbjkjkgknon = 2, +} +impl Pjojcdnafhd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Foigkofiogl => "PJOJCDNAFHD_FOIGKOFIOGL", + Self::Nlkgafdcdpk => "PJOJCDNAFHD_NLKGAFDCDPK", + Self::Kbjkjkgknon => "PJOJCDNAFHD_KBJKJKGKNON", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PJOJCDNAFHD_FOIGKOFIOGL" => Some(Self::Foigkofiogl), + "PJOJCDNAFHD_NLKGAFDCDPK" => Some(Self::Nlkgafdcdpk), + "PJOJCDNAFHD_KBJKJKGKNON" => Some(Self::Kbjkjkgknon), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mjfpnfgeibm { + Fnnckflagck = 0, + Bmdcelginde = 1, +} +impl Mjfpnfgeibm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fnnckflagck => "MJFPNFGEIBM_FNNCKFLAGCK", + Self::Bmdcelginde => "MJFPNFGEIBM_BMDCELGINDE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MJFPNFGEIBM_FNNCKFLAGCK" => Some(Self::Fnnckflagck), + "MJFPNFGEIBM_BMDCELGINDE" => Some(Self::Bmdcelginde), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ajhjieikeeb { + Dblicelddfm = 0, + Ldfelaajjid = 1, +} +impl Ajhjieikeeb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dblicelddfm => "AJHJIEIKEEB_DBLICELDDFM", + Self::Ldfelaajjid => "AJHJIEIKEEB_LDFELAAJJID", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AJHJIEIKEEB_DBLICELDDFM" => Some(Self::Dblicelddfm), + "AJHJIEIKEEB_LDFELAAJJID" => Some(Self::Ldfelaajjid), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ibldjilamog { + Mobamedboei = 0, + Ojjcnkigoih = 1, + Ogmcnfjclab = 2, + Akglechodkg = 3, + Fiaojijnncn = 4, + Pjopfnbecpn = 5, +} +impl Ibldjilamog { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mobamedboei => "IBLDJILAMOG_MOBAMEDBOEI", + Self::Ojjcnkigoih => "IBLDJILAMOG_OJJCNKIGOIH", + Self::Ogmcnfjclab => "IBLDJILAMOG_OGMCNFJCLAB", + Self::Akglechodkg => "IBLDJILAMOG_AKGLECHODKG", + Self::Fiaojijnncn => "IBLDJILAMOG_FIAOJIJNNCN", + Self::Pjopfnbecpn => "IBLDJILAMOG_PJOPFNBECPN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IBLDJILAMOG_MOBAMEDBOEI" => Some(Self::Mobamedboei), + "IBLDJILAMOG_OJJCNKIGOIH" => Some(Self::Ojjcnkigoih), + "IBLDJILAMOG_OGMCNFJCLAB" => Some(Self::Ogmcnfjclab), + "IBLDJILAMOG_AKGLECHODKG" => Some(Self::Akglechodkg), + "IBLDJILAMOG_FIAOJIJNNCN" => Some(Self::Fiaojijnncn), + "IBLDJILAMOG_PJOPFNBECPN" => Some(Self::Pjopfnbecpn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mdfgifepghd { + Flajabngnca = 0, + Mjljbgbokel = 1, + Ahdfhddeima = 2, + Aoclaaogddi = 3, + Jamgmlmdlnl = 4, + Edolabgohai = 5, + Ojnbklgpjcb = 6, + Koheioopfhn = 7, + Kpnfpnnjeod = 8, + Moinebfjemk = 9, +} +impl Mdfgifepghd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Flajabngnca => "MDFGIFEPGHD_FLAJABNGNCA", + Self::Mjljbgbokel => "MDFGIFEPGHD_MJLJBGBOKEL", + Self::Ahdfhddeima => "MDFGIFEPGHD_AHDFHDDEIMA", + Self::Aoclaaogddi => "MDFGIFEPGHD_AOCLAAOGDDI", + Self::Jamgmlmdlnl => "MDFGIFEPGHD_JAMGMLMDLNL", + Self::Edolabgohai => "MDFGIFEPGHD_EDOLABGOHAI", + Self::Ojnbklgpjcb => "MDFGIFEPGHD_OJNBKLGPJCB", + Self::Koheioopfhn => "MDFGIFEPGHD_KOHEIOOPFHN", + Self::Kpnfpnnjeod => "MDFGIFEPGHD_KPNFPNNJEOD", + Self::Moinebfjemk => "MDFGIFEPGHD_MOINEBFJEMK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MDFGIFEPGHD_FLAJABNGNCA" => Some(Self::Flajabngnca), + "MDFGIFEPGHD_MJLJBGBOKEL" => Some(Self::Mjljbgbokel), + "MDFGIFEPGHD_AHDFHDDEIMA" => Some(Self::Ahdfhddeima), + "MDFGIFEPGHD_AOCLAAOGDDI" => Some(Self::Aoclaaogddi), + "MDFGIFEPGHD_JAMGMLMDLNL" => Some(Self::Jamgmlmdlnl), + "MDFGIFEPGHD_EDOLABGOHAI" => Some(Self::Edolabgohai), + "MDFGIFEPGHD_OJNBKLGPJCB" => Some(Self::Ojnbklgpjcb), + "MDFGIFEPGHD_KOHEIOOPFHN" => Some(Self::Koheioopfhn), + "MDFGIFEPGHD_KPNFPNNJEOD" => Some(Self::Kpnfpnnjeod), + "MDFGIFEPGHD_MOINEBFJEMK" => Some(Self::Moinebfjemk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hoanjjigjpf { + Mfjckhilocg = 0, + Mooheinamgj = 1, + Kjmclfilomo = 2, + Klkjkjckkbg = 3, +} +impl Hoanjjigjpf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mfjckhilocg => "HOANJJIGJPF_MFJCKHILOCG", + Self::Mooheinamgj => "HOANJJIGJPF_MOOHEINAMGJ", + Self::Kjmclfilomo => "HOANJJIGJPF_KJMCLFILOMO", + Self::Klkjkjckkbg => "HOANJJIGJPF_KLKJKJCKKBG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HOANJJIGJPF_MFJCKHILOCG" => Some(Self::Mfjckhilocg), + "HOANJJIGJPF_MOOHEINAMGJ" => Some(Self::Mooheinamgj), + "HOANJJIGJPF_KJMCLFILOMO" => Some(Self::Kjmclfilomo), + "HOANJJIGJPF_KLKJKJCKKBG" => Some(Self::Klkjkjckkbg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bhpdbbhjhih { + LinkEventModifyPush = 0, + LinkEventModifyBreak = 1, +} +impl Bhpdbbhjhih { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::LinkEventModifyPush => "BHPDBBHJHIH_LINK_EVENT_MODIFY_PUSH", + Self::LinkEventModifyBreak => "BHPDBBHJHIH_LINK_EVENT_MODIFY_BREAK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BHPDBBHJHIH_LINK_EVENT_MODIFY_PUSH" => Some(Self::LinkEventModifyPush), + "BHPDBBHJHIH_LINK_EVENT_MODIFY_BREAK" => Some(Self::LinkEventModifyBreak), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kphonjdijjl { + Anfnnnbaaen = 0, + Abnijkghhbd = 1, + Ajlkpifaalj = 2, +} +impl Kphonjdijjl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Anfnnnbaaen => "KPHONJDIJJL_ANFNNNBAAEN", + Self::Abnijkghhbd => "KPHONJDIJJL_ABNIJKGHHBD", + Self::Ajlkpifaalj => "KPHONJDIJJL_AJLKPIFAALJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KPHONJDIJJL_ANFNNNBAAEN" => Some(Self::Anfnnnbaaen), + "KPHONJDIJJL_ABNIJKGHHBD" => Some(Self::Abnijkghhbd), + "KPHONJDIJJL_AJLKPIFAALJ" => Some(Self::Ajlkpifaalj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ckkabakjefj { + Igagplmgcpa = 0, + Kjjmbkhblee = 1, + Ceapmchoakc = 2, + Fkhndmfhnlh = 3, + Hjjecpnadpe = 4, + Eicdbfdkold = 5, + Jfilimdbeao = 6, + Nlfandnkbni = 7, + Fpndhdnkdfe = 8, + Iednahbmnia = 9, + Mhkmfhhcdjh = 10, + Nmjpdpnmmlf = 11, +} +impl Ckkabakjefj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Igagplmgcpa => "CKKABAKJEFJ_IGAGPLMGCPA", + Self::Kjjmbkhblee => "CKKABAKJEFJ_KJJMBKHBLEE", + Self::Ceapmchoakc => "CKKABAKJEFJ_CEAPMCHOAKC", + Self::Fkhndmfhnlh => "CKKABAKJEFJ_FKHNDMFHNLH", + Self::Hjjecpnadpe => "CKKABAKJEFJ_HJJECPNADPE", + Self::Eicdbfdkold => "CKKABAKJEFJ_EICDBFDKOLD", + Self::Jfilimdbeao => "CKKABAKJEFJ_JFILIMDBEAO", + Self::Nlfandnkbni => "CKKABAKJEFJ_NLFANDNKBNI", + Self::Fpndhdnkdfe => "CKKABAKJEFJ_FPNDHDNKDFE", + Self::Iednahbmnia => "CKKABAKJEFJ_IEDNAHBMNIA", + Self::Mhkmfhhcdjh => "CKKABAKJEFJ_MHKMFHHCDJH", + Self::Nmjpdpnmmlf => "CKKABAKJEFJ_NMJPDPNMMLF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CKKABAKJEFJ_IGAGPLMGCPA" => Some(Self::Igagplmgcpa), + "CKKABAKJEFJ_KJJMBKHBLEE" => Some(Self::Kjjmbkhblee), + "CKKABAKJEFJ_CEAPMCHOAKC" => Some(Self::Ceapmchoakc), + "CKKABAKJEFJ_FKHNDMFHNLH" => Some(Self::Fkhndmfhnlh), + "CKKABAKJEFJ_HJJECPNADPE" => Some(Self::Hjjecpnadpe), + "CKKABAKJEFJ_EICDBFDKOLD" => Some(Self::Eicdbfdkold), + "CKKABAKJEFJ_JFILIMDBEAO" => Some(Self::Jfilimdbeao), + "CKKABAKJEFJ_NLFANDNKBNI" => Some(Self::Nlfandnkbni), + "CKKABAKJEFJ_FPNDHDNKDFE" => Some(Self::Fpndhdnkdfe), + "CKKABAKJEFJ_IEDNAHBMNIA" => Some(Self::Iednahbmnia), + "CKKABAKJEFJ_MHKMFHHCDJH" => Some(Self::Mhkmfhhcdjh), + "CKKABAKJEFJ_NMJPDPNMMLF" => Some(Self::Nmjpdpnmmlf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bdgchkbjjog { + Abgofhcnhoe = 0, + Kclgckloldj = 1, + Flohighmlmh = 2, + Njpiekdfinf = 3, + Nphloednbkj = 4, + Ggaoleliaae = 5, + Ocbbfemjlbb = 6, + Dajckenfplh = 7, + Bpndcidoggb = 8, +} +impl Bdgchkbjjog { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Abgofhcnhoe => "BDGCHKBJJOG_ABGOFHCNHOE", + Self::Kclgckloldj => "BDGCHKBJJOG_KCLGCKLOLDJ", + Self::Flohighmlmh => "BDGCHKBJJOG_FLOHIGHMLMH", + Self::Njpiekdfinf => "BDGCHKBJJOG_NJPIEKDFINF", + Self::Nphloednbkj => "BDGCHKBJJOG_NPHLOEDNBKJ", + Self::Ggaoleliaae => "BDGCHKBJJOG_GGAOLELIAAE", + Self::Ocbbfemjlbb => "BDGCHKBJJOG_OCBBFEMJLBB", + Self::Dajckenfplh => "BDGCHKBJJOG_DAJCKENFPLH", + Self::Bpndcidoggb => "BDGCHKBJJOG_BPNDCIDOGGB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BDGCHKBJJOG_ABGOFHCNHOE" => Some(Self::Abgofhcnhoe), + "BDGCHKBJJOG_KCLGCKLOLDJ" => Some(Self::Kclgckloldj), + "BDGCHKBJJOG_FLOHIGHMLMH" => Some(Self::Flohighmlmh), + "BDGCHKBJJOG_NJPIEKDFINF" => Some(Self::Njpiekdfinf), + "BDGCHKBJJOG_NPHLOEDNBKJ" => Some(Self::Nphloednbkj), + "BDGCHKBJJOG_GGAOLELIAAE" => Some(Self::Ggaoleliaae), + "BDGCHKBJJOG_OCBBFEMJLBB" => Some(Self::Ocbbfemjlbb), + "BDGCHKBJJOG_DAJCKENFPLH" => Some(Self::Dajckenfplh), + "BDGCHKBJJOG_BPNDCIDOGGB" => Some(Self::Bpndcidoggb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ehobdmipjia { + Lhiafnkjgkf = 0, + Oamgahfjhgc = 1, + Amkmookbgfg = 2, + Aejilimokmd = 3, +} +impl Ehobdmipjia { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lhiafnkjgkf => "EHOBDMIPJIA_LHIAFNKJGKF", + Self::Oamgahfjhgc => "EHOBDMIPJIA_OAMGAHFJHGC", + Self::Amkmookbgfg => "EHOBDMIPJIA_AMKMOOKBGFG", + Self::Aejilimokmd => "EHOBDMIPJIA_AEJILIMOKMD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EHOBDMIPJIA_LHIAFNKJGKF" => Some(Self::Lhiafnkjgkf), + "EHOBDMIPJIA_OAMGAHFJHGC" => Some(Self::Oamgahfjhgc), + "EHOBDMIPJIA_AMKMOOKBGFG" => Some(Self::Amkmookbgfg), + "EHOBDMIPJIA_AEJILIMOKMD" => Some(Self::Aejilimokmd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kbnfoehbggh { + Gnlmcnbbjjd = 0, +} +impl Kbnfoehbggh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gnlmcnbbjjd => "KBNFOEHBGGH_GNLMCNBBJJD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KBNFOEHBGGH_GNLMCNBBJJD" => Some(Self::Gnlmcnbbjjd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oehdebjjane { + ListVariableTypeNone = 0, + ListVariableTypeInt = 1, + ListVariableTypeString = 2, + ListVariableTypeVector2 = 3, +} +impl Oehdebjjane { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ListVariableTypeNone => "OEHDEBJJANE_LIST_VARIABLE_TYPE_NONE", + Self::ListVariableTypeInt => "OEHDEBJJANE_LIST_VARIABLE_TYPE_INT", + Self::ListVariableTypeString => "OEHDEBJJANE_LIST_VARIABLE_TYPE_STRING", + Self::ListVariableTypeVector2 => "OEHDEBJJANE_LIST_VARIABLE_TYPE_VECTOR2", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OEHDEBJJANE_LIST_VARIABLE_TYPE_NONE" => Some(Self::ListVariableTypeNone), + "OEHDEBJJANE_LIST_VARIABLE_TYPE_INT" => Some(Self::ListVariableTypeInt), + "OEHDEBJJANE_LIST_VARIABLE_TYPE_STRING" => Some(Self::ListVariableTypeString), + "OEHDEBJJANE_LIST_VARIABLE_TYPE_VECTOR2" => { + Some(Self::ListVariableTypeVector2) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gbfgcgnnigp { + ModifyMultiHollowOutTypeNone = 0, + ModifyMultiHollowOutTypeInsert = 1, + ModifyMultiHollowOutTypeRemove = 2, +} +impl Gbfgcgnnigp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ModifyMultiHollowOutTypeNone => { + "GBFGCGNNIGP_MODIFY_MULTI_HOLLOW_OUT_TYPE_NONE" + } + Self::ModifyMultiHollowOutTypeInsert => { + "GBFGCGNNIGP_MODIFY_MULTI_HOLLOW_OUT_TYPE_INSERT" + } + Self::ModifyMultiHollowOutTypeRemove => { + "GBFGCGNNIGP_MODIFY_MULTI_HOLLOW_OUT_TYPE_REMOVE" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GBFGCGNNIGP_MODIFY_MULTI_HOLLOW_OUT_TYPE_NONE" => { + Some(Self::ModifyMultiHollowOutTypeNone) + } + "GBFGCGNNIGP_MODIFY_MULTI_HOLLOW_OUT_TYPE_INSERT" => { + Some(Self::ModifyMultiHollowOutTypeInsert) + } + "GBFGCGNNIGP_MODIFY_MULTI_HOLLOW_OUT_TYPE_REMOVE" => { + Some(Self::ModifyMultiHollowOutTypeRemove) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bhmngjjigko { + Cofbiemppdg = 0, +} +impl Bhmngjjigko { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cofbiemppdg => "BHMNGJJIGKO_COFBIEMPPDG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BHMNGJJIGKO_COFBIEMPPDG" => Some(Self::Cofbiemppdg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nhpdopglcim { + Ejehgolkgpa = 0, + Eflmcfaeaim = 1, + Pgdnpkbefoa = 2, +} +impl Nhpdopglcim { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ejehgolkgpa => "NHPDOPGLCIM_EJEHGOLKGPA", + Self::Eflmcfaeaim => "NHPDOPGLCIM_EFLMCFAEAIM", + Self::Pgdnpkbefoa => "NHPDOPGLCIM_PGDNPKBEFOA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NHPDOPGLCIM_EJEHGOLKGPA" => Some(Self::Ejehgolkgpa), + "NHPDOPGLCIM_EFLMCFAEAIM" => Some(Self::Eflmcfaeaim), + "NHPDOPGLCIM_PGDNPKBEFOA" => Some(Self::Pgdnpkbefoa), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nnclecoblio { + Kcebipdepna = 0, + Plpciaidkmg = 1, + Kofhjldjkbi = 2, + Cobihkfibob = 3, + Ljhpfcpmmjc = 4, +} +impl Nnclecoblio { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kcebipdepna => "NNCLECOBLIO_KCEBIPDEPNA", + Self::Plpciaidkmg => "NNCLECOBLIO_PLPCIAIDKMG", + Self::Kofhjldjkbi => "NNCLECOBLIO_KOFHJLDJKBI", + Self::Cobihkfibob => "NNCLECOBLIO_COBIHKFIBOB", + Self::Ljhpfcpmmjc => "NNCLECOBLIO_LJHPFCPMMJC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NNCLECOBLIO_KCEBIPDEPNA" => Some(Self::Kcebipdepna), + "NNCLECOBLIO_PLPCIAIDKMG" => Some(Self::Plpciaidkmg), + "NNCLECOBLIO_KOFHJLDJKBI" => Some(Self::Kofhjldjkbi), + "NNCLECOBLIO_COBIHKFIBOB" => Some(Self::Cobihkfibob), + "NNCLECOBLIO_LJHPFCPMMJC" => Some(Self::Ljhpfcpmmjc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Okkgnmpopbn { + Oflddmhcfhh = 0, +} +impl Okkgnmpopbn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Oflddmhcfhh => "OKKGNMPOPBN_OFLDDMHCFHH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OKKGNMPOPBN_OFLDDMHCFHH" => Some(Self::Oflddmhcfhh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dbpdcokemgl { + HollowDialogStateNone = 0, + HollowDialogStateOpen = 1, + HollowDialogStateClose = 2, +} +impl Dbpdcokemgl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowDialogStateNone => "DBPDCOKEMGL_HOLLOW_DIALOG_STATE_NONE", + Self::HollowDialogStateOpen => "DBPDCOKEMGL_HOLLOW_DIALOG_STATE_OPEN", + Self::HollowDialogStateClose => "DBPDCOKEMGL_HOLLOW_DIALOG_STATE_CLOSE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DBPDCOKEMGL_HOLLOW_DIALOG_STATE_NONE" => Some(Self::HollowDialogStateNone), + "DBPDCOKEMGL_HOLLOW_DIALOG_STATE_OPEN" => Some(Self::HollowDialogStateOpen), + "DBPDCOKEMGL_HOLLOW_DIALOG_STATE_CLOSE" => Some(Self::HollowDialogStateClose), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Faijilljfdd { + ScriptHollowQuestTypeNone = 0, + ScriptHollowQuestTypeMain = 1, + ScriptHollowQuestTypeSide = 2, + ScriptHollowQuestTypeUrgent = 3, + ScriptHollowQuestTypeChallenge = 5, + ScriptHollowQuestTypeHollowZero = 6, + ScriptHollowQuestTypeSideAvatar = 7, + ScriptHollowQuestTypeBigWorld = 8, + ScriptHollowQuestTypeWeeklyBattle = 9, + ScriptHollowQuestTypeOnlyBattle = 10, + ScriptHollowQuestTypeWorldLevel = 11, + ScriptHollowQuestTypeHardMode = 12, +} +impl Faijilljfdd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ScriptHollowQuestTypeNone => { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_NONE" + } + Self::ScriptHollowQuestTypeMain => { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_MAIN" + } + Self::ScriptHollowQuestTypeSide => { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_SIDE" + } + Self::ScriptHollowQuestTypeUrgent => { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_URGENT" + } + Self::ScriptHollowQuestTypeChallenge => { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_CHALLENGE" + } + Self::ScriptHollowQuestTypeHollowZero => { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_HOLLOW_ZERO" + } + Self::ScriptHollowQuestTypeSideAvatar => { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_SIDE_AVATAR" + } + Self::ScriptHollowQuestTypeBigWorld => { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_BIG_WORLD" + } + Self::ScriptHollowQuestTypeWeeklyBattle => { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_WEEKLY_BATTLE" + } + Self::ScriptHollowQuestTypeOnlyBattle => { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_ONLY_BATTLE" + } + Self::ScriptHollowQuestTypeWorldLevel => { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_WORLD_LEVEL" + } + Self::ScriptHollowQuestTypeHardMode => { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_HARD_MODE" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_NONE" => { + Some(Self::ScriptHollowQuestTypeNone) + } + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_MAIN" => { + Some(Self::ScriptHollowQuestTypeMain) + } + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_SIDE" => { + Some(Self::ScriptHollowQuestTypeSide) + } + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_URGENT" => { + Some(Self::ScriptHollowQuestTypeUrgent) + } + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_CHALLENGE" => { + Some(Self::ScriptHollowQuestTypeChallenge) + } + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_HOLLOW_ZERO" => { + Some(Self::ScriptHollowQuestTypeHollowZero) + } + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_SIDE_AVATAR" => { + Some(Self::ScriptHollowQuestTypeSideAvatar) + } + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_BIG_WORLD" => { + Some(Self::ScriptHollowQuestTypeBigWorld) + } + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_WEEKLY_BATTLE" => { + Some(Self::ScriptHollowQuestTypeWeeklyBattle) + } + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_ONLY_BATTLE" => { + Some(Self::ScriptHollowQuestTypeOnlyBattle) + } + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_WORLD_LEVEL" => { + Some(Self::ScriptHollowQuestTypeWorldLevel) + } + "FAIJILLJFDD_SCRIPT_HOLLOW_QUEST_TYPE_HARD_MODE" => { + Some(Self::ScriptHollowQuestTypeHardMode) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lpknkcddloo { + Mgilhellflb = 0, + Kmmdainhlgl = 1, + Abdcfogdegi = 2, +} +impl Lpknkcddloo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mgilhellflb => "LPKNKCDDLOO_MGILHELLFLB", + Self::Kmmdainhlgl => "LPKNKCDDLOO_KMMDAINHLGL", + Self::Abdcfogdegi => "LPKNKCDDLOO_ABDCFOGDEGI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LPKNKCDDLOO_MGILHELLFLB" => Some(Self::Mgilhellflb), + "LPKNKCDDLOO_KMMDAINHLGL" => Some(Self::Kmmdainhlgl), + "LPKNKCDDLOO_ABDCFOGDEGI" => Some(Self::Abdcfogdegi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ppobfkigjgc { + Xy2Index = 0, + Index2Xy = 1, +} +impl Ppobfkigjgc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Xy2Index => "PPOBFKIGJGC_XY_2_INDEX", + Self::Index2Xy => "PPOBFKIGJGC_INDEX_2_XY", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PPOBFKIGJGC_XY_2_INDEX" => Some(Self::Xy2Index), + "PPOBFKIGJGC_INDEX_2_XY" => Some(Self::Index2Xy), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Adjnfklhfml { + Bmnimmjciol = 0, +} +impl Adjnfklhfml { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bmnimmjciol => "ADJNFKLHFML_BMNIMMJCIOL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ADJNFKLHFML_BMNIMMJCIOL" => Some(Self::Bmnimmjciol), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pnmconcdhgh { + SceneTagDefault = 0, + SceneTagMetro = 1, + SceneTagConstructionSite = 2, + SceneTagSkyScraper = 3, + SceneTagZero = 4, + SceneTagStreet = 5, + SceneTagOuterRing = 6, +} +impl Pnmconcdhgh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::SceneTagDefault => "PNMCONCDHGH_SCENE_TAG_DEFAULT", + Self::SceneTagMetro => "PNMCONCDHGH_SCENE_TAG_METRO", + Self::SceneTagConstructionSite => "PNMCONCDHGH_SCENE_TAG_CONSTRUCTION_SITE", + Self::SceneTagSkyScraper => "PNMCONCDHGH_SCENE_TAG_SKY_SCRAPER", + Self::SceneTagZero => "PNMCONCDHGH_SCENE_TAG_ZERO", + Self::SceneTagStreet => "PNMCONCDHGH_SCENE_TAG_STREET", + Self::SceneTagOuterRing => "PNMCONCDHGH_SCENE_TAG_OUTER_RING", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PNMCONCDHGH_SCENE_TAG_DEFAULT" => Some(Self::SceneTagDefault), + "PNMCONCDHGH_SCENE_TAG_METRO" => Some(Self::SceneTagMetro), + "PNMCONCDHGH_SCENE_TAG_CONSTRUCTION_SITE" => { + Some(Self::SceneTagConstructionSite) + } + "PNMCONCDHGH_SCENE_TAG_SKY_SCRAPER" => Some(Self::SceneTagSkyScraper), + "PNMCONCDHGH_SCENE_TAG_ZERO" => Some(Self::SceneTagZero), + "PNMCONCDHGH_SCENE_TAG_STREET" => Some(Self::SceneTagStreet), + "PNMCONCDHGH_SCENE_TAG_OUTER_RING" => Some(Self::SceneTagOuterRing), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dgiciccgaae { + Dgiblicamkk = 0, + Fajipmfpknc = 1, + Danlmpokepl = 2, + Cfpekdhmacj = 3, + Bpjoppjkafl = 4, + Bnkkfnmkneb = 5, + Mkcnpdknhlm = 6, + Pneohjcofle = 7, + Iagelnadphi = 8, + Agpkgmacflp = 9, + Minpfioaplc = 10, + Jieppbhhebf = 11, + Cifjdhccdmc = 15, + Edamlmeideh = 16, + Ggceepobclj = 20, + Jmohakjjnhb = 21, + Gepfkigehle = 22, + Pjheljbmkcd = 23, + Llelpclmagd = 24, + Mfjhaekmccd = 25, + Iidecngnkhl = 26, + Pfldohdafgb = 27, + Amikcimogik = 28, +} +impl Dgiciccgaae { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dgiblicamkk => "DGICICCGAAE_DGIBLICAMKK", + Self::Fajipmfpknc => "DGICICCGAAE_FAJIPMFPKNC", + Self::Danlmpokepl => "DGICICCGAAE_DANLMPOKEPL", + Self::Cfpekdhmacj => "DGICICCGAAE_CFPEKDHMACJ", + Self::Bpjoppjkafl => "DGICICCGAAE_BPJOPPJKAFL", + Self::Bnkkfnmkneb => "DGICICCGAAE_BNKKFNMKNEB", + Self::Mkcnpdknhlm => "DGICICCGAAE_MKCNPDKNHLM", + Self::Pneohjcofle => "DGICICCGAAE_PNEOHJCOFLE", + Self::Iagelnadphi => "DGICICCGAAE_IAGELNADPHI", + Self::Agpkgmacflp => "DGICICCGAAE_AGPKGMACFLP", + Self::Minpfioaplc => "DGICICCGAAE_MINPFIOAPLC", + Self::Jieppbhhebf => "DGICICCGAAE_JIEPPBHHEBF", + Self::Cifjdhccdmc => "DGICICCGAAE_CIFJDHCCDMC", + Self::Edamlmeideh => "DGICICCGAAE_EDAMLMEIDEH", + Self::Ggceepobclj => "DGICICCGAAE_GGCEEPOBCLJ", + Self::Jmohakjjnhb => "DGICICCGAAE_JMOHAKJJNHB", + Self::Gepfkigehle => "DGICICCGAAE_GEPFKIGEHLE", + Self::Pjheljbmkcd => "DGICICCGAAE_PJHELJBMKCD", + Self::Llelpclmagd => "DGICICCGAAE_LLELPCLMAGD", + Self::Mfjhaekmccd => "DGICICCGAAE_MFJHAEKMCCD", + Self::Iidecngnkhl => "DGICICCGAAE_IIDECNGNKHL", + Self::Pfldohdafgb => "DGICICCGAAE_PFLDOHDAFGB", + Self::Amikcimogik => "DGICICCGAAE_AMIKCIMOGIK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DGICICCGAAE_DGIBLICAMKK" => Some(Self::Dgiblicamkk), + "DGICICCGAAE_FAJIPMFPKNC" => Some(Self::Fajipmfpknc), + "DGICICCGAAE_DANLMPOKEPL" => Some(Self::Danlmpokepl), + "DGICICCGAAE_CFPEKDHMACJ" => Some(Self::Cfpekdhmacj), + "DGICICCGAAE_BPJOPPJKAFL" => Some(Self::Bpjoppjkafl), + "DGICICCGAAE_BNKKFNMKNEB" => Some(Self::Bnkkfnmkneb), + "DGICICCGAAE_MKCNPDKNHLM" => Some(Self::Mkcnpdknhlm), + "DGICICCGAAE_PNEOHJCOFLE" => Some(Self::Pneohjcofle), + "DGICICCGAAE_IAGELNADPHI" => Some(Self::Iagelnadphi), + "DGICICCGAAE_AGPKGMACFLP" => Some(Self::Agpkgmacflp), + "DGICICCGAAE_MINPFIOAPLC" => Some(Self::Minpfioaplc), + "DGICICCGAAE_JIEPPBHHEBF" => Some(Self::Jieppbhhebf), + "DGICICCGAAE_CIFJDHCCDMC" => Some(Self::Cifjdhccdmc), + "DGICICCGAAE_EDAMLMEIDEH" => Some(Self::Edamlmeideh), + "DGICICCGAAE_GGCEEPOBCLJ" => Some(Self::Ggceepobclj), + "DGICICCGAAE_JMOHAKJJNHB" => Some(Self::Jmohakjjnhb), + "DGICICCGAAE_GEPFKIGEHLE" => Some(Self::Gepfkigehle), + "DGICICCGAAE_PJHELJBMKCD" => Some(Self::Pjheljbmkcd), + "DGICICCGAAE_LLELPCLMAGD" => Some(Self::Llelpclmagd), + "DGICICCGAAE_MFJHAEKMCCD" => Some(Self::Mfjhaekmccd), + "DGICICCGAAE_IIDECNGNKHL" => Some(Self::Iidecngnkhl), + "DGICICCGAAE_PFLDOHDAFGB" => Some(Self::Pfldohdafgb), + "DGICICCGAAE_AMIKCIMOGIK" => Some(Self::Amikcimogik), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aopcfgaojkb { + Kfajbbolbce = 0, + Aflegekbaen = 1, + Hlfjelphomc = 2, + Ichgpghgokd = 3, + Ncjbjopkcgp = 4, +} +impl Aopcfgaojkb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kfajbbolbce => "AOPCFGAOJKB_KFAJBBOLBCE", + Self::Aflegekbaen => "AOPCFGAOJKB_AFLEGEKBAEN", + Self::Hlfjelphomc => "AOPCFGAOJKB_HLFJELPHOMC", + Self::Ichgpghgokd => "AOPCFGAOJKB_ICHGPGHGOKD", + Self::Ncjbjopkcgp => "AOPCFGAOJKB_NCJBJOPKCGP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AOPCFGAOJKB_KFAJBBOLBCE" => Some(Self::Kfajbbolbce), + "AOPCFGAOJKB_AFLEGEKBAEN" => Some(Self::Aflegekbaen), + "AOPCFGAOJKB_HLFJELPHOMC" => Some(Self::Hlfjelphomc), + "AOPCFGAOJKB_ICHGPGHGOKD" => Some(Self::Ichgpghgokd), + "AOPCFGAOJKB_NCJBJOPKCGP" => Some(Self::Ncjbjopkcgp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Chlbmblieoe { + ModifyAdd = 0, + ModifyReplace = 1, + ModifyReduce = 2, +} +impl Chlbmblieoe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ModifyAdd => "CHLBMBLIEOE_MODIFY_ADD", + Self::ModifyReplace => "CHLBMBLIEOE_MODIFY_REPLACE", + Self::ModifyReduce => "CHLBMBLIEOE_MODIFY_REDUCE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CHLBMBLIEOE_MODIFY_ADD" => Some(Self::ModifyAdd), + "CHLBMBLIEOE_MODIFY_REPLACE" => Some(Self::ModifyReplace), + "CHLBMBLIEOE_MODIFY_REDUCE" => Some(Self::ModifyReduce), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Keeoohcfbne { + Nlepgbopfnl = 0, + Iploibdhmnc = 1, + Lbjjmdgbfmp = 2, + Lelfpnhllpn = 3, + Kgbibdcldeb = 4, + Cbdpklfinlj = 5, + Anhbgplliha = 6, + Gjmmekeimpa = 7, + Mkimaopcing = 8, + Aemcpdecoan = 9, + Plladbeckkk = 10, + Nbkickmkclf = 11, + Hofhlpeajph = 12, +} +impl Keeoohcfbne { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nlepgbopfnl => "KEEOOHCFBNE_NLEPGBOPFNL", + Self::Iploibdhmnc => "KEEOOHCFBNE_IPLOIBDHMNC", + Self::Lbjjmdgbfmp => "KEEOOHCFBNE_LBJJMDGBFMP", + Self::Lelfpnhllpn => "KEEOOHCFBNE_LELFPNHLLPN", + Self::Kgbibdcldeb => "KEEOOHCFBNE_KGBIBDCLDEB", + Self::Cbdpklfinlj => "KEEOOHCFBNE_CBDPKLFINLJ", + Self::Anhbgplliha => "KEEOOHCFBNE_ANHBGPLLIHA", + Self::Gjmmekeimpa => "KEEOOHCFBNE_GJMMEKEIMPA", + Self::Mkimaopcing => "KEEOOHCFBNE_MKIMAOPCING", + Self::Aemcpdecoan => "KEEOOHCFBNE_AEMCPDECOAN", + Self::Plladbeckkk => "KEEOOHCFBNE_PLLADBECKKK", + Self::Nbkickmkclf => "KEEOOHCFBNE_NBKICKMKCLF", + Self::Hofhlpeajph => "KEEOOHCFBNE_HOFHLPEAJPH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KEEOOHCFBNE_NLEPGBOPFNL" => Some(Self::Nlepgbopfnl), + "KEEOOHCFBNE_IPLOIBDHMNC" => Some(Self::Iploibdhmnc), + "KEEOOHCFBNE_LBJJMDGBFMP" => Some(Self::Lbjjmdgbfmp), + "KEEOOHCFBNE_LELFPNHLLPN" => Some(Self::Lelfpnhllpn), + "KEEOOHCFBNE_KGBIBDCLDEB" => Some(Self::Kgbibdcldeb), + "KEEOOHCFBNE_CBDPKLFINLJ" => Some(Self::Cbdpklfinlj), + "KEEOOHCFBNE_ANHBGPLLIHA" => Some(Self::Anhbgplliha), + "KEEOOHCFBNE_GJMMEKEIMPA" => Some(Self::Gjmmekeimpa), + "KEEOOHCFBNE_MKIMAOPCING" => Some(Self::Mkimaopcing), + "KEEOOHCFBNE_AEMCPDECOAN" => Some(Self::Aemcpdecoan), + "KEEOOHCFBNE_PLLADBECKKK" => Some(Self::Plladbeckkk), + "KEEOOHCFBNE_NBKICKMKCLF" => Some(Self::Nbkickmkclf), + "KEEOOHCFBNE_HOFHLPEAJPH" => Some(Self::Hofhlpeajph), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mgbeeamjakl { + Oeaejbmoojb = 0, + Nlgeiaibiep = 1, + Nmpjieedbjg = 2, + Phghnbijfan = 3, +} +impl Mgbeeamjakl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Oeaejbmoojb => "MGBEEAMJAKL_OEAEJBMOOJB", + Self::Nlgeiaibiep => "MGBEEAMJAKL_NLGEIAIBIEP", + Self::Nmpjieedbjg => "MGBEEAMJAKL_NMPJIEEDBJG", + Self::Phghnbijfan => "MGBEEAMJAKL_PHGHNBIJFAN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MGBEEAMJAKL_OEAEJBMOOJB" => Some(Self::Oeaejbmoojb), + "MGBEEAMJAKL_NLGEIAIBIEP" => Some(Self::Nlgeiaibiep), + "MGBEEAMJAKL_NMPJIEEDBJG" => Some(Self::Nmpjieedbjg), + "MGBEEAMJAKL_PHGHNBIJFAN" => Some(Self::Phghnbijfan), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ompjnmoaacp { + Obphbhkjkff = 0, + Icfjbjlnobe = 1, + Ejpjblaikoa = 2, +} +impl Ompjnmoaacp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Obphbhkjkff => "OMPJNMOAACP_OBPHBHKJKFF", + Self::Icfjbjlnobe => "OMPJNMOAACP_ICFJBJLNOBE", + Self::Ejpjblaikoa => "OMPJNMOAACP_EJPJBLAIKOA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OMPJNMOAACP_OBPHBHKJKFF" => Some(Self::Obphbhkjkff), + "OMPJNMOAACP_ICFJBJLNOBE" => Some(Self::Icfjbjlnobe), + "OMPJNMOAACP_EJPJBLAIKOA" => Some(Self::Ejpjblaikoa), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Okjipjhdidg { + Icnpmiggaio = 0, + Eplpfcnkbaa = 1, + Melflhnbkfh = 2, +} +impl Okjipjhdidg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Icnpmiggaio => "OKJIPJHDIDG_ICNPMIGGAIO", + Self::Eplpfcnkbaa => "OKJIPJHDIDG_EPLPFCNKBAA", + Self::Melflhnbkfh => "OKJIPJHDIDG_MELFLHNBKFH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OKJIPJHDIDG_ICNPMIGGAIO" => Some(Self::Icnpmiggaio), + "OKJIPJHDIDG_EPLPFCNKBAA" => Some(Self::Eplpfcnkbaa), + "OKJIPJHDIDG_MELFLHNBKFH" => Some(Self::Melflhnbkfh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gomfnolphpf { + Jcpbkmchmma = 0, + Acoonccmkbi = 1, + Chiphlinkob = 2, + Fimhchpeaio = 10, + Fbibkheplja = 100, + Dgepaffpgni = 101, + Iggiemjkiob = 110, + Nmidmpoddao = 111, + Cfgldindalf = 112, + Gkhbdmedbpi = 118, + Bojibemgkhf = 119, + Ibiobccjdff = 201, + Eflmocngdcb = 419, + Ajlpeebhfpm = 501, + Nfeikmiejkn = 503, + Hejmihpdcbc = 150201, + Chcbmcecebi = 3000001, + Dffcjjcblck = 3000100, + Hggfncncnni = 3000101, +} +impl Gomfnolphpf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jcpbkmchmma => "GOMFNOLPHPF_JCPBKMCHMMA", + Self::Acoonccmkbi => "GOMFNOLPHPF_ACOONCCMKBI", + Self::Chiphlinkob => "GOMFNOLPHPF_CHIPHLINKOB", + Self::Fimhchpeaio => "GOMFNOLPHPF_FIMHCHPEAIO", + Self::Fbibkheplja => "GOMFNOLPHPF_FBIBKHEPLJA", + Self::Dgepaffpgni => "GOMFNOLPHPF_DGEPAFFPGNI", + Self::Iggiemjkiob => "GOMFNOLPHPF_IGGIEMJKIOB", + Self::Nmidmpoddao => "GOMFNOLPHPF_NMIDMPODDAO", + Self::Cfgldindalf => "GOMFNOLPHPF_CFGLDINDALF", + Self::Gkhbdmedbpi => "GOMFNOLPHPF_GKHBDMEDBPI", + Self::Bojibemgkhf => "GOMFNOLPHPF_BOJIBEMGKHF", + Self::Ibiobccjdff => "GOMFNOLPHPF_IBIOBCCJDFF", + Self::Eflmocngdcb => "GOMFNOLPHPF_EFLMOCNGDCB", + Self::Ajlpeebhfpm => "GOMFNOLPHPF_AJLPEEBHFPM", + Self::Nfeikmiejkn => "GOMFNOLPHPF_NFEIKMIEJKN", + Self::Hejmihpdcbc => "GOMFNOLPHPF_HEJMIHPDCBC", + Self::Chcbmcecebi => "GOMFNOLPHPF_CHCBMCECEBI", + Self::Dffcjjcblck => "GOMFNOLPHPF_DFFCJJCBLCK", + Self::Hggfncncnni => "GOMFNOLPHPF_HGGFNCNCNNI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GOMFNOLPHPF_JCPBKMCHMMA" => Some(Self::Jcpbkmchmma), + "GOMFNOLPHPF_ACOONCCMKBI" => Some(Self::Acoonccmkbi), + "GOMFNOLPHPF_CHIPHLINKOB" => Some(Self::Chiphlinkob), + "GOMFNOLPHPF_FIMHCHPEAIO" => Some(Self::Fimhchpeaio), + "GOMFNOLPHPF_FBIBKHEPLJA" => Some(Self::Fbibkheplja), + "GOMFNOLPHPF_DGEPAFFPGNI" => Some(Self::Dgepaffpgni), + "GOMFNOLPHPF_IGGIEMJKIOB" => Some(Self::Iggiemjkiob), + "GOMFNOLPHPF_NMIDMPODDAO" => Some(Self::Nmidmpoddao), + "GOMFNOLPHPF_CFGLDINDALF" => Some(Self::Cfgldindalf), + "GOMFNOLPHPF_GKHBDMEDBPI" => Some(Self::Gkhbdmedbpi), + "GOMFNOLPHPF_BOJIBEMGKHF" => Some(Self::Bojibemgkhf), + "GOMFNOLPHPF_IBIOBCCJDFF" => Some(Self::Ibiobccjdff), + "GOMFNOLPHPF_EFLMOCNGDCB" => Some(Self::Eflmocngdcb), + "GOMFNOLPHPF_AJLPEEBHFPM" => Some(Self::Ajlpeebhfpm), + "GOMFNOLPHPF_NFEIKMIEJKN" => Some(Self::Nfeikmiejkn), + "GOMFNOLPHPF_HEJMIHPDCBC" => Some(Self::Hejmihpdcbc), + "GOMFNOLPHPF_CHCBMCECEBI" => Some(Self::Chcbmcecebi), + "GOMFNOLPHPF_DFFCJJCBLCK" => Some(Self::Dffcjjcblck), + "GOMFNOLPHPF_HGGFNCNCNNI" => Some(Self::Hggfncncnni), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ogafjnnidpa { + Mnhofdceckf = 0, + Jobdiajebbn = 1, + Ffljffceken = 2, +} +impl Ogafjnnidpa { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mnhofdceckf => "OGAFJNNIDPA_MNHOFDCECKF", + Self::Jobdiajebbn => "OGAFJNNIDPA_JOBDIAJEBBN", + Self::Ffljffceken => "OGAFJNNIDPA_FFLJFFCEKEN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OGAFJNNIDPA_MNHOFDCECKF" => Some(Self::Mnhofdceckf), + "OGAFJNNIDPA_JOBDIAJEBBN" => Some(Self::Jobdiajebbn), + "OGAFJNNIDPA_FFLJFFCEKEN" => Some(Self::Ffljffceken), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Eanenhahgpm { + Ponphfamfng = 0, + Nbhbjoemnoc = 1, + Lincfmhdbje = 2, +} +impl Eanenhahgpm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ponphfamfng => "EANENHAHGPM_PONPHFAMFNG", + Self::Nbhbjoemnoc => "EANENHAHGPM_NBHBJOEMNOC", + Self::Lincfmhdbje => "EANENHAHGPM_LINCFMHDBJE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EANENHAHGPM_PONPHFAMFNG" => Some(Self::Ponphfamfng), + "EANENHAHGPM_NBHBJOEMNOC" => Some(Self::Nbhbjoemnoc), + "EANENHAHGPM_LINCFMHDBJE" => Some(Self::Lincfmhdbje), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cnaookdijik { + CrossShaped = 0, + ManhattanSquare = 1, + Square = 2, +} +impl Cnaookdijik { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::CrossShaped => "CNAOOKDIJIK_CROSS_SHAPED", + Self::ManhattanSquare => "CNAOOKDIJIK_MANHATTAN_SQUARE", + Self::Square => "CNAOOKDIJIK_SQUARE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CNAOOKDIJIK_CROSS_SHAPED" => Some(Self::CrossShaped), + "CNAOOKDIJIK_MANHATTAN_SQUARE" => Some(Self::ManhattanSquare), + "CNAOOKDIJIK_SQUARE" => Some(Self::Square), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iokckccbmcm { + FleaMarketStateNone = 0, + FleaMarketStateHasLockedAndExchanged = 1, + FleaMarketStateHasLockedAndUnexchanged = 2, + FleaMarketStateAllUnlocked = 3, + FleaMarketStateAllExchanged = 4, +} +impl Iokckccbmcm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::FleaMarketStateNone => "IOKCKCCBMCM_FLEA_MARKET_STATE_NONE", + Self::FleaMarketStateHasLockedAndExchanged => { + "IOKCKCCBMCM_FLEA_MARKET_STATE_HAS_LOCKED_AND_EXCHANGED" + } + Self::FleaMarketStateHasLockedAndUnexchanged => { + "IOKCKCCBMCM_FLEA_MARKET_STATE_HAS_LOCKED_AND_UNEXCHANGED" + } + Self::FleaMarketStateAllUnlocked => { + "IOKCKCCBMCM_FLEA_MARKET_STATE_ALL_UNLOCKED" + } + Self::FleaMarketStateAllExchanged => { + "IOKCKCCBMCM_FLEA_MARKET_STATE_ALL_EXCHANGED" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IOKCKCCBMCM_FLEA_MARKET_STATE_NONE" => Some(Self::FleaMarketStateNone), + "IOKCKCCBMCM_FLEA_MARKET_STATE_HAS_LOCKED_AND_EXCHANGED" => { + Some(Self::FleaMarketStateHasLockedAndExchanged) + } + "IOKCKCCBMCM_FLEA_MARKET_STATE_HAS_LOCKED_AND_UNEXCHANGED" => { + Some(Self::FleaMarketStateHasLockedAndUnexchanged) + } + "IOKCKCCBMCM_FLEA_MARKET_STATE_ALL_UNLOCKED" => { + Some(Self::FleaMarketStateAllUnlocked) + } + "IOKCKCCBMCM_FLEA_MARKET_STATE_ALL_EXCHANGED" => { + Some(Self::FleaMarketStateAllExchanged) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ijlaflngfei { + GridStaminaTypeNone = 0, + GridStaminaTypeDefault = 1, + GridStaminaTypeNoStamina = 2, + GridStaminaTypeStamina = 3, +} +impl Ijlaflngfei { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::GridStaminaTypeNone => "IJLAFLNGFEI_GRID_STAMINA_TYPE_NONE", + Self::GridStaminaTypeDefault => "IJLAFLNGFEI_GRID_STAMINA_TYPE_DEFAULT", + Self::GridStaminaTypeNoStamina => "IJLAFLNGFEI_GRID_STAMINA_TYPE_NO_STAMINA", + Self::GridStaminaTypeStamina => "IJLAFLNGFEI_GRID_STAMINA_TYPE_STAMINA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IJLAFLNGFEI_GRID_STAMINA_TYPE_NONE" => Some(Self::GridStaminaTypeNone), + "IJLAFLNGFEI_GRID_STAMINA_TYPE_DEFAULT" => Some(Self::GridStaminaTypeDefault), + "IJLAFLNGFEI_GRID_STAMINA_TYPE_NO_STAMINA" => { + Some(Self::GridStaminaTypeNoStamina) + } + "IJLAFLNGFEI_GRID_STAMINA_TYPE_STAMINA" => Some(Self::GridStaminaTypeStamina), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bbnigddmmle { + Ggofajlnpkk = 0, + Okkpakigllp = 1, +} +impl Bbnigddmmle { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ggofajlnpkk => "BBNIGDDMMLE_GGOFAJLNPKK", + Self::Okkpakigllp => "BBNIGDDMMLE_OKKPAKIGLLP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BBNIGDDMMLE_GGOFAJLNPKK" => Some(Self::Ggofajlnpkk), + "BBNIGDDMMLE_OKKPAKIGLLP" => Some(Self::Okkpakigllp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ggiapahcleg { + Adpgpjinhol = 0, + Gpofkkjllmd = 1, + Kmminokhllp = 2, + Cjnecnkkggg = 3, + Iffhkeeifne = 4, + Cmlfddookng = 5, + Eoiaildplem = 6, +} +impl Ggiapahcleg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Adpgpjinhol => "GGIAPAHCLEG_ADPGPJINHOL", + Self::Gpofkkjllmd => "GGIAPAHCLEG_GPOFKKJLLMD", + Self::Kmminokhllp => "GGIAPAHCLEG_KMMINOKHLLP", + Self::Cjnecnkkggg => "GGIAPAHCLEG_CJNECNKKGGG", + Self::Iffhkeeifne => "GGIAPAHCLEG_IFFHKEEIFNE", + Self::Cmlfddookng => "GGIAPAHCLEG_CMLFDDOOKNG", + Self::Eoiaildplem => "GGIAPAHCLEG_EOIAILDPLEM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GGIAPAHCLEG_ADPGPJINHOL" => Some(Self::Adpgpjinhol), + "GGIAPAHCLEG_GPOFKKJLLMD" => Some(Self::Gpofkkjllmd), + "GGIAPAHCLEG_KMMINOKHLLP" => Some(Self::Kmminokhllp), + "GGIAPAHCLEG_CJNECNKKGGG" => Some(Self::Cjnecnkkggg), + "GGIAPAHCLEG_IFFHKEEIFNE" => Some(Self::Iffhkeeifne), + "GGIAPAHCLEG_CMLFDDOOKNG" => Some(Self::Cmlfddookng), + "GGIAPAHCLEG_EOIAILDPLEM" => Some(Self::Eoiaildplem), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dakhmepbhol { + Hhpafpjlkjg = 0, + Abalejkhebi = 1, + Ehldhgpkkgn = 2, + Pnojlfimejo = 3, + Kpkjgnomojb = 5, + Aogkkdmnpbj = 6, + Lloenoocook = 7, + Iidjfdkmgnm = 8, + Hnhnghhkcbe = 9, + Cinpebmdgfb = 10, + Eboncolcfic = 11, + Coolkfilpfh = 12, + Mmmnpacbfnp = 20, + Odnckedalbb = 21, + Japphanpgjb = 22, + Hknjefjkmmh = 23, + Gbcfjepklkg = 31, + Nkjepglddbi = 32, +} +impl Dakhmepbhol { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hhpafpjlkjg => "DAKHMEPBHOL_HHPAFPJLKJG", + Self::Abalejkhebi => "DAKHMEPBHOL_ABALEJKHEBI", + Self::Ehldhgpkkgn => "DAKHMEPBHOL_EHLDHGPKKGN", + Self::Pnojlfimejo => "DAKHMEPBHOL_PNOJLFIMEJO", + Self::Kpkjgnomojb => "DAKHMEPBHOL_KPKJGNOMOJB", + Self::Aogkkdmnpbj => "DAKHMEPBHOL_AOGKKDMNPBJ", + Self::Lloenoocook => "DAKHMEPBHOL_LLOENOOCOOK", + Self::Iidjfdkmgnm => "DAKHMEPBHOL_IIDJFDKMGNM", + Self::Hnhnghhkcbe => "DAKHMEPBHOL_HNHNGHHKCBE", + Self::Cinpebmdgfb => "DAKHMEPBHOL_CINPEBMDGFB", + Self::Eboncolcfic => "DAKHMEPBHOL_EBONCOLCFIC", + Self::Coolkfilpfh => "DAKHMEPBHOL_COOLKFILPFH", + Self::Mmmnpacbfnp => "DAKHMEPBHOL_MMMNPACBFNP", + Self::Odnckedalbb => "DAKHMEPBHOL_ODNCKEDALBB", + Self::Japphanpgjb => "DAKHMEPBHOL_JAPPHANPGJB", + Self::Hknjefjkmmh => "DAKHMEPBHOL_HKNJEFJKMMH", + Self::Gbcfjepklkg => "DAKHMEPBHOL_GBCFJEPKLKG", + Self::Nkjepglddbi => "DAKHMEPBHOL_NKJEPGLDDBI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DAKHMEPBHOL_HHPAFPJLKJG" => Some(Self::Hhpafpjlkjg), + "DAKHMEPBHOL_ABALEJKHEBI" => Some(Self::Abalejkhebi), + "DAKHMEPBHOL_EHLDHGPKKGN" => Some(Self::Ehldhgpkkgn), + "DAKHMEPBHOL_PNOJLFIMEJO" => Some(Self::Pnojlfimejo), + "DAKHMEPBHOL_KPKJGNOMOJB" => Some(Self::Kpkjgnomojb), + "DAKHMEPBHOL_AOGKKDMNPBJ" => Some(Self::Aogkkdmnpbj), + "DAKHMEPBHOL_LLOENOOCOOK" => Some(Self::Lloenoocook), + "DAKHMEPBHOL_IIDJFDKMGNM" => Some(Self::Iidjfdkmgnm), + "DAKHMEPBHOL_HNHNGHHKCBE" => Some(Self::Hnhnghhkcbe), + "DAKHMEPBHOL_CINPEBMDGFB" => Some(Self::Cinpebmdgfb), + "DAKHMEPBHOL_EBONCOLCFIC" => Some(Self::Eboncolcfic), + "DAKHMEPBHOL_COOLKFILPFH" => Some(Self::Coolkfilpfh), + "DAKHMEPBHOL_MMMNPACBFNP" => Some(Self::Mmmnpacbfnp), + "DAKHMEPBHOL_ODNCKEDALBB" => Some(Self::Odnckedalbb), + "DAKHMEPBHOL_JAPPHANPGJB" => Some(Self::Japphanpgjb), + "DAKHMEPBHOL_HKNJEFJKMMH" => Some(Self::Hknjefjkmmh), + "DAKHMEPBHOL_GBCFJEPKLKG" => Some(Self::Gbcfjepklkg), + "DAKHMEPBHOL_NKJEPGLDDBI" => Some(Self::Nkjepglddbi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Giglhifedgn { + Hagkgbnacfn = 0, + Pdiickkkidl = 1, + Obdmekfcmgb = 2, + Hgnpkafbbeb = 4, + Logikhaddnd = 5, + Kgkpiejbcmn = 6, +} +impl Giglhifedgn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hagkgbnacfn => "GIGLHIFEDGN_HAGKGBNACFN", + Self::Pdiickkkidl => "GIGLHIFEDGN_PDIICKKKIDL", + Self::Obdmekfcmgb => "GIGLHIFEDGN_OBDMEKFCMGB", + Self::Hgnpkafbbeb => "GIGLHIFEDGN_HGNPKAFBBEB", + Self::Logikhaddnd => "GIGLHIFEDGN_LOGIKHADDND", + Self::Kgkpiejbcmn => "GIGLHIFEDGN_KGKPIEJBCMN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GIGLHIFEDGN_HAGKGBNACFN" => Some(Self::Hagkgbnacfn), + "GIGLHIFEDGN_PDIICKKKIDL" => Some(Self::Pdiickkkidl), + "GIGLHIFEDGN_OBDMEKFCMGB" => Some(Self::Obdmekfcmgb), + "GIGLHIFEDGN_HGNPKAFBBEB" => Some(Self::Hgnpkafbbeb), + "GIGLHIFEDGN_LOGIKHADDND" => Some(Self::Logikhaddnd), + "GIGLHIFEDGN_KGKPIEJBCMN" => Some(Self::Kgkpiejbcmn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cencnjcohnn { + Iapojlleggp = 0, + Dgaoimhghfp = 1, + Feekjekffcd = 2, + Lgegbijahnj = 3, + Ioijlgifade = 4, + Mggajdlhaff = 5, + Nefipemockp = 6, + Mdldppfndph = 7, + Bglmfpeglon = 8, + Lijblhdjeba = 9, + Ngkfojdkfjm = 10, + Necgiokngol = 11, + Hbeokgmnekf = 12, + Fffkhacamlp = 13, +} +impl Cencnjcohnn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Iapojlleggp => "CENCNJCOHNN_IAPOJLLEGGP", + Self::Dgaoimhghfp => "CENCNJCOHNN_DGAOIMHGHFP", + Self::Feekjekffcd => "CENCNJCOHNN_FEEKJEKFFCD", + Self::Lgegbijahnj => "CENCNJCOHNN_LGEGBIJAHNJ", + Self::Ioijlgifade => "CENCNJCOHNN_IOIJLGIFADE", + Self::Mggajdlhaff => "CENCNJCOHNN_MGGAJDLHAFF", + Self::Nefipemockp => "CENCNJCOHNN_NEFIPEMOCKP", + Self::Mdldppfndph => "CENCNJCOHNN_MDLDPPFNDPH", + Self::Bglmfpeglon => "CENCNJCOHNN_BGLMFPEGLON", + Self::Lijblhdjeba => "CENCNJCOHNN_LIJBLHDJEBA", + Self::Ngkfojdkfjm => "CENCNJCOHNN_NGKFOJDKFJM", + Self::Necgiokngol => "CENCNJCOHNN_NECGIOKNGOL", + Self::Hbeokgmnekf => "CENCNJCOHNN_HBEOKGMNEKF", + Self::Fffkhacamlp => "CENCNJCOHNN_FFFKHACAMLP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CENCNJCOHNN_IAPOJLLEGGP" => Some(Self::Iapojlleggp), + "CENCNJCOHNN_DGAOIMHGHFP" => Some(Self::Dgaoimhghfp), + "CENCNJCOHNN_FEEKJEKFFCD" => Some(Self::Feekjekffcd), + "CENCNJCOHNN_LGEGBIJAHNJ" => Some(Self::Lgegbijahnj), + "CENCNJCOHNN_IOIJLGIFADE" => Some(Self::Ioijlgifade), + "CENCNJCOHNN_MGGAJDLHAFF" => Some(Self::Mggajdlhaff), + "CENCNJCOHNN_NEFIPEMOCKP" => Some(Self::Nefipemockp), + "CENCNJCOHNN_MDLDPPFNDPH" => Some(Self::Mdldppfndph), + "CENCNJCOHNN_BGLMFPEGLON" => Some(Self::Bglmfpeglon), + "CENCNJCOHNN_LIJBLHDJEBA" => Some(Self::Lijblhdjeba), + "CENCNJCOHNN_NGKFOJDKFJM" => Some(Self::Ngkfojdkfjm), + "CENCNJCOHNN_NECGIOKNGOL" => Some(Self::Necgiokngol), + "CENCNJCOHNN_HBEOKGMNEKF" => Some(Self::Hbeokgmnekf), + "CENCNJCOHNN_FFFKHACAMLP" => Some(Self::Fffkhacamlp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mgnfdjjjejp { + Khkkcpepidi = 0, +} +impl Mgnfdjjjejp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Khkkcpepidi => "MGNFDJJJEJP_KHKKCPEPIDI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MGNFDJJJEJP_KHKKCPEPIDI" => Some(Self::Khkkcpepidi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ahdpbcfgipc { + Nlkkcmgmigl = 0, + Kdghabfpfig = 1, + Plhkcehlcpk = 2, + Jgkmimfplij = 3, + Ijgedcjcmnf = 4, + Nhnlijllimc = 5, + Kcoffipaedn = 7, + Oldldogpoki = 8, + Mddklggahpm = 9, + Jealcjoioci = 10, + Dkieopoelni = 11, + Cklgbjckoel = 12, + Kfeelcfekgg = 13, + Ocigkkedigg = 14, + Obhmeaglamg = 15, + Icobmbclklc = 16, + Bkcmcpfjeoh = 17, + Mfmadiafjcb = 18, + Epgfhejkloe = 19, + Jcedmconcbe = 20, + Eghnpnofcme = 21, + Ofnclhbdelc = 22, + Ecpdcekcjoc = 23, + Cigafeafeni = 31, + Fdedenjipmh = 32, + Eiknlibeclh = 34, + Pkplmioljdn = 35, + Djclomdpceo = 36, + Hkeoegmeggi = 37, + Gabjmejaepc = 38, + Jhmpbocohgg = 51, + Chflfjgbpjg = 52, + Hfaknpkghbh = 61, + Nphpckiddap = 62, + Mohdfenfdci = 63, + Incllfcejjh = 64, + Oogdhnlnnhh = 65, + Efiboghjpho = 67, + Idndhmfpbkc = 68, + Ndnopjlffac = 69, + Ginldfocjmg = 70, + Hmeebekplkl = 71, + Efdolmabdfb = 72, + Bhgcjgpfgkp = 73, + Fkmpnpkhfjj = 74, + Dkegobeaphh = 75, + Lkpbjlpgiha = 76, + Bhiciomnann = 77, + Comojhboibb = 78, + Oggikpfhige = 79, + Eajnfmdloel = 80, + Oghoekeofbm = 81, + Hcjjmmkmhac = 82, + Kgahciljcjb = 83, +} +impl Ahdpbcfgipc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nlkkcmgmigl => "AHDPBCFGIPC_NLKKCMGMIGL", + Self::Kdghabfpfig => "AHDPBCFGIPC_KDGHABFPFIG", + Self::Plhkcehlcpk => "AHDPBCFGIPC_PLHKCEHLCPK", + Self::Jgkmimfplij => "AHDPBCFGIPC_JGKMIMFPLIJ", + Self::Ijgedcjcmnf => "AHDPBCFGIPC_IJGEDCJCMNF", + Self::Nhnlijllimc => "AHDPBCFGIPC_NHNLIJLLIMC", + Self::Kcoffipaedn => "AHDPBCFGIPC_KCOFFIPAEDN", + Self::Oldldogpoki => "AHDPBCFGIPC_OLDLDOGPOKI", + Self::Mddklggahpm => "AHDPBCFGIPC_MDDKLGGAHPM", + Self::Jealcjoioci => "AHDPBCFGIPC_JEALCJOIOCI", + Self::Dkieopoelni => "AHDPBCFGIPC_DKIEOPOELNI", + Self::Cklgbjckoel => "AHDPBCFGIPC_CKLGBJCKOEL", + Self::Kfeelcfekgg => "AHDPBCFGIPC_KFEELCFEKGG", + Self::Ocigkkedigg => "AHDPBCFGIPC_OCIGKKEDIGG", + Self::Obhmeaglamg => "AHDPBCFGIPC_OBHMEAGLAMG", + Self::Icobmbclklc => "AHDPBCFGIPC_ICOBMBCLKLC", + Self::Bkcmcpfjeoh => "AHDPBCFGIPC_BKCMCPFJEOH", + Self::Mfmadiafjcb => "AHDPBCFGIPC_MFMADIAFJCB", + Self::Epgfhejkloe => "AHDPBCFGIPC_EPGFHEJKLOE", + Self::Jcedmconcbe => "AHDPBCFGIPC_JCEDMCONCBE", + Self::Eghnpnofcme => "AHDPBCFGIPC_EGHNPNOFCME", + Self::Ofnclhbdelc => "AHDPBCFGIPC_OFNCLHBDELC", + Self::Ecpdcekcjoc => "AHDPBCFGIPC_ECPDCEKCJOC", + Self::Cigafeafeni => "AHDPBCFGIPC_CIGAFEAFENI", + Self::Fdedenjipmh => "AHDPBCFGIPC_FDEDENJIPMH", + Self::Eiknlibeclh => "AHDPBCFGIPC_EIKNLIBECLH", + Self::Pkplmioljdn => "AHDPBCFGIPC_PKPLMIOLJDN", + Self::Djclomdpceo => "AHDPBCFGIPC_DJCLOMDPCEO", + Self::Hkeoegmeggi => "AHDPBCFGIPC_HKEOEGMEGGI", + Self::Gabjmejaepc => "AHDPBCFGIPC_GABJMEJAEPC", + Self::Jhmpbocohgg => "AHDPBCFGIPC_JHMPBOCOHGG", + Self::Chflfjgbpjg => "AHDPBCFGIPC_CHFLFJGBPJG", + Self::Hfaknpkghbh => "AHDPBCFGIPC_HFAKNPKGHBH", + Self::Nphpckiddap => "AHDPBCFGIPC_NPHPCKIDDAP", + Self::Mohdfenfdci => "AHDPBCFGIPC_MOHDFENFDCI", + Self::Incllfcejjh => "AHDPBCFGIPC_INCLLFCEJJH", + Self::Oogdhnlnnhh => "AHDPBCFGIPC_OOGDHNLNNHH", + Self::Efiboghjpho => "AHDPBCFGIPC_EFIBOGHJPHO", + Self::Idndhmfpbkc => "AHDPBCFGIPC_IDNDHMFPBKC", + Self::Ndnopjlffac => "AHDPBCFGIPC_NDNOPJLFFAC", + Self::Ginldfocjmg => "AHDPBCFGIPC_GINLDFOCJMG", + Self::Hmeebekplkl => "AHDPBCFGIPC_HMEEBEKPLKL", + Self::Efdolmabdfb => "AHDPBCFGIPC_EFDOLMABDFB", + Self::Bhgcjgpfgkp => "AHDPBCFGIPC_BHGCJGPFGKP", + Self::Fkmpnpkhfjj => "AHDPBCFGIPC_FKMPNPKHFJJ", + Self::Dkegobeaphh => "AHDPBCFGIPC_DKEGOBEAPHH", + Self::Lkpbjlpgiha => "AHDPBCFGIPC_LKPBJLPGIHA", + Self::Bhiciomnann => "AHDPBCFGIPC_BHICIOMNANN", + Self::Comojhboibb => "AHDPBCFGIPC_COMOJHBOIBB", + Self::Oggikpfhige => "AHDPBCFGIPC_OGGIKPFHIGE", + Self::Eajnfmdloel => "AHDPBCFGIPC_EAJNFMDLOEL", + Self::Oghoekeofbm => "AHDPBCFGIPC_OGHOEKEOFBM", + Self::Hcjjmmkmhac => "AHDPBCFGIPC_HCJJMMKMHAC", + Self::Kgahciljcjb => "AHDPBCFGIPC_KGAHCILJCJB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AHDPBCFGIPC_NLKKCMGMIGL" => Some(Self::Nlkkcmgmigl), + "AHDPBCFGIPC_KDGHABFPFIG" => Some(Self::Kdghabfpfig), + "AHDPBCFGIPC_PLHKCEHLCPK" => Some(Self::Plhkcehlcpk), + "AHDPBCFGIPC_JGKMIMFPLIJ" => Some(Self::Jgkmimfplij), + "AHDPBCFGIPC_IJGEDCJCMNF" => Some(Self::Ijgedcjcmnf), + "AHDPBCFGIPC_NHNLIJLLIMC" => Some(Self::Nhnlijllimc), + "AHDPBCFGIPC_KCOFFIPAEDN" => Some(Self::Kcoffipaedn), + "AHDPBCFGIPC_OLDLDOGPOKI" => Some(Self::Oldldogpoki), + "AHDPBCFGIPC_MDDKLGGAHPM" => Some(Self::Mddklggahpm), + "AHDPBCFGIPC_JEALCJOIOCI" => Some(Self::Jealcjoioci), + "AHDPBCFGIPC_DKIEOPOELNI" => Some(Self::Dkieopoelni), + "AHDPBCFGIPC_CKLGBJCKOEL" => Some(Self::Cklgbjckoel), + "AHDPBCFGIPC_KFEELCFEKGG" => Some(Self::Kfeelcfekgg), + "AHDPBCFGIPC_OCIGKKEDIGG" => Some(Self::Ocigkkedigg), + "AHDPBCFGIPC_OBHMEAGLAMG" => Some(Self::Obhmeaglamg), + "AHDPBCFGIPC_ICOBMBCLKLC" => Some(Self::Icobmbclklc), + "AHDPBCFGIPC_BKCMCPFJEOH" => Some(Self::Bkcmcpfjeoh), + "AHDPBCFGIPC_MFMADIAFJCB" => Some(Self::Mfmadiafjcb), + "AHDPBCFGIPC_EPGFHEJKLOE" => Some(Self::Epgfhejkloe), + "AHDPBCFGIPC_JCEDMCONCBE" => Some(Self::Jcedmconcbe), + "AHDPBCFGIPC_EGHNPNOFCME" => Some(Self::Eghnpnofcme), + "AHDPBCFGIPC_OFNCLHBDELC" => Some(Self::Ofnclhbdelc), + "AHDPBCFGIPC_ECPDCEKCJOC" => Some(Self::Ecpdcekcjoc), + "AHDPBCFGIPC_CIGAFEAFENI" => Some(Self::Cigafeafeni), + "AHDPBCFGIPC_FDEDENJIPMH" => Some(Self::Fdedenjipmh), + "AHDPBCFGIPC_EIKNLIBECLH" => Some(Self::Eiknlibeclh), + "AHDPBCFGIPC_PKPLMIOLJDN" => Some(Self::Pkplmioljdn), + "AHDPBCFGIPC_DJCLOMDPCEO" => Some(Self::Djclomdpceo), + "AHDPBCFGIPC_HKEOEGMEGGI" => Some(Self::Hkeoegmeggi), + "AHDPBCFGIPC_GABJMEJAEPC" => Some(Self::Gabjmejaepc), + "AHDPBCFGIPC_JHMPBOCOHGG" => Some(Self::Jhmpbocohgg), + "AHDPBCFGIPC_CHFLFJGBPJG" => Some(Self::Chflfjgbpjg), + "AHDPBCFGIPC_HFAKNPKGHBH" => Some(Self::Hfaknpkghbh), + "AHDPBCFGIPC_NPHPCKIDDAP" => Some(Self::Nphpckiddap), + "AHDPBCFGIPC_MOHDFENFDCI" => Some(Self::Mohdfenfdci), + "AHDPBCFGIPC_INCLLFCEJJH" => Some(Self::Incllfcejjh), + "AHDPBCFGIPC_OOGDHNLNNHH" => Some(Self::Oogdhnlnnhh), + "AHDPBCFGIPC_EFIBOGHJPHO" => Some(Self::Efiboghjpho), + "AHDPBCFGIPC_IDNDHMFPBKC" => Some(Self::Idndhmfpbkc), + "AHDPBCFGIPC_NDNOPJLFFAC" => Some(Self::Ndnopjlffac), + "AHDPBCFGIPC_GINLDFOCJMG" => Some(Self::Ginldfocjmg), + "AHDPBCFGIPC_HMEEBEKPLKL" => Some(Self::Hmeebekplkl), + "AHDPBCFGIPC_EFDOLMABDFB" => Some(Self::Efdolmabdfb), + "AHDPBCFGIPC_BHGCJGPFGKP" => Some(Self::Bhgcjgpfgkp), + "AHDPBCFGIPC_FKMPNPKHFJJ" => Some(Self::Fkmpnpkhfjj), + "AHDPBCFGIPC_DKEGOBEAPHH" => Some(Self::Dkegobeaphh), + "AHDPBCFGIPC_LKPBJLPGIHA" => Some(Self::Lkpbjlpgiha), + "AHDPBCFGIPC_BHICIOMNANN" => Some(Self::Bhiciomnann), + "AHDPBCFGIPC_COMOJHBOIBB" => Some(Self::Comojhboibb), + "AHDPBCFGIPC_OGGIKPFHIGE" => Some(Self::Oggikpfhige), + "AHDPBCFGIPC_EAJNFMDLOEL" => Some(Self::Eajnfmdloel), + "AHDPBCFGIPC_OGHOEKEOFBM" => Some(Self::Oghoekeofbm), + "AHDPBCFGIPC_HCJJMMKMHAC" => Some(Self::Hcjjmmkmhac), + "AHDPBCFGIPC_KGAHCILJCJB" => Some(Self::Kgahciljcjb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hndfdplhaio { + Fmlmjcdppog = 0, + Fbdjjcoponc = 1, + Hllmgmbkdfe = 2, +} +impl Hndfdplhaio { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fmlmjcdppog => "HNDFDPLHAIO_FMLMJCDPPOG", + Self::Fbdjjcoponc => "HNDFDPLHAIO_FBDJJCOPONC", + Self::Hllmgmbkdfe => "HNDFDPLHAIO_HLLMGMBKDFE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HNDFDPLHAIO_FMLMJCDPPOG" => Some(Self::Fmlmjcdppog), + "HNDFDPLHAIO_FBDJJCOPONC" => Some(Self::Fbdjjcoponc), + "HNDFDPLHAIO_HLLMGMBKDFE" => Some(Self::Hllmgmbkdfe), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ikaklpikbmp { + Djpojmcochp = 0, + Mhofidjkomi = 1, + Epphlgndjcj = 2, + Lihgbjphjik = 3, + Icpkbfhcgkp = 4, +} +impl Ikaklpikbmp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Djpojmcochp => "IKAKLPIKBMP_DJPOJMCOCHP", + Self::Mhofidjkomi => "IKAKLPIKBMP_MHOFIDJKOMI", + Self::Epphlgndjcj => "IKAKLPIKBMP_EPPHLGNDJCJ", + Self::Lihgbjphjik => "IKAKLPIKBMP_LIHGBJPHJIK", + Self::Icpkbfhcgkp => "IKAKLPIKBMP_ICPKBFHCGKP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IKAKLPIKBMP_DJPOJMCOCHP" => Some(Self::Djpojmcochp), + "IKAKLPIKBMP_MHOFIDJKOMI" => Some(Self::Mhofidjkomi), + "IKAKLPIKBMP_EPPHLGNDJCJ" => Some(Self::Epphlgndjcj), + "IKAKLPIKBMP_LIHGBJPHJIK" => Some(Self::Lihgbjphjik), + "IKAKLPIKBMP_ICPKBFHCGKP" => Some(Self::Icpkbfhcgkp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jpejjgdbdmi { + Bnmmjklogge = 0, + Gdkebolfdjg = 1, + Emfipkdonif = 2, + Ebgmiobggek = 3, + Fbhcegeaiil = 4, + Abmmgcaihhk = 5, + Fmbahdedjff = 6, + Gaemfnledce = 7, + Cfiaefgcmln = 8, + Fgfmcnkgaff = 9, +} +impl Jpejjgdbdmi { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bnmmjklogge => "JPEJJGDBDMI_BNMMJKLOGGE", + Self::Gdkebolfdjg => "JPEJJGDBDMI_GDKEBOLFDJG", + Self::Emfipkdonif => "JPEJJGDBDMI_EMFIPKDONIF", + Self::Ebgmiobggek => "JPEJJGDBDMI_EBGMIOBGGEK", + Self::Fbhcegeaiil => "JPEJJGDBDMI_FBHCEGEAIIL", + Self::Abmmgcaihhk => "JPEJJGDBDMI_ABMMGCAIHHK", + Self::Fmbahdedjff => "JPEJJGDBDMI_FMBAHDEDJFF", + Self::Gaemfnledce => "JPEJJGDBDMI_GAEMFNLEDCE", + Self::Cfiaefgcmln => "JPEJJGDBDMI_CFIAEFGCMLN", + Self::Fgfmcnkgaff => "JPEJJGDBDMI_FGFMCNKGAFF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JPEJJGDBDMI_BNMMJKLOGGE" => Some(Self::Bnmmjklogge), + "JPEJJGDBDMI_GDKEBOLFDJG" => Some(Self::Gdkebolfdjg), + "JPEJJGDBDMI_EMFIPKDONIF" => Some(Self::Emfipkdonif), + "JPEJJGDBDMI_EBGMIOBGGEK" => Some(Self::Ebgmiobggek), + "JPEJJGDBDMI_FBHCEGEAIIL" => Some(Self::Fbhcegeaiil), + "JPEJJGDBDMI_ABMMGCAIHHK" => Some(Self::Abmmgcaihhk), + "JPEJJGDBDMI_FMBAHDEDJFF" => Some(Self::Fmbahdedjff), + "JPEJJGDBDMI_GAEMFNLEDCE" => Some(Self::Gaemfnledce), + "JPEJJGDBDMI_CFIAEFGCMLN" => Some(Self::Cfiaefgcmln), + "JPEJJGDBDMI_FGFMCNKGAFF" => Some(Self::Fgfmcnkgaff), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dgnlfnjjkib { + Cjhjphdbjmk = 0, + Hlcjeaemhpi = 1, + Kffgfffdnan = 2, + Bkagagnpocd = 3, + Hekckbeolkf = 4, + Ahhddhbcmdp = 5, + Glhapblbkea = 6, + Kmjajjemcpe = 7, + Kglibpkgoia = 8, +} +impl Dgnlfnjjkib { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cjhjphdbjmk => "DGNLFNJJKIB_CJHJPHDBJMK", + Self::Hlcjeaemhpi => "DGNLFNJJKIB_HLCJEAEMHPI", + Self::Kffgfffdnan => "DGNLFNJJKIB_KFFGFFFDNAN", + Self::Bkagagnpocd => "DGNLFNJJKIB_BKAGAGNPOCD", + Self::Hekckbeolkf => "DGNLFNJJKIB_HEKCKBEOLKF", + Self::Ahhddhbcmdp => "DGNLFNJJKIB_AHHDDHBCMDP", + Self::Glhapblbkea => "DGNLFNJJKIB_GLHAPBLBKEA", + Self::Kmjajjemcpe => "DGNLFNJJKIB_KMJAJJEMCPE", + Self::Kglibpkgoia => "DGNLFNJJKIB_KGLIBPKGOIA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DGNLFNJJKIB_CJHJPHDBJMK" => Some(Self::Cjhjphdbjmk), + "DGNLFNJJKIB_HLCJEAEMHPI" => Some(Self::Hlcjeaemhpi), + "DGNLFNJJKIB_KFFGFFFDNAN" => Some(Self::Kffgfffdnan), + "DGNLFNJJKIB_BKAGAGNPOCD" => Some(Self::Bkagagnpocd), + "DGNLFNJJKIB_HEKCKBEOLKF" => Some(Self::Hekckbeolkf), + "DGNLFNJJKIB_AHHDDHBCMDP" => Some(Self::Ahhddhbcmdp), + "DGNLFNJJKIB_GLHAPBLBKEA" => Some(Self::Glhapblbkea), + "DGNLFNJJKIB_KMJAJJEMCPE" => Some(Self::Kmjajjemcpe), + "DGNLFNJJKIB_KGLIBPKGOIA" => Some(Self::Kglibpkgoia), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gdjmkbccndm { + Bmhhpkcobgb = 0, + Opheicnohkg = 1, + Hbfoecilmnh = 2, + Edaiejnnkbi = 3, + Lhccfpejahp = 4, +} +impl Gdjmkbccndm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bmhhpkcobgb => "GDJMKBCCNDM_BMHHPKCOBGB", + Self::Opheicnohkg => "GDJMKBCCNDM_OPHEICNOHKG", + Self::Hbfoecilmnh => "GDJMKBCCNDM_HBFOECILMNH", + Self::Edaiejnnkbi => "GDJMKBCCNDM_EDAIEJNNKBI", + Self::Lhccfpejahp => "GDJMKBCCNDM_LHCCFPEJAHP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GDJMKBCCNDM_BMHHPKCOBGB" => Some(Self::Bmhhpkcobgb), + "GDJMKBCCNDM_OPHEICNOHKG" => Some(Self::Opheicnohkg), + "GDJMKBCCNDM_HBFOECILMNH" => Some(Self::Hbfoecilmnh), + "GDJMKBCCNDM_EDAIEJNNKBI" => Some(Self::Edaiejnnkbi), + "GDJMKBCCNDM_LHCCFPEJAHP" => Some(Self::Lhccfpejahp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fjnapbnacpo { + PredicateTypeNone = 0, + ByItemId = 1, + BySceneProperty = 2, + ByTarotCard = 3, + ByHollowLevel = 4, + ByJump = 5, + ByEmpty = 6, + ByAbility = 7, + ByChoiceServer = 8, + ByJumpServer = 9, + ByRandom = 10, + ByHollowVariable = 11, + ByCharacterState = 12, + ByOr = 13, + BySpecials = 14, + ByCurse = 15, + ByTarotCardGenre = 16, + ByCanGetItem = 17, + ByChallenge = 18, + ByEventState = 19, + ByDirection = 20, + ByMainCharacter = 21, + ByNot = 22, + ByCharacterType = 23, + ByAvatarId = 26, + ByVhsStoreMatchLevel = 27, + ByVhsStoreCompleteHistory = 28, + ByMainCityTime = 29, + ByMultipass = 30, + ByNpcNotHasQuest = 31, + ByCompareParam = 32, + ByPlayerLevel = 33, + ByPositionInRange = 34, + ByHollowNpcState = 35, + ByAfkState = 36, + ByControlCharacter = 37, + ByPartnerTrust = 38, + ByPartnerTrustLevel = 39, + ByHollowPosChangedReason = 40, + ByInteractVariable = 41, + ByAnd = 42, + ByDailyQuestState = 43, + ByGridType = 44, + ByFirstMeet = 45, + ByMainCityTimePeriod = 46, + ByHaveRested = 47, + ByActivityBubbleState = 48, + ByNewsstandUpdate = 49, + ByGuestRecommendSuccess = 50, + ByVhsStoreVhsId = 51, + ByVhsStoreTagLevel = 52, + ByTrashHaveNew = 53, + ByTrashEmpty = 54, + ByHollowNpcLeader = 55, + ByHollowProgress = 56, + ByStoryModeOn = 57, + ByHollowNpcUidExist = 58, + ByCompareQuestState = 59, + ByIndexInBound = 60, + ByCompareQuestFinishCount = 61, + ByNpcHp = 62, + ByPlayMiniGame = 63, + ByGridFinishState = 64, + ByTimeEvent = 65, + ByInterKnotState = 66, + ByIsLightAffected = 67, + ByLightType = 68, + ByPluginCollection = 69, + ByOwnedLightType = 70, + ByExecutionTarget = 71, + ByRepairZoneState = 72, + ByHollowEntrance = 73, + ByFirstInteract = 74, + ByFleaMarketState = 75, + ByHollowDialogState = 76, + ByCompareVec2 = 77, + ByPostState = 78, + ByTodayClosedQuest = 79, + ByBuddyId = 80, + ByEntityCategory = 81, + ByChessboardTag = 82, + ByHollowQuestType = 83, + ByCompareIntOr = 84, + ByCompareIntAnd = 85, + ByEntityType = 86, + ByEntityHasFunction = 87, + BySectionLayerType = 88, + ByEntityHasComponent = 89, + ByPartnerEvent = 90, + ByLiftStatus = 91, + ByRandomPlayRecommendResult = 92, + ByRpIncreasePrice = 93, + ByHaveCatName = 94, + BySection = 95, + ByCanModCatName = 96, + ByUnlockTarotCard = 97, + ByUnlockTarotCardGenre = 98, + ByLimboAvatarQuestFinish = 99, + ByIsFirstTurn = 100, + ByPopChoiceParam = 101, + ByIsMultiHollowOutFloor = 102, + ByIsHaveRamenBuff = 103, + ByMapSpecials = 1000, +} +impl Fjnapbnacpo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::PredicateTypeNone => "FJNAPBNACPO_PREDICATE_TYPE_NONE", + Self::ByItemId => "FJNAPBNACPO_BY_ITEM_ID", + Self::BySceneProperty => "FJNAPBNACPO_BY_SCENE_PROPERTY", + Self::ByTarotCard => "FJNAPBNACPO_BY_TAROT_CARD", + Self::ByHollowLevel => "FJNAPBNACPO_BY_HOLLOW_LEVEL", + Self::ByJump => "FJNAPBNACPO_BY_JUMP", + Self::ByEmpty => "FJNAPBNACPO_BY_EMPTY", + Self::ByAbility => "FJNAPBNACPO_BY_ABILITY", + Self::ByChoiceServer => "FJNAPBNACPO_BY_CHOICE_SERVER", + Self::ByJumpServer => "FJNAPBNACPO_BY_JUMP_SERVER", + Self::ByRandom => "FJNAPBNACPO_BY_RANDOM", + Self::ByHollowVariable => "FJNAPBNACPO_BY_HOLLOW_VARIABLE", + Self::ByCharacterState => "FJNAPBNACPO_BY_CHARACTER_STATE", + Self::ByOr => "FJNAPBNACPO_BY_OR", + Self::BySpecials => "FJNAPBNACPO_BY_SPECIALS", + Self::ByCurse => "FJNAPBNACPO_BY_CURSE", + Self::ByTarotCardGenre => "FJNAPBNACPO_BY_TAROT_CARD_GENRE", + Self::ByCanGetItem => "FJNAPBNACPO_BY_CAN_GET_ITEM", + Self::ByChallenge => "FJNAPBNACPO_BY_CHALLENGE", + Self::ByEventState => "FJNAPBNACPO_BY_EVENT_STATE", + Self::ByDirection => "FJNAPBNACPO_BY_DIRECTION", + Self::ByMainCharacter => "FJNAPBNACPO_BY_MAIN_CHARACTER", + Self::ByNot => "FJNAPBNACPO_BY_NOT", + Self::ByCharacterType => "FJNAPBNACPO_BY_CHARACTER_TYPE", + Self::ByAvatarId => "FJNAPBNACPO_BY_AVATAR_ID", + Self::ByVhsStoreMatchLevel => "FJNAPBNACPO_BY_VHS_STORE_MATCH_LEVEL", + Self::ByVhsStoreCompleteHistory => { + "FJNAPBNACPO_BY_VHS_STORE_COMPLETE_HISTORY" + } + Self::ByMainCityTime => "FJNAPBNACPO_BY_MAIN_CITY_TIME", + Self::ByMultipass => "FJNAPBNACPO_BY_MULTIPASS", + Self::ByNpcNotHasQuest => "FJNAPBNACPO_BY_NPC_NOT_HAS_QUEST", + Self::ByCompareParam => "FJNAPBNACPO_BY_COMPARE_PARAM", + Self::ByPlayerLevel => "FJNAPBNACPO_BY_PLAYER_LEVEL", + Self::ByPositionInRange => "FJNAPBNACPO_BY_POSITION_IN_RANGE", + Self::ByHollowNpcState => "FJNAPBNACPO_BY_HOLLOW_NPC_STATE", + Self::ByAfkState => "FJNAPBNACPO_BY_AFK_STATE", + Self::ByControlCharacter => "FJNAPBNACPO_BY_CONTROL_CHARACTER", + Self::ByPartnerTrust => "FJNAPBNACPO_BY_PARTNER_TRUST", + Self::ByPartnerTrustLevel => "FJNAPBNACPO_BY_PARTNER_TRUST_LEVEL", + Self::ByHollowPosChangedReason => "FJNAPBNACPO_BY_HOLLOW_POS_CHANGED_REASON", + Self::ByInteractVariable => "FJNAPBNACPO_BY_INTERACT_VARIABLE", + Self::ByAnd => "FJNAPBNACPO_BY_AND", + Self::ByDailyQuestState => "FJNAPBNACPO_BY_DAILY_QUEST_STATE", + Self::ByGridType => "FJNAPBNACPO_BY_GRID_TYPE", + Self::ByFirstMeet => "FJNAPBNACPO_BY_FIRST_MEET", + Self::ByMainCityTimePeriod => "FJNAPBNACPO_BY_MAIN_CITY_TIME_PERIOD", + Self::ByHaveRested => "FJNAPBNACPO_BY_HAVE_RESTED", + Self::ByActivityBubbleState => "FJNAPBNACPO_BY_ACTIVITY_BUBBLE_STATE", + Self::ByNewsstandUpdate => "FJNAPBNACPO_BY_NEWSSTAND_UPDATE", + Self::ByGuestRecommendSuccess => "FJNAPBNACPO_BY_GUEST_RECOMMEND_SUCCESS", + Self::ByVhsStoreVhsId => "FJNAPBNACPO_BY_VHS_STORE_VHS_ID", + Self::ByVhsStoreTagLevel => "FJNAPBNACPO_BY_VHS_STORE_TAG_LEVEL", + Self::ByTrashHaveNew => "FJNAPBNACPO_BY_TRASH_HAVE_NEW", + Self::ByTrashEmpty => "FJNAPBNACPO_BY_TRASH_EMPTY", + Self::ByHollowNpcLeader => "FJNAPBNACPO_BY_HOLLOW_NPC_LEADER", + Self::ByHollowProgress => "FJNAPBNACPO_BY_HOLLOW_PROGRESS", + Self::ByStoryModeOn => "FJNAPBNACPO_BY_STORY_MODE_ON", + Self::ByHollowNpcUidExist => "FJNAPBNACPO_BY_HOLLOW_NPC_UID_EXIST", + Self::ByCompareQuestState => "FJNAPBNACPO_BY_COMPARE_QUEST_STATE", + Self::ByIndexInBound => "FJNAPBNACPO_BY_INDEX_IN_BOUND", + Self::ByCompareQuestFinishCount => { + "FJNAPBNACPO_BY_COMPARE_QUEST_FINISH_COUNT" + } + Self::ByNpcHp => "FJNAPBNACPO_BY_NPC_HP", + Self::ByPlayMiniGame => "FJNAPBNACPO_BY_PLAY_MINI_GAME", + Self::ByGridFinishState => "FJNAPBNACPO_BY_GRID_FINISH_STATE", + Self::ByTimeEvent => "FJNAPBNACPO_BY_TIME_EVENT", + Self::ByInterKnotState => "FJNAPBNACPO_BY_INTER_KNOT_STATE", + Self::ByIsLightAffected => "FJNAPBNACPO_BY_IS_LIGHT_AFFECTED", + Self::ByLightType => "FJNAPBNACPO_BY_LIGHT_TYPE", + Self::ByPluginCollection => "FJNAPBNACPO_BY_PLUGIN_COLLECTION", + Self::ByOwnedLightType => "FJNAPBNACPO_BY_OWNED_LIGHT_TYPE", + Self::ByExecutionTarget => "FJNAPBNACPO_BY_EXECUTION_TARGET", + Self::ByRepairZoneState => "FJNAPBNACPO_BY_REPAIR_ZONE_STATE", + Self::ByHollowEntrance => "FJNAPBNACPO_BY_HOLLOW_ENTRANCE", + Self::ByFirstInteract => "FJNAPBNACPO_BY_FIRST_INTERACT", + Self::ByFleaMarketState => "FJNAPBNACPO_BY_FLEA_MARKET_STATE", + Self::ByHollowDialogState => "FJNAPBNACPO_BY_HOLLOW_DIALOG_STATE", + Self::ByCompareVec2 => "FJNAPBNACPO_BY_COMPARE_VEC2", + Self::ByPostState => "FJNAPBNACPO_BY_POST_STATE", + Self::ByTodayClosedQuest => "FJNAPBNACPO_BY_TODAY_CLOSED_QUEST", + Self::ByBuddyId => "FJNAPBNACPO_BY_BUDDY_ID", + Self::ByEntityCategory => "FJNAPBNACPO_BY_ENTITY_CATEGORY", + Self::ByChessboardTag => "FJNAPBNACPO_BY_CHESSBOARD_TAG", + Self::ByHollowQuestType => "FJNAPBNACPO_BY_HOLLOW_QUEST_TYPE", + Self::ByCompareIntOr => "FJNAPBNACPO_BY_COMPARE_INT_OR", + Self::ByCompareIntAnd => "FJNAPBNACPO_BY_COMPARE_INT_AND", + Self::ByEntityType => "FJNAPBNACPO_BY_ENTITY_TYPE", + Self::ByEntityHasFunction => "FJNAPBNACPO_BY_ENTITY_HAS_FUNCTION", + Self::BySectionLayerType => "FJNAPBNACPO_BY_SECTION_LAYER_TYPE", + Self::ByEntityHasComponent => "FJNAPBNACPO_BY_ENTITY_HAS_COMPONENT", + Self::ByPartnerEvent => "FJNAPBNACPO_BY_PARTNER_EVENT", + Self::ByLiftStatus => "FJNAPBNACPO_BY_LIFT_STATUS", + Self::ByRandomPlayRecommendResult => { + "FJNAPBNACPO_BY_RANDOM_PLAY_RECOMMEND_RESULT" + } + Self::ByRpIncreasePrice => "FJNAPBNACPO_BY_RP_INCREASE_PRICE", + Self::ByHaveCatName => "FJNAPBNACPO_BY_HAVE_CAT_NAME", + Self::BySection => "FJNAPBNACPO_BY_SECTION", + Self::ByCanModCatName => "FJNAPBNACPO_BY_CAN_MOD_CAT_NAME", + Self::ByUnlockTarotCard => "FJNAPBNACPO_BY_UNLOCK_TAROT_CARD", + Self::ByUnlockTarotCardGenre => "FJNAPBNACPO_BY_UNLOCK_TAROT_CARD_GENRE", + Self::ByLimboAvatarQuestFinish => "FJNAPBNACPO_BY_LIMBO_AVATAR_QUEST_FINISH", + Self::ByIsFirstTurn => "FJNAPBNACPO_BY_IS_FIRST_TURN", + Self::ByPopChoiceParam => "FJNAPBNACPO_BY_POP_CHOICE_PARAM", + Self::ByIsMultiHollowOutFloor => "FJNAPBNACPO_BY_IS_MULTI_HOLLOW_OUT_FLOOR", + Self::ByIsHaveRamenBuff => "FJNAPBNACPO_BY_IS_HAVE_RAMEN_BUFF", + Self::ByMapSpecials => "FJNAPBNACPO_BY_MAP_SPECIALS", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FJNAPBNACPO_PREDICATE_TYPE_NONE" => Some(Self::PredicateTypeNone), + "FJNAPBNACPO_BY_ITEM_ID" => Some(Self::ByItemId), + "FJNAPBNACPO_BY_SCENE_PROPERTY" => Some(Self::BySceneProperty), + "FJNAPBNACPO_BY_TAROT_CARD" => Some(Self::ByTarotCard), + "FJNAPBNACPO_BY_HOLLOW_LEVEL" => Some(Self::ByHollowLevel), + "FJNAPBNACPO_BY_JUMP" => Some(Self::ByJump), + "FJNAPBNACPO_BY_EMPTY" => Some(Self::ByEmpty), + "FJNAPBNACPO_BY_ABILITY" => Some(Self::ByAbility), + "FJNAPBNACPO_BY_CHOICE_SERVER" => Some(Self::ByChoiceServer), + "FJNAPBNACPO_BY_JUMP_SERVER" => Some(Self::ByJumpServer), + "FJNAPBNACPO_BY_RANDOM" => Some(Self::ByRandom), + "FJNAPBNACPO_BY_HOLLOW_VARIABLE" => Some(Self::ByHollowVariable), + "FJNAPBNACPO_BY_CHARACTER_STATE" => Some(Self::ByCharacterState), + "FJNAPBNACPO_BY_OR" => Some(Self::ByOr), + "FJNAPBNACPO_BY_SPECIALS" => Some(Self::BySpecials), + "FJNAPBNACPO_BY_CURSE" => Some(Self::ByCurse), + "FJNAPBNACPO_BY_TAROT_CARD_GENRE" => Some(Self::ByTarotCardGenre), + "FJNAPBNACPO_BY_CAN_GET_ITEM" => Some(Self::ByCanGetItem), + "FJNAPBNACPO_BY_CHALLENGE" => Some(Self::ByChallenge), + "FJNAPBNACPO_BY_EVENT_STATE" => Some(Self::ByEventState), + "FJNAPBNACPO_BY_DIRECTION" => Some(Self::ByDirection), + "FJNAPBNACPO_BY_MAIN_CHARACTER" => Some(Self::ByMainCharacter), + "FJNAPBNACPO_BY_NOT" => Some(Self::ByNot), + "FJNAPBNACPO_BY_CHARACTER_TYPE" => Some(Self::ByCharacterType), + "FJNAPBNACPO_BY_AVATAR_ID" => Some(Self::ByAvatarId), + "FJNAPBNACPO_BY_VHS_STORE_MATCH_LEVEL" => Some(Self::ByVhsStoreMatchLevel), + "FJNAPBNACPO_BY_VHS_STORE_COMPLETE_HISTORY" => { + Some(Self::ByVhsStoreCompleteHistory) + } + "FJNAPBNACPO_BY_MAIN_CITY_TIME" => Some(Self::ByMainCityTime), + "FJNAPBNACPO_BY_MULTIPASS" => Some(Self::ByMultipass), + "FJNAPBNACPO_BY_NPC_NOT_HAS_QUEST" => Some(Self::ByNpcNotHasQuest), + "FJNAPBNACPO_BY_COMPARE_PARAM" => Some(Self::ByCompareParam), + "FJNAPBNACPO_BY_PLAYER_LEVEL" => Some(Self::ByPlayerLevel), + "FJNAPBNACPO_BY_POSITION_IN_RANGE" => Some(Self::ByPositionInRange), + "FJNAPBNACPO_BY_HOLLOW_NPC_STATE" => Some(Self::ByHollowNpcState), + "FJNAPBNACPO_BY_AFK_STATE" => Some(Self::ByAfkState), + "FJNAPBNACPO_BY_CONTROL_CHARACTER" => Some(Self::ByControlCharacter), + "FJNAPBNACPO_BY_PARTNER_TRUST" => Some(Self::ByPartnerTrust), + "FJNAPBNACPO_BY_PARTNER_TRUST_LEVEL" => Some(Self::ByPartnerTrustLevel), + "FJNAPBNACPO_BY_HOLLOW_POS_CHANGED_REASON" => { + Some(Self::ByHollowPosChangedReason) + } + "FJNAPBNACPO_BY_INTERACT_VARIABLE" => Some(Self::ByInteractVariable), + "FJNAPBNACPO_BY_AND" => Some(Self::ByAnd), + "FJNAPBNACPO_BY_DAILY_QUEST_STATE" => Some(Self::ByDailyQuestState), + "FJNAPBNACPO_BY_GRID_TYPE" => Some(Self::ByGridType), + "FJNAPBNACPO_BY_FIRST_MEET" => Some(Self::ByFirstMeet), + "FJNAPBNACPO_BY_MAIN_CITY_TIME_PERIOD" => Some(Self::ByMainCityTimePeriod), + "FJNAPBNACPO_BY_HAVE_RESTED" => Some(Self::ByHaveRested), + "FJNAPBNACPO_BY_ACTIVITY_BUBBLE_STATE" => Some(Self::ByActivityBubbleState), + "FJNAPBNACPO_BY_NEWSSTAND_UPDATE" => Some(Self::ByNewsstandUpdate), + "FJNAPBNACPO_BY_GUEST_RECOMMEND_SUCCESS" => { + Some(Self::ByGuestRecommendSuccess) + } + "FJNAPBNACPO_BY_VHS_STORE_VHS_ID" => Some(Self::ByVhsStoreVhsId), + "FJNAPBNACPO_BY_VHS_STORE_TAG_LEVEL" => Some(Self::ByVhsStoreTagLevel), + "FJNAPBNACPO_BY_TRASH_HAVE_NEW" => Some(Self::ByTrashHaveNew), + "FJNAPBNACPO_BY_TRASH_EMPTY" => Some(Self::ByTrashEmpty), + "FJNAPBNACPO_BY_HOLLOW_NPC_LEADER" => Some(Self::ByHollowNpcLeader), + "FJNAPBNACPO_BY_HOLLOW_PROGRESS" => Some(Self::ByHollowProgress), + "FJNAPBNACPO_BY_STORY_MODE_ON" => Some(Self::ByStoryModeOn), + "FJNAPBNACPO_BY_HOLLOW_NPC_UID_EXIST" => Some(Self::ByHollowNpcUidExist), + "FJNAPBNACPO_BY_COMPARE_QUEST_STATE" => Some(Self::ByCompareQuestState), + "FJNAPBNACPO_BY_INDEX_IN_BOUND" => Some(Self::ByIndexInBound), + "FJNAPBNACPO_BY_COMPARE_QUEST_FINISH_COUNT" => { + Some(Self::ByCompareQuestFinishCount) + } + "FJNAPBNACPO_BY_NPC_HP" => Some(Self::ByNpcHp), + "FJNAPBNACPO_BY_PLAY_MINI_GAME" => Some(Self::ByPlayMiniGame), + "FJNAPBNACPO_BY_GRID_FINISH_STATE" => Some(Self::ByGridFinishState), + "FJNAPBNACPO_BY_TIME_EVENT" => Some(Self::ByTimeEvent), + "FJNAPBNACPO_BY_INTER_KNOT_STATE" => Some(Self::ByInterKnotState), + "FJNAPBNACPO_BY_IS_LIGHT_AFFECTED" => Some(Self::ByIsLightAffected), + "FJNAPBNACPO_BY_LIGHT_TYPE" => Some(Self::ByLightType), + "FJNAPBNACPO_BY_PLUGIN_COLLECTION" => Some(Self::ByPluginCollection), + "FJNAPBNACPO_BY_OWNED_LIGHT_TYPE" => Some(Self::ByOwnedLightType), + "FJNAPBNACPO_BY_EXECUTION_TARGET" => Some(Self::ByExecutionTarget), + "FJNAPBNACPO_BY_REPAIR_ZONE_STATE" => Some(Self::ByRepairZoneState), + "FJNAPBNACPO_BY_HOLLOW_ENTRANCE" => Some(Self::ByHollowEntrance), + "FJNAPBNACPO_BY_FIRST_INTERACT" => Some(Self::ByFirstInteract), + "FJNAPBNACPO_BY_FLEA_MARKET_STATE" => Some(Self::ByFleaMarketState), + "FJNAPBNACPO_BY_HOLLOW_DIALOG_STATE" => Some(Self::ByHollowDialogState), + "FJNAPBNACPO_BY_COMPARE_VEC2" => Some(Self::ByCompareVec2), + "FJNAPBNACPO_BY_POST_STATE" => Some(Self::ByPostState), + "FJNAPBNACPO_BY_TODAY_CLOSED_QUEST" => Some(Self::ByTodayClosedQuest), + "FJNAPBNACPO_BY_BUDDY_ID" => Some(Self::ByBuddyId), + "FJNAPBNACPO_BY_ENTITY_CATEGORY" => Some(Self::ByEntityCategory), + "FJNAPBNACPO_BY_CHESSBOARD_TAG" => Some(Self::ByChessboardTag), + "FJNAPBNACPO_BY_HOLLOW_QUEST_TYPE" => Some(Self::ByHollowQuestType), + "FJNAPBNACPO_BY_COMPARE_INT_OR" => Some(Self::ByCompareIntOr), + "FJNAPBNACPO_BY_COMPARE_INT_AND" => Some(Self::ByCompareIntAnd), + "FJNAPBNACPO_BY_ENTITY_TYPE" => Some(Self::ByEntityType), + "FJNAPBNACPO_BY_ENTITY_HAS_FUNCTION" => Some(Self::ByEntityHasFunction), + "FJNAPBNACPO_BY_SECTION_LAYER_TYPE" => Some(Self::BySectionLayerType), + "FJNAPBNACPO_BY_ENTITY_HAS_COMPONENT" => Some(Self::ByEntityHasComponent), + "FJNAPBNACPO_BY_PARTNER_EVENT" => Some(Self::ByPartnerEvent), + "FJNAPBNACPO_BY_LIFT_STATUS" => Some(Self::ByLiftStatus), + "FJNAPBNACPO_BY_RANDOM_PLAY_RECOMMEND_RESULT" => { + Some(Self::ByRandomPlayRecommendResult) + } + "FJNAPBNACPO_BY_RP_INCREASE_PRICE" => Some(Self::ByRpIncreasePrice), + "FJNAPBNACPO_BY_HAVE_CAT_NAME" => Some(Self::ByHaveCatName), + "FJNAPBNACPO_BY_SECTION" => Some(Self::BySection), + "FJNAPBNACPO_BY_CAN_MOD_CAT_NAME" => Some(Self::ByCanModCatName), + "FJNAPBNACPO_BY_UNLOCK_TAROT_CARD" => Some(Self::ByUnlockTarotCard), + "FJNAPBNACPO_BY_UNLOCK_TAROT_CARD_GENRE" => { + Some(Self::ByUnlockTarotCardGenre) + } + "FJNAPBNACPO_BY_LIMBO_AVATAR_QUEST_FINISH" => { + Some(Self::ByLimboAvatarQuestFinish) + } + "FJNAPBNACPO_BY_IS_FIRST_TURN" => Some(Self::ByIsFirstTurn), + "FJNAPBNACPO_BY_POP_CHOICE_PARAM" => Some(Self::ByPopChoiceParam), + "FJNAPBNACPO_BY_IS_MULTI_HOLLOW_OUT_FLOOR" => { + Some(Self::ByIsMultiHollowOutFloor) + } + "FJNAPBNACPO_BY_IS_HAVE_RAMEN_BUFF" => Some(Self::ByIsHaveRamenBuff), + "FJNAPBNACPO_BY_MAP_SPECIALS" => Some(Self::ByMapSpecials), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jjeodndjajn { + Mjgplcbhlnc = 0, +} +impl Jjeodndjajn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mjgplcbhlnc => "JJEODNDJAJN_MJGPLCBHLNC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JJEODNDJAJN_MJGPLCBHLNC" => Some(Self::Mjgplcbhlnc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cjikakfiihc { + Ocjmhphmgpm = 0, + Kchmfenaepm = 1, + Efideaacomp = 2, + Cbaapdkcjpn = 3, + Nllaohajmno = 4, + Dkkhhhfifdp = 5, +} +impl Cjikakfiihc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ocjmhphmgpm => "CJIKAKFIIHC_OCJMHPHMGPM", + Self::Kchmfenaepm => "CJIKAKFIIHC_KCHMFENAEPM", + Self::Efideaacomp => "CJIKAKFIIHC_EFIDEAACOMP", + Self::Cbaapdkcjpn => "CJIKAKFIIHC_CBAAPDKCJPN", + Self::Nllaohajmno => "CJIKAKFIIHC_NLLAOHAJMNO", + Self::Dkkhhhfifdp => "CJIKAKFIIHC_DKKHHHFIFDP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CJIKAKFIIHC_OCJMHPHMGPM" => Some(Self::Ocjmhphmgpm), + "CJIKAKFIIHC_KCHMFENAEPM" => Some(Self::Kchmfenaepm), + "CJIKAKFIIHC_EFIDEAACOMP" => Some(Self::Efideaacomp), + "CJIKAKFIIHC_CBAAPDKCJPN" => Some(Self::Cbaapdkcjpn), + "CJIKAKFIIHC_NLLAOHAJMNO" => Some(Self::Nllaohajmno), + "CJIKAKFIIHC_DKKHHHFIFDP" => Some(Self::Dkkhhhfifdp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iffchagmiei { + Alblgflmafa = 0, +} +impl Iffchagmiei { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Alblgflmafa => "IFFCHAGMIEI_ALBLGFLMAFA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IFFCHAGMIEI_ALBLGFLMAFA" => Some(Self::Alblgflmafa), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Glhemplfblf { + AreaCameraTriggerTypeNone = 0, + AreaCameraTriggerTypeEnter = 1, + AreaCameraTriggerTypeUpdate = 2, + AreaCameraTriggerTypeExit = 3, +} +impl Glhemplfblf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::AreaCameraTriggerTypeNone => { + "GLHEMPLFBLF_AREA_CAMERA_TRIGGER_TYPE_NONE" + } + Self::AreaCameraTriggerTypeEnter => { + "GLHEMPLFBLF_AREA_CAMERA_TRIGGER_TYPE_ENTER" + } + Self::AreaCameraTriggerTypeUpdate => { + "GLHEMPLFBLF_AREA_CAMERA_TRIGGER_TYPE_UPDATE" + } + Self::AreaCameraTriggerTypeExit => { + "GLHEMPLFBLF_AREA_CAMERA_TRIGGER_TYPE_EXIT" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GLHEMPLFBLF_AREA_CAMERA_TRIGGER_TYPE_NONE" => { + Some(Self::AreaCameraTriggerTypeNone) + } + "GLHEMPLFBLF_AREA_CAMERA_TRIGGER_TYPE_ENTER" => { + Some(Self::AreaCameraTriggerTypeEnter) + } + "GLHEMPLFBLF_AREA_CAMERA_TRIGGER_TYPE_UPDATE" => { + Some(Self::AreaCameraTriggerTypeUpdate) + } + "GLHEMPLFBLF_AREA_CAMERA_TRIGGER_TYPE_EXIT" => { + Some(Self::AreaCameraTriggerTypeExit) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Popfeapidfd { + Aakpnjbfbcm = 0, +} +impl Popfeapidfd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Aakpnjbfbcm => "POPFEAPIDFD_AAKPNJBFBCM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "POPFEAPIDFD_AAKPNJBFBCM" => Some(Self::Aakpnjbfbcm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ogepfnogkhm { + PrepareDataTypeNone = 0, + PrepareDataTypeMessage = 1, + PrepareDataTypeInterknot = 2, +} +impl Ogepfnogkhm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::PrepareDataTypeNone => "OGEPFNOGKHM_PREPARE_DATA_TYPE_NONE", + Self::PrepareDataTypeMessage => "OGEPFNOGKHM_PREPARE_DATA_TYPE_MESSAGE", + Self::PrepareDataTypeInterknot => "OGEPFNOGKHM_PREPARE_DATA_TYPE_INTERKNOT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OGEPFNOGKHM_PREPARE_DATA_TYPE_NONE" => Some(Self::PrepareDataTypeNone), + "OGEPFNOGKHM_PREPARE_DATA_TYPE_MESSAGE" => Some(Self::PrepareDataTypeMessage), + "OGEPFNOGKHM_PREPARE_DATA_TYPE_INTERKNOT" => { + Some(Self::PrepareDataTypeInterknot) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hjjfmgkeadh { + CopyTypeAll = 0, + CopyTypeEventId = 1, + CopyTypeNodeState = 2, + CopyTypeVisibleState = 3, + CopyTypeSubState = 4, + CopyTypeEventDetail = 5, +} +impl Hjjfmgkeadh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::CopyTypeAll => "HJJFMGKEADH_COPY_TYPE_ALL", + Self::CopyTypeEventId => "HJJFMGKEADH_COPY_TYPE_EVENT_ID", + Self::CopyTypeNodeState => "HJJFMGKEADH_COPY_TYPE_NODE_STATE", + Self::CopyTypeVisibleState => "HJJFMGKEADH_COPY_TYPE_VISIBLE_STATE", + Self::CopyTypeSubState => "HJJFMGKEADH_COPY_TYPE_SUB_STATE", + Self::CopyTypeEventDetail => "HJJFMGKEADH_COPY_TYPE_EVENT_DETAIL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HJJFMGKEADH_COPY_TYPE_ALL" => Some(Self::CopyTypeAll), + "HJJFMGKEADH_COPY_TYPE_EVENT_ID" => Some(Self::CopyTypeEventId), + "HJJFMGKEADH_COPY_TYPE_NODE_STATE" => Some(Self::CopyTypeNodeState), + "HJJFMGKEADH_COPY_TYPE_VISIBLE_STATE" => Some(Self::CopyTypeVisibleState), + "HJJFMGKEADH_COPY_TYPE_SUB_STATE" => Some(Self::CopyTypeSubState), + "HJJFMGKEADH_COPY_TYPE_EVENT_DETAIL" => Some(Self::CopyTypeEventDetail), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Emapbengcnm { + Ehplmpmijdd = 0, + Ilhjacjlbfl = 1, +} +impl Emapbengcnm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ehplmpmijdd => "EMAPBENGCNM_EHPLMPMIJDD", + Self::Ilhjacjlbfl => "EMAPBENGCNM_ILHJACJLBFL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EMAPBENGCNM_EHPLMPMIJDD" => Some(Self::Ehplmpmijdd), + "EMAPBENGCNM_ILHJACJLBFL" => Some(Self::Ilhjacjlbfl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lcnfaponhhp { + Jidopkmmmjm = 0, + Goffkbjodga = 1, + Hdkmihbficc = 2, + Fmcedippegm = 3, +} +impl Lcnfaponhhp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jidopkmmmjm => "LCNFAPONHHP_JIDOPKMMMJM", + Self::Goffkbjodga => "LCNFAPONHHP_GOFFKBJODGA", + Self::Hdkmihbficc => "LCNFAPONHHP_HDKMIHBFICC", + Self::Fmcedippegm => "LCNFAPONHHP_FMCEDIPPEGM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LCNFAPONHHP_JIDOPKMMMJM" => Some(Self::Jidopkmmmjm), + "LCNFAPONHHP_GOFFKBJODGA" => Some(Self::Goffkbjodga), + "LCNFAPONHHP_HDKMIHBFICC" => Some(Self::Hdkmihbficc), + "LCNFAPONHHP_FMCEDIPPEGM" => Some(Self::Fmcedippegm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hlpmaajbhlb { + Nelpheancag = 0, +} +impl Hlpmaajbhlb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nelpheancag => "HLPMAAJBHLB_NELPHEANCAG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HLPMAAJBHLB_NELPHEANCAG" => Some(Self::Nelpheancag), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gaaeijmifok { + Hffifdkakpo = 0, + Gcnhamcpdfh = 1, + Ndhfedpdgio = 2, + Oplijgefokg = 3, + Glbfolggmlm = 4, + Bknipglafkb = 5, +} +impl Gaaeijmifok { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hffifdkakpo => "GAAEIJMIFOK_HFFIFDKAKPO", + Self::Gcnhamcpdfh => "GAAEIJMIFOK_GCNHAMCPDFH", + Self::Ndhfedpdgio => "GAAEIJMIFOK_NDHFEDPDGIO", + Self::Oplijgefokg => "GAAEIJMIFOK_OPLIJGEFOKG", + Self::Glbfolggmlm => "GAAEIJMIFOK_GLBFOLGGMLM", + Self::Bknipglafkb => "GAAEIJMIFOK_BKNIPGLAFKB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GAAEIJMIFOK_HFFIFDKAKPO" => Some(Self::Hffifdkakpo), + "GAAEIJMIFOK_GCNHAMCPDFH" => Some(Self::Gcnhamcpdfh), + "GAAEIJMIFOK_NDHFEDPDGIO" => Some(Self::Ndhfedpdgio), + "GAAEIJMIFOK_OPLIJGEFOKG" => Some(Self::Oplijgefokg), + "GAAEIJMIFOK_GLBFOLGGMLM" => Some(Self::Glbfolggmlm), + "GAAEIJMIFOK_BKNIPGLAFKB" => Some(Self::Bknipglafkb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Keebdldhndf { + Jodlhgamacg = 0, + Hcmonbjjbdi = 1, + Nekcndnpabh = 2, + Kebcjdiicde = 3, + Doemhcplimj = 4, + Nnkjnafcboh = 5, + Gkbgnbejcmf = 6, + Amcljhpppcn = 7, + Dlgnonhcnlh = 8, +} +impl Keebdldhndf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jodlhgamacg => "KEEBDLDHNDF_JODLHGAMACG", + Self::Hcmonbjjbdi => "KEEBDLDHNDF_HCMONBJJBDI", + Self::Nekcndnpabh => "KEEBDLDHNDF_NEKCNDNPABH", + Self::Kebcjdiicde => "KEEBDLDHNDF_KEBCJDIICDE", + Self::Doemhcplimj => "KEEBDLDHNDF_DOEMHCPLIMJ", + Self::Nnkjnafcboh => "KEEBDLDHNDF_NNKJNAFCBOH", + Self::Gkbgnbejcmf => "KEEBDLDHNDF_GKBGNBEJCMF", + Self::Amcljhpppcn => "KEEBDLDHNDF_AMCLJHPPPCN", + Self::Dlgnonhcnlh => "KEEBDLDHNDF_DLGNONHCNLH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KEEBDLDHNDF_JODLHGAMACG" => Some(Self::Jodlhgamacg), + "KEEBDLDHNDF_HCMONBJJBDI" => Some(Self::Hcmonbjjbdi), + "KEEBDLDHNDF_NEKCNDNPABH" => Some(Self::Nekcndnpabh), + "KEEBDLDHNDF_KEBCJDIICDE" => Some(Self::Kebcjdiicde), + "KEEBDLDHNDF_DOEMHCPLIMJ" => Some(Self::Doemhcplimj), + "KEEBDLDHNDF_NNKJNAFCBOH" => Some(Self::Nnkjnafcboh), + "KEEBDLDHNDF_GKBGNBEJCMF" => Some(Self::Gkbgnbejcmf), + "KEEBDLDHNDF_AMCLJHPPPCN" => Some(Self::Amcljhpppcn), + "KEEBDLDHNDF_DLGNONHCNLH" => Some(Self::Dlgnonhcnlh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jeimbbomhfa { + Lpgepgkdfpi = 0, + Bcboffmmiof = 1, + Gglhpnanekb = 2, + Cnmfhlngghe = 3, +} +impl Jeimbbomhfa { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lpgepgkdfpi => "JEIMBBOMHFA_LPGEPGKDFPI", + Self::Bcboffmmiof => "JEIMBBOMHFA_BCBOFFMMIOF", + Self::Gglhpnanekb => "JEIMBBOMHFA_GGLHPNANEKB", + Self::Cnmfhlngghe => "JEIMBBOMHFA_CNMFHLNGGHE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JEIMBBOMHFA_LPGEPGKDFPI" => Some(Self::Lpgepgkdfpi), + "JEIMBBOMHFA_BCBOFFMMIOF" => Some(Self::Bcboffmmiof), + "JEIMBBOMHFA_GGLHPNANEKB" => Some(Self::Gglhpnanekb), + "JEIMBBOMHFA_CNMFHLNGGHE" => Some(Self::Cnmfhlngghe), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Icnincpahfb { + Cgonofkaeho = 0, + Mlaimpmneeb = 1, + Camlkmnohhd = 2, + Ngobagmalpa = 3, +} +impl Icnincpahfb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cgonofkaeho => "ICNINCPAHFB_CGONOFKAEHO", + Self::Mlaimpmneeb => "ICNINCPAHFB_MLAIMPMNEEB", + Self::Camlkmnohhd => "ICNINCPAHFB_CAMLKMNOHHD", + Self::Ngobagmalpa => "ICNINCPAHFB_NGOBAGMALPA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ICNINCPAHFB_CGONOFKAEHO" => Some(Self::Cgonofkaeho), + "ICNINCPAHFB_MLAIMPMNEEB" => Some(Self::Mlaimpmneeb), + "ICNINCPAHFB_CAMLKMNOHHD" => Some(Self::Camlkmnohhd), + "ICNINCPAHFB_NGOBAGMALPA" => Some(Self::Ngobagmalpa), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nhebjofolnc { + Dkkhelpcfmc = 0, + Ofihbfhijec = 1, + Poimaafobjg = 2, + Jdnndplddgm = 3, + Ebjghomgipd = 4, +} +impl Nhebjofolnc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dkkhelpcfmc => "NHEBJOFOLNC_DKKHELPCFMC", + Self::Ofihbfhijec => "NHEBJOFOLNC_OFIHBFHIJEC", + Self::Poimaafobjg => "NHEBJOFOLNC_POIMAAFOBJG", + Self::Jdnndplddgm => "NHEBJOFOLNC_JDNNDPLDDGM", + Self::Ebjghomgipd => "NHEBJOFOLNC_EBJGHOMGIPD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NHEBJOFOLNC_DKKHELPCFMC" => Some(Self::Dkkhelpcfmc), + "NHEBJOFOLNC_OFIHBFHIJEC" => Some(Self::Ofihbfhijec), + "NHEBJOFOLNC_POIMAAFOBJG" => Some(Self::Poimaafobjg), + "NHEBJOFOLNC_JDNNDPLDDGM" => Some(Self::Jdnndplddgm), + "NHEBJOFOLNC_EBJGHOMGIPD" => Some(Self::Ebjghomgipd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bppokkjkajf { + Dkmecjlbknj = 0, + Ndafnhiggoi = 1, +} +impl Bppokkjkajf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dkmecjlbknj => "BPPOKKJKAJF_DKMECJLBKNJ", + Self::Ndafnhiggoi => "BPPOKKJKAJF_NDAFNHIGGOI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BPPOKKJKAJF_DKMECJLBKNJ" => Some(Self::Dkmecjlbknj), + "BPPOKKJKAJF_NDAFNHIGGOI" => Some(Self::Ndafnhiggoi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nngkmcdibgn { + Ioblmenicna = 0, + Ekgahaekkhe = 1, + Aiejnojldki = 2, + Fiecofmcajk = 3, + Obaipefipgp = 4, +} +impl Nngkmcdibgn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ioblmenicna => "NNGKMCDIBGN_IOBLMENICNA", + Self::Ekgahaekkhe => "NNGKMCDIBGN_EKGAHAEKKHE", + Self::Aiejnojldki => "NNGKMCDIBGN_AIEJNOJLDKI", + Self::Fiecofmcajk => "NNGKMCDIBGN_FIECOFMCAJK", + Self::Obaipefipgp => "NNGKMCDIBGN_OBAIPEFIPGP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NNGKMCDIBGN_IOBLMENICNA" => Some(Self::Ioblmenicna), + "NNGKMCDIBGN_EKGAHAEKKHE" => Some(Self::Ekgahaekkhe), + "NNGKMCDIBGN_AIEJNOJLDKI" => Some(Self::Aiejnojldki), + "NNGKMCDIBGN_FIECOFMCAJK" => Some(Self::Fiecofmcajk), + "NNGKMCDIBGN_OBAIPEFIPGP" => Some(Self::Obaipefipgp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Inhdocendbn { + Onjclknnckk = 0, + Bmadcifgame = 1, +} +impl Inhdocendbn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Onjclknnckk => "INHDOCENDBN_ONJCLKNNCKK", + Self::Bmadcifgame => "INHDOCENDBN_BMADCIFGAME", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "INHDOCENDBN_ONJCLKNNCKK" => Some(Self::Onjclknnckk), + "INHDOCENDBN_BMADCIFGAME" => Some(Self::Bmadcifgame), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oecjgjccfbo { + Bjnbdoapopo = 0, + Cgdbgbpedmk = 1, + Jdpaanekjli = 2, + Ginikaibdjg = 3, + Fmgnopfnojf = 4, + Hnamhaigfhe = 5, + Ejbmkoimnbp = 6, +} +impl Oecjgjccfbo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bjnbdoapopo => "OECJGJCCFBO_BJNBDOAPOPO", + Self::Cgdbgbpedmk => "OECJGJCCFBO_CGDBGBPEDMK", + Self::Jdpaanekjli => "OECJGJCCFBO_JDPAANEKJLI", + Self::Ginikaibdjg => "OECJGJCCFBO_GINIKAIBDJG", + Self::Fmgnopfnojf => "OECJGJCCFBO_FMGNOPFNOJF", + Self::Hnamhaigfhe => "OECJGJCCFBO_HNAMHAIGFHE", + Self::Ejbmkoimnbp => "OECJGJCCFBO_EJBMKOIMNBP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OECJGJCCFBO_BJNBDOAPOPO" => Some(Self::Bjnbdoapopo), + "OECJGJCCFBO_CGDBGBPEDMK" => Some(Self::Cgdbgbpedmk), + "OECJGJCCFBO_JDPAANEKJLI" => Some(Self::Jdpaanekjli), + "OECJGJCCFBO_GINIKAIBDJG" => Some(Self::Ginikaibdjg), + "OECJGJCCFBO_FMGNOPFNOJF" => Some(Self::Fmgnopfnojf), + "OECJGJCCFBO_HNAMHAIGFHE" => Some(Self::Hnamhaigfhe), + "OECJGJCCFBO_EJBMKOIMNBP" => Some(Self::Ejbmkoimnbp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pbcnjbicdip { + Gofkjncklfn = 0, + Npgboekjeaf = 1, +} +impl Pbcnjbicdip { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gofkjncklfn => "PBCNJBICDIP_GOFKJNCKLFN", + Self::Npgboekjeaf => "PBCNJBICDIP_NPGBOEKJEAF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PBCNJBICDIP_GOFKJNCKLFN" => Some(Self::Gofkjncklfn), + "PBCNJBICDIP_NPGBOEKJEAF" => Some(Self::Npgboekjeaf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum PostEffectType { + PostEffectTypeNone = 0, + Glitch = 1, + VignetteEffect = 2, + ScreenEffect = 3, + RadialBlur = 4, + ColorAdjustments = 5, +} +impl PostEffectType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::PostEffectTypeNone => "PostEffectType_POST_EFFECT_TYPE_NONE", + Self::Glitch => "PostEffectType_GLITCH", + Self::VignetteEffect => "PostEffectType_VIGNETTE_EFFECT", + Self::ScreenEffect => "PostEffectType_SCREEN_EFFECT", + Self::RadialBlur => "PostEffectType_RADIAL_BLUR", + Self::ColorAdjustments => "PostEffectType_COLOR_ADJUSTMENTS", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PostEffectType_POST_EFFECT_TYPE_NONE" => Some(Self::PostEffectTypeNone), + "PostEffectType_GLITCH" => Some(Self::Glitch), + "PostEffectType_VIGNETTE_EFFECT" => Some(Self::VignetteEffect), + "PostEffectType_SCREEN_EFFECT" => Some(Self::ScreenEffect), + "PostEffectType_RADIAL_BLUR" => Some(Self::RadialBlur), + "PostEffectType_COLOR_ADJUSTMENTS" => Some(Self::ColorAdjustments), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jfpjdljmhol { + ScenePropertyTypeNone = 0, + Stamina = 1001, + StaminaMax = 1002, + StaminaRatio = 1003, + StaminaDelta = 1004, + GoldRatio = 1005, + GoldDelta = 1006, + ShopPrice = 1018, + StaminaIncrease = 1019, + PlayerView = 1025, + ActorMaxCurHp = 1035, + ShopPriceDelta = 1036, + Weather = 1043, + TimePeriod = 1044, + AbyssPointRatio = 1045, + AbyssPointDelta = 1046, + HollowHpRecoverRatio = 1047, + HollowHpDecreaseRatio = 1048, + CardBProbabilityDelta = 1049, + CardAProbabilityDelta = 1050, + CardSProbabilityDelta = 1051, + CurseBProbabilityDelta = 1052, + CurseAProbabilityDelta = 1053, + CurseSProbabilityDelta = 1054, + HollowItemBProbabilityDelta = 1055, + HollowItemAProbabilityDelta = 1056, + HollowItemSProbabilityDelta = 1057, + EnableCardFusion = 1058, + EnableCardUpgrade = 1059, + EnableCardRefresh = 1060, + RecoverableTipId = 1063, + RecoverableBottomTipId = 1064, + HollowDrillEnergy = 1065, + HollowDrillLevel = 1066, + ForbidVoice = 1081, + HollowDrillSpeedLevel = 1082, + Exp = 1083, + ExpMax = 1084, + ExpRatio = 1085, + ExpDelta = 1086, + Power = 1087, + PowerLevelUp = 1088, + ArpeggioLayer = 1089, +} +impl Jfpjdljmhol { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ScenePropertyTypeNone => "JFPJDLJMHOL_SCENE_PROPERTY_TYPE_NONE", + Self::Stamina => "JFPJDLJMHOL_STAMINA", + Self::StaminaMax => "JFPJDLJMHOL_STAMINA_MAX", + Self::StaminaRatio => "JFPJDLJMHOL_STAMINA_RATIO", + Self::StaminaDelta => "JFPJDLJMHOL_STAMINA_DELTA", + Self::GoldRatio => "JFPJDLJMHOL_GOLD_RATIO", + Self::GoldDelta => "JFPJDLJMHOL_GOLD_DELTA", + Self::ShopPrice => "JFPJDLJMHOL_SHOP_PRICE", + Self::StaminaIncrease => "JFPJDLJMHOL_STAMINA_INCREASE", + Self::PlayerView => "JFPJDLJMHOL_PLAYER_VIEW", + Self::ActorMaxCurHp => "JFPJDLJMHOL_ACTOR_MAX_CUR_HP", + Self::ShopPriceDelta => "JFPJDLJMHOL_SHOP_PRICE_DELTA", + Self::Weather => "JFPJDLJMHOL_WEATHER", + Self::TimePeriod => "JFPJDLJMHOL_TIME_PERIOD", + Self::AbyssPointRatio => "JFPJDLJMHOL_ABYSS_POINT_RATIO", + Self::AbyssPointDelta => "JFPJDLJMHOL_ABYSS_POINT_DELTA", + Self::HollowHpRecoverRatio => "JFPJDLJMHOL_HOLLOW_HP_RECOVER_RATIO", + Self::HollowHpDecreaseRatio => "JFPJDLJMHOL_HOLLOW_HP_DECREASE_RATIO", + Self::CardBProbabilityDelta => "JFPJDLJMHOL_CARD_B_PROBABILITY_DELTA", + Self::CardAProbabilityDelta => "JFPJDLJMHOL_CARD_A_PROBABILITY_DELTA", + Self::CardSProbabilityDelta => "JFPJDLJMHOL_CARD_S_PROBABILITY_DELTA", + Self::CurseBProbabilityDelta => "JFPJDLJMHOL_CURSE_B_PROBABILITY_DELTA", + Self::CurseAProbabilityDelta => "JFPJDLJMHOL_CURSE_A_PROBABILITY_DELTA", + Self::CurseSProbabilityDelta => "JFPJDLJMHOL_CURSE_S_PROBABILITY_DELTA", + Self::HollowItemBProbabilityDelta => { + "JFPJDLJMHOL_HOLLOW_ITEM_B_PROBABILITY_DELTA" + } + Self::HollowItemAProbabilityDelta => { + "JFPJDLJMHOL_HOLLOW_ITEM_A_PROBABILITY_DELTA" + } + Self::HollowItemSProbabilityDelta => { + "JFPJDLJMHOL_HOLLOW_ITEM_S_PROBABILITY_DELTA" + } + Self::EnableCardFusion => "JFPJDLJMHOL_ENABLE_CARD_FUSION", + Self::EnableCardUpgrade => "JFPJDLJMHOL_ENABLE_CARD_UPGRADE", + Self::EnableCardRefresh => "JFPJDLJMHOL_ENABLE_CARD_REFRESH", + Self::RecoverableTipId => "JFPJDLJMHOL_RECOVERABLE_TIP_ID", + Self::RecoverableBottomTipId => "JFPJDLJMHOL_RECOVERABLE_BOTTOM_TIP_ID", + Self::HollowDrillEnergy => "JFPJDLJMHOL_HOLLOW_DRILL_ENERGY", + Self::HollowDrillLevel => "JFPJDLJMHOL_HOLLOW_DRILL_LEVEL", + Self::ForbidVoice => "JFPJDLJMHOL_FORBID_VOICE", + Self::HollowDrillSpeedLevel => "JFPJDLJMHOL_HOLLOW_DRILL_SPEED_LEVEL", + Self::Exp => "JFPJDLJMHOL_EXP", + Self::ExpMax => "JFPJDLJMHOL_EXP_MAX", + Self::ExpRatio => "JFPJDLJMHOL_EXP_RATIO", + Self::ExpDelta => "JFPJDLJMHOL_EXP_DELTA", + Self::Power => "JFPJDLJMHOL_POWER", + Self::PowerLevelUp => "JFPJDLJMHOL_POWER_LEVEL_UP", + Self::ArpeggioLayer => "JFPJDLJMHOL_ARPEGGIO_LAYER", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JFPJDLJMHOL_SCENE_PROPERTY_TYPE_NONE" => Some(Self::ScenePropertyTypeNone), + "JFPJDLJMHOL_STAMINA" => Some(Self::Stamina), + "JFPJDLJMHOL_STAMINA_MAX" => Some(Self::StaminaMax), + "JFPJDLJMHOL_STAMINA_RATIO" => Some(Self::StaminaRatio), + "JFPJDLJMHOL_STAMINA_DELTA" => Some(Self::StaminaDelta), + "JFPJDLJMHOL_GOLD_RATIO" => Some(Self::GoldRatio), + "JFPJDLJMHOL_GOLD_DELTA" => Some(Self::GoldDelta), + "JFPJDLJMHOL_SHOP_PRICE" => Some(Self::ShopPrice), + "JFPJDLJMHOL_STAMINA_INCREASE" => Some(Self::StaminaIncrease), + "JFPJDLJMHOL_PLAYER_VIEW" => Some(Self::PlayerView), + "JFPJDLJMHOL_ACTOR_MAX_CUR_HP" => Some(Self::ActorMaxCurHp), + "JFPJDLJMHOL_SHOP_PRICE_DELTA" => Some(Self::ShopPriceDelta), + "JFPJDLJMHOL_WEATHER" => Some(Self::Weather), + "JFPJDLJMHOL_TIME_PERIOD" => Some(Self::TimePeriod), + "JFPJDLJMHOL_ABYSS_POINT_RATIO" => Some(Self::AbyssPointRatio), + "JFPJDLJMHOL_ABYSS_POINT_DELTA" => Some(Self::AbyssPointDelta), + "JFPJDLJMHOL_HOLLOW_HP_RECOVER_RATIO" => Some(Self::HollowHpRecoverRatio), + "JFPJDLJMHOL_HOLLOW_HP_DECREASE_RATIO" => Some(Self::HollowHpDecreaseRatio), + "JFPJDLJMHOL_CARD_B_PROBABILITY_DELTA" => Some(Self::CardBProbabilityDelta), + "JFPJDLJMHOL_CARD_A_PROBABILITY_DELTA" => Some(Self::CardAProbabilityDelta), + "JFPJDLJMHOL_CARD_S_PROBABILITY_DELTA" => Some(Self::CardSProbabilityDelta), + "JFPJDLJMHOL_CURSE_B_PROBABILITY_DELTA" => Some(Self::CurseBProbabilityDelta), + "JFPJDLJMHOL_CURSE_A_PROBABILITY_DELTA" => Some(Self::CurseAProbabilityDelta), + "JFPJDLJMHOL_CURSE_S_PROBABILITY_DELTA" => Some(Self::CurseSProbabilityDelta), + "JFPJDLJMHOL_HOLLOW_ITEM_B_PROBABILITY_DELTA" => { + Some(Self::HollowItemBProbabilityDelta) + } + "JFPJDLJMHOL_HOLLOW_ITEM_A_PROBABILITY_DELTA" => { + Some(Self::HollowItemAProbabilityDelta) + } + "JFPJDLJMHOL_HOLLOW_ITEM_S_PROBABILITY_DELTA" => { + Some(Self::HollowItemSProbabilityDelta) + } + "JFPJDLJMHOL_ENABLE_CARD_FUSION" => Some(Self::EnableCardFusion), + "JFPJDLJMHOL_ENABLE_CARD_UPGRADE" => Some(Self::EnableCardUpgrade), + "JFPJDLJMHOL_ENABLE_CARD_REFRESH" => Some(Self::EnableCardRefresh), + "JFPJDLJMHOL_RECOVERABLE_TIP_ID" => Some(Self::RecoverableTipId), + "JFPJDLJMHOL_RECOVERABLE_BOTTOM_TIP_ID" => Some(Self::RecoverableBottomTipId), + "JFPJDLJMHOL_HOLLOW_DRILL_ENERGY" => Some(Self::HollowDrillEnergy), + "JFPJDLJMHOL_HOLLOW_DRILL_LEVEL" => Some(Self::HollowDrillLevel), + "JFPJDLJMHOL_FORBID_VOICE" => Some(Self::ForbidVoice), + "JFPJDLJMHOL_HOLLOW_DRILL_SPEED_LEVEL" => Some(Self::HollowDrillSpeedLevel), + "JFPJDLJMHOL_EXP" => Some(Self::Exp), + "JFPJDLJMHOL_EXP_MAX" => Some(Self::ExpMax), + "JFPJDLJMHOL_EXP_RATIO" => Some(Self::ExpRatio), + "JFPJDLJMHOL_EXP_DELTA" => Some(Self::ExpDelta), + "JFPJDLJMHOL_POWER" => Some(Self::Power), + "JFPJDLJMHOL_POWER_LEVEL_UP" => Some(Self::PowerLevelUp), + "JFPJDLJMHOL_ARPEGGIO_LAYER" => Some(Self::ArpeggioLayer), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jglihdaobho { + Gpknbcmocbk = 0, +} +impl Jglihdaobho { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gpknbcmocbk => "JGLIHDAOBHO_GPKNBCMOCBK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JGLIHDAOBHO_GPKNBCMOCBK" => Some(Self::Gpknbcmocbk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mhafdeioenk { + Khcaobilhjg = 0, + Dnaljkcilel = 1, + Mkhnidmgoja = 2, + Icjoglpgppb = 3, + Jhocdoilphp = 4, +} +impl Mhafdeioenk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Khcaobilhjg => "MHAFDEIOENK_KHCAOBILHJG", + Self::Dnaljkcilel => "MHAFDEIOENK_DNALJKCILEL", + Self::Mkhnidmgoja => "MHAFDEIOENK_MKHNIDMGOJA", + Self::Icjoglpgppb => "MHAFDEIOENK_ICJOGLPGPPB", + Self::Jhocdoilphp => "MHAFDEIOENK_JHOCDOILPHP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MHAFDEIOENK_KHCAOBILHJG" => Some(Self::Khcaobilhjg), + "MHAFDEIOENK_DNALJKCILEL" => Some(Self::Dnaljkcilel), + "MHAFDEIOENK_MKHNIDMGOJA" => Some(Self::Mkhnidmgoja), + "MHAFDEIOENK_ICJOGLPGPPB" => Some(Self::Icjoglpgppb), + "MHAFDEIOENK_JHOCDOILPHP" => Some(Self::Jhocdoilphp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kpokggkhgga { + Jkchdfmafip = 0, +} +impl Kpokggkhgga { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jkchdfmafip => "KPOKGGKHGGA_JKCHDFMAFIP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KPOKGGKHGGA_JKCHDFMAFIP" => Some(Self::Jkchdfmafip), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ojgbnejmbok { + DropTypeVariableList = 0, + DropTypeDirectlyAdd = 1, +} +impl Ojgbnejmbok { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::DropTypeVariableList => "OJGBNEJMBOK_DROP_TYPE_VARIABLE_LIST", + Self::DropTypeDirectlyAdd => "OJGBNEJMBOK_DROP_TYPE_DIRECTLY_ADD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OJGBNEJMBOK_DROP_TYPE_VARIABLE_LIST" => Some(Self::DropTypeVariableList), + "OJGBNEJMBOK_DROP_TYPE_DIRECTLY_ADD" => Some(Self::DropTypeDirectlyAdd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hkhpcpeinmi { + Fdjcncepfhl = 0, + Epgcnchkcph = 1, + Khkpiomophi = 2, +} +impl Hkhpcpeinmi { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fdjcncepfhl => "HKHPCPEINMI_FDJCNCEPFHL", + Self::Epgcnchkcph => "HKHPCPEINMI_EPGCNCHKCPH", + Self::Khkpiomophi => "HKHPCPEINMI_KHKPIOMOPHI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HKHPCPEINMI_FDJCNCEPFHL" => Some(Self::Fdjcncepfhl), + "HKHPCPEINMI_EPGCNCHKCPH" => Some(Self::Epgcnchkcph), + "HKHPCPEINMI_KHKPIOMOPHI" => Some(Self::Khkpiomophi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gcejplldcmo { + Count = 0, + Pop = 1, +} +impl Gcejplldcmo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Count => "GCEJPLLDCMO_COUNT", + Self::Pop => "GCEJPLLDCMO_POP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GCEJPLLDCMO_COUNT" => Some(Self::Count), + "GCEJPLLDCMO_POP" => Some(Self::Pop), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lbkphamakbc { + Pbclejnedcb = 0, + Koaaaabnfig = 2003, +} +impl Lbkphamakbc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pbclejnedcb => "LBKPHAMAKBC_PBCLEJNEDCB", + Self::Koaaaabnfig => "LBKPHAMAKBC_KOAAAABNFIG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LBKPHAMAKBC_PBCLEJNEDCB" => Some(Self::Pbclejnedcb), + "LBKPHAMAKBC_KOAAAABNFIG" => Some(Self::Koaaaabnfig), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum EndHollowMiniGameType { + EndHollowMiniGameTypeNone = 0, + EndHollowMiniGameTypeFail = 1, + EndHollowMiniGameTypeSucc = 2, + EndHollowMiniGameTypeRebegin = 3, + EndHollowMiniGameTypeGiveUp = 4, +} +impl EndHollowMiniGameType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::EndHollowMiniGameTypeNone => { + "EndHollowMiniGameType_END_HOLLOW_MINI_GAME_TYPE_NONE" + } + Self::EndHollowMiniGameTypeFail => { + "EndHollowMiniGameType_END_HOLLOW_MINI_GAME_TYPE_FAIL" + } + Self::EndHollowMiniGameTypeSucc => { + "EndHollowMiniGameType_END_HOLLOW_MINI_GAME_TYPE_SUCC" + } + Self::EndHollowMiniGameTypeRebegin => { + "EndHollowMiniGameType_END_HOLLOW_MINI_GAME_TYPE_REBEGIN" + } + Self::EndHollowMiniGameTypeGiveUp => { + "EndHollowMiniGameType_END_HOLLOW_MINI_GAME_TYPE_GIVE_UP" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EndHollowMiniGameType_END_HOLLOW_MINI_GAME_TYPE_NONE" => { + Some(Self::EndHollowMiniGameTypeNone) + } + "EndHollowMiniGameType_END_HOLLOW_MINI_GAME_TYPE_FAIL" => { + Some(Self::EndHollowMiniGameTypeFail) + } + "EndHollowMiniGameType_END_HOLLOW_MINI_GAME_TYPE_SUCC" => { + Some(Self::EndHollowMiniGameTypeSucc) + } + "EndHollowMiniGameType_END_HOLLOW_MINI_GAME_TYPE_REBEGIN" => { + Some(Self::EndHollowMiniGameTypeRebegin) + } + "EndHollowMiniGameType_END_HOLLOW_MINI_GAME_TYPE_GIVE_UP" => { + Some(Self::EndHollowMiniGameTypeGiveUp) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jocleloeghc { + Jmepcaeepdj = 0, + Celjoigijgm = 1, + Clkflghdklk = 2, + Gjfmmnnehmo = 3, +} +impl Jocleloeghc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jmepcaeepdj => "JOCLELOEGHC_JMEPCAEEPDJ", + Self::Celjoigijgm => "JOCLELOEGHC_CELJOIGIJGM", + Self::Clkflghdklk => "JOCLELOEGHC_CLKFLGHDKLK", + Self::Gjfmmnnehmo => "JOCLELOEGHC_GJFMMNNEHMO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JOCLELOEGHC_JMEPCAEEPDJ" => Some(Self::Jmepcaeepdj), + "JOCLELOEGHC_CELJOIGIJGM" => Some(Self::Celjoigijgm), + "JOCLELOEGHC_CLKFLGHDKLK" => Some(Self::Clkflghdklk), + "JOCLELOEGHC_GJFMMNNEHMO" => Some(Self::Gjfmmnnehmo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kbhjndflkai { + Hjjmhpmmojk = 0, + Ejapfhehfjp = 1, + Kgacjngigof = 2, + Cgbpcikjkil = 3, + Hihjlffoooo = 4, + Hcnhjbpgcff = 5, + Kdoficmocbf = 6, + Opcfcfbiimn = 7, + Naekpclhhlk = 8, + Bjmfeopjddp = 9, + Lkdkkofnlff = 11, + Phgpnobhpoc = 12, + Aglaobdfoge = 13, + Pbnpignbkji = 14, + Edankmidmjf = 15, + Jgnbgcceege = 101, + Podkdoocmjk = 102, + Ebdelgnpbfp = 103, + Dmclamhdihb = 104, + Aioimfejipc = 105, + Lmdbilkpngf = 106, + Bcjoeejffdo = 107, + Ibanphkomfo = 108, + Fmepokjdiph = 109, + Eecgoonfgkk = 110, + Ebogfkknkdf = 111, + Dnppdfpakob = 112, + Fgjkjiahbki = 113, + Fapglhbfhig = 114, + Ljdapgfmkgm = 115, + Mdkfdeioekb = 116, + Bbpiihlhllk = 117, + Hhjgiemcpno = 118, + Ehomjfbbnhe = 119, + Liobfiaajpi = 120, + Fkoiofaccbc = 121, + Jedjlppnikp = 122, + Jefmjhfdibb = 123, + Ijnjhgfdpie = 125, + Hfcnckedccn = 126, + Ocjekefmdhk = 998, + Kiegldkgkbd = 999, +} +impl Kbhjndflkai { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hjjmhpmmojk => "KBHJNDFLKAI_HJJMHPMMOJK", + Self::Ejapfhehfjp => "KBHJNDFLKAI_EJAPFHEHFJP", + Self::Kgacjngigof => "KBHJNDFLKAI_KGACJNGIGOF", + Self::Cgbpcikjkil => "KBHJNDFLKAI_CGBPCIKJKIL", + Self::Hihjlffoooo => "KBHJNDFLKAI_HIHJLFFOOOO", + Self::Hcnhjbpgcff => "KBHJNDFLKAI_HCNHJBPGCFF", + Self::Kdoficmocbf => "KBHJNDFLKAI_KDOFICMOCBF", + Self::Opcfcfbiimn => "KBHJNDFLKAI_OPCFCFBIIMN", + Self::Naekpclhhlk => "KBHJNDFLKAI_NAEKPCLHHLK", + Self::Bjmfeopjddp => "KBHJNDFLKAI_BJMFEOPJDDP", + Self::Lkdkkofnlff => "KBHJNDFLKAI_LKDKKOFNLFF", + Self::Phgpnobhpoc => "KBHJNDFLKAI_PHGPNOBHPOC", + Self::Aglaobdfoge => "KBHJNDFLKAI_AGLAOBDFOGE", + Self::Pbnpignbkji => "KBHJNDFLKAI_PBNPIGNBKJI", + Self::Edankmidmjf => "KBHJNDFLKAI_EDANKMIDMJF", + Self::Jgnbgcceege => "KBHJNDFLKAI_JGNBGCCEEGE", + Self::Podkdoocmjk => "KBHJNDFLKAI_PODKDOOCMJK", + Self::Ebdelgnpbfp => "KBHJNDFLKAI_EBDELGNPBFP", + Self::Dmclamhdihb => "KBHJNDFLKAI_DMCLAMHDIHB", + Self::Aioimfejipc => "KBHJNDFLKAI_AIOIMFEJIPC", + Self::Lmdbilkpngf => "KBHJNDFLKAI_LMDBILKPNGF", + Self::Bcjoeejffdo => "KBHJNDFLKAI_BCJOEEJFFDO", + Self::Ibanphkomfo => "KBHJNDFLKAI_IBANPHKOMFO", + Self::Fmepokjdiph => "KBHJNDFLKAI_FMEPOKJDIPH", + Self::Eecgoonfgkk => "KBHJNDFLKAI_EECGOONFGKK", + Self::Ebogfkknkdf => "KBHJNDFLKAI_EBOGFKKNKDF", + Self::Dnppdfpakob => "KBHJNDFLKAI_DNPPDFPAKOB", + Self::Fgjkjiahbki => "KBHJNDFLKAI_FGJKJIAHBKI", + Self::Fapglhbfhig => "KBHJNDFLKAI_FAPGLHBFHIG", + Self::Ljdapgfmkgm => "KBHJNDFLKAI_LJDAPGFMKGM", + Self::Mdkfdeioekb => "KBHJNDFLKAI_MDKFDEIOEKB", + Self::Bbpiihlhllk => "KBHJNDFLKAI_BBPIIHLHLLK", + Self::Hhjgiemcpno => "KBHJNDFLKAI_HHJGIEMCPNO", + Self::Ehomjfbbnhe => "KBHJNDFLKAI_EHOMJFBBNHE", + Self::Liobfiaajpi => "KBHJNDFLKAI_LIOBFIAAJPI", + Self::Fkoiofaccbc => "KBHJNDFLKAI_FKOIOFACCBC", + Self::Jedjlppnikp => "KBHJNDFLKAI_JEDJLPPNIKP", + Self::Jefmjhfdibb => "KBHJNDFLKAI_JEFMJHFDIBB", + Self::Ijnjhgfdpie => "KBHJNDFLKAI_IJNJHGFDPIE", + Self::Hfcnckedccn => "KBHJNDFLKAI_HFCNCKEDCCN", + Self::Ocjekefmdhk => "KBHJNDFLKAI_OCJEKEFMDHK", + Self::Kiegldkgkbd => "KBHJNDFLKAI_KIEGLDKGKBD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KBHJNDFLKAI_HJJMHPMMOJK" => Some(Self::Hjjmhpmmojk), + "KBHJNDFLKAI_EJAPFHEHFJP" => Some(Self::Ejapfhehfjp), + "KBHJNDFLKAI_KGACJNGIGOF" => Some(Self::Kgacjngigof), + "KBHJNDFLKAI_CGBPCIKJKIL" => Some(Self::Cgbpcikjkil), + "KBHJNDFLKAI_HIHJLFFOOOO" => Some(Self::Hihjlffoooo), + "KBHJNDFLKAI_HCNHJBPGCFF" => Some(Self::Hcnhjbpgcff), + "KBHJNDFLKAI_KDOFICMOCBF" => Some(Self::Kdoficmocbf), + "KBHJNDFLKAI_OPCFCFBIIMN" => Some(Self::Opcfcfbiimn), + "KBHJNDFLKAI_NAEKPCLHHLK" => Some(Self::Naekpclhhlk), + "KBHJNDFLKAI_BJMFEOPJDDP" => Some(Self::Bjmfeopjddp), + "KBHJNDFLKAI_LKDKKOFNLFF" => Some(Self::Lkdkkofnlff), + "KBHJNDFLKAI_PHGPNOBHPOC" => Some(Self::Phgpnobhpoc), + "KBHJNDFLKAI_AGLAOBDFOGE" => Some(Self::Aglaobdfoge), + "KBHJNDFLKAI_PBNPIGNBKJI" => Some(Self::Pbnpignbkji), + "KBHJNDFLKAI_EDANKMIDMJF" => Some(Self::Edankmidmjf), + "KBHJNDFLKAI_JGNBGCCEEGE" => Some(Self::Jgnbgcceege), + "KBHJNDFLKAI_PODKDOOCMJK" => Some(Self::Podkdoocmjk), + "KBHJNDFLKAI_EBDELGNPBFP" => Some(Self::Ebdelgnpbfp), + "KBHJNDFLKAI_DMCLAMHDIHB" => Some(Self::Dmclamhdihb), + "KBHJNDFLKAI_AIOIMFEJIPC" => Some(Self::Aioimfejipc), + "KBHJNDFLKAI_LMDBILKPNGF" => Some(Self::Lmdbilkpngf), + "KBHJNDFLKAI_BCJOEEJFFDO" => Some(Self::Bcjoeejffdo), + "KBHJNDFLKAI_IBANPHKOMFO" => Some(Self::Ibanphkomfo), + "KBHJNDFLKAI_FMEPOKJDIPH" => Some(Self::Fmepokjdiph), + "KBHJNDFLKAI_EECGOONFGKK" => Some(Self::Eecgoonfgkk), + "KBHJNDFLKAI_EBOGFKKNKDF" => Some(Self::Ebogfkknkdf), + "KBHJNDFLKAI_DNPPDFPAKOB" => Some(Self::Dnppdfpakob), + "KBHJNDFLKAI_FGJKJIAHBKI" => Some(Self::Fgjkjiahbki), + "KBHJNDFLKAI_FAPGLHBFHIG" => Some(Self::Fapglhbfhig), + "KBHJNDFLKAI_LJDAPGFMKGM" => Some(Self::Ljdapgfmkgm), + "KBHJNDFLKAI_MDKFDEIOEKB" => Some(Self::Mdkfdeioekb), + "KBHJNDFLKAI_BBPIIHLHLLK" => Some(Self::Bbpiihlhllk), + "KBHJNDFLKAI_HHJGIEMCPNO" => Some(Self::Hhjgiemcpno), + "KBHJNDFLKAI_EHOMJFBBNHE" => Some(Self::Ehomjfbbnhe), + "KBHJNDFLKAI_LIOBFIAAJPI" => Some(Self::Liobfiaajpi), + "KBHJNDFLKAI_FKOIOFACCBC" => Some(Self::Fkoiofaccbc), + "KBHJNDFLKAI_JEDJLPPNIKP" => Some(Self::Jedjlppnikp), + "KBHJNDFLKAI_JEFMJHFDIBB" => Some(Self::Jefmjhfdibb), + "KBHJNDFLKAI_IJNJHGFDPIE" => Some(Self::Ijnjhgfdpie), + "KBHJNDFLKAI_HFCNCKEDCCN" => Some(Self::Hfcnckedccn), + "KBHJNDFLKAI_OCJEKEFMDHK" => Some(Self::Ocjekefmdhk), + "KBHJNDFLKAI_KIEGLDKGKBD" => Some(Self::Kiegldkgkbd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aeoihpdcomb { + OptionIconModeSingle = 0, + OptionIconModeAdd = 1, + OptionIconModeReplace = 2, + OptionIconModeReduce = 3, + OptionIconModeSuit = 4, + OptionIconModeSwitch = 5, + OptionIconModeUpgrade = 6, +} +impl Aeoihpdcomb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::OptionIconModeSingle => "AEOIHPDCOMB_OPTION_ICON_MODE_SINGLE", + Self::OptionIconModeAdd => "AEOIHPDCOMB_OPTION_ICON_MODE_ADD", + Self::OptionIconModeReplace => "AEOIHPDCOMB_OPTION_ICON_MODE_REPLACE", + Self::OptionIconModeReduce => "AEOIHPDCOMB_OPTION_ICON_MODE_REDUCE", + Self::OptionIconModeSuit => "AEOIHPDCOMB_OPTION_ICON_MODE_SUIT", + Self::OptionIconModeSwitch => "AEOIHPDCOMB_OPTION_ICON_MODE_SWITCH", + Self::OptionIconModeUpgrade => "AEOIHPDCOMB_OPTION_ICON_MODE_UPGRADE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AEOIHPDCOMB_OPTION_ICON_MODE_SINGLE" => Some(Self::OptionIconModeSingle), + "AEOIHPDCOMB_OPTION_ICON_MODE_ADD" => Some(Self::OptionIconModeAdd), + "AEOIHPDCOMB_OPTION_ICON_MODE_REPLACE" => Some(Self::OptionIconModeReplace), + "AEOIHPDCOMB_OPTION_ICON_MODE_REDUCE" => Some(Self::OptionIconModeReduce), + "AEOIHPDCOMB_OPTION_ICON_MODE_SUIT" => Some(Self::OptionIconModeSuit), + "AEOIHPDCOMB_OPTION_ICON_MODE_SWITCH" => Some(Self::OptionIconModeSwitch), + "AEOIHPDCOMB_OPTION_ICON_MODE_UPGRADE" => Some(Self::OptionIconModeUpgrade), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ikpmgfppfjf { + Mmhjnhekflf = 0, + Conldjdkoeo = 1, + Pajahnmlgob = 2, + Npkkmlchdnj = 3, +} +impl Ikpmgfppfjf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mmhjnhekflf => "IKPMGFPPFJF_MMHJNHEKFLF", + Self::Conldjdkoeo => "IKPMGFPPFJF_CONLDJDKOEO", + Self::Pajahnmlgob => "IKPMGFPPFJF_PAJAHNMLGOB", + Self::Npkkmlchdnj => "IKPMGFPPFJF_NPKKMLCHDNJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IKPMGFPPFJF_MMHJNHEKFLF" => Some(Self::Mmhjnhekflf), + "IKPMGFPPFJF_CONLDJDKOEO" => Some(Self::Conldjdkoeo), + "IKPMGFPPFJF_PAJAHNMLGOB" => Some(Self::Pajahnmlgob), + "IKPMGFPPFJF_NPKKMLCHDNJ" => Some(Self::Npkkmlchdnj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hcamdcgjobf { + Mhmagiicmai = 0, + Dmdnnihpjab = 1, + Ldfkkahbpfi = 2, + Mcobcfmmhio = 3, + Oobghcjieka = 4, +} +impl Hcamdcgjobf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mhmagiicmai => "HCAMDCGJOBF_MHMAGIICMAI", + Self::Dmdnnihpjab => "HCAMDCGJOBF_DMDNNIHPJAB", + Self::Ldfkkahbpfi => "HCAMDCGJOBF_LDFKKAHBPFI", + Self::Mcobcfmmhio => "HCAMDCGJOBF_MCOBCFMMHIO", + Self::Oobghcjieka => "HCAMDCGJOBF_OOBGHCJIEKA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HCAMDCGJOBF_MHMAGIICMAI" => Some(Self::Mhmagiicmai), + "HCAMDCGJOBF_DMDNNIHPJAB" => Some(Self::Dmdnnihpjab), + "HCAMDCGJOBF_LDFKKAHBPFI" => Some(Self::Ldfkkahbpfi), + "HCAMDCGJOBF_MCOBCFMMHIO" => Some(Self::Mcobcfmmhio), + "HCAMDCGJOBF_OOBGHCJIEKA" => Some(Self::Oobghcjieka), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mgnmgkdigof { + Dmofmpdfoom = 0, + Hobhdnignaf = 1, +} +impl Mgnmgkdigof { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dmofmpdfoom => "MGNMGKDIGOF_DMOFMPDFOOM", + Self::Hobhdnignaf => "MGNMGKDIGOF_HOBHDNIGNAF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MGNMGKDIGOF_DMOFMPDFOOM" => Some(Self::Dmofmpdfoom), + "MGNMGKDIGOF_HOBHDNIGNAF" => Some(Self::Hobhdnignaf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ijdlodpmhni { + Neopoanejbb = 0, + Lgehhicjjkl = 1, +} +impl Ijdlodpmhni { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Neopoanejbb => "IJDLODPMHNI_NEOPOANEJBB", + Self::Lgehhicjjkl => "IJDLODPMHNI_LGEHHICJJKL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IJDLODPMHNI_NEOPOANEJBB" => Some(Self::Neopoanejbb), + "IJDLODPMHNI_LGEHHICJJKL" => Some(Self::Lgehhicjjkl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gdibboodhok { + HollowScriptTargetScriptOwner = 0, + HollowScriptTargetGlobalEvent = 1, + HollowScriptTargetGrid = 2, + HollowScriptTargetNpc = 3, +} +impl Gdibboodhok { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowScriptTargetScriptOwner => { + "GDIBBOODHOK_HOLLOW_SCRIPT_TARGET_SCRIPT_OWNER" + } + Self::HollowScriptTargetGlobalEvent => { + "GDIBBOODHOK_HOLLOW_SCRIPT_TARGET_GLOBAL_EVENT" + } + Self::HollowScriptTargetGrid => "GDIBBOODHOK_HOLLOW_SCRIPT_TARGET_GRID", + Self::HollowScriptTargetNpc => "GDIBBOODHOK_HOLLOW_SCRIPT_TARGET_NPC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GDIBBOODHOK_HOLLOW_SCRIPT_TARGET_SCRIPT_OWNER" => { + Some(Self::HollowScriptTargetScriptOwner) + } + "GDIBBOODHOK_HOLLOW_SCRIPT_TARGET_GLOBAL_EVENT" => { + Some(Self::HollowScriptTargetGlobalEvent) + } + "GDIBBOODHOK_HOLLOW_SCRIPT_TARGET_GRID" => Some(Self::HollowScriptTargetGrid), + "GDIBBOODHOK_HOLLOW_SCRIPT_TARGET_NPC" => Some(Self::HollowScriptTargetNpc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cbjjjomnkia { + None = 0, + InstancedAbilityId = 1, + InstancedModifierId = 2, +} +impl Cbjjjomnkia { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::None => "CBJJJOMNKIA_None", + Self::InstancedAbilityId => "CBJJJOMNKIA_InstancedAbilityId", + Self::InstancedModifierId => "CBJJJOMNKIA_InstancedModifierId", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CBJJJOMNKIA_None" => Some(Self::None), + "CBJJJOMNKIA_InstancedAbilityId" => Some(Self::InstancedAbilityId), + "CBJJJOMNKIA_InstancedModifierId" => Some(Self::InstancedModifierId), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mgdnceflcmp { + Agbnddjkhkk = 0, + Idpfpcjlopa = 1, + Pkmpiiojmfh = 2, + Faghbpcnddn = 3, + Pmkniieghhd = 4, +} +impl Mgdnceflcmp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Agbnddjkhkk => "MGDNCEFLCMP_AGBNDDJKHKK", + Self::Idpfpcjlopa => "MGDNCEFLCMP_IDPFPCJLOPA", + Self::Pkmpiiojmfh => "MGDNCEFLCMP_PKMPIIOJMFH", + Self::Faghbpcnddn => "MGDNCEFLCMP_FAGHBPCNDDN", + Self::Pmkniieghhd => "MGDNCEFLCMP_PMKNIIEGHHD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MGDNCEFLCMP_AGBNDDJKHKK" => Some(Self::Agbnddjkhkk), + "MGDNCEFLCMP_IDPFPCJLOPA" => Some(Self::Idpfpcjlopa), + "MGDNCEFLCMP_PKMPIIOJMFH" => Some(Self::Pkmpiiojmfh), + "MGDNCEFLCMP_FAGHBPCNDDN" => Some(Self::Faghbpcnddn), + "MGDNCEFLCMP_PMKNIIEGHHD" => Some(Self::Pmkniieghhd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pojpbehhick { + Capmibaemeh = 0, + Pdkiimfamgc = 1, + Mkpdbjgikka = 2, + Mmaphkjmpad = 3, +} +impl Pojpbehhick { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Capmibaemeh => "POJPBEHHICK_CAPMIBAEMEH", + Self::Pdkiimfamgc => "POJPBEHHICK_PDKIIMFAMGC", + Self::Mkpdbjgikka => "POJPBEHHICK_MKPDBJGIKKA", + Self::Mmaphkjmpad => "POJPBEHHICK_MMAPHKJMPAD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "POJPBEHHICK_CAPMIBAEMEH" => Some(Self::Capmibaemeh), + "POJPBEHHICK_PDKIIMFAMGC" => Some(Self::Pdkiimfamgc), + "POJPBEHHICK_MKPDBJGIKKA" => Some(Self::Mkpdbjgikka), + "POJPBEHHICK_MMAPHKJMPAD" => Some(Self::Mmaphkjmpad), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lfipekhmmid { + MonsterWeaknessDefault = 0, + MonsterWeaknessPhysics = 200, + MonsterWeaknessFire = 201, + MonsterWeaknessIce = 202, + MonsterWeaknessElec = 203, + MonsterWeaknessEther = 205, +} +impl Lfipekhmmid { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::MonsterWeaknessDefault => "LFIPEKHMMID_MONSTER_WEAKNESS_DEFAULT", + Self::MonsterWeaknessPhysics => "LFIPEKHMMID_MONSTER_WEAKNESS_PHYSICS", + Self::MonsterWeaknessFire => "LFIPEKHMMID_MONSTER_WEAKNESS_FIRE", + Self::MonsterWeaknessIce => "LFIPEKHMMID_MONSTER_WEAKNESS_ICE", + Self::MonsterWeaknessElec => "LFIPEKHMMID_MONSTER_WEAKNESS_ELEC", + Self::MonsterWeaknessEther => "LFIPEKHMMID_MONSTER_WEAKNESS_ETHER", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LFIPEKHMMID_MONSTER_WEAKNESS_DEFAULT" => Some(Self::MonsterWeaknessDefault), + "LFIPEKHMMID_MONSTER_WEAKNESS_PHYSICS" => Some(Self::MonsterWeaknessPhysics), + "LFIPEKHMMID_MONSTER_WEAKNESS_FIRE" => Some(Self::MonsterWeaknessFire), + "LFIPEKHMMID_MONSTER_WEAKNESS_ICE" => Some(Self::MonsterWeaknessIce), + "LFIPEKHMMID_MONSTER_WEAKNESS_ELEC" => Some(Self::MonsterWeaknessElec), + "LFIPEKHMMID_MONSTER_WEAKNESS_ETHER" => Some(Self::MonsterWeaknessEther), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ejboopmcpbe { + EndBlackMaskNone = 0, + EndBlackMaskWaitTransition = 1, + EndBlackMaskAutoClose = 2, +} +impl Ejboopmcpbe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::EndBlackMaskNone => "EJBOOPMCPBE_END_BLACK_MASK_NONE", + Self::EndBlackMaskWaitTransition => { + "EJBOOPMCPBE_END_BLACK_MASK_WAIT_TRANSITION" + } + Self::EndBlackMaskAutoClose => "EJBOOPMCPBE_END_BLACK_MASK_AUTO_CLOSE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EJBOOPMCPBE_END_BLACK_MASK_NONE" => Some(Self::EndBlackMaskNone), + "EJBOOPMCPBE_END_BLACK_MASK_WAIT_TRANSITION" => { + Some(Self::EndBlackMaskWaitTransition) + } + "EJBOOPMCPBE_END_BLACK_MASK_AUTO_CLOSE" => Some(Self::EndBlackMaskAutoClose), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fmfihcfchdh { + Lfkcepacinb = 0, + Dcddmeallfd = 1, + Jmbljakkhdb = 2, + Nffgijaohhj = 3, + Eoiigkiihfa = 4, +} +impl Fmfihcfchdh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lfkcepacinb => "FMFIHCFCHDH_LFKCEPACINB", + Self::Dcddmeallfd => "FMFIHCFCHDH_DCDDMEALLFD", + Self::Jmbljakkhdb => "FMFIHCFCHDH_JMBLJAKKHDB", + Self::Nffgijaohhj => "FMFIHCFCHDH_NFFGIJAOHHJ", + Self::Eoiigkiihfa => "FMFIHCFCHDH_EOIIGKIIHFA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FMFIHCFCHDH_LFKCEPACINB" => Some(Self::Lfkcepacinb), + "FMFIHCFCHDH_DCDDMEALLFD" => Some(Self::Dcddmeallfd), + "FMFIHCFCHDH_JMBLJAKKHDB" => Some(Self::Jmbljakkhdb), + "FMFIHCFCHDH_NFFGIJAOHHJ" => Some(Self::Nffgijaohhj), + "FMFIHCFCHDH_EOIIGKIIHFA" => Some(Self::Eoiigkiihfa), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oebmmbmppdp { + Gacbhobajhd = 0, + Mclombccgjj = 1, + Oopaibecgjg = 2, + Nijmdfklbme = 3, +} +impl Oebmmbmppdp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gacbhobajhd => "OEBMMBMPPDP_GACBHOBAJHD", + Self::Mclombccgjj => "OEBMMBMPPDP_MCLOMBCCGJJ", + Self::Oopaibecgjg => "OEBMMBMPPDP_OOPAIBECGJG", + Self::Nijmdfklbme => "OEBMMBMPPDP_NIJMDFKLBME", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OEBMMBMPPDP_GACBHOBAJHD" => Some(Self::Gacbhobajhd), + "OEBMMBMPPDP_MCLOMBCCGJJ" => Some(Self::Mclombccgjj), + "OEBMMBMPPDP_OOPAIBECGJG" => Some(Self::Oopaibecgjg), + "OEBMMBMPPDP_NIJMDFKLBME" => Some(Self::Nijmdfklbme), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jcbemcahdlh { + Kjiogmeohkl = 0, + Dpiadknicag = 1, + Hajbeoeeolf = 2, +} +impl Jcbemcahdlh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kjiogmeohkl => "JCBEMCAHDLH_KJIOGMEOHKL", + Self::Dpiadknicag => "JCBEMCAHDLH_DPIADKNICAG", + Self::Hajbeoeeolf => "JCBEMCAHDLH_HAJBEOEEOLF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JCBEMCAHDLH_KJIOGMEOHKL" => Some(Self::Kjiogmeohkl), + "JCBEMCAHDLH_DPIADKNICAG" => Some(Self::Dpiadknicag), + "JCBEMCAHDLH_HAJBEOEEOLF" => Some(Self::Hajbeoeeolf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dolmncanpff { + Pmdhbkicljd = 0, + Mndmljkffjb = 1, +} +impl Dolmncanpff { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pmdhbkicljd => "DOLMNCANPFF_PMDHBKICLJD", + Self::Mndmljkffjb => "DOLMNCANPFF_MNDMLJKFFJB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DOLMNCANPFF_PMDHBKICLJD" => Some(Self::Pmdhbkicljd), + "DOLMNCANPFF_MNDMLJKFFJB" => Some(Self::Mndmljkffjb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ngcffhcgmac { + TypeOfFunctionReturnDefault = 0, + TypeOfFunctionReturnOut = 1, +} +impl Ngcffhcgmac { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::TypeOfFunctionReturnDefault => { + "NGCFFHCGMAC_TYPE_OF_FUNCTION_RETURN_DEFAULT" + } + Self::TypeOfFunctionReturnOut => "NGCFFHCGMAC_TYPE_OF_FUNCTION_RETURN_OUT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NGCFFHCGMAC_TYPE_OF_FUNCTION_RETURN_DEFAULT" => { + Some(Self::TypeOfFunctionReturnDefault) + } + "NGCFFHCGMAC_TYPE_OF_FUNCTION_RETURN_OUT" => { + Some(Self::TypeOfFunctionReturnOut) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Agmjjomdomi { + EghmPositionTypeNone = 0, + EghmPositionTypeZero = 1, + EghmPositionTypeStart = 2, +} +impl Agmjjomdomi { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::EghmPositionTypeNone => "AGMJJOMDOMI_EGHM_POSITION_TYPE_NONE", + Self::EghmPositionTypeZero => "AGMJJOMDOMI_EGHM_POSITION_TYPE_ZERO", + Self::EghmPositionTypeStart => "AGMJJOMDOMI_EGHM_POSITION_TYPE_START", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AGMJJOMDOMI_EGHM_POSITION_TYPE_NONE" => Some(Self::EghmPositionTypeNone), + "AGMJJOMDOMI_EGHM_POSITION_TYPE_ZERO" => Some(Self::EghmPositionTypeZero), + "AGMJJOMDOMI_EGHM_POSITION_TYPE_START" => Some(Self::EghmPositionTypeStart), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Odgpcomndpm { + OptionIconStateNone = 0, + OptionIconStateAdd = 1, + OptionIconStateReplace = 2, + OptionIconStateReduce = 3, +} +impl Odgpcomndpm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::OptionIconStateNone => "ODGPCOMNDPM_OPTION_ICON_STATE_NONE", + Self::OptionIconStateAdd => "ODGPCOMNDPM_OPTION_ICON_STATE_ADD", + Self::OptionIconStateReplace => "ODGPCOMNDPM_OPTION_ICON_STATE_REPLACE", + Self::OptionIconStateReduce => "ODGPCOMNDPM_OPTION_ICON_STATE_REDUCE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ODGPCOMNDPM_OPTION_ICON_STATE_NONE" => Some(Self::OptionIconStateNone), + "ODGPCOMNDPM_OPTION_ICON_STATE_ADD" => Some(Self::OptionIconStateAdd), + "ODGPCOMNDPM_OPTION_ICON_STATE_REPLACE" => Some(Self::OptionIconStateReplace), + "ODGPCOMNDPM_OPTION_ICON_STATE_REDUCE" => Some(Self::OptionIconStateReduce), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Paebkenimmg { + Iemhhdhadhf = 0, + Fnpopfggacb = 1, + Kecaphdjjaa = 2, + Nhkaeekkmem = 3, + Bjefogikjma = 4, + Liehnkmbppo = 5, + Magdhalfenl = 6, + Emifgaleoeg = 7, + Fedkkfpkolm = 8, + Lanjiafjiip = 9, + Ikhcgglaekk = 10, + Ibkeggmabfa = 11, +} +impl Paebkenimmg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Iemhhdhadhf => "PAEBKENIMMG_IEMHHDHADHF", + Self::Fnpopfggacb => "PAEBKENIMMG_FNPOPFGGACB", + Self::Kecaphdjjaa => "PAEBKENIMMG_KECAPHDJJAA", + Self::Nhkaeekkmem => "PAEBKENIMMG_NHKAEEKKMEM", + Self::Bjefogikjma => "PAEBKENIMMG_BJEFOGIKJMA", + Self::Liehnkmbppo => "PAEBKENIMMG_LIEHNKMBPPO", + Self::Magdhalfenl => "PAEBKENIMMG_MAGDHALFENL", + Self::Emifgaleoeg => "PAEBKENIMMG_EMIFGALEOEG", + Self::Fedkkfpkolm => "PAEBKENIMMG_FEDKKFPKOLM", + Self::Lanjiafjiip => "PAEBKENIMMG_LANJIAFJIIP", + Self::Ikhcgglaekk => "PAEBKENIMMG_IKHCGGLAEKK", + Self::Ibkeggmabfa => "PAEBKENIMMG_IBKEGGMABFA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PAEBKENIMMG_IEMHHDHADHF" => Some(Self::Iemhhdhadhf), + "PAEBKENIMMG_FNPOPFGGACB" => Some(Self::Fnpopfggacb), + "PAEBKENIMMG_KECAPHDJJAA" => Some(Self::Kecaphdjjaa), + "PAEBKENIMMG_NHKAEEKKMEM" => Some(Self::Nhkaeekkmem), + "PAEBKENIMMG_BJEFOGIKJMA" => Some(Self::Bjefogikjma), + "PAEBKENIMMG_LIEHNKMBPPO" => Some(Self::Liehnkmbppo), + "PAEBKENIMMG_MAGDHALFENL" => Some(Self::Magdhalfenl), + "PAEBKENIMMG_EMIFGALEOEG" => Some(Self::Emifgaleoeg), + "PAEBKENIMMG_FEDKKFPKOLM" => Some(Self::Fedkkfpkolm), + "PAEBKENIMMG_LANJIAFJIIP" => Some(Self::Lanjiafjiip), + "PAEBKENIMMG_IKHCGGLAEKK" => Some(Self::Ikhcgglaekk), + "PAEBKENIMMG_IBKEGGMABFA" => Some(Self::Ibkeggmabfa), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Eojinbjecmm { + Hoojngpapjm = 0, + Nfejeociiki = 1, + Naineimmggj = 2, + Fmebgcpfgjo = 3, + Kfccgjlocoh = 4, + Lhfalmihnib = 5, +} +impl Eojinbjecmm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hoojngpapjm => "EOJINBJECMM_HOOJNGPAPJM", + Self::Nfejeociiki => "EOJINBJECMM_NFEJEOCIIKI", + Self::Naineimmggj => "EOJINBJECMM_NAINEIMMGGJ", + Self::Fmebgcpfgjo => "EOJINBJECMM_FMEBGCPFGJO", + Self::Kfccgjlocoh => "EOJINBJECMM_KFCCGJLOCOH", + Self::Lhfalmihnib => "EOJINBJECMM_LHFALMIHNIB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EOJINBJECMM_HOOJNGPAPJM" => Some(Self::Hoojngpapjm), + "EOJINBJECMM_NFEJEOCIIKI" => Some(Self::Nfejeociiki), + "EOJINBJECMM_NAINEIMMGGJ" => Some(Self::Naineimmggj), + "EOJINBJECMM_FMEBGCPFGJO" => Some(Self::Fmebgcpfgjo), + "EOJINBJECMM_KFCCGJLOCOH" => Some(Self::Kfccgjlocoh), + "EOJINBJECMM_LHFALMIHNIB" => Some(Self::Lhfalmihnib), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Epeldhjlkbl { + VhsFlowBuffNone = 0, + VhsFlowBuffPercent = 1, + VhsFlowBuffValue = 2, +} +impl Epeldhjlkbl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::VhsFlowBuffNone => "EPELDHJLKBL_VHS_FLOW_BUFF_NONE", + Self::VhsFlowBuffPercent => "EPELDHJLKBL_VHS_FLOW_BUFF_PERCENT", + Self::VhsFlowBuffValue => "EPELDHJLKBL_VHS_FLOW_BUFF_VALUE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EPELDHJLKBL_VHS_FLOW_BUFF_NONE" => Some(Self::VhsFlowBuffNone), + "EPELDHJLKBL_VHS_FLOW_BUFF_PERCENT" => Some(Self::VhsFlowBuffPercent), + "EPELDHJLKBL_VHS_FLOW_BUFF_VALUE" => Some(Self::VhsFlowBuffValue), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jbhdbkjaamd { + Khllhnakbfc = 0, + Nkdnhcnjekg = 1, + Ioblonmokha = 2, + Jcappndlihj = 3, + Nljaopajfek = 4, + Ddejkijmhgd = 5, +} +impl Jbhdbkjaamd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Khllhnakbfc => "JBHDBKJAAMD_KHLLHNAKBFC", + Self::Nkdnhcnjekg => "JBHDBKJAAMD_NKDNHCNJEKG", + Self::Ioblonmokha => "JBHDBKJAAMD_IOBLONMOKHA", + Self::Jcappndlihj => "JBHDBKJAAMD_JCAPPNDLIHJ", + Self::Nljaopajfek => "JBHDBKJAAMD_NLJAOPAJFEK", + Self::Ddejkijmhgd => "JBHDBKJAAMD_DDEJKIJMHGD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JBHDBKJAAMD_KHLLHNAKBFC" => Some(Self::Khllhnakbfc), + "JBHDBKJAAMD_NKDNHCNJEKG" => Some(Self::Nkdnhcnjekg), + "JBHDBKJAAMD_IOBLONMOKHA" => Some(Self::Ioblonmokha), + "JBHDBKJAAMD_JCAPPNDLIHJ" => Some(Self::Jcappndlihj), + "JBHDBKJAAMD_NLJAOPAJFEK" => Some(Self::Nljaopajfek), + "JBHDBKJAAMD_DDEJKIJMHGD" => Some(Self::Ddejkijmhgd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lnlmgceeflg { + Hdjfdjeffnc = 0, + Kpbjoncokgm = 1, + Mcoaoolkccp = 2, + Pllmajafmgc = 3, +} +impl Lnlmgceeflg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hdjfdjeffnc => "LNLMGCEEFLG_HDJFDJEFFNC", + Self::Kpbjoncokgm => "LNLMGCEEFLG_KPBJONCOKGM", + Self::Mcoaoolkccp => "LNLMGCEEFLG_MCOAOOLKCCP", + Self::Pllmajafmgc => "LNLMGCEEFLG_PLLMAJAFMGC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LNLMGCEEFLG_HDJFDJEFFNC" => Some(Self::Hdjfdjeffnc), + "LNLMGCEEFLG_KPBJONCOKGM" => Some(Self::Kpbjoncokgm), + "LNLMGCEEFLG_MCOAOOLKCCP" => Some(Self::Mcoaoolkccp), + "LNLMGCEEFLG_PLLMAJAFMGC" => Some(Self::Pllmajafmgc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ActionType { + ActionTypeNone = 0, + WaitSeconds = 1, + LogText = 2, + Wait = 3, + Log = 4, + OpenUi = 5, + SwitchSection = 6, + AnimCtrlerParam = 7, + ShowTip = 8, + ShowPopWindow = 9, + WalkFarAway = 10, + OpenDialogHollow = 12, + CloseDialogHollow = 13, + PlayAnimHollow = 14, + CameraStretch = 15, + CameraMove = 16, + CameraMoveV2 = 17, + ShowTipHollow = 18, + ShowPopWindowHollow = 19, + PlayPostEffect = 20, + EnterHollowQuest = 21, + EnterArchiveFileQuest = 22, + Preset = 23, + BlackMask = 24, + PlaySound = 25, + CloseTip = 26, + ReconectChessboard = 27, + HollowSetSwitchEffect = 28, + OutDoor = 29, + FreezeChessboardCamera = 30, + ShowVhsStoreLevelTips = 31, + InteractNpcWithAnim = 32, + ChangeHollowBg = 33, + TrashGachaGetData = 34, + TrashGacha = 35, + ShowQuestTip = 36, + TeleportUi = 37, + CameraActive = 38, + CameraReset = 39, + CreateFc = 40, + BehaviourFc = 41, + SendEventFc = 42, + ReadFcBlackBoardData = 43, + WriteFcBlackBoardData = 44, + ChangeSoundState = 45, + AfkHollow = 46, + SwitchBigTv = 49, + TriggerInteract = 52, + StopAnim = 53, + GetTrust = 54, + PlayDialogAnim = 56, + UnfreezeChessboardCamera = 57, + WaitTipsEnd = 58, + BeginTutorialGuide = 59, + FocusCamera = 60, + UnlockClue = 61, + AvatarTipsSwitch = 62, + FinishRescue = 63, + PlayTvEffect = 64, + SetInteractPoint = 65, + HideMainCityUi = 66, + ChatCamera = 67, + CreateClientEntity = 68, + SetNpcVisibleClient = 69, + GachaItemPerform = 70, + SetMessageClient = 71, + ModMainCityTimeClient = 72, + ModifyLightLevelPerform = 73, + SetPosition = 74, + SetChessboardPerformMode = 75, + Transition = 76, + WaitUntilUiClose = 77, + WaitTransitionEnd = 78, + CloseUi = 79, + QuitPhoto = 80, + ShowTeleportUi = 81, + ModifyCameraTargetSection = 82, + CameraBackToPlayer = 83, + ResetSceneObj = 84, + ManualAccelerate = 85, + BreakNavigate = 86, + ShowExitButtonNew = 88, + ShowBottomTipHollow = 89, + ShowChapterTip = 90, + EnterDungeonQuest = 91, + DownloadFullResource = 92, + AreaTips = 93, + ClientPerform = 94, + ShowItem = 95, + SwitchOva = 96, + SetLiftStatus = 97, + AreaCameraModify = 98, + TriggerPerformBehavior = 99, + SwitchAtmosphere = 100, + ModifyLightDiffusionPoints = 101, + ModCatName = 102, + OpenUiGame = 103, + OpenDialogHollowV2 = 104, + PlayDialogAnimV2 = 105, + CloseDialogHollowV2 = 106, + BreakDialogAnimV2 = 107, + WaitAnimEnd = 108, + PlayAnimSequence = 109, + EndOverlordfeastGame = 110, + PlayAimSequence = 111, + ClientSwitchDelay = 112, + BeginPhoto = 113, + ChessboardGameHenshin = 114, + If = 1001, + StartLoop = 1002, + EndLoop = 1003, + CallFunction = 1004, + Return = 1005, + ResetEvent = 1006, + AddItem = 1007, + SetVariable = 1008, + SetConditionProgress = 1009, + RandomVariableValue = 1010, + ListSpecialOpt = 1011, + FinishQuest = 1012, + RandomWithWeight = 1013, + Perform = 1014, + Reward = 1015, + SetList = 1016, + GetList = 1017, + StartAction = 1018, + SetString = 1019, + SendCustomEventTracking = 1020, + EmptyAction = 1021, + SetVector2 = 1022, + Switch = 1023, + SwitchCompareInt = 1024, + Draw = 1025, + SetVec2List = 1026, + GetVec2List = 1027, + CallFunctionV2 = 1028, + EnterHollowShop = 2001, + MakeChoice = 2002, + ModifySceneProperty = 2003, + FinishEvent = 2004, + TriggerBattle = 2005, + AverageAvatarHp = 2006, + RemoveCard = 2007, + DropPool = 2009, + Transfer = 2011, + FinishHollow = 2012, + RandomItemCard = 2014, + EventModification = 2015, + ChangeAvatarState = 2016, + DropPack = 2017, + SetMapState = 2018, + DropCurse = 2019, + LogHollow = 2020, + DropCard = 2021, + ChangeHollowEventWeight = 2022, + RemoveCurse = 2023, + HideNode = 2024, + SetChallenge = 2025, + DropChallengeId = 2026, + GetAvatarInfo = 2027, + SetHollowItem = 2028, + ChangeCharacter = 2029, + NewHollow = 2030, + SlotMachine = 2033, + SetHollowBlackOut = 2034, + FinishBlackOut = 2035, + SetHollowSystemState = 2036, + AddCharacter = 2037, + LockCurse = 2038, + HollowDistance = 2039, + PushBack = 2040, + ApplyAbility = 2041, + RemoveAbility = 2042, + RandomBattleId = 2044, + GetIndexByFilter = 2046, + SetBattleType = 2048, + GetPosition = 2049, + StartMiniGame = 2050, + SetHollowItemSlot = 2051, + GetHollowItem = 2052, + SearchGrid = 2053, + SetNpcState = 2054, + GetNpcInstanceId = 2055, + DestoryNpc = 2056, + AddCharacterAbyss = 2057, + ChangeCharacterAbyss = 2058, + GetCharacterPoolAbyss = 2059, + AbyssDropCharacterPool = 2060, + GetLeaderOfHollowNpc = 2061, + SetLeaderOfHollowNpc = 2062, + UpdateSaveNpcNum = 2063, + PushWithDirection = 2064, + HollowNpcFindPath = 2065, + HollowNpcMove = 2066, + NewChessboard = 2067, + GoToNextLayer = 2068, + GoToChessboard = 2069, + GetPreChessboard = 2070, + TriggerHollowNpcBehavior = 2071, + ShowLayerResult = 2072, + Henshin = 2073, + CreateHollowNpc = 2074, + DropChessboardId = 2075, + MakeDialogChoice = 2076, + GetEventId = 2077, + CountDropPool = 2078, + MakeItemChoice = 2079, + HpActHollow = 2080, + BanHollowEvent = 2081, + CoordinateTransform = 2082, + RegisterVariableCondition = 2083, + OnOffCategory = 2084, + ResetBigTvSnapshot = 2087, + BigTvSupportSnapshot = 2088, + SetEventIcon = 2089, + GetAnimSheetId = 2090, + HollowNpcHenshin = 2091, + HollowNpcTransfer = 2092, + BindBigTv = 2093, + MoveNpcToSection = 2098, + GetNpcId = 2099, + SearchHollowNpc = 2100, + Boom = 2101, + TriggerHollowEvent = 2102, + BreakDialogAnim = 2103, + MoveBigTv = 2104, + SetNextLayerChessboardId = 2105, + GetBossBattleEvent = 2106, + CreateHollowSnake = 2107, + SetGridStaminaState = 2108, + DisplayBigTvChessboard = 2109, + SplitHollowSnake = 2110, + GetHollowSnakeInfo = 2111, + ModifyHollowSnake = 2112, + ChangeHollowNpcApperance = 2113, + OpenBigTvSokobanGame = 2114, + SetInterconnectedStoryEvent = 2115, + HollowNpcImitate = 2116, + TriggerHollowNpcEarlyAct = 2117, + GetAvatarByTag = 2118, + SetBattleTypeAbyss = 2119, + RemoveEventIdFromRandomPool = 2120, + RecycleHollowItem = 2121, + CopyEvent = 2122, + BanCharacter = 2123, + RemoveCharacter = 2124, + SetNpcAttr = 2125, + GetNpcAttr = 2126, + HitNpc = 2127, + GetPlayerHollowMovePath = 2128, + GetBigTvIndex = 2129, + ClearNpc = 2130, + SaveMiniSnapshot = 2131, + GetPossessHollowItem = 2132, + ResetHollowLineQuest = 2133, + ModifyLightLevel = 2134, + GetLightLevel = 2135, + AddHollowLight = 2136, + RemoveHollowLight = 2137, + ModifyChessboardPlugin = 2138, + GetLightUid = 2139, + NewBoom = 2140, + SetEntityParam = 2141, + GetEntityParam = 2142, + RepairZone = 2143, + PushRepairZone = 2144, + SetInnerWorldMapState = 2145, + ListConvert = 2146, + AbyssGetBattleEvent = 2147, + TriggerEntityBasicBehavior = 2148, + TriggerEntityMove = 2149, + TriggerEntityTransfer = 2150, + TriggerEntityInteract = 2151, + UpgradeCard = 2152, + NewTimeRewind = 2153, + EnterTimeRewind = 2154, + InitTimeSegment = 2155, + ModifyTimeSegment = 2156, + ModifyTimeRewind = 2157, + GetTimeRewindInfo = 2158, + FinishKeySegment = 2159, + ActivateGridInSegment = 2160, + CountCardPool = 2161, + MakeBangbooChoice = 2162, + ChangeBangbooChoice = 2163, + TriggerEntityScript = 2164, + AddStressPunishCurse = 2165, + PopupTip = 2166, + HideHollowEntity = 2167, + GetEntityPriorityList = 2168, + ChessUiController = 2169, + GetEntityPriority = 2170, + CreateEntity = 2171, + DestroyEntityByUid = 2172, + InteractWithEntity = 2173, + SearchPosition = 2174, + FilterHollowEntity = 2175, + ModifyStackingOrder = 2176, + InitConwayLifeGame = 2177, + IterateConwayLifeGame = 2178, + ChangeConwayLifeGameGridState = 2179, + BigTvChessUiController = 2180, + SetEntityState = 2181, + RemoveEntityState = 2182, + GetEventTexture = 2183, + ModifyComponent = 2184, + ChangeHollowSoundState = 2185, + SetEntityScriptVariable = 2186, + CreateSignal = 2187, + SubscribeSignal = 2188, + UnsubscribeSignal = 2189, + SendSignal = 2190, + DestroySignal = 2191, + SetMultiHollowOutSection = 2192, + GetEntityScriptVariable = 2193, + RemoveChessboard = 2194, + BeginTutorialGuideInteract = 2195, + TimeRewindInteract = 2196, + LimboAvatarCard = 2197, + LimboCampEvent = 2198, + ModifyAimRectComponent = 2199, + RemoveFromPool = 2200, + ActivateSegmentInteract = 2201, + RecordUseInitiativeItem = 2202, + ModifyMultiHollowOutFloor = 2203, + SetMultiHollowOutView = 2204, + MarkGridAsElevator = 2205, + MoveElevatorToSection = 2206, + NextDropClueEvent = 2207, + MoveHollowEvent = 2208, + GetFocusCameraParam = 2209, + ReplaceCard = 2210, + LoadEventParam = 2211, + SetLayerType = 2212, + CreateHollowSpawner = 2213, + SetHollowSpawner = 2214, + GetHollowSpawner = 2215, + RunHollowSpawner = 2216, + PlayHollowQteGame = 2217, + SetHollowPlayUi = 2218, + SetHollowActivityParam = 2219, + GetHollowActivityParam = 2220, + RewardWithPerform = 2221, + InitHackerGame = 2222, + ModifyHackerGameParam = 2223, + ModifyPopInteractComponent = 2224, + SetLevelGlobalVariable = 2225, + EventModificationByFalling = 2226, + TryMoveElevator = 2227, + GetEventPoolEvent = 2228, + ChessUi3dController = 2229, + HollowGameFinishToLevel = 2230, + CreateNpc = 3001, + SetQuestPhase = 3002, + ChangeInteract = 3003, + InteractFinish = 3004, + RemoveMainCityQuestNpc = 3005, + RemoveMainCityQuestInteract = 3006, + ChangeBackSceneInfo = 3007, + ResetMainCityQuestGroup = 3008, + UnlockHollowQuest = 3010, + SetNpcVisible = 3011, + RemoveInteract = 3012, + RemoveNpc = 3013, + SetVhsStoreLevel = 3014, + SetVhsStoreTrendState = 3015, + SwitchMainCityTime = 3016, + TheWorld = 3017, + ForceRefresh = 3018, + ForbidAfk = 3019, + SwitchMainCharacter = 3020, + SetLandEventFinish = 3021, + SetBgm = 3022, + SetMainCityObjectState = 3023, + EventChoice = 3024, + CreateMoveNpc = 3025, + ChangeGuidePoint = 3026, + AddDailyQuest = 3027, + AddMicroTask = 3028, + SetFirstMeet = 3029, + CreateCameraZone = 3030, + SetMainCityTime = 3031, + NextMainCityTimePeriod = 3032, + PlayerSwitchMainCharacter = 3033, + EndTransition = 3034, + AddVhsFlowBuff = 3035, + ActivatePhotoId = 3036, + AccelerateMainCityTime = 3037, + SetTrashNewFlag = 3038, + UseLastTime = 3039, + OccupyOvernight = 3040, + ShowPhotoQuestFinishTip = 3041, + AddSoundAmb = 3042, + SubmitItem = 3043, + ModTrust = 3044, + SetPartnerEventState = 3045, + SendMessage = 3046, + SwitchTrackQuest = 3047, + ModNpc = 3048, + AcceptOvernight = 3049, + ActiveTrigger = 3050, + ModObjState = 3051, + ModSceneObj = 3052, + FansSettle = 3053, + OpenHallGame = 3054, + AddPartnerEvent = 3055, + ExecOvernightEvent = 3056, + SofaRestNextTimePeriod = 3057, + BeginUiGame = 3058, + PrepareData = 3059, + ClearRpRecommendResult = 3060, + DoMainCityGame = 3061, + ShowInTodo = 3062, + ChangeNpcName = 3063, + CreateOva = 3064, + SetOvaState = 3065, + SwitchMainCharacterGuise = 3066, + CompleteHallGame = 3068, + HideMainControlAvatar = 3069, + MapChooseByEvent = 4001, + MapChooseByLayer = 4002, + MapChooseByNum = 4003, + MapChooseByRange = 4004, + MapClearPool = 4005, + MapSetEvent = 4007, + MapSetLayer = 4008, + MapSetTag = 4009, +} +impl ActionType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ActionTypeNone => "ActionType_ACTION_TYPE_NONE", + Self::WaitSeconds => "ActionType_WAIT_SECONDS", + Self::LogText => "ActionType_LOG_TEXT", + Self::Wait => "ActionType_WAIT", + Self::Log => "ActionType_LOG", + Self::OpenUi => "ActionType_OPEN_UI", + Self::SwitchSection => "ActionType_SWITCH_SECTION", + Self::AnimCtrlerParam => "ActionType_ANIM_CTRLER_PARAM", + Self::ShowTip => "ActionType_SHOW_TIP", + Self::ShowPopWindow => "ActionType_SHOW_POP_WINDOW", + Self::WalkFarAway => "ActionType_WALK_FAR_AWAY", + Self::OpenDialogHollow => "ActionType_OPEN_DIALOG_HOLLOW", + Self::CloseDialogHollow => "ActionType_CLOSE_DIALOG_HOLLOW", + Self::PlayAnimHollow => "ActionType_PLAY_ANIM_HOLLOW", + Self::CameraStretch => "ActionType_CAMERA_STRETCH", + Self::CameraMove => "ActionType_CAMERA_MOVE", + Self::CameraMoveV2 => "ActionType_CAMERA_MOVE_V2", + Self::ShowTipHollow => "ActionType_SHOW_TIP_HOLLOW", + Self::ShowPopWindowHollow => "ActionType_SHOW_POP_WINDOW_HOLLOW", + Self::PlayPostEffect => "ActionType_PLAY_POST_EFFECT", + Self::EnterHollowQuest => "ActionType_ENTER_HOLLOW_QUEST", + Self::EnterArchiveFileQuest => "ActionType_ENTER_ARCHIVE_FILE_QUEST", + Self::Preset => "ActionType_PRESET", + Self::BlackMask => "ActionType_BLACK_MASK", + Self::PlaySound => "ActionType_PLAY_SOUND", + Self::CloseTip => "ActionType_CLOSE_TIP", + Self::ReconectChessboard => "ActionType_RECONECT_CHESSBOARD", + Self::HollowSetSwitchEffect => "ActionType_HOLLOW_SET_SWITCH_EFFECT", + Self::OutDoor => "ActionType_OUT_DOOR", + Self::FreezeChessboardCamera => "ActionType_FREEZE_CHESSBOARD_CAMERA", + Self::ShowVhsStoreLevelTips => "ActionType_SHOW_VHS_STORE_LEVEL_TIPS", + Self::InteractNpcWithAnim => "ActionType_INTERACT_NPC_WITH_ANIM", + Self::ChangeHollowBg => "ActionType_CHANGE_HOLLOW_BG", + Self::TrashGachaGetData => "ActionType_TRASH_GACHA_GET_DATA", + Self::TrashGacha => "ActionType_TRASH_GACHA", + Self::ShowQuestTip => "ActionType_SHOW_QUEST_TIP", + Self::TeleportUi => "ActionType_TELEPORT_UI", + Self::CameraActive => "ActionType_CAMERA_ACTIVE", + Self::CameraReset => "ActionType_CAMERA_RESET", + Self::CreateFc => "ActionType_CREATE_FC", + Self::BehaviourFc => "ActionType_BEHAVIOUR_FC", + Self::SendEventFc => "ActionType_SEND_EVENT_FC", + Self::ReadFcBlackBoardData => "ActionType_READ_FC_BLACK_BOARD_DATA", + Self::WriteFcBlackBoardData => "ActionType_WRITE_FC_BLACK_BOARD_DATA", + Self::ChangeSoundState => "ActionType_CHANGE_SOUND_STATE", + Self::AfkHollow => "ActionType_AFK_HOLLOW", + Self::SwitchBigTv => "ActionType_SWITCH_BIG_TV", + Self::TriggerInteract => "ActionType_TRIGGER_INTERACT", + Self::StopAnim => "ActionType_STOP_ANIM", + Self::GetTrust => "ActionType_GET_TRUST", + Self::PlayDialogAnim => "ActionType_PLAY_DIALOG_ANIM", + Self::UnfreezeChessboardCamera => "ActionType_UNFREEZE_CHESSBOARD_CAMERA", + Self::WaitTipsEnd => "ActionType_WAIT_TIPS_END", + Self::BeginTutorialGuide => "ActionType_BEGIN_TUTORIAL_GUIDE", + Self::FocusCamera => "ActionType_FOCUS_CAMERA", + Self::UnlockClue => "ActionType_UNLOCK_CLUE", + Self::AvatarTipsSwitch => "ActionType_AVATAR_TIPS_SWITCH", + Self::FinishRescue => "ActionType_FINISH_RESCUE", + Self::PlayTvEffect => "ActionType_PLAY_TV_EFFECT", + Self::SetInteractPoint => "ActionType_SET_INTERACT_POINT", + Self::HideMainCityUi => "ActionType_HIDE_MAIN_CITY_UI", + Self::ChatCamera => "ActionType_CHAT_CAMERA", + Self::CreateClientEntity => "ActionType_CREATE_CLIENT_ENTITY", + Self::SetNpcVisibleClient => "ActionType_SET_NPC_VISIBLE_CLIENT", + Self::GachaItemPerform => "ActionType_GACHA_ITEM_PERFORM", + Self::SetMessageClient => "ActionType_SET_MESSAGE_CLIENT", + Self::ModMainCityTimeClient => "ActionType_MOD_MAIN_CITY_TIME_CLIENT", + Self::ModifyLightLevelPerform => "ActionType_MODIFY_LIGHT_LEVEL_PERFORM", + Self::SetPosition => "ActionType_SET_POSITION", + Self::SetChessboardPerformMode => "ActionType_SET_CHESSBOARD_PERFORM_MODE", + Self::Transition => "ActionType_TRANSITION", + Self::WaitUntilUiClose => "ActionType_WAIT_UNTIL_UI_CLOSE", + Self::WaitTransitionEnd => "ActionType_WAIT_TRANSITION_END", + Self::CloseUi => "ActionType_CLOSE_UI", + Self::QuitPhoto => "ActionType_QUIT_PHOTO", + Self::ShowTeleportUi => "ActionType_SHOW_TELEPORT_UI", + Self::ModifyCameraTargetSection => "ActionType_MODIFY_CAMERA_TARGET_SECTION", + Self::CameraBackToPlayer => "ActionType_CAMERA_BACK_TO_PLAYER", + Self::ResetSceneObj => "ActionType_RESET_SCENE_OBJ", + Self::ManualAccelerate => "ActionType_MANUAL_ACCELERATE", + Self::BreakNavigate => "ActionType_BREAK_NAVIGATE", + Self::ShowExitButtonNew => "ActionType_SHOW_EXIT_BUTTON_NEW", + Self::ShowBottomTipHollow => "ActionType_SHOW_BOTTOM_TIP_HOLLOW", + Self::ShowChapterTip => "ActionType_SHOW_CHAPTER_TIP", + Self::EnterDungeonQuest => "ActionType_ENTER_DUNGEON_QUEST", + Self::DownloadFullResource => "ActionType_DOWNLOAD_FULL_RESOURCE", + Self::AreaTips => "ActionType_AREA_TIPS", + Self::ClientPerform => "ActionType_CLIENT_PERFORM", + Self::ShowItem => "ActionType_SHOW_ITEM", + Self::SwitchOva => "ActionType_SWITCH_OVA", + Self::SetLiftStatus => "ActionType_SET_LIFT_STATUS", + Self::AreaCameraModify => "ActionType_AREA_CAMERA_MODIFY", + Self::TriggerPerformBehavior => "ActionType_TRIGGER_PERFORM_BEHAVIOR", + Self::SwitchAtmosphere => "ActionType_SWITCH_ATMOSPHERE", + Self::ModifyLightDiffusionPoints => { + "ActionType_MODIFY_LIGHT_DIFFUSION_POINTS" + } + Self::ModCatName => "ActionType_MOD_CAT_NAME", + Self::OpenUiGame => "ActionType_OPEN_UI_GAME", + Self::OpenDialogHollowV2 => "ActionType_OPEN_DIALOG_HOLLOW_V2", + Self::PlayDialogAnimV2 => "ActionType_PLAY_DIALOG_ANIM_V2", + Self::CloseDialogHollowV2 => "ActionType_CLOSE_DIALOG_HOLLOW_V2", + Self::BreakDialogAnimV2 => "ActionType_BREAK_DIALOG_ANIM_V2", + Self::WaitAnimEnd => "ActionType_WAIT_ANIM_END", + Self::PlayAnimSequence => "ActionType_PLAY_ANIM_SEQUENCE", + Self::EndOverlordfeastGame => "ActionType_END_OVERLORDFEAST_GAME", + Self::PlayAimSequence => "ActionType_PLAY_AIM_SEQUENCE", + Self::ClientSwitchDelay => "ActionType_CLIENT_SWITCH_DELAY", + Self::BeginPhoto => "ActionType_BEGIN_PHOTO", + Self::ChessboardGameHenshin => "ActionType_CHESSBOARD_GAME_HENSHIN", + Self::If => "ActionType_IF", + Self::StartLoop => "ActionType_START_LOOP", + Self::EndLoop => "ActionType_END_LOOP", + Self::CallFunction => "ActionType_CALL_FUNCTION", + Self::Return => "ActionType_RETURN", + Self::ResetEvent => "ActionType_RESET_EVENT", + Self::AddItem => "ActionType_ADD_ITEM", + Self::SetVariable => "ActionType_SET_VARIABLE", + Self::SetConditionProgress => "ActionType_SET_CONDITION_PROGRESS", + Self::RandomVariableValue => "ActionType_RANDOM_VARIABLE_VALUE", + Self::ListSpecialOpt => "ActionType_LIST_SPECIAL_OPT", + Self::FinishQuest => "ActionType_FINISH_QUEST", + Self::RandomWithWeight => "ActionType_RANDOM_WITH_WEIGHT", + Self::Perform => "ActionType_PERFORM", + Self::Reward => "ActionType_REWARD", + Self::SetList => "ActionType_SET_LIST", + Self::GetList => "ActionType_GET_LIST", + Self::StartAction => "ActionType_START_ACTION", + Self::SetString => "ActionType_SET_STRING", + Self::SendCustomEventTracking => "ActionType_SEND_CUSTOM_EVENT_TRACKING", + Self::EmptyAction => "ActionType_EMPTY_ACTION", + Self::SetVector2 => "ActionType_SET_VECTOR2", + Self::Switch => "ActionType_SWITCH", + Self::SwitchCompareInt => "ActionType_SWITCH_COMPARE_INT", + Self::Draw => "ActionType_DRAW", + Self::SetVec2List => "ActionType_SET_VEC2_LIST", + Self::GetVec2List => "ActionType_GET_VEC2_LIST", + Self::CallFunctionV2 => "ActionType_CALL_FUNCTION_V2", + Self::EnterHollowShop => "ActionType_ENTER_HOLLOW_SHOP", + Self::MakeChoice => "ActionType_MAKE_CHOICE", + Self::ModifySceneProperty => "ActionType_MODIFY_SCENE_PROPERTY", + Self::FinishEvent => "ActionType_FINISH_EVENT", + Self::TriggerBattle => "ActionType_TRIGGER_BATTLE", + Self::AverageAvatarHp => "ActionType_AVERAGE_AVATAR_HP", + Self::RemoveCard => "ActionType_REMOVE_CARD", + Self::DropPool => "ActionType_DROP_POOL", + Self::Transfer => "ActionType_TRANSFER", + Self::FinishHollow => "ActionType_FINISH_HOLLOW", + Self::RandomItemCard => "ActionType_RANDOM_ITEM_CARD", + Self::EventModification => "ActionType_EVENT_MODIFICATION", + Self::ChangeAvatarState => "ActionType_CHANGE_AVATAR_STATE", + Self::DropPack => "ActionType_DROP_PACK", + Self::SetMapState => "ActionType_SET_MAP_STATE", + Self::DropCurse => "ActionType_DROP_CURSE", + Self::LogHollow => "ActionType_LOG_HOLLOW", + Self::DropCard => "ActionType_DROP_CARD", + Self::ChangeHollowEventWeight => "ActionType_CHANGE_HOLLOW_EVENT_WEIGHT", + Self::RemoveCurse => "ActionType_REMOVE_CURSE", + Self::HideNode => "ActionType_HIDE_NODE", + Self::SetChallenge => "ActionType_SET_CHALLENGE", + Self::DropChallengeId => "ActionType_DROP_CHALLENGE_ID", + Self::GetAvatarInfo => "ActionType_GET_AVATAR_INFO", + Self::SetHollowItem => "ActionType_SET_HOLLOW_ITEM", + Self::ChangeCharacter => "ActionType_CHANGE_CHARACTER", + Self::NewHollow => "ActionType_NEW_HOLLOW", + Self::SlotMachine => "ActionType_SLOT_MACHINE", + Self::SetHollowBlackOut => "ActionType_SET_HOLLOW_BLACK_OUT", + Self::FinishBlackOut => "ActionType_FINISH_BLACK_OUT", + Self::SetHollowSystemState => "ActionType_SET_HOLLOW_SYSTEM_STATE", + Self::AddCharacter => "ActionType_ADD_CHARACTER", + Self::LockCurse => "ActionType_LOCK_CURSE", + Self::HollowDistance => "ActionType_HOLLOW_DISTANCE", + Self::PushBack => "ActionType_PUSH_BACK", + Self::ApplyAbility => "ActionType_APPLY_ABILITY", + Self::RemoveAbility => "ActionType_REMOVE_ABILITY", + Self::RandomBattleId => "ActionType_RANDOM_BATTLE_ID", + Self::GetIndexByFilter => "ActionType_GET_INDEX_BY_FILTER", + Self::SetBattleType => "ActionType_SET_BATTLE_TYPE", + Self::GetPosition => "ActionType_GET_POSITION", + Self::StartMiniGame => "ActionType_START_MINI_GAME", + Self::SetHollowItemSlot => "ActionType_SET_HOLLOW_ITEM_SLOT", + Self::GetHollowItem => "ActionType_GET_HOLLOW_ITEM", + Self::SearchGrid => "ActionType_SEARCH_GRID", + Self::SetNpcState => "ActionType_SET_NPC_STATE", + Self::GetNpcInstanceId => "ActionType_GET_NPC_INSTANCE_ID", + Self::DestoryNpc => "ActionType_DESTORY_NPC", + Self::AddCharacterAbyss => "ActionType_ADD_CHARACTER_ABYSS", + Self::ChangeCharacterAbyss => "ActionType_CHANGE_CHARACTER_ABYSS", + Self::GetCharacterPoolAbyss => "ActionType_GET_CHARACTER_POOL_ABYSS", + Self::AbyssDropCharacterPool => "ActionType_ABYSS_DROP_CHARACTER_POOL", + Self::GetLeaderOfHollowNpc => "ActionType_GET_LEADER_OF_HOLLOW_NPC", + Self::SetLeaderOfHollowNpc => "ActionType_SET_LEADER_OF_HOLLOW_NPC", + Self::UpdateSaveNpcNum => "ActionType_UPDATE_SAVE_NPC_NUM", + Self::PushWithDirection => "ActionType_PUSH_WITH_DIRECTION", + Self::HollowNpcFindPath => "ActionType_HOLLOW_NPC_FIND_PATH", + Self::HollowNpcMove => "ActionType_HOLLOW_NPC_MOVE", + Self::NewChessboard => "ActionType_NEW_CHESSBOARD", + Self::GoToNextLayer => "ActionType_GO_TO_NEXT_LAYER", + Self::GoToChessboard => "ActionType_GO_TO_CHESSBOARD", + Self::GetPreChessboard => "ActionType_GET_PRE_CHESSBOARD", + Self::TriggerHollowNpcBehavior => "ActionType_TRIGGER_HOLLOW_NPC_BEHAVIOR", + Self::ShowLayerResult => "ActionType_SHOW_LAYER_RESULT", + Self::Henshin => "ActionType_HENSHIN", + Self::CreateHollowNpc => "ActionType_CREATE_HOLLOW_NPC", + Self::DropChessboardId => "ActionType_DROP_CHESSBOARD_ID", + Self::MakeDialogChoice => "ActionType_MAKE_DIALOG_CHOICE", + Self::GetEventId => "ActionType_GET_EVENT_ID", + Self::CountDropPool => "ActionType_COUNT_DROP_POOL", + Self::MakeItemChoice => "ActionType_MAKE_ITEM_CHOICE", + Self::HpActHollow => "ActionType_HP_ACT_HOLLOW", + Self::BanHollowEvent => "ActionType_BAN_HOLLOW_EVENT", + Self::CoordinateTransform => "ActionType_COORDINATE_TRANSFORM", + Self::RegisterVariableCondition => "ActionType_REGISTER_VARIABLE_CONDITION", + Self::OnOffCategory => "ActionType_ON_OFF_CATEGORY", + Self::ResetBigTvSnapshot => "ActionType_RESET_BIG_TV_SNAPSHOT", + Self::BigTvSupportSnapshot => "ActionType_BIG_TV_SUPPORT_SNAPSHOT", + Self::SetEventIcon => "ActionType_SET_EVENT_ICON", + Self::GetAnimSheetId => "ActionType_GET_ANIM_SHEET_ID", + Self::HollowNpcHenshin => "ActionType_HOLLOW_NPC_HENSHIN", + Self::HollowNpcTransfer => "ActionType_HOLLOW_NPC_TRANSFER", + Self::BindBigTv => "ActionType_BIND_BIG_TV", + Self::MoveNpcToSection => "ActionType_MOVE_NPC_TO_SECTION", + Self::GetNpcId => "ActionType_GET_NPC_ID", + Self::SearchHollowNpc => "ActionType_SEARCH_HOLLOW_NPC", + Self::Boom => "ActionType_BOOM", + Self::TriggerHollowEvent => "ActionType_TRIGGER_HOLLOW_EVENT", + Self::BreakDialogAnim => "ActionType_BREAK_DIALOG_ANIM", + Self::MoveBigTv => "ActionType_MOVE_BIG_TV", + Self::SetNextLayerChessboardId => "ActionType_SET_NEXT_LAYER_CHESSBOARD_ID", + Self::GetBossBattleEvent => "ActionType_GET_BOSS_BATTLE_EVENT", + Self::CreateHollowSnake => "ActionType_CREATE_HOLLOW_SNAKE", + Self::SetGridStaminaState => "ActionType_SET_GRID_STAMINA_STATE", + Self::DisplayBigTvChessboard => "ActionType_DISPLAY_BIG_TV_CHESSBOARD", + Self::SplitHollowSnake => "ActionType_SPLIT_HOLLOW_SNAKE", + Self::GetHollowSnakeInfo => "ActionType_GET_HOLLOW_SNAKE_INFO", + Self::ModifyHollowSnake => "ActionType_MODIFY_HOLLOW_SNAKE", + Self::ChangeHollowNpcApperance => "ActionType_CHANGE_HOLLOW_NPC_APPERANCE", + Self::OpenBigTvSokobanGame => "ActionType_OPEN_BIG_TV_SOKOBAN_GAME", + Self::SetInterconnectedStoryEvent => { + "ActionType_SET_INTERCONNECTED_STORY_EVENT" + } + Self::HollowNpcImitate => "ActionType_HOLLOW_NPC_IMITATE", + Self::TriggerHollowNpcEarlyAct => "ActionType_TRIGGER_HOLLOW_NPC_EARLY_ACT", + Self::GetAvatarByTag => "ActionType_GET_AVATAR_BY_TAG", + Self::SetBattleTypeAbyss => "ActionType_SET_BATTLE_TYPE_ABYSS", + Self::RemoveEventIdFromRandomPool => { + "ActionType_REMOVE_EVENT_ID_FROM_RANDOM_POOL" + } + Self::RecycleHollowItem => "ActionType_RECYCLE_HOLLOW_ITEM", + Self::CopyEvent => "ActionType_COPY_EVENT", + Self::BanCharacter => "ActionType_BAN_CHARACTER", + Self::RemoveCharacter => "ActionType_REMOVE_CHARACTER", + Self::SetNpcAttr => "ActionType_SET_NPC_ATTR", + Self::GetNpcAttr => "ActionType_GET_NPC_ATTR", + Self::HitNpc => "ActionType_HIT_NPC", + Self::GetPlayerHollowMovePath => "ActionType_GET_PLAYER_HOLLOW_MOVE_PATH", + Self::GetBigTvIndex => "ActionType_GET_BIG_TV_INDEX", + Self::ClearNpc => "ActionType_CLEAR_NPC", + Self::SaveMiniSnapshot => "ActionType_SAVE_MINI_SNAPSHOT", + Self::GetPossessHollowItem => "ActionType_GET_POSSESS_HOLLOW_ITEM", + Self::ResetHollowLineQuest => "ActionType_RESET_HOLLOW_LINE_QUEST", + Self::ModifyLightLevel => "ActionType_MODIFY_LIGHT_LEVEL", + Self::GetLightLevel => "ActionType_GET_LIGHT_LEVEL", + Self::AddHollowLight => "ActionType_ADD_HOLLOW_LIGHT", + Self::RemoveHollowLight => "ActionType_REMOVE_HOLLOW_LIGHT", + Self::ModifyChessboardPlugin => "ActionType_MODIFY_CHESSBOARD_PLUGIN", + Self::GetLightUid => "ActionType_GET_LIGHT_UID", + Self::NewBoom => "ActionType_NEW_BOOM", + Self::SetEntityParam => "ActionType_SET_ENTITY_PARAM", + Self::GetEntityParam => "ActionType_GET_ENTITY_PARAM", + Self::RepairZone => "ActionType_REPAIR_ZONE", + Self::PushRepairZone => "ActionType_PUSH_REPAIR_ZONE", + Self::SetInnerWorldMapState => "ActionType_SET_INNER_WORLD_MAP_STATE", + Self::ListConvert => "ActionType_LIST_CONVERT", + Self::AbyssGetBattleEvent => "ActionType_ABYSS_GET_BATTLE_EVENT", + Self::TriggerEntityBasicBehavior => { + "ActionType_TRIGGER_ENTITY_BASIC_BEHAVIOR" + } + Self::TriggerEntityMove => "ActionType_TRIGGER_ENTITY_MOVE", + Self::TriggerEntityTransfer => "ActionType_TRIGGER_ENTITY_TRANSFER", + Self::TriggerEntityInteract => "ActionType_TRIGGER_ENTITY_INTERACT", + Self::UpgradeCard => "ActionType_UPGRADE_CARD", + Self::NewTimeRewind => "ActionType_NEW_TIME_REWIND", + Self::EnterTimeRewind => "ActionType_ENTER_TIME_REWIND", + Self::InitTimeSegment => "ActionType_INIT_TIME_SEGMENT", + Self::ModifyTimeSegment => "ActionType_MODIFY_TIME_SEGMENT", + Self::ModifyTimeRewind => "ActionType_MODIFY_TIME_REWIND", + Self::GetTimeRewindInfo => "ActionType_GET_TIME_REWIND_INFO", + Self::FinishKeySegment => "ActionType_FINISH_KEY_SEGMENT", + Self::ActivateGridInSegment => "ActionType_ACTIVATE_GRID_IN_SEGMENT", + Self::CountCardPool => "ActionType_COUNT_CARD_POOL", + Self::MakeBangbooChoice => "ActionType_MAKE_BANGBOO_CHOICE", + Self::ChangeBangbooChoice => "ActionType_CHANGE_BANGBOO_CHOICE", + Self::TriggerEntityScript => "ActionType_TRIGGER_ENTITY_SCRIPT", + Self::AddStressPunishCurse => "ActionType_ADD_STRESS_PUNISH_CURSE", + Self::PopupTip => "ActionType_POPUP_TIP", + Self::HideHollowEntity => "ActionType_HIDE_HOLLOW_ENTITY", + Self::GetEntityPriorityList => "ActionType_GET_ENTITY_PRIORITY_LIST", + Self::ChessUiController => "ActionType_CHESS_UI_CONTROLLER", + Self::GetEntityPriority => "ActionType_GET_ENTITY_PRIORITY", + Self::CreateEntity => "ActionType_CREATE_ENTITY", + Self::DestroyEntityByUid => "ActionType_DESTROY_ENTITY_BY_UID", + Self::InteractWithEntity => "ActionType_INTERACT_WITH_ENTITY", + Self::SearchPosition => "ActionType_SEARCH_POSITION", + Self::FilterHollowEntity => "ActionType_FILTER_HOLLOW_ENTITY", + Self::ModifyStackingOrder => "ActionType_MODIFY_STACKING_ORDER", + Self::InitConwayLifeGame => "ActionType_INIT_CONWAY_LIFE_GAME", + Self::IterateConwayLifeGame => "ActionType_ITERATE_CONWAY_LIFE_GAME", + Self::ChangeConwayLifeGameGridState => { + "ActionType_CHANGE_CONWAY_LIFE_GAME_GRID_STATE" + } + Self::BigTvChessUiController => "ActionType_BIG_TV_CHESS_UI_CONTROLLER", + Self::SetEntityState => "ActionType_SET_ENTITY_STATE", + Self::RemoveEntityState => "ActionType_REMOVE_ENTITY_STATE", + Self::GetEventTexture => "ActionType_GET_EVENT_TEXTURE", + Self::ModifyComponent => "ActionType_MODIFY_COMPONENT", + Self::ChangeHollowSoundState => "ActionType_CHANGE_HOLLOW_SOUND_STATE", + Self::SetEntityScriptVariable => "ActionType_SET_ENTITY_SCRIPT_VARIABLE", + Self::CreateSignal => "ActionType_CREATE_SIGNAL", + Self::SubscribeSignal => "ActionType_SUBSCRIBE_SIGNAL", + Self::UnsubscribeSignal => "ActionType_UNSUBSCRIBE_SIGNAL", + Self::SendSignal => "ActionType_SEND_SIGNAL", + Self::DestroySignal => "ActionType_DESTROY_SIGNAL", + Self::SetMultiHollowOutSection => "ActionType_SET_MULTI_HOLLOW_OUT_SECTION", + Self::GetEntityScriptVariable => "ActionType_GET_ENTITY_SCRIPT_VARIABLE", + Self::RemoveChessboard => "ActionType_REMOVE_CHESSBOARD", + Self::BeginTutorialGuideInteract => { + "ActionType_BEGIN_TUTORIAL_GUIDE_INTERACT" + } + Self::TimeRewindInteract => "ActionType_TIME_REWIND_INTERACT", + Self::LimboAvatarCard => "ActionType_LIMBO_AVATAR_CARD", + Self::LimboCampEvent => "ActionType_LIMBO_CAMP_EVENT", + Self::ModifyAimRectComponent => "ActionType_MODIFY_AIM_RECT_COMPONENT", + Self::RemoveFromPool => "ActionType_REMOVE_FROM_POOL", + Self::ActivateSegmentInteract => "ActionType_ACTIVATE_SEGMENT_INTERACT", + Self::RecordUseInitiativeItem => "ActionType_RECORD_USE_INITIATIVE_ITEM", + Self::ModifyMultiHollowOutFloor => "ActionType_MODIFY_MULTI_HOLLOW_OUT_FLOOR", + Self::SetMultiHollowOutView => "ActionType_SET_MULTI_HOLLOW_OUT_VIEW", + Self::MarkGridAsElevator => "ActionType_MARK_GRID_AS_ELEVATOR", + Self::MoveElevatorToSection => "ActionType_MOVE_ELEVATOR_TO_SECTION", + Self::NextDropClueEvent => "ActionType_NEXT_DROP_CLUE_EVENT", + Self::MoveHollowEvent => "ActionType_MOVE_HOLLOW_EVENT", + Self::GetFocusCameraParam => "ActionType_GET_FOCUS_CAMERA_PARAM", + Self::ReplaceCard => "ActionType_REPLACE_CARD", + Self::LoadEventParam => "ActionType_LOAD_EVENT_PARAM", + Self::SetLayerType => "ActionType_SET_LAYER_TYPE", + Self::CreateHollowSpawner => "ActionType_CREATE_HOLLOW_SPAWNER", + Self::SetHollowSpawner => "ActionType_SET_HOLLOW_SPAWNER", + Self::GetHollowSpawner => "ActionType_GET_HOLLOW_SPAWNER", + Self::RunHollowSpawner => "ActionType_RUN_HOLLOW_SPAWNER", + Self::PlayHollowQteGame => "ActionType_PLAY_HOLLOW_QTE_GAME", + Self::SetHollowPlayUi => "ActionType_SET_HOLLOW_PLAY_UI", + Self::SetHollowActivityParam => "ActionType_SET_HOLLOW_ACTIVITY_PARAM", + Self::GetHollowActivityParam => "ActionType_GET_HOLLOW_ACTIVITY_PARAM", + Self::RewardWithPerform => "ActionType_REWARD_WITH_PERFORM", + Self::InitHackerGame => "ActionType_INIT_HACKER_GAME", + Self::ModifyHackerGameParam => "ActionType_MODIFY_HACKER_GAME_PARAM", + Self::ModifyPopInteractComponent => { + "ActionType_MODIFY_POP_INTERACT_COMPONENT" + } + Self::SetLevelGlobalVariable => "ActionType_SET_LEVEL_GLOBAL_VARIABLE", + Self::EventModificationByFalling => { + "ActionType_EVENT_MODIFICATION_BY_FALLING" + } + Self::TryMoveElevator => "ActionType_TRY_MOVE_ELEVATOR", + Self::GetEventPoolEvent => "ActionType_GET_EVENT_POOL_EVENT", + Self::ChessUi3dController => "ActionType_CHESS_UI_3D_CONTROLLER", + Self::HollowGameFinishToLevel => "ActionType_HOLLOW_GAME_FINISH_TO_LEVEL", + Self::CreateNpc => "ActionType_CREATE_NPC", + Self::SetQuestPhase => "ActionType_SET_QUEST_PHASE", + Self::ChangeInteract => "ActionType_CHANGE_INTERACT", + Self::InteractFinish => "ActionType_INTERACT_FINISH", + Self::RemoveMainCityQuestNpc => "ActionType_REMOVE_MAIN_CITY_QUEST_NPC", + Self::RemoveMainCityQuestInteract => { + "ActionType_REMOVE_MAIN_CITY_QUEST_INTERACT" + } + Self::ChangeBackSceneInfo => "ActionType_CHANGE_BACK_SCENE_INFO", + Self::ResetMainCityQuestGroup => "ActionType_RESET_MAIN_CITY_QUEST_GROUP", + Self::UnlockHollowQuest => "ActionType_UNLOCK_HOLLOW_QUEST", + Self::SetNpcVisible => "ActionType_SET_NPC_VISIBLE", + Self::RemoveInteract => "ActionType_REMOVE_INTERACT", + Self::RemoveNpc => "ActionType_REMOVE_NPC", + Self::SetVhsStoreLevel => "ActionType_SET_VHS_STORE_LEVEL", + Self::SetVhsStoreTrendState => "ActionType_SET_VHS_STORE_TREND_STATE", + Self::SwitchMainCityTime => "ActionType_SWITCH_MAIN_CITY_TIME", + Self::TheWorld => "ActionType_THE_WORLD", + Self::ForceRefresh => "ActionType_FORCE_REFRESH", + Self::ForbidAfk => "ActionType_FORBID_AFK", + Self::SwitchMainCharacter => "ActionType_SWITCH_MAIN_CHARACTER", + Self::SetLandEventFinish => "ActionType_SET_LAND_EVENT_FINISH", + Self::SetBgm => "ActionType_SET_BGM", + Self::SetMainCityObjectState => "ActionType_SET_MAIN_CITY_OBJECT_STATE", + Self::EventChoice => "ActionType_EVENT_CHOICE", + Self::CreateMoveNpc => "ActionType_CREATE_MOVE_NPC", + Self::ChangeGuidePoint => "ActionType_CHANGE_GUIDE_POINT", + Self::AddDailyQuest => "ActionType_ADD_DAILY_QUEST", + Self::AddMicroTask => "ActionType_ADD_MICRO_TASK", + Self::SetFirstMeet => "ActionType_SET_FIRST_MEET", + Self::CreateCameraZone => "ActionType_CREATE_CAMERA_ZONE", + Self::SetMainCityTime => "ActionType_SET_MAIN_CITY_TIME", + Self::NextMainCityTimePeriod => "ActionType_NEXT_MAIN_CITY_TIME_PERIOD", + Self::PlayerSwitchMainCharacter => "ActionType_PLAYER_SWITCH_MAIN_CHARACTER", + Self::EndTransition => "ActionType_END_TRANSITION", + Self::AddVhsFlowBuff => "ActionType_ADD_VHS_FLOW_BUFF", + Self::ActivatePhotoId => "ActionType_ACTIVATE_PHOTO_ID", + Self::AccelerateMainCityTime => "ActionType_ACCELERATE_MAIN_CITY_TIME", + Self::SetTrashNewFlag => "ActionType_SET_TRASH_NEW_FLAG", + Self::UseLastTime => "ActionType_USE_LAST_TIME", + Self::OccupyOvernight => "ActionType_OCCUPY_OVERNIGHT", + Self::ShowPhotoQuestFinishTip => "ActionType_SHOW_PHOTO_QUEST_FINISH_TIP", + Self::AddSoundAmb => "ActionType_ADD_SOUND_AMB", + Self::SubmitItem => "ActionType_SUBMIT_ITEM", + Self::ModTrust => "ActionType_MOD_TRUST", + Self::SetPartnerEventState => "ActionType_SET_PARTNER_EVENT_STATE", + Self::SendMessage => "ActionType_SEND_MESSAGE", + Self::SwitchTrackQuest => "ActionType_SWITCH_TRACK_QUEST", + Self::ModNpc => "ActionType_MOD_NPC", + Self::AcceptOvernight => "ActionType_ACCEPT_OVERNIGHT", + Self::ActiveTrigger => "ActionType_ACTIVE_TRIGGER", + Self::ModObjState => "ActionType_MOD_OBJ_STATE", + Self::ModSceneObj => "ActionType_MOD_SCENE_OBJ", + Self::FansSettle => "ActionType_FANS_SETTLE", + Self::OpenHallGame => "ActionType_OPEN_HALL_GAME", + Self::AddPartnerEvent => "ActionType_ADD_PARTNER_EVENT", + Self::ExecOvernightEvent => "ActionType_EXEC_OVERNIGHT_EVENT", + Self::SofaRestNextTimePeriod => "ActionType_SOFA_REST_NEXT_TIME_PERIOD", + Self::BeginUiGame => "ActionType_BEGIN_UI_GAME", + Self::PrepareData => "ActionType_PREPARE_DATA", + Self::ClearRpRecommendResult => "ActionType_CLEAR_RP_RECOMMEND_RESULT", + Self::DoMainCityGame => "ActionType_DO_MAIN_CITY_GAME", + Self::ShowInTodo => "ActionType_SHOW_IN_TODO", + Self::ChangeNpcName => "ActionType_CHANGE_NPC_NAME", + Self::CreateOva => "ActionType_CREATE_OVA", + Self::SetOvaState => "ActionType_SET_OVA_STATE", + Self::SwitchMainCharacterGuise => "ActionType_SWITCH_MAIN_CHARACTER_GUISE", + Self::CompleteHallGame => "ActionType_COMPLETE_HALL_GAME", + Self::HideMainControlAvatar => "ActionType_HIDE_MAIN_CONTROL_AVATAR", + Self::MapChooseByEvent => "ActionType_MAP_CHOOSE_BY_EVENT", + Self::MapChooseByLayer => "ActionType_MAP_CHOOSE_BY_LAYER", + Self::MapChooseByNum => "ActionType_MAP_CHOOSE_BY_NUM", + Self::MapChooseByRange => "ActionType_MAP_CHOOSE_BY_RANGE", + Self::MapClearPool => "ActionType_MAP_CLEAR_POOL", + Self::MapSetEvent => "ActionType_MAP_SET_EVENT", + Self::MapSetLayer => "ActionType_MAP_SET_LAYER", + Self::MapSetTag => "ActionType_MAP_SET_TAG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ActionType_ACTION_TYPE_NONE" => Some(Self::ActionTypeNone), + "ActionType_WAIT_SECONDS" => Some(Self::WaitSeconds), + "ActionType_LOG_TEXT" => Some(Self::LogText), + "ActionType_WAIT" => Some(Self::Wait), + "ActionType_LOG" => Some(Self::Log), + "ActionType_OPEN_UI" => Some(Self::OpenUi), + "ActionType_SWITCH_SECTION" => Some(Self::SwitchSection), + "ActionType_ANIM_CTRLER_PARAM" => Some(Self::AnimCtrlerParam), + "ActionType_SHOW_TIP" => Some(Self::ShowTip), + "ActionType_SHOW_POP_WINDOW" => Some(Self::ShowPopWindow), + "ActionType_WALK_FAR_AWAY" => Some(Self::WalkFarAway), + "ActionType_OPEN_DIALOG_HOLLOW" => Some(Self::OpenDialogHollow), + "ActionType_CLOSE_DIALOG_HOLLOW" => Some(Self::CloseDialogHollow), + "ActionType_PLAY_ANIM_HOLLOW" => Some(Self::PlayAnimHollow), + "ActionType_CAMERA_STRETCH" => Some(Self::CameraStretch), + "ActionType_CAMERA_MOVE" => Some(Self::CameraMove), + "ActionType_CAMERA_MOVE_V2" => Some(Self::CameraMoveV2), + "ActionType_SHOW_TIP_HOLLOW" => Some(Self::ShowTipHollow), + "ActionType_SHOW_POP_WINDOW_HOLLOW" => Some(Self::ShowPopWindowHollow), + "ActionType_PLAY_POST_EFFECT" => Some(Self::PlayPostEffect), + "ActionType_ENTER_HOLLOW_QUEST" => Some(Self::EnterHollowQuest), + "ActionType_ENTER_ARCHIVE_FILE_QUEST" => Some(Self::EnterArchiveFileQuest), + "ActionType_PRESET" => Some(Self::Preset), + "ActionType_BLACK_MASK" => Some(Self::BlackMask), + "ActionType_PLAY_SOUND" => Some(Self::PlaySound), + "ActionType_CLOSE_TIP" => Some(Self::CloseTip), + "ActionType_RECONECT_CHESSBOARD" => Some(Self::ReconectChessboard), + "ActionType_HOLLOW_SET_SWITCH_EFFECT" => Some(Self::HollowSetSwitchEffect), + "ActionType_OUT_DOOR" => Some(Self::OutDoor), + "ActionType_FREEZE_CHESSBOARD_CAMERA" => Some(Self::FreezeChessboardCamera), + "ActionType_SHOW_VHS_STORE_LEVEL_TIPS" => Some(Self::ShowVhsStoreLevelTips), + "ActionType_INTERACT_NPC_WITH_ANIM" => Some(Self::InteractNpcWithAnim), + "ActionType_CHANGE_HOLLOW_BG" => Some(Self::ChangeHollowBg), + "ActionType_TRASH_GACHA_GET_DATA" => Some(Self::TrashGachaGetData), + "ActionType_TRASH_GACHA" => Some(Self::TrashGacha), + "ActionType_SHOW_QUEST_TIP" => Some(Self::ShowQuestTip), + "ActionType_TELEPORT_UI" => Some(Self::TeleportUi), + "ActionType_CAMERA_ACTIVE" => Some(Self::CameraActive), + "ActionType_CAMERA_RESET" => Some(Self::CameraReset), + "ActionType_CREATE_FC" => Some(Self::CreateFc), + "ActionType_BEHAVIOUR_FC" => Some(Self::BehaviourFc), + "ActionType_SEND_EVENT_FC" => Some(Self::SendEventFc), + "ActionType_READ_FC_BLACK_BOARD_DATA" => Some(Self::ReadFcBlackBoardData), + "ActionType_WRITE_FC_BLACK_BOARD_DATA" => Some(Self::WriteFcBlackBoardData), + "ActionType_CHANGE_SOUND_STATE" => Some(Self::ChangeSoundState), + "ActionType_AFK_HOLLOW" => Some(Self::AfkHollow), + "ActionType_SWITCH_BIG_TV" => Some(Self::SwitchBigTv), + "ActionType_TRIGGER_INTERACT" => Some(Self::TriggerInteract), + "ActionType_STOP_ANIM" => Some(Self::StopAnim), + "ActionType_GET_TRUST" => Some(Self::GetTrust), + "ActionType_PLAY_DIALOG_ANIM" => Some(Self::PlayDialogAnim), + "ActionType_UNFREEZE_CHESSBOARD_CAMERA" => { + Some(Self::UnfreezeChessboardCamera) + } + "ActionType_WAIT_TIPS_END" => Some(Self::WaitTipsEnd), + "ActionType_BEGIN_TUTORIAL_GUIDE" => Some(Self::BeginTutorialGuide), + "ActionType_FOCUS_CAMERA" => Some(Self::FocusCamera), + "ActionType_UNLOCK_CLUE" => Some(Self::UnlockClue), + "ActionType_AVATAR_TIPS_SWITCH" => Some(Self::AvatarTipsSwitch), + "ActionType_FINISH_RESCUE" => Some(Self::FinishRescue), + "ActionType_PLAY_TV_EFFECT" => Some(Self::PlayTvEffect), + "ActionType_SET_INTERACT_POINT" => Some(Self::SetInteractPoint), + "ActionType_HIDE_MAIN_CITY_UI" => Some(Self::HideMainCityUi), + "ActionType_CHAT_CAMERA" => Some(Self::ChatCamera), + "ActionType_CREATE_CLIENT_ENTITY" => Some(Self::CreateClientEntity), + "ActionType_SET_NPC_VISIBLE_CLIENT" => Some(Self::SetNpcVisibleClient), + "ActionType_GACHA_ITEM_PERFORM" => Some(Self::GachaItemPerform), + "ActionType_SET_MESSAGE_CLIENT" => Some(Self::SetMessageClient), + "ActionType_MOD_MAIN_CITY_TIME_CLIENT" => Some(Self::ModMainCityTimeClient), + "ActionType_MODIFY_LIGHT_LEVEL_PERFORM" => { + Some(Self::ModifyLightLevelPerform) + } + "ActionType_SET_POSITION" => Some(Self::SetPosition), + "ActionType_SET_CHESSBOARD_PERFORM_MODE" => { + Some(Self::SetChessboardPerformMode) + } + "ActionType_TRANSITION" => Some(Self::Transition), + "ActionType_WAIT_UNTIL_UI_CLOSE" => Some(Self::WaitUntilUiClose), + "ActionType_WAIT_TRANSITION_END" => Some(Self::WaitTransitionEnd), + "ActionType_CLOSE_UI" => Some(Self::CloseUi), + "ActionType_QUIT_PHOTO" => Some(Self::QuitPhoto), + "ActionType_SHOW_TELEPORT_UI" => Some(Self::ShowTeleportUi), + "ActionType_MODIFY_CAMERA_TARGET_SECTION" => { + Some(Self::ModifyCameraTargetSection) + } + "ActionType_CAMERA_BACK_TO_PLAYER" => Some(Self::CameraBackToPlayer), + "ActionType_RESET_SCENE_OBJ" => Some(Self::ResetSceneObj), + "ActionType_MANUAL_ACCELERATE" => Some(Self::ManualAccelerate), + "ActionType_BREAK_NAVIGATE" => Some(Self::BreakNavigate), + "ActionType_SHOW_EXIT_BUTTON_NEW" => Some(Self::ShowExitButtonNew), + "ActionType_SHOW_BOTTOM_TIP_HOLLOW" => Some(Self::ShowBottomTipHollow), + "ActionType_SHOW_CHAPTER_TIP" => Some(Self::ShowChapterTip), + "ActionType_ENTER_DUNGEON_QUEST" => Some(Self::EnterDungeonQuest), + "ActionType_DOWNLOAD_FULL_RESOURCE" => Some(Self::DownloadFullResource), + "ActionType_AREA_TIPS" => Some(Self::AreaTips), + "ActionType_CLIENT_PERFORM" => Some(Self::ClientPerform), + "ActionType_SHOW_ITEM" => Some(Self::ShowItem), + "ActionType_SWITCH_OVA" => Some(Self::SwitchOva), + "ActionType_SET_LIFT_STATUS" => Some(Self::SetLiftStatus), + "ActionType_AREA_CAMERA_MODIFY" => Some(Self::AreaCameraModify), + "ActionType_TRIGGER_PERFORM_BEHAVIOR" => Some(Self::TriggerPerformBehavior), + "ActionType_SWITCH_ATMOSPHERE" => Some(Self::SwitchAtmosphere), + "ActionType_MODIFY_LIGHT_DIFFUSION_POINTS" => { + Some(Self::ModifyLightDiffusionPoints) + } + "ActionType_MOD_CAT_NAME" => Some(Self::ModCatName), + "ActionType_OPEN_UI_GAME" => Some(Self::OpenUiGame), + "ActionType_OPEN_DIALOG_HOLLOW_V2" => Some(Self::OpenDialogHollowV2), + "ActionType_PLAY_DIALOG_ANIM_V2" => Some(Self::PlayDialogAnimV2), + "ActionType_CLOSE_DIALOG_HOLLOW_V2" => Some(Self::CloseDialogHollowV2), + "ActionType_BREAK_DIALOG_ANIM_V2" => Some(Self::BreakDialogAnimV2), + "ActionType_WAIT_ANIM_END" => Some(Self::WaitAnimEnd), + "ActionType_PLAY_ANIM_SEQUENCE" => Some(Self::PlayAnimSequence), + "ActionType_END_OVERLORDFEAST_GAME" => Some(Self::EndOverlordfeastGame), + "ActionType_PLAY_AIM_SEQUENCE" => Some(Self::PlayAimSequence), + "ActionType_CLIENT_SWITCH_DELAY" => Some(Self::ClientSwitchDelay), + "ActionType_BEGIN_PHOTO" => Some(Self::BeginPhoto), + "ActionType_CHESSBOARD_GAME_HENSHIN" => Some(Self::ChessboardGameHenshin), + "ActionType_IF" => Some(Self::If), + "ActionType_START_LOOP" => Some(Self::StartLoop), + "ActionType_END_LOOP" => Some(Self::EndLoop), + "ActionType_CALL_FUNCTION" => Some(Self::CallFunction), + "ActionType_RETURN" => Some(Self::Return), + "ActionType_RESET_EVENT" => Some(Self::ResetEvent), + "ActionType_ADD_ITEM" => Some(Self::AddItem), + "ActionType_SET_VARIABLE" => Some(Self::SetVariable), + "ActionType_SET_CONDITION_PROGRESS" => Some(Self::SetConditionProgress), + "ActionType_RANDOM_VARIABLE_VALUE" => Some(Self::RandomVariableValue), + "ActionType_LIST_SPECIAL_OPT" => Some(Self::ListSpecialOpt), + "ActionType_FINISH_QUEST" => Some(Self::FinishQuest), + "ActionType_RANDOM_WITH_WEIGHT" => Some(Self::RandomWithWeight), + "ActionType_PERFORM" => Some(Self::Perform), + "ActionType_REWARD" => Some(Self::Reward), + "ActionType_SET_LIST" => Some(Self::SetList), + "ActionType_GET_LIST" => Some(Self::GetList), + "ActionType_START_ACTION" => Some(Self::StartAction), + "ActionType_SET_STRING" => Some(Self::SetString), + "ActionType_SEND_CUSTOM_EVENT_TRACKING" => { + Some(Self::SendCustomEventTracking) + } + "ActionType_EMPTY_ACTION" => Some(Self::EmptyAction), + "ActionType_SET_VECTOR2" => Some(Self::SetVector2), + "ActionType_SWITCH" => Some(Self::Switch), + "ActionType_SWITCH_COMPARE_INT" => Some(Self::SwitchCompareInt), + "ActionType_DRAW" => Some(Self::Draw), + "ActionType_SET_VEC2_LIST" => Some(Self::SetVec2List), + "ActionType_GET_VEC2_LIST" => Some(Self::GetVec2List), + "ActionType_CALL_FUNCTION_V2" => Some(Self::CallFunctionV2), + "ActionType_ENTER_HOLLOW_SHOP" => Some(Self::EnterHollowShop), + "ActionType_MAKE_CHOICE" => Some(Self::MakeChoice), + "ActionType_MODIFY_SCENE_PROPERTY" => Some(Self::ModifySceneProperty), + "ActionType_FINISH_EVENT" => Some(Self::FinishEvent), + "ActionType_TRIGGER_BATTLE" => Some(Self::TriggerBattle), + "ActionType_AVERAGE_AVATAR_HP" => Some(Self::AverageAvatarHp), + "ActionType_REMOVE_CARD" => Some(Self::RemoveCard), + "ActionType_DROP_POOL" => Some(Self::DropPool), + "ActionType_TRANSFER" => Some(Self::Transfer), + "ActionType_FINISH_HOLLOW" => Some(Self::FinishHollow), + "ActionType_RANDOM_ITEM_CARD" => Some(Self::RandomItemCard), + "ActionType_EVENT_MODIFICATION" => Some(Self::EventModification), + "ActionType_CHANGE_AVATAR_STATE" => Some(Self::ChangeAvatarState), + "ActionType_DROP_PACK" => Some(Self::DropPack), + "ActionType_SET_MAP_STATE" => Some(Self::SetMapState), + "ActionType_DROP_CURSE" => Some(Self::DropCurse), + "ActionType_LOG_HOLLOW" => Some(Self::LogHollow), + "ActionType_DROP_CARD" => Some(Self::DropCard), + "ActionType_CHANGE_HOLLOW_EVENT_WEIGHT" => { + Some(Self::ChangeHollowEventWeight) + } + "ActionType_REMOVE_CURSE" => Some(Self::RemoveCurse), + "ActionType_HIDE_NODE" => Some(Self::HideNode), + "ActionType_SET_CHALLENGE" => Some(Self::SetChallenge), + "ActionType_DROP_CHALLENGE_ID" => Some(Self::DropChallengeId), + "ActionType_GET_AVATAR_INFO" => Some(Self::GetAvatarInfo), + "ActionType_SET_HOLLOW_ITEM" => Some(Self::SetHollowItem), + "ActionType_CHANGE_CHARACTER" => Some(Self::ChangeCharacter), + "ActionType_NEW_HOLLOW" => Some(Self::NewHollow), + "ActionType_SLOT_MACHINE" => Some(Self::SlotMachine), + "ActionType_SET_HOLLOW_BLACK_OUT" => Some(Self::SetHollowBlackOut), + "ActionType_FINISH_BLACK_OUT" => Some(Self::FinishBlackOut), + "ActionType_SET_HOLLOW_SYSTEM_STATE" => Some(Self::SetHollowSystemState), + "ActionType_ADD_CHARACTER" => Some(Self::AddCharacter), + "ActionType_LOCK_CURSE" => Some(Self::LockCurse), + "ActionType_HOLLOW_DISTANCE" => Some(Self::HollowDistance), + "ActionType_PUSH_BACK" => Some(Self::PushBack), + "ActionType_APPLY_ABILITY" => Some(Self::ApplyAbility), + "ActionType_REMOVE_ABILITY" => Some(Self::RemoveAbility), + "ActionType_RANDOM_BATTLE_ID" => Some(Self::RandomBattleId), + "ActionType_GET_INDEX_BY_FILTER" => Some(Self::GetIndexByFilter), + "ActionType_SET_BATTLE_TYPE" => Some(Self::SetBattleType), + "ActionType_GET_POSITION" => Some(Self::GetPosition), + "ActionType_START_MINI_GAME" => Some(Self::StartMiniGame), + "ActionType_SET_HOLLOW_ITEM_SLOT" => Some(Self::SetHollowItemSlot), + "ActionType_GET_HOLLOW_ITEM" => Some(Self::GetHollowItem), + "ActionType_SEARCH_GRID" => Some(Self::SearchGrid), + "ActionType_SET_NPC_STATE" => Some(Self::SetNpcState), + "ActionType_GET_NPC_INSTANCE_ID" => Some(Self::GetNpcInstanceId), + "ActionType_DESTORY_NPC" => Some(Self::DestoryNpc), + "ActionType_ADD_CHARACTER_ABYSS" => Some(Self::AddCharacterAbyss), + "ActionType_CHANGE_CHARACTER_ABYSS" => Some(Self::ChangeCharacterAbyss), + "ActionType_GET_CHARACTER_POOL_ABYSS" => Some(Self::GetCharacterPoolAbyss), + "ActionType_ABYSS_DROP_CHARACTER_POOL" => Some(Self::AbyssDropCharacterPool), + "ActionType_GET_LEADER_OF_HOLLOW_NPC" => Some(Self::GetLeaderOfHollowNpc), + "ActionType_SET_LEADER_OF_HOLLOW_NPC" => Some(Self::SetLeaderOfHollowNpc), + "ActionType_UPDATE_SAVE_NPC_NUM" => Some(Self::UpdateSaveNpcNum), + "ActionType_PUSH_WITH_DIRECTION" => Some(Self::PushWithDirection), + "ActionType_HOLLOW_NPC_FIND_PATH" => Some(Self::HollowNpcFindPath), + "ActionType_HOLLOW_NPC_MOVE" => Some(Self::HollowNpcMove), + "ActionType_NEW_CHESSBOARD" => Some(Self::NewChessboard), + "ActionType_GO_TO_NEXT_LAYER" => Some(Self::GoToNextLayer), + "ActionType_GO_TO_CHESSBOARD" => Some(Self::GoToChessboard), + "ActionType_GET_PRE_CHESSBOARD" => Some(Self::GetPreChessboard), + "ActionType_TRIGGER_HOLLOW_NPC_BEHAVIOR" => { + Some(Self::TriggerHollowNpcBehavior) + } + "ActionType_SHOW_LAYER_RESULT" => Some(Self::ShowLayerResult), + "ActionType_HENSHIN" => Some(Self::Henshin), + "ActionType_CREATE_HOLLOW_NPC" => Some(Self::CreateHollowNpc), + "ActionType_DROP_CHESSBOARD_ID" => Some(Self::DropChessboardId), + "ActionType_MAKE_DIALOG_CHOICE" => Some(Self::MakeDialogChoice), + "ActionType_GET_EVENT_ID" => Some(Self::GetEventId), + "ActionType_COUNT_DROP_POOL" => Some(Self::CountDropPool), + "ActionType_MAKE_ITEM_CHOICE" => Some(Self::MakeItemChoice), + "ActionType_HP_ACT_HOLLOW" => Some(Self::HpActHollow), + "ActionType_BAN_HOLLOW_EVENT" => Some(Self::BanHollowEvent), + "ActionType_COORDINATE_TRANSFORM" => Some(Self::CoordinateTransform), + "ActionType_REGISTER_VARIABLE_CONDITION" => { + Some(Self::RegisterVariableCondition) + } + "ActionType_ON_OFF_CATEGORY" => Some(Self::OnOffCategory), + "ActionType_RESET_BIG_TV_SNAPSHOT" => Some(Self::ResetBigTvSnapshot), + "ActionType_BIG_TV_SUPPORT_SNAPSHOT" => Some(Self::BigTvSupportSnapshot), + "ActionType_SET_EVENT_ICON" => Some(Self::SetEventIcon), + "ActionType_GET_ANIM_SHEET_ID" => Some(Self::GetAnimSheetId), + "ActionType_HOLLOW_NPC_HENSHIN" => Some(Self::HollowNpcHenshin), + "ActionType_HOLLOW_NPC_TRANSFER" => Some(Self::HollowNpcTransfer), + "ActionType_BIND_BIG_TV" => Some(Self::BindBigTv), + "ActionType_MOVE_NPC_TO_SECTION" => Some(Self::MoveNpcToSection), + "ActionType_GET_NPC_ID" => Some(Self::GetNpcId), + "ActionType_SEARCH_HOLLOW_NPC" => Some(Self::SearchHollowNpc), + "ActionType_BOOM" => Some(Self::Boom), + "ActionType_TRIGGER_HOLLOW_EVENT" => Some(Self::TriggerHollowEvent), + "ActionType_BREAK_DIALOG_ANIM" => Some(Self::BreakDialogAnim), + "ActionType_MOVE_BIG_TV" => Some(Self::MoveBigTv), + "ActionType_SET_NEXT_LAYER_CHESSBOARD_ID" => { + Some(Self::SetNextLayerChessboardId) + } + "ActionType_GET_BOSS_BATTLE_EVENT" => Some(Self::GetBossBattleEvent), + "ActionType_CREATE_HOLLOW_SNAKE" => Some(Self::CreateHollowSnake), + "ActionType_SET_GRID_STAMINA_STATE" => Some(Self::SetGridStaminaState), + "ActionType_DISPLAY_BIG_TV_CHESSBOARD" => Some(Self::DisplayBigTvChessboard), + "ActionType_SPLIT_HOLLOW_SNAKE" => Some(Self::SplitHollowSnake), + "ActionType_GET_HOLLOW_SNAKE_INFO" => Some(Self::GetHollowSnakeInfo), + "ActionType_MODIFY_HOLLOW_SNAKE" => Some(Self::ModifyHollowSnake), + "ActionType_CHANGE_HOLLOW_NPC_APPERANCE" => { + Some(Self::ChangeHollowNpcApperance) + } + "ActionType_OPEN_BIG_TV_SOKOBAN_GAME" => Some(Self::OpenBigTvSokobanGame), + "ActionType_SET_INTERCONNECTED_STORY_EVENT" => { + Some(Self::SetInterconnectedStoryEvent) + } + "ActionType_HOLLOW_NPC_IMITATE" => Some(Self::HollowNpcImitate), + "ActionType_TRIGGER_HOLLOW_NPC_EARLY_ACT" => { + Some(Self::TriggerHollowNpcEarlyAct) + } + "ActionType_GET_AVATAR_BY_TAG" => Some(Self::GetAvatarByTag), + "ActionType_SET_BATTLE_TYPE_ABYSS" => Some(Self::SetBattleTypeAbyss), + "ActionType_REMOVE_EVENT_ID_FROM_RANDOM_POOL" => { + Some(Self::RemoveEventIdFromRandomPool) + } + "ActionType_RECYCLE_HOLLOW_ITEM" => Some(Self::RecycleHollowItem), + "ActionType_COPY_EVENT" => Some(Self::CopyEvent), + "ActionType_BAN_CHARACTER" => Some(Self::BanCharacter), + "ActionType_REMOVE_CHARACTER" => Some(Self::RemoveCharacter), + "ActionType_SET_NPC_ATTR" => Some(Self::SetNpcAttr), + "ActionType_GET_NPC_ATTR" => Some(Self::GetNpcAttr), + "ActionType_HIT_NPC" => Some(Self::HitNpc), + "ActionType_GET_PLAYER_HOLLOW_MOVE_PATH" => { + Some(Self::GetPlayerHollowMovePath) + } + "ActionType_GET_BIG_TV_INDEX" => Some(Self::GetBigTvIndex), + "ActionType_CLEAR_NPC" => Some(Self::ClearNpc), + "ActionType_SAVE_MINI_SNAPSHOT" => Some(Self::SaveMiniSnapshot), + "ActionType_GET_POSSESS_HOLLOW_ITEM" => Some(Self::GetPossessHollowItem), + "ActionType_RESET_HOLLOW_LINE_QUEST" => Some(Self::ResetHollowLineQuest), + "ActionType_MODIFY_LIGHT_LEVEL" => Some(Self::ModifyLightLevel), + "ActionType_GET_LIGHT_LEVEL" => Some(Self::GetLightLevel), + "ActionType_ADD_HOLLOW_LIGHT" => Some(Self::AddHollowLight), + "ActionType_REMOVE_HOLLOW_LIGHT" => Some(Self::RemoveHollowLight), + "ActionType_MODIFY_CHESSBOARD_PLUGIN" => Some(Self::ModifyChessboardPlugin), + "ActionType_GET_LIGHT_UID" => Some(Self::GetLightUid), + "ActionType_NEW_BOOM" => Some(Self::NewBoom), + "ActionType_SET_ENTITY_PARAM" => Some(Self::SetEntityParam), + "ActionType_GET_ENTITY_PARAM" => Some(Self::GetEntityParam), + "ActionType_REPAIR_ZONE" => Some(Self::RepairZone), + "ActionType_PUSH_REPAIR_ZONE" => Some(Self::PushRepairZone), + "ActionType_SET_INNER_WORLD_MAP_STATE" => Some(Self::SetInnerWorldMapState), + "ActionType_LIST_CONVERT" => Some(Self::ListConvert), + "ActionType_ABYSS_GET_BATTLE_EVENT" => Some(Self::AbyssGetBattleEvent), + "ActionType_TRIGGER_ENTITY_BASIC_BEHAVIOR" => { + Some(Self::TriggerEntityBasicBehavior) + } + "ActionType_TRIGGER_ENTITY_MOVE" => Some(Self::TriggerEntityMove), + "ActionType_TRIGGER_ENTITY_TRANSFER" => Some(Self::TriggerEntityTransfer), + "ActionType_TRIGGER_ENTITY_INTERACT" => Some(Self::TriggerEntityInteract), + "ActionType_UPGRADE_CARD" => Some(Self::UpgradeCard), + "ActionType_NEW_TIME_REWIND" => Some(Self::NewTimeRewind), + "ActionType_ENTER_TIME_REWIND" => Some(Self::EnterTimeRewind), + "ActionType_INIT_TIME_SEGMENT" => Some(Self::InitTimeSegment), + "ActionType_MODIFY_TIME_SEGMENT" => Some(Self::ModifyTimeSegment), + "ActionType_MODIFY_TIME_REWIND" => Some(Self::ModifyTimeRewind), + "ActionType_GET_TIME_REWIND_INFO" => Some(Self::GetTimeRewindInfo), + "ActionType_FINISH_KEY_SEGMENT" => Some(Self::FinishKeySegment), + "ActionType_ACTIVATE_GRID_IN_SEGMENT" => Some(Self::ActivateGridInSegment), + "ActionType_COUNT_CARD_POOL" => Some(Self::CountCardPool), + "ActionType_MAKE_BANGBOO_CHOICE" => Some(Self::MakeBangbooChoice), + "ActionType_CHANGE_BANGBOO_CHOICE" => Some(Self::ChangeBangbooChoice), + "ActionType_TRIGGER_ENTITY_SCRIPT" => Some(Self::TriggerEntityScript), + "ActionType_ADD_STRESS_PUNISH_CURSE" => Some(Self::AddStressPunishCurse), + "ActionType_POPUP_TIP" => Some(Self::PopupTip), + "ActionType_HIDE_HOLLOW_ENTITY" => Some(Self::HideHollowEntity), + "ActionType_GET_ENTITY_PRIORITY_LIST" => Some(Self::GetEntityPriorityList), + "ActionType_CHESS_UI_CONTROLLER" => Some(Self::ChessUiController), + "ActionType_GET_ENTITY_PRIORITY" => Some(Self::GetEntityPriority), + "ActionType_CREATE_ENTITY" => Some(Self::CreateEntity), + "ActionType_DESTROY_ENTITY_BY_UID" => Some(Self::DestroyEntityByUid), + "ActionType_INTERACT_WITH_ENTITY" => Some(Self::InteractWithEntity), + "ActionType_SEARCH_POSITION" => Some(Self::SearchPosition), + "ActionType_FILTER_HOLLOW_ENTITY" => Some(Self::FilterHollowEntity), + "ActionType_MODIFY_STACKING_ORDER" => Some(Self::ModifyStackingOrder), + "ActionType_INIT_CONWAY_LIFE_GAME" => Some(Self::InitConwayLifeGame), + "ActionType_ITERATE_CONWAY_LIFE_GAME" => Some(Self::IterateConwayLifeGame), + "ActionType_CHANGE_CONWAY_LIFE_GAME_GRID_STATE" => { + Some(Self::ChangeConwayLifeGameGridState) + } + "ActionType_BIG_TV_CHESS_UI_CONTROLLER" => Some(Self::BigTvChessUiController), + "ActionType_SET_ENTITY_STATE" => Some(Self::SetEntityState), + "ActionType_REMOVE_ENTITY_STATE" => Some(Self::RemoveEntityState), + "ActionType_GET_EVENT_TEXTURE" => Some(Self::GetEventTexture), + "ActionType_MODIFY_COMPONENT" => Some(Self::ModifyComponent), + "ActionType_CHANGE_HOLLOW_SOUND_STATE" => Some(Self::ChangeHollowSoundState), + "ActionType_SET_ENTITY_SCRIPT_VARIABLE" => { + Some(Self::SetEntityScriptVariable) + } + "ActionType_CREATE_SIGNAL" => Some(Self::CreateSignal), + "ActionType_SUBSCRIBE_SIGNAL" => Some(Self::SubscribeSignal), + "ActionType_UNSUBSCRIBE_SIGNAL" => Some(Self::UnsubscribeSignal), + "ActionType_SEND_SIGNAL" => Some(Self::SendSignal), + "ActionType_DESTROY_SIGNAL" => Some(Self::DestroySignal), + "ActionType_SET_MULTI_HOLLOW_OUT_SECTION" => { + Some(Self::SetMultiHollowOutSection) + } + "ActionType_GET_ENTITY_SCRIPT_VARIABLE" => { + Some(Self::GetEntityScriptVariable) + } + "ActionType_REMOVE_CHESSBOARD" => Some(Self::RemoveChessboard), + "ActionType_BEGIN_TUTORIAL_GUIDE_INTERACT" => { + Some(Self::BeginTutorialGuideInteract) + } + "ActionType_TIME_REWIND_INTERACT" => Some(Self::TimeRewindInteract), + "ActionType_LIMBO_AVATAR_CARD" => Some(Self::LimboAvatarCard), + "ActionType_LIMBO_CAMP_EVENT" => Some(Self::LimboCampEvent), + "ActionType_MODIFY_AIM_RECT_COMPONENT" => Some(Self::ModifyAimRectComponent), + "ActionType_REMOVE_FROM_POOL" => Some(Self::RemoveFromPool), + "ActionType_ACTIVATE_SEGMENT_INTERACT" => Some(Self::ActivateSegmentInteract), + "ActionType_RECORD_USE_INITIATIVE_ITEM" => { + Some(Self::RecordUseInitiativeItem) + } + "ActionType_MODIFY_MULTI_HOLLOW_OUT_FLOOR" => { + Some(Self::ModifyMultiHollowOutFloor) + } + "ActionType_SET_MULTI_HOLLOW_OUT_VIEW" => Some(Self::SetMultiHollowOutView), + "ActionType_MARK_GRID_AS_ELEVATOR" => Some(Self::MarkGridAsElevator), + "ActionType_MOVE_ELEVATOR_TO_SECTION" => Some(Self::MoveElevatorToSection), + "ActionType_NEXT_DROP_CLUE_EVENT" => Some(Self::NextDropClueEvent), + "ActionType_MOVE_HOLLOW_EVENT" => Some(Self::MoveHollowEvent), + "ActionType_GET_FOCUS_CAMERA_PARAM" => Some(Self::GetFocusCameraParam), + "ActionType_REPLACE_CARD" => Some(Self::ReplaceCard), + "ActionType_LOAD_EVENT_PARAM" => Some(Self::LoadEventParam), + "ActionType_SET_LAYER_TYPE" => Some(Self::SetLayerType), + "ActionType_CREATE_HOLLOW_SPAWNER" => Some(Self::CreateHollowSpawner), + "ActionType_SET_HOLLOW_SPAWNER" => Some(Self::SetHollowSpawner), + "ActionType_GET_HOLLOW_SPAWNER" => Some(Self::GetHollowSpawner), + "ActionType_RUN_HOLLOW_SPAWNER" => Some(Self::RunHollowSpawner), + "ActionType_PLAY_HOLLOW_QTE_GAME" => Some(Self::PlayHollowQteGame), + "ActionType_SET_HOLLOW_PLAY_UI" => Some(Self::SetHollowPlayUi), + "ActionType_SET_HOLLOW_ACTIVITY_PARAM" => Some(Self::SetHollowActivityParam), + "ActionType_GET_HOLLOW_ACTIVITY_PARAM" => Some(Self::GetHollowActivityParam), + "ActionType_REWARD_WITH_PERFORM" => Some(Self::RewardWithPerform), + "ActionType_INIT_HACKER_GAME" => Some(Self::InitHackerGame), + "ActionType_MODIFY_HACKER_GAME_PARAM" => Some(Self::ModifyHackerGameParam), + "ActionType_MODIFY_POP_INTERACT_COMPONENT" => { + Some(Self::ModifyPopInteractComponent) + } + "ActionType_SET_LEVEL_GLOBAL_VARIABLE" => Some(Self::SetLevelGlobalVariable), + "ActionType_EVENT_MODIFICATION_BY_FALLING" => { + Some(Self::EventModificationByFalling) + } + "ActionType_TRY_MOVE_ELEVATOR" => Some(Self::TryMoveElevator), + "ActionType_GET_EVENT_POOL_EVENT" => Some(Self::GetEventPoolEvent), + "ActionType_CHESS_UI_3D_CONTROLLER" => Some(Self::ChessUi3dController), + "ActionType_HOLLOW_GAME_FINISH_TO_LEVEL" => { + Some(Self::HollowGameFinishToLevel) + } + "ActionType_CREATE_NPC" => Some(Self::CreateNpc), + "ActionType_SET_QUEST_PHASE" => Some(Self::SetQuestPhase), + "ActionType_CHANGE_INTERACT" => Some(Self::ChangeInteract), + "ActionType_INTERACT_FINISH" => Some(Self::InteractFinish), + "ActionType_REMOVE_MAIN_CITY_QUEST_NPC" => Some(Self::RemoveMainCityQuestNpc), + "ActionType_REMOVE_MAIN_CITY_QUEST_INTERACT" => { + Some(Self::RemoveMainCityQuestInteract) + } + "ActionType_CHANGE_BACK_SCENE_INFO" => Some(Self::ChangeBackSceneInfo), + "ActionType_RESET_MAIN_CITY_QUEST_GROUP" => { + Some(Self::ResetMainCityQuestGroup) + } + "ActionType_UNLOCK_HOLLOW_QUEST" => Some(Self::UnlockHollowQuest), + "ActionType_SET_NPC_VISIBLE" => Some(Self::SetNpcVisible), + "ActionType_REMOVE_INTERACT" => Some(Self::RemoveInteract), + "ActionType_REMOVE_NPC" => Some(Self::RemoveNpc), + "ActionType_SET_VHS_STORE_LEVEL" => Some(Self::SetVhsStoreLevel), + "ActionType_SET_VHS_STORE_TREND_STATE" => Some(Self::SetVhsStoreTrendState), + "ActionType_SWITCH_MAIN_CITY_TIME" => Some(Self::SwitchMainCityTime), + "ActionType_THE_WORLD" => Some(Self::TheWorld), + "ActionType_FORCE_REFRESH" => Some(Self::ForceRefresh), + "ActionType_FORBID_AFK" => Some(Self::ForbidAfk), + "ActionType_SWITCH_MAIN_CHARACTER" => Some(Self::SwitchMainCharacter), + "ActionType_SET_LAND_EVENT_FINISH" => Some(Self::SetLandEventFinish), + "ActionType_SET_BGM" => Some(Self::SetBgm), + "ActionType_SET_MAIN_CITY_OBJECT_STATE" => Some(Self::SetMainCityObjectState), + "ActionType_EVENT_CHOICE" => Some(Self::EventChoice), + "ActionType_CREATE_MOVE_NPC" => Some(Self::CreateMoveNpc), + "ActionType_CHANGE_GUIDE_POINT" => Some(Self::ChangeGuidePoint), + "ActionType_ADD_DAILY_QUEST" => Some(Self::AddDailyQuest), + "ActionType_ADD_MICRO_TASK" => Some(Self::AddMicroTask), + "ActionType_SET_FIRST_MEET" => Some(Self::SetFirstMeet), + "ActionType_CREATE_CAMERA_ZONE" => Some(Self::CreateCameraZone), + "ActionType_SET_MAIN_CITY_TIME" => Some(Self::SetMainCityTime), + "ActionType_NEXT_MAIN_CITY_TIME_PERIOD" => Some(Self::NextMainCityTimePeriod), + "ActionType_PLAYER_SWITCH_MAIN_CHARACTER" => { + Some(Self::PlayerSwitchMainCharacter) + } + "ActionType_END_TRANSITION" => Some(Self::EndTransition), + "ActionType_ADD_VHS_FLOW_BUFF" => Some(Self::AddVhsFlowBuff), + "ActionType_ACTIVATE_PHOTO_ID" => Some(Self::ActivatePhotoId), + "ActionType_ACCELERATE_MAIN_CITY_TIME" => Some(Self::AccelerateMainCityTime), + "ActionType_SET_TRASH_NEW_FLAG" => Some(Self::SetTrashNewFlag), + "ActionType_USE_LAST_TIME" => Some(Self::UseLastTime), + "ActionType_OCCUPY_OVERNIGHT" => Some(Self::OccupyOvernight), + "ActionType_SHOW_PHOTO_QUEST_FINISH_TIP" => { + Some(Self::ShowPhotoQuestFinishTip) + } + "ActionType_ADD_SOUND_AMB" => Some(Self::AddSoundAmb), + "ActionType_SUBMIT_ITEM" => Some(Self::SubmitItem), + "ActionType_MOD_TRUST" => Some(Self::ModTrust), + "ActionType_SET_PARTNER_EVENT_STATE" => Some(Self::SetPartnerEventState), + "ActionType_SEND_MESSAGE" => Some(Self::SendMessage), + "ActionType_SWITCH_TRACK_QUEST" => Some(Self::SwitchTrackQuest), + "ActionType_MOD_NPC" => Some(Self::ModNpc), + "ActionType_ACCEPT_OVERNIGHT" => Some(Self::AcceptOvernight), + "ActionType_ACTIVE_TRIGGER" => Some(Self::ActiveTrigger), + "ActionType_MOD_OBJ_STATE" => Some(Self::ModObjState), + "ActionType_MOD_SCENE_OBJ" => Some(Self::ModSceneObj), + "ActionType_FANS_SETTLE" => Some(Self::FansSettle), + "ActionType_OPEN_HALL_GAME" => Some(Self::OpenHallGame), + "ActionType_ADD_PARTNER_EVENT" => Some(Self::AddPartnerEvent), + "ActionType_EXEC_OVERNIGHT_EVENT" => Some(Self::ExecOvernightEvent), + "ActionType_SOFA_REST_NEXT_TIME_PERIOD" => Some(Self::SofaRestNextTimePeriod), + "ActionType_BEGIN_UI_GAME" => Some(Self::BeginUiGame), + "ActionType_PREPARE_DATA" => Some(Self::PrepareData), + "ActionType_CLEAR_RP_RECOMMEND_RESULT" => Some(Self::ClearRpRecommendResult), + "ActionType_DO_MAIN_CITY_GAME" => Some(Self::DoMainCityGame), + "ActionType_SHOW_IN_TODO" => Some(Self::ShowInTodo), + "ActionType_CHANGE_NPC_NAME" => Some(Self::ChangeNpcName), + "ActionType_CREATE_OVA" => Some(Self::CreateOva), + "ActionType_SET_OVA_STATE" => Some(Self::SetOvaState), + "ActionType_SWITCH_MAIN_CHARACTER_GUISE" => { + Some(Self::SwitchMainCharacterGuise) + } + "ActionType_COMPLETE_HALL_GAME" => Some(Self::CompleteHallGame), + "ActionType_HIDE_MAIN_CONTROL_AVATAR" => Some(Self::HideMainControlAvatar), + "ActionType_MAP_CHOOSE_BY_EVENT" => Some(Self::MapChooseByEvent), + "ActionType_MAP_CHOOSE_BY_LAYER" => Some(Self::MapChooseByLayer), + "ActionType_MAP_CHOOSE_BY_NUM" => Some(Self::MapChooseByNum), + "ActionType_MAP_CHOOSE_BY_RANGE" => Some(Self::MapChooseByRange), + "ActionType_MAP_CLEAR_POOL" => Some(Self::MapClearPool), + "ActionType_MAP_SET_EVENT" => Some(Self::MapSetEvent), + "ActionType_MAP_SET_LAYER" => Some(Self::MapSetLayer), + "ActionType_MAP_SET_TAG" => Some(Self::MapSetTag), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iimcjlkanfi { + Pokpmmpdejf = 0, + Dfgjbehccib = 1, + Ipgmoflcjjl = 2, + Ikfflhffaif = 4, + Hkpmdbbjhid = 8, +} +impl Iimcjlkanfi { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pokpmmpdejf => "IIMCJLKANFI_POKPMMPDEJF", + Self::Dfgjbehccib => "IIMCJLKANFI_DFGJBEHCCIB", + Self::Ipgmoflcjjl => "IIMCJLKANFI_IPGMOFLCJJL", + Self::Ikfflhffaif => "IIMCJLKANFI_IKFFLHFFAIF", + Self::Hkpmdbbjhid => "IIMCJLKANFI_HKPMDBBJHID", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IIMCJLKANFI_POKPMMPDEJF" => Some(Self::Pokpmmpdejf), + "IIMCJLKANFI_DFGJBEHCCIB" => Some(Self::Dfgjbehccib), + "IIMCJLKANFI_IPGMOFLCJJL" => Some(Self::Ipgmoflcjjl), + "IIMCJLKANFI_IKFFLHFFAIF" => Some(Self::Ikfflhffaif), + "IIMCJLKANFI_HKPMDBBJHID" => Some(Self::Hkpmdbbjhid), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gfimkmffaio { + Oejgmpamhjl = 0, + Nlooaongeib = 1, + Mdmiajagplm = 2, + Efgmnecaipj = 3, + Colnepbgjfe = 4, +} +impl Gfimkmffaio { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Oejgmpamhjl => "GFIMKMFFAIO_OEJGMPAMHJL", + Self::Nlooaongeib => "GFIMKMFFAIO_NLOOAONGEIB", + Self::Mdmiajagplm => "GFIMKMFFAIO_MDMIAJAGPLM", + Self::Efgmnecaipj => "GFIMKMFFAIO_EFGMNECAIPJ", + Self::Colnepbgjfe => "GFIMKMFFAIO_COLNEPBGJFE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GFIMKMFFAIO_OEJGMPAMHJL" => Some(Self::Oejgmpamhjl), + "GFIMKMFFAIO_NLOOAONGEIB" => Some(Self::Nlooaongeib), + "GFIMKMFFAIO_MDMIAJAGPLM" => Some(Self::Mdmiajagplm), + "GFIMKMFFAIO_EFGMNECAIPJ" => Some(Self::Efgmnecaipj), + "GFIMKMFFAIO_COLNEPBGJFE" => Some(Self::Colnepbgjfe), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iafamcgcamj { + Afconnopjkk = 0, + Hdiiadjodcj = 1, +} +impl Iafamcgcamj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Afconnopjkk => "IAFAMCGCAMJ_AFCONNOPJKK", + Self::Hdiiadjodcj => "IAFAMCGCAMJ_HDIIADJODCJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IAFAMCGCAMJ_AFCONNOPJKK" => Some(Self::Afconnopjkk), + "IAFAMCGCAMJ_HDIIADJODCJ" => Some(Self::Hdiiadjodcj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mijplifbaoj { + Aagkpllbpgj = 0, + Dbhnaepipnh = 1, + Gboipafkcfb = 2, + Dlhdfeneojl = 3, + Nmjopomekao = 5, + Gmgjphmhkhm = 6, + Phhmjmbmkoi = 7, + Adnldepbahj = 8, + Jjogfcenllj = 9, + Hcdpeibidfa = 10, + Monohobdamb = 11, + Plgdndkghdp = 12, + Fcidlngdphb = 13, + Bdippcpmhie = 14, + Naioemmlich = 15, + Bndflhgecoe = 16, + Jdgdkajeldd = 17, + Bkhpgpnebbo = 18, + Lpchbepbmdo = 19, + Aajammnmdih = 20, + Fcfbbhchlbn = 21, +} +impl Mijplifbaoj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Aagkpllbpgj => "MIJPLIFBAOJ_AAGKPLLBPGJ", + Self::Dbhnaepipnh => "MIJPLIFBAOJ_DBHNAEPIPNH", + Self::Gboipafkcfb => "MIJPLIFBAOJ_GBOIPAFKCFB", + Self::Dlhdfeneojl => "MIJPLIFBAOJ_DLHDFENEOJL", + Self::Nmjopomekao => "MIJPLIFBAOJ_NMJOPOMEKAO", + Self::Gmgjphmhkhm => "MIJPLIFBAOJ_GMGJPHMHKHM", + Self::Phhmjmbmkoi => "MIJPLIFBAOJ_PHHMJMBMKOI", + Self::Adnldepbahj => "MIJPLIFBAOJ_ADNLDEPBAHJ", + Self::Jjogfcenllj => "MIJPLIFBAOJ_JJOGFCENLLJ", + Self::Hcdpeibidfa => "MIJPLIFBAOJ_HCDPEIBIDFA", + Self::Monohobdamb => "MIJPLIFBAOJ_MONOHOBDAMB", + Self::Plgdndkghdp => "MIJPLIFBAOJ_PLGDNDKGHDP", + Self::Fcidlngdphb => "MIJPLIFBAOJ_FCIDLNGDPHB", + Self::Bdippcpmhie => "MIJPLIFBAOJ_BDIPPCPMHIE", + Self::Naioemmlich => "MIJPLIFBAOJ_NAIOEMMLICH", + Self::Bndflhgecoe => "MIJPLIFBAOJ_BNDFLHGECOE", + Self::Jdgdkajeldd => "MIJPLIFBAOJ_JDGDKAJELDD", + Self::Bkhpgpnebbo => "MIJPLIFBAOJ_BKHPGPNEBBO", + Self::Lpchbepbmdo => "MIJPLIFBAOJ_LPCHBEPBMDO", + Self::Aajammnmdih => "MIJPLIFBAOJ_AAJAMMNMDIH", + Self::Fcfbbhchlbn => "MIJPLIFBAOJ_FCFBBHCHLBN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MIJPLIFBAOJ_AAGKPLLBPGJ" => Some(Self::Aagkpllbpgj), + "MIJPLIFBAOJ_DBHNAEPIPNH" => Some(Self::Dbhnaepipnh), + "MIJPLIFBAOJ_GBOIPAFKCFB" => Some(Self::Gboipafkcfb), + "MIJPLIFBAOJ_DLHDFENEOJL" => Some(Self::Dlhdfeneojl), + "MIJPLIFBAOJ_NMJOPOMEKAO" => Some(Self::Nmjopomekao), + "MIJPLIFBAOJ_GMGJPHMHKHM" => Some(Self::Gmgjphmhkhm), + "MIJPLIFBAOJ_PHHMJMBMKOI" => Some(Self::Phhmjmbmkoi), + "MIJPLIFBAOJ_ADNLDEPBAHJ" => Some(Self::Adnldepbahj), + "MIJPLIFBAOJ_JJOGFCENLLJ" => Some(Self::Jjogfcenllj), + "MIJPLIFBAOJ_HCDPEIBIDFA" => Some(Self::Hcdpeibidfa), + "MIJPLIFBAOJ_MONOHOBDAMB" => Some(Self::Monohobdamb), + "MIJPLIFBAOJ_PLGDNDKGHDP" => Some(Self::Plgdndkghdp), + "MIJPLIFBAOJ_FCIDLNGDPHB" => Some(Self::Fcidlngdphb), + "MIJPLIFBAOJ_BDIPPCPMHIE" => Some(Self::Bdippcpmhie), + "MIJPLIFBAOJ_NAIOEMMLICH" => Some(Self::Naioemmlich), + "MIJPLIFBAOJ_BNDFLHGECOE" => Some(Self::Bndflhgecoe), + "MIJPLIFBAOJ_JDGDKAJELDD" => Some(Self::Jdgdkajeldd), + "MIJPLIFBAOJ_BKHPGPNEBBO" => Some(Self::Bkhpgpnebbo), + "MIJPLIFBAOJ_LPCHBEPBMDO" => Some(Self::Lpchbepbmdo), + "MIJPLIFBAOJ_AAJAMMNMDIH" => Some(Self::Aajammnmdih), + "MIJPLIFBAOJ_FCFBBHCHLBN" => Some(Self::Fcfbbhchlbn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Flpfijkikmg { + Glfkioiejnl = 0, +} +impl Flpfijkikmg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Glfkioiejnl => "FLPFIJKIKMG_GLFKIOIEJNL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FLPFIJKIKMG_GLFKIOIEJNL" => Some(Self::Glfkioiejnl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aphdfgphped { + Epbejjjcdnd = 0, + Bbphdilpigf = 1, + Lkaocgfolpg = 2, + Bgfefgpppkm = 3, +} +impl Aphdfgphped { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Epbejjjcdnd => "APHDFGPHPED_EPBEJJJCDND", + Self::Bbphdilpigf => "APHDFGPHPED_BBPHDILPIGF", + Self::Lkaocgfolpg => "APHDFGPHPED_LKAOCGFOLPG", + Self::Bgfefgpppkm => "APHDFGPHPED_BGFEFGPPPKM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "APHDFGPHPED_EPBEJJJCDND" => Some(Self::Epbejjjcdnd), + "APHDFGPHPED_BBPHDILPIGF" => Some(Self::Bbphdilpigf), + "APHDFGPHPED_LKAOCGFOLPG" => Some(Self::Lkaocgfolpg), + "APHDFGPHPED_BGFEFGPPPKM" => Some(Self::Bgfefgpppkm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum HollowEntityType { + HollowEntityTypeNone = 0, + HollowEntityTypePlayer = 1, + HollowEntityTypeNpc = 2, + HollowEntityTypeGrid = 3, + HollowEntityTypeEvent = 4, + HollowEntityTypeLight = 5, + HollowEntityTypePin = 6, + HollowEntityTypeSection = 7, + HollowEntityTypeGlobal = 9, + HollowEntityTypeBarrier = 10, + HollowEntityTypeSectionEvent = 11, + HollowEntityTypeTerrain = 12, +} +impl HollowEntityType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowEntityTypeNone => "HollowEntityType_HOLLOW_ENTITY_TYPE_NONE", + Self::HollowEntityTypePlayer => "HollowEntityType_HOLLOW_ENTITY_TYPE_PLAYER", + Self::HollowEntityTypeNpc => "HollowEntityType_HOLLOW_ENTITY_TYPE_NPC", + Self::HollowEntityTypeGrid => "HollowEntityType_HOLLOW_ENTITY_TYPE_GRID", + Self::HollowEntityTypeEvent => "HollowEntityType_HOLLOW_ENTITY_TYPE_EVENT", + Self::HollowEntityTypeLight => "HollowEntityType_HOLLOW_ENTITY_TYPE_LIGHT", + Self::HollowEntityTypePin => "HollowEntityType_HOLLOW_ENTITY_TYPE_PIN", + Self::HollowEntityTypeSection => { + "HollowEntityType_HOLLOW_ENTITY_TYPE_SECTION" + } + Self::HollowEntityTypeGlobal => "HollowEntityType_HOLLOW_ENTITY_TYPE_GLOBAL", + Self::HollowEntityTypeBarrier => { + "HollowEntityType_HOLLOW_ENTITY_TYPE_BARRIER" + } + Self::HollowEntityTypeSectionEvent => { + "HollowEntityType_HOLLOW_ENTITY_TYPE_SECTION_EVENT" + } + Self::HollowEntityTypeTerrain => { + "HollowEntityType_HOLLOW_ENTITY_TYPE_TERRAIN" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HollowEntityType_HOLLOW_ENTITY_TYPE_NONE" => { + Some(Self::HollowEntityTypeNone) + } + "HollowEntityType_HOLLOW_ENTITY_TYPE_PLAYER" => { + Some(Self::HollowEntityTypePlayer) + } + "HollowEntityType_HOLLOW_ENTITY_TYPE_NPC" => Some(Self::HollowEntityTypeNpc), + "HollowEntityType_HOLLOW_ENTITY_TYPE_GRID" => { + Some(Self::HollowEntityTypeGrid) + } + "HollowEntityType_HOLLOW_ENTITY_TYPE_EVENT" => { + Some(Self::HollowEntityTypeEvent) + } + "HollowEntityType_HOLLOW_ENTITY_TYPE_LIGHT" => { + Some(Self::HollowEntityTypeLight) + } + "HollowEntityType_HOLLOW_ENTITY_TYPE_PIN" => Some(Self::HollowEntityTypePin), + "HollowEntityType_HOLLOW_ENTITY_TYPE_SECTION" => { + Some(Self::HollowEntityTypeSection) + } + "HollowEntityType_HOLLOW_ENTITY_TYPE_GLOBAL" => { + Some(Self::HollowEntityTypeGlobal) + } + "HollowEntityType_HOLLOW_ENTITY_TYPE_BARRIER" => { + Some(Self::HollowEntityTypeBarrier) + } + "HollowEntityType_HOLLOW_ENTITY_TYPE_SECTION_EVENT" => { + Some(Self::HollowEntityTypeSectionEvent) + } + "HollowEntityType_HOLLOW_ENTITY_TYPE_TERRAIN" => { + Some(Self::HollowEntityTypeTerrain) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nnolbkajcjb { + Pdcanhkbmmf = 0, + Femhodcgmfi = 1, +} +impl Nnolbkajcjb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pdcanhkbmmf => "NNOLBKAJCJB_PDCANHKBMMF", + Self::Femhodcgmfi => "NNOLBKAJCJB_FEMHODCGMFI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NNOLBKAJCJB_PDCANHKBMMF" => Some(Self::Pdcanhkbmmf), + "NNOLBKAJCJB_FEMHODCGMFI" => Some(Self::Femhodcgmfi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gmjnflfipjg { + Mpacfceelhm = 0, + Dbabafaamma = 1, +} +impl Gmjnflfipjg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mpacfceelhm => "GMJNFLFIPJG_MPACFCEELHM", + Self::Dbabafaamma => "GMJNFLFIPJG_DBABAFAAMMA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GMJNFLFIPJG_MPACFCEELHM" => Some(Self::Mpacfceelhm), + "GMJNFLFIPJG_DBABAFAAMMA" => Some(Self::Dbabafaamma), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fmflljdejnn { + HollowEventModificationTypeNone = 0, + Random = 1, + Foreach = 2, +} +impl Fmflljdejnn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowEventModificationTypeNone => { + "FMFLLJDEJNN_HOLLOW_EVENT_MODIFICATION_TYPE_NONE" + } + Self::Random => "FMFLLJDEJNN_RANDOM", + Self::Foreach => "FMFLLJDEJNN_FOREACH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FMFLLJDEJNN_HOLLOW_EVENT_MODIFICATION_TYPE_NONE" => { + Some(Self::HollowEventModificationTypeNone) + } + "FMFLLJDEJNN_RANDOM" => Some(Self::Random), + "FMFLLJDEJNN_FOREACH" => Some(Self::Foreach), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cchhhoeagdj { + Oglddbmmnkp = 0, + Hlllgibkphb = 1, + Mmchkmlhlei = 2, + Cdepgkhgnbd = 3, + Hedeldamema = 4, + Ccglmoaidpa = 5, + Cecnpejmemb = 6, +} +impl Cchhhoeagdj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Oglddbmmnkp => "CCHHHOEAGDJ_OGLDDBMMNKP", + Self::Hlllgibkphb => "CCHHHOEAGDJ_HLLLGIBKPHB", + Self::Mmchkmlhlei => "CCHHHOEAGDJ_MMCHKMLHLEI", + Self::Cdepgkhgnbd => "CCHHHOEAGDJ_CDEPGKHGNBD", + Self::Hedeldamema => "CCHHHOEAGDJ_HEDELDAMEMA", + Self::Ccglmoaidpa => "CCHHHOEAGDJ_CCGLMOAIDPA", + Self::Cecnpejmemb => "CCHHHOEAGDJ_CECNPEJMEMB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CCHHHOEAGDJ_OGLDDBMMNKP" => Some(Self::Oglddbmmnkp), + "CCHHHOEAGDJ_HLLLGIBKPHB" => Some(Self::Hlllgibkphb), + "CCHHHOEAGDJ_MMCHKMLHLEI" => Some(Self::Mmchkmlhlei), + "CCHHHOEAGDJ_CDEPGKHGNBD" => Some(Self::Cdepgkhgnbd), + "CCHHHOEAGDJ_HEDELDAMEMA" => Some(Self::Hedeldamema), + "CCHHHOEAGDJ_CCGLMOAIDPA" => Some(Self::Ccglmoaidpa), + "CCHHHOEAGDJ_CECNPEJMEMB" => Some(Self::Cecnpejmemb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ijiiabjpomh { + Jaklocjpehn = 0, + Kibdflmcgmc = 1, + Klcagjchkmn = 2, + Pmbhhlmccgg = 3, +} +impl Ijiiabjpomh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jaklocjpehn => "IJIIABJPOMH_JAKLOCJPEHN", + Self::Kibdflmcgmc => "IJIIABJPOMH_KIBDFLMCGMC", + Self::Klcagjchkmn => "IJIIABJPOMH_KLCAGJCHKMN", + Self::Pmbhhlmccgg => "IJIIABJPOMH_PMBHHLMCCGG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IJIIABJPOMH_JAKLOCJPEHN" => Some(Self::Jaklocjpehn), + "IJIIABJPOMH_KIBDFLMCGMC" => Some(Self::Kibdflmcgmc), + "IJIIABJPOMH_KLCAGJCHKMN" => Some(Self::Klcagjchkmn), + "IJIIABJPOMH_PMBHHLMCCGG" => Some(Self::Pmbhhlmccgg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pkncolmiebl { + Ogaecmpkpgk = 0, + Nlnoljoohll = 1, + Aghahkkocam = 3001, + Fikeeehdpjo = 3002, + Ofeecffoioo = 3003, + Onkphncoffl = 3006, + Bkjfbphpbdd = 3007, + Ijdpbgdfjhf = 3008, + Gbjplndljgg = 3009, + Hcfahlfleha = 3010, + Bhaafibombo = 3011, + Faclnnjpchd = 3012, + Gmkldghoppd = 3014, + Bmacbdhebem = 3017, + Lpdiapndcbo = 3018, + Gnchplbmbjh = 3022, + Olkkniahmbn = 3023, + Kfigmgdofbe = 3024, + Kdjfoeblkdg = 3025, + Djkjfomkjlj = 3026, + Heeincdjebc = 3029, + Afnlnkhmpig = 3030, + Elfhjlfhjcl = 3031, + Ahhjalabmag = 3032, + Ganlognngch = 3033, + Higaeeemang = 3034, + Ifbmdjffeoo = 3035, + Akdlaajieke = 3036, + Ahjlhicipjd = 3040, + Cnlenkonfjj = 3041, + Afgkgkmedme = 3042, + Ipkoiphdjkj = 3044, + Gfohmhfoele = 3045, + Goifkodedlk = 3046, + Lmocggkgiea = 3047, + Pmpkmkahpgk = 3048, + Ajkelofieba = 3049, + Emondnpldkc = 3050, + Ehbdahblffm = 3051, + Fkpampmnfnl = 3052, + Nemfiehghgl = 3053, + Kenlbefnilg = 3054, + Admdcmikpfp = 3055, + Jgmagnbanlp = 3056, + Jmnaokkgcjp = 3057, + Chjmfkakmci = 3058, + Gkahcnngpfj = 3059, + Aepgchmokab = 3060, + Lhdcnpmdeoa = 3061, + Ceoenbmhlnj = 3062, + Cpldfjlgipa = 3063, + Oekmjhgieil = 3064, + Hagmkiiihgd = 3065, + Foifejmpjhe = 3066, + Ncclcelhnlo = 3067, + Ohijokggmdg = 3068, + Bgmedkciije = 3069, + Bfdemgjipbm = 3070, + Ilakheekhme = 3071, + Kpeegafglji = 3072, + Hekiekibokf = 3073, + Eakhmfmbfof = 3074, + Ilaeecpcogb = 3075, + Hobigdhicln = 3076, + Bicbcembkmf = 3077, + Fhhaalipphp = 3078, + Kpfkidgkdkc = 3079, + Pjiafnihgfo = 3080, + Dgccnjionok = 3088, + Djccfplepep = 3089, + Jlpcghgadmk = 3090, + Idnpbjicden = 3091, + Fkmejncbhgj = 3092, + Hipcbhiljjm = 3093, + Gbjhllmeaam = 3094, + Hdadbanfiba = 3095, + Kobkdnjkmoo = 3096, + Ajnhbpaehfk = 3097, + Kcccjfhkanb = 3098, + Fpikbacehpk = 3100, + Bokjmedcchi = 3101, + Pjghefagjdj = 3102, + Heomfinlopb = 3103, + Fbeiachhdjc = 3104, + Mhinidjbnjd = 3105, + Idpoinakfdo = 3106, + Heneaadmaje = 3107, + Lmdmkjibfcd = 3108, + Ocieepkfpkc = 3109, + Cmnmfldfpce = 3110, + Epffopmgekj = 3111, + Jcjhfgingfm = 3112, + Bldnjkkblcc = 3113, + Fgambbamjpd = 3114, + Gbbfldpclel = 3115, + Bjcdciilopd = 3116, + Pdolchhpifa = 3117, + Ohecmkiihki = 3118, + Mkbjhcojpbf = 3119, + Ledcbfheocp = 3120, + Djjcigklhji = 3121, + Dmdcenkpnkm = 3122, + Fldkfomakke = 3123, + Oombkkdjcki = 3124, + Jgoconajcfc = 3125, + Djcpcnmghkf = 3126, + Ebdgckkannc = 3127, + Jfcmgpkmpnn = 3128, + Ejfcdhcglok = 3129, + Diicofojkpg = 3130, + Nfgecepalbp = 3131, + Fdndpdlmdnm = 3132, + Kilbdlaeeig = 3133, + Gabknpdbpmh = 3134, + Ialffdojili = 3135, + Lnfammaobnd = 3136, + Ekofhooloai = 3137, + Cddaoagblnb = 3138, + Agnlhoolblc = 3139, + Ecpeknfkfca = 3140, + Fbelbepohpf = 3141, + Ifhfamoeeeb = 3142, + Mblbifmeedd = 3143, + Hkgbnaigike = 3144, + Ggnldepgpog = 3145, + Pnhlccepabj = 3146, + Lmdedgofmnj = 3147, + Mcdbbkodagp = 3148, + Akccbmgdped = 3149, + Mkilceppmob = 3150, + Ldbllicokdk = 3151, + Eedbcflffbk = 3152, + Ndkdelbpcaf = 3153, + Ibkcgiceecf = 3154, + Ikkjgjflden = 3155, + Dmpkpafcngk = 3156, + Femgmnomcpe = 3157, + Hgeaidcpcko = 3158, + Jddngilceoe = 3159, + Pghfjdohjbh = 3160, + Pelemmbijif = 3161, + Hlmnodjalkg = 3162, + Apdailldjln = 3163, + Ifojbnlmbld = 3164, + Nppbmmibpgm = 3165, + Khbgdoeklho = 3166, + Gdjdopgecck = 3167, + Elggipbldlb = 3168, + Ooclpimgoja = 3169, + Diekkcamdco = 3170, + Nmedhamfoie = 3171, + Mhhjfcggcfc = 3172, + Hnnkacbmdjf = 3173, + Hoacleooheh = 3174, + Mcjnpgkbhba = 3175, + Gmahhfojmmg = 3176, + Gfgjbmfcpme = 3177, + Ofjohngocdp = 3178, + Eleikniilke = 3179, + Klkddfpkeaf = 3180, + Hfnmnabaopp = 3181, + Badcpamamid = 3182, + Fapmeedhljp = 3183, + Cdkgnngnhbl = 3184, + Cinhnmdgcce = 3185, + Kejpkipmpmd = 3186, + Phmfcpboaai = 3187, + Pgpbfonlonl = 3188, + Ihhkiadfojn = 3189, + Gnjdmbhniko = 3190, + Dpjglbbfkmo = 3191, + Jdhimeoolgg = 3192, + Pfafogmekei = 3193, + Inchemnonoo = 3194, + Ebcmknlhmcm = 3195, + Ohfomnboaeg = 3196, + Mebjbgefnmk = 3197, + Ekdbfcilhgp = 3198, + Flmgelakhnp = 3199, + Nkcihfonodi = 3200, + Djcebogaggg = 3201, + Iabblfkplfe = 3202, + Cfodjndaegg = 3203, + Eiiflbmioba = 3204, + Apclndnmmpp = 3205, + Fbkmlihkmgo = 3206, + Ipchennkogd = 3207, + Honihcdgkpm = 3208, + Alabdhalngd = 3209, + Dgnipabglcn = 3210, + Lhicllgfhjj = 3211, + Emcfnhdcold = 3212, + Bhfkfkfjacp = 3213, + Jdddgakjnfn = 3214, + Pagdbdbgahh = 3215, + Nkclggfbffl = 3216, + Nhahnlnlaja = 3217, + Fkimohhmmif = 3218, + Hmfjbgbdekp = 3219, + Oojckngmkkj = 3220, + Bcapegejpkn = 3221, + Ncojcchkgcj = 3222, + Nfjjcafpnmk = 3223, + Abfpjbjpcln = 3224, + Efdnmogjnal = 3225, + Kolkioolcgm = 3226, + Ibhgemaaobg = 3227, + Kcaihdnbjob = 3228, + Fdenpkbhafl = 3229, + Pnplefmnhpl = 3230, + Hjihlemfehl = 3231, + Jmhacgbmdec = 3232, + Gclcfbnlfih = 3233, + Ciigegeilnh = 3234, + Emjjhapijan = 3235, + Pdogkklekmo = 3236, + Epmmeeimibh = 3237, + Dlaajkddijk = 3238, + Gbbchmkecic = 3239, + Iphncehogfl = 3240, + Hoifcognfmi = 3241, + Gapogcmkbcd = 3242, + Dlhkmoilhal = 3243, + Kbocolinghj = 3244, + Faabgjloahp = 3245, + Bfngepijmfk = 3246, + Cpmohfpcbnc = 3247, + Anccpbgpefb = 3248, + Cldofapdpfa = 3249, + Imjabckhhaf = 3250, + Fnoacmkgkbe = 3251, + Jofddjihlcn = 3252, + Iepbehgiojm = 3253, + Icblkmbdfcp = 3254, + Nccapgdikgi = 3255, + Ljenanibhob = 3256, + Dioehjchkng = 3257, + Idnkafcalcg = 3258, + Lnkbabbaeoi = 3259, + Nedadikeche = 3260, + Fclefcgioea = 3261, + Nmkdpolbnnf = 3262, + Bemnfcbahmb = 3263, + Eemlfihdenj = 3264, + Imniecjfhip = 3265, + Onggcilpcbm = 3266, + Ipcggbjdoha = 3267, + Kjjinnhcdpf = 3268, + Fabgbfoibig = 3269, + Kddnilgdjbd = 3270, + Dfkajcbcbde = 3271, + Ccpniidhdob = 3272, + Bfgchjlpcdj = 3273, + Heiaoeoednn = 3274, + Kndmdfhikje = 3275, + Enbgbhlfman = 3276, + Ibepdpanmbi = 3277, + Hihneefnjhi = 3278, + Gajdbcndkef = 3279, + Jjhbfbkdcca = 3280, + Phlffibkoll = 3281, + Kenlgkmepmj = 3282, + Bdnlnpnanhb = 3283, + Hijhbfphgil = 3284, + Ijcfaelkmdh = 3285, + Klaecmlfchg = 3286, + Oopnlahhnnc = 3287, + Elkigjfamed = 3288, + Omclajjanmc = 3289, + Jhgkieecaej = 3290, + Mfnhcdegmld = 3291, + Pkhodfaaiem = 3292, + Ojnlfabndeg = 3293, + Lagkoadjjcp = 3294, + Mpiafejbdoc = 3295, + Ibmihhegiej = 3296, + Aaidlinhknl = 3297, + Gklnghbcghc = 3298, + Mnfmgnoolnk = 3299, + Apenojlaelg = 3300, + Mkoppfhioda = 3301, + Lhikbfkjblh = 3302, + Cpnojocanal = 3303, + Bhmjmbeafbo = 3304, + Bfipiglnhck = 3305, + Aemcffbooei = 3306, + Lacgnkcokac = 3307, + Jalapokjlan = 3308, + Ogebpdgdcao = 3309, + Alojbinkbdg = 3310, + Ggjpgjgckei = 3311, + Ienogfflocg = 3312, + Hebapkphipj = 3313, + Ojnidmmiphj = 3314, + Fppbbfdnjka = 3315, + Fehngeggkok = 3316, + Ipcjjniefcl = 3317, + Aihffokohdg = 3318, + Gjmoofgbpkg = 3319, + Adgoakjeoea = 3320, + Bojhkeigoei = 3321, + Nhlboekfamk = 3322, + Eendednojei = 3323, + Fpjgoonmklg = 3324, + Lbjaijninbo = 3325, + Edgfckpkfap = 3326, + Hnppdgofhhb = 3327, + Pogpjpdnben = 3328, + Npkkldpgljb = 3329, + Kbapdhpjfda = 3330, + Peeeeaapigo = 3331, + Lholacoofan = 3332, + Oiaoegadehn = 3333, + Ndjadhlogjl = 3334, + Idejcibbcde = 3335, + Ikofieomcpk = 3336, + Ldepkoipgpi = 3337, +} +impl Pkncolmiebl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ogaecmpkpgk => "PKNCOLMIEBL_OGAECMPKPGK", + Self::Nlnoljoohll => "PKNCOLMIEBL_NLNOLJOOHLL", + Self::Aghahkkocam => "PKNCOLMIEBL_AGHAHKKOCAM", + Self::Fikeeehdpjo => "PKNCOLMIEBL_FIKEEEHDPJO", + Self::Ofeecffoioo => "PKNCOLMIEBL_OFEECFFOIOO", + Self::Onkphncoffl => "PKNCOLMIEBL_ONKPHNCOFFL", + Self::Bkjfbphpbdd => "PKNCOLMIEBL_BKJFBPHPBDD", + Self::Ijdpbgdfjhf => "PKNCOLMIEBL_IJDPBGDFJHF", + Self::Gbjplndljgg => "PKNCOLMIEBL_GBJPLNDLJGG", + Self::Hcfahlfleha => "PKNCOLMIEBL_HCFAHLFLEHA", + Self::Bhaafibombo => "PKNCOLMIEBL_BHAAFIBOMBO", + Self::Faclnnjpchd => "PKNCOLMIEBL_FACLNNJPCHD", + Self::Gmkldghoppd => "PKNCOLMIEBL_GMKLDGHOPPD", + Self::Bmacbdhebem => "PKNCOLMIEBL_BMACBDHEBEM", + Self::Lpdiapndcbo => "PKNCOLMIEBL_LPDIAPNDCBO", + Self::Gnchplbmbjh => "PKNCOLMIEBL_GNCHPLBMBJH", + Self::Olkkniahmbn => "PKNCOLMIEBL_OLKKNIAHMBN", + Self::Kfigmgdofbe => "PKNCOLMIEBL_KFIGMGDOFBE", + Self::Kdjfoeblkdg => "PKNCOLMIEBL_KDJFOEBLKDG", + Self::Djkjfomkjlj => "PKNCOLMIEBL_DJKJFOMKJLJ", + Self::Heeincdjebc => "PKNCOLMIEBL_HEEINCDJEBC", + Self::Afnlnkhmpig => "PKNCOLMIEBL_AFNLNKHMPIG", + Self::Elfhjlfhjcl => "PKNCOLMIEBL_ELFHJLFHJCL", + Self::Ahhjalabmag => "PKNCOLMIEBL_AHHJALABMAG", + Self::Ganlognngch => "PKNCOLMIEBL_GANLOGNNGCH", + Self::Higaeeemang => "PKNCOLMIEBL_HIGAEEEMANG", + Self::Ifbmdjffeoo => "PKNCOLMIEBL_IFBMDJFFEOO", + Self::Akdlaajieke => "PKNCOLMIEBL_AKDLAAJIEKE", + Self::Ahjlhicipjd => "PKNCOLMIEBL_AHJLHICIPJD", + Self::Cnlenkonfjj => "PKNCOLMIEBL_CNLENKONFJJ", + Self::Afgkgkmedme => "PKNCOLMIEBL_AFGKGKMEDME", + Self::Ipkoiphdjkj => "PKNCOLMIEBL_IPKOIPHDJKJ", + Self::Gfohmhfoele => "PKNCOLMIEBL_GFOHMHFOELE", + Self::Goifkodedlk => "PKNCOLMIEBL_GOIFKODEDLK", + Self::Lmocggkgiea => "PKNCOLMIEBL_LMOCGGKGIEA", + Self::Pmpkmkahpgk => "PKNCOLMIEBL_PMPKMKAHPGK", + Self::Ajkelofieba => "PKNCOLMIEBL_AJKELOFIEBA", + Self::Emondnpldkc => "PKNCOLMIEBL_EMONDNPLDKC", + Self::Ehbdahblffm => "PKNCOLMIEBL_EHBDAHBLFFM", + Self::Fkpampmnfnl => "PKNCOLMIEBL_FKPAMPMNFNL", + Self::Nemfiehghgl => "PKNCOLMIEBL_NEMFIEHGHGL", + Self::Kenlbefnilg => "PKNCOLMIEBL_KENLBEFNILG", + Self::Admdcmikpfp => "PKNCOLMIEBL_ADMDCMIKPFP", + Self::Jgmagnbanlp => "PKNCOLMIEBL_JGMAGNBANLP", + Self::Jmnaokkgcjp => "PKNCOLMIEBL_JMNAOKKGCJP", + Self::Chjmfkakmci => "PKNCOLMIEBL_CHJMFKAKMCI", + Self::Gkahcnngpfj => "PKNCOLMIEBL_GKAHCNNGPFJ", + Self::Aepgchmokab => "PKNCOLMIEBL_AEPGCHMOKAB", + Self::Lhdcnpmdeoa => "PKNCOLMIEBL_LHDCNPMDEOA", + Self::Ceoenbmhlnj => "PKNCOLMIEBL_CEOENBMHLNJ", + Self::Cpldfjlgipa => "PKNCOLMIEBL_CPLDFJLGIPA", + Self::Oekmjhgieil => "PKNCOLMIEBL_OEKMJHGIEIL", + Self::Hagmkiiihgd => "PKNCOLMIEBL_HAGMKIIIHGD", + Self::Foifejmpjhe => "PKNCOLMIEBL_FOIFEJMPJHE", + Self::Ncclcelhnlo => "PKNCOLMIEBL_NCCLCELHNLO", + Self::Ohijokggmdg => "PKNCOLMIEBL_OHIJOKGGMDG", + Self::Bgmedkciije => "PKNCOLMIEBL_BGMEDKCIIJE", + Self::Bfdemgjipbm => "PKNCOLMIEBL_BFDEMGJIPBM", + Self::Ilakheekhme => "PKNCOLMIEBL_ILAKHEEKHME", + Self::Kpeegafglji => "PKNCOLMIEBL_KPEEGAFGLJI", + Self::Hekiekibokf => "PKNCOLMIEBL_HEKIEKIBOKF", + Self::Eakhmfmbfof => "PKNCOLMIEBL_EAKHMFMBFOF", + Self::Ilaeecpcogb => "PKNCOLMIEBL_ILAEECPCOGB", + Self::Hobigdhicln => "PKNCOLMIEBL_HOBIGDHICLN", + Self::Bicbcembkmf => "PKNCOLMIEBL_BICBCEMBKMF", + Self::Fhhaalipphp => "PKNCOLMIEBL_FHHAALIPPHP", + Self::Kpfkidgkdkc => "PKNCOLMIEBL_KPFKIDGKDKC", + Self::Pjiafnihgfo => "PKNCOLMIEBL_PJIAFNIHGFO", + Self::Dgccnjionok => "PKNCOLMIEBL_DGCCNJIONOK", + Self::Djccfplepep => "PKNCOLMIEBL_DJCCFPLEPEP", + Self::Jlpcghgadmk => "PKNCOLMIEBL_JLPCGHGADMK", + Self::Idnpbjicden => "PKNCOLMIEBL_IDNPBJICDEN", + Self::Fkmejncbhgj => "PKNCOLMIEBL_FKMEJNCBHGJ", + Self::Hipcbhiljjm => "PKNCOLMIEBL_HIPCBHILJJM", + Self::Gbjhllmeaam => "PKNCOLMIEBL_GBJHLLMEAAM", + Self::Hdadbanfiba => "PKNCOLMIEBL_HDADBANFIBA", + Self::Kobkdnjkmoo => "PKNCOLMIEBL_KOBKDNJKMOO", + Self::Ajnhbpaehfk => "PKNCOLMIEBL_AJNHBPAEHFK", + Self::Kcccjfhkanb => "PKNCOLMIEBL_KCCCJFHKANB", + Self::Fpikbacehpk => "PKNCOLMIEBL_FPIKBACEHPK", + Self::Bokjmedcchi => "PKNCOLMIEBL_BOKJMEDCCHI", + Self::Pjghefagjdj => "PKNCOLMIEBL_PJGHEFAGJDJ", + Self::Heomfinlopb => "PKNCOLMIEBL_HEOMFINLOPB", + Self::Fbeiachhdjc => "PKNCOLMIEBL_FBEIACHHDJC", + Self::Mhinidjbnjd => "PKNCOLMIEBL_MHINIDJBNJD", + Self::Idpoinakfdo => "PKNCOLMIEBL_IDPOINAKFDO", + Self::Heneaadmaje => "PKNCOLMIEBL_HENEAADMAJE", + Self::Lmdmkjibfcd => "PKNCOLMIEBL_LMDMKJIBFCD", + Self::Ocieepkfpkc => "PKNCOLMIEBL_OCIEEPKFPKC", + Self::Cmnmfldfpce => "PKNCOLMIEBL_CMNMFLDFPCE", + Self::Epffopmgekj => "PKNCOLMIEBL_EPFFOPMGEKJ", + Self::Jcjhfgingfm => "PKNCOLMIEBL_JCJHFGINGFM", + Self::Bldnjkkblcc => "PKNCOLMIEBL_BLDNJKKBLCC", + Self::Fgambbamjpd => "PKNCOLMIEBL_FGAMBBAMJPD", + Self::Gbbfldpclel => "PKNCOLMIEBL_GBBFLDPCLEL", + Self::Bjcdciilopd => "PKNCOLMIEBL_BJCDCIILOPD", + Self::Pdolchhpifa => "PKNCOLMIEBL_PDOLCHHPIFA", + Self::Ohecmkiihki => "PKNCOLMIEBL_OHECMKIIHKI", + Self::Mkbjhcojpbf => "PKNCOLMIEBL_MKBJHCOJPBF", + Self::Ledcbfheocp => "PKNCOLMIEBL_LEDCBFHEOCP", + Self::Djjcigklhji => "PKNCOLMIEBL_DJJCIGKLHJI", + Self::Dmdcenkpnkm => "PKNCOLMIEBL_DMDCENKPNKM", + Self::Fldkfomakke => "PKNCOLMIEBL_FLDKFOMAKKE", + Self::Oombkkdjcki => "PKNCOLMIEBL_OOMBKKDJCKI", + Self::Jgoconajcfc => "PKNCOLMIEBL_JGOCONAJCFC", + Self::Djcpcnmghkf => "PKNCOLMIEBL_DJCPCNMGHKF", + Self::Ebdgckkannc => "PKNCOLMIEBL_EBDGCKKANNC", + Self::Jfcmgpkmpnn => "PKNCOLMIEBL_JFCMGPKMPNN", + Self::Ejfcdhcglok => "PKNCOLMIEBL_EJFCDHCGLOK", + Self::Diicofojkpg => "PKNCOLMIEBL_DIICOFOJKPG", + Self::Nfgecepalbp => "PKNCOLMIEBL_NFGECEPALBP", + Self::Fdndpdlmdnm => "PKNCOLMIEBL_FDNDPDLMDNM", + Self::Kilbdlaeeig => "PKNCOLMIEBL_KILBDLAEEIG", + Self::Gabknpdbpmh => "PKNCOLMIEBL_GABKNPDBPMH", + Self::Ialffdojili => "PKNCOLMIEBL_IALFFDOJILI", + Self::Lnfammaobnd => "PKNCOLMIEBL_LNFAMMAOBND", + Self::Ekofhooloai => "PKNCOLMIEBL_EKOFHOOLOAI", + Self::Cddaoagblnb => "PKNCOLMIEBL_CDDAOAGBLNB", + Self::Agnlhoolblc => "PKNCOLMIEBL_AGNLHOOLBLC", + Self::Ecpeknfkfca => "PKNCOLMIEBL_ECPEKNFKFCA", + Self::Fbelbepohpf => "PKNCOLMIEBL_FBELBEPOHPF", + Self::Ifhfamoeeeb => "PKNCOLMIEBL_IFHFAMOEEEB", + Self::Mblbifmeedd => "PKNCOLMIEBL_MBLBIFMEEDD", + Self::Hkgbnaigike => "PKNCOLMIEBL_HKGBNAIGIKE", + Self::Ggnldepgpog => "PKNCOLMIEBL_GGNLDEPGPOG", + Self::Pnhlccepabj => "PKNCOLMIEBL_PNHLCCEPABJ", + Self::Lmdedgofmnj => "PKNCOLMIEBL_LMDEDGOFMNJ", + Self::Mcdbbkodagp => "PKNCOLMIEBL_MCDBBKODAGP", + Self::Akccbmgdped => "PKNCOLMIEBL_AKCCBMGDPED", + Self::Mkilceppmob => "PKNCOLMIEBL_MKILCEPPMOB", + Self::Ldbllicokdk => "PKNCOLMIEBL_LDBLLICOKDK", + Self::Eedbcflffbk => "PKNCOLMIEBL_EEDBCFLFFBK", + Self::Ndkdelbpcaf => "PKNCOLMIEBL_NDKDELBPCAF", + Self::Ibkcgiceecf => "PKNCOLMIEBL_IBKCGICEECF", + Self::Ikkjgjflden => "PKNCOLMIEBL_IKKJGJFLDEN", + Self::Dmpkpafcngk => "PKNCOLMIEBL_DMPKPAFCNGK", + Self::Femgmnomcpe => "PKNCOLMIEBL_FEMGMNOMCPE", + Self::Hgeaidcpcko => "PKNCOLMIEBL_HGEAIDCPCKO", + Self::Jddngilceoe => "PKNCOLMIEBL_JDDNGILCEOE", + Self::Pghfjdohjbh => "PKNCOLMIEBL_PGHFJDOHJBH", + Self::Pelemmbijif => "PKNCOLMIEBL_PELEMMBIJIF", + Self::Hlmnodjalkg => "PKNCOLMIEBL_HLMNODJALKG", + Self::Apdailldjln => "PKNCOLMIEBL_APDAILLDJLN", + Self::Ifojbnlmbld => "PKNCOLMIEBL_IFOJBNLMBLD", + Self::Nppbmmibpgm => "PKNCOLMIEBL_NPPBMMIBPGM", + Self::Khbgdoeklho => "PKNCOLMIEBL_KHBGDOEKLHO", + Self::Gdjdopgecck => "PKNCOLMIEBL_GDJDOPGECCK", + Self::Elggipbldlb => "PKNCOLMIEBL_ELGGIPBLDLB", + Self::Ooclpimgoja => "PKNCOLMIEBL_OOCLPIMGOJA", + Self::Diekkcamdco => "PKNCOLMIEBL_DIEKKCAMDCO", + Self::Nmedhamfoie => "PKNCOLMIEBL_NMEDHAMFOIE", + Self::Mhhjfcggcfc => "PKNCOLMIEBL_MHHJFCGGCFC", + Self::Hnnkacbmdjf => "PKNCOLMIEBL_HNNKACBMDJF", + Self::Hoacleooheh => "PKNCOLMIEBL_HOACLEOOHEH", + Self::Mcjnpgkbhba => "PKNCOLMIEBL_MCJNPGKBHBA", + Self::Gmahhfojmmg => "PKNCOLMIEBL_GMAHHFOJMMG", + Self::Gfgjbmfcpme => "PKNCOLMIEBL_GFGJBMFCPME", + Self::Ofjohngocdp => "PKNCOLMIEBL_OFJOHNGOCDP", + Self::Eleikniilke => "PKNCOLMIEBL_ELEIKNIILKE", + Self::Klkddfpkeaf => "PKNCOLMIEBL_KLKDDFPKEAF", + Self::Hfnmnabaopp => "PKNCOLMIEBL_HFNMNABAOPP", + Self::Badcpamamid => "PKNCOLMIEBL_BADCPAMAMID", + Self::Fapmeedhljp => "PKNCOLMIEBL_FAPMEEDHLJP", + Self::Cdkgnngnhbl => "PKNCOLMIEBL_CDKGNNGNHBL", + Self::Cinhnmdgcce => "PKNCOLMIEBL_CINHNMDGCCE", + Self::Kejpkipmpmd => "PKNCOLMIEBL_KEJPKIPMPMD", + Self::Phmfcpboaai => "PKNCOLMIEBL_PHMFCPBOAAI", + Self::Pgpbfonlonl => "PKNCOLMIEBL_PGPBFONLONL", + Self::Ihhkiadfojn => "PKNCOLMIEBL_IHHKIADFOJN", + Self::Gnjdmbhniko => "PKNCOLMIEBL_GNJDMBHNIKO", + Self::Dpjglbbfkmo => "PKNCOLMIEBL_DPJGLBBFKMO", + Self::Jdhimeoolgg => "PKNCOLMIEBL_JDHIMEOOLGG", + Self::Pfafogmekei => "PKNCOLMIEBL_PFAFOGMEKEI", + Self::Inchemnonoo => "PKNCOLMIEBL_INCHEMNONOO", + Self::Ebcmknlhmcm => "PKNCOLMIEBL_EBCMKNLHMCM", + Self::Ohfomnboaeg => "PKNCOLMIEBL_OHFOMNBOAEG", + Self::Mebjbgefnmk => "PKNCOLMIEBL_MEBJBGEFNMK", + Self::Ekdbfcilhgp => "PKNCOLMIEBL_EKDBFCILHGP", + Self::Flmgelakhnp => "PKNCOLMIEBL_FLMGELAKHNP", + Self::Nkcihfonodi => "PKNCOLMIEBL_NKCIHFONODI", + Self::Djcebogaggg => "PKNCOLMIEBL_DJCEBOGAGGG", + Self::Iabblfkplfe => "PKNCOLMIEBL_IABBLFKPLFE", + Self::Cfodjndaegg => "PKNCOLMIEBL_CFODJNDAEGG", + Self::Eiiflbmioba => "PKNCOLMIEBL_EIIFLBMIOBA", + Self::Apclndnmmpp => "PKNCOLMIEBL_APCLNDNMMPP", + Self::Fbkmlihkmgo => "PKNCOLMIEBL_FBKMLIHKMGO", + Self::Ipchennkogd => "PKNCOLMIEBL_IPCHENNKOGD", + Self::Honihcdgkpm => "PKNCOLMIEBL_HONIHCDGKPM", + Self::Alabdhalngd => "PKNCOLMIEBL_ALABDHALNGD", + Self::Dgnipabglcn => "PKNCOLMIEBL_DGNIPABGLCN", + Self::Lhicllgfhjj => "PKNCOLMIEBL_LHICLLGFHJJ", + Self::Emcfnhdcold => "PKNCOLMIEBL_EMCFNHDCOLD", + Self::Bhfkfkfjacp => "PKNCOLMIEBL_BHFKFKFJACP", + Self::Jdddgakjnfn => "PKNCOLMIEBL_JDDDGAKJNFN", + Self::Pagdbdbgahh => "PKNCOLMIEBL_PAGDBDBGAHH", + Self::Nkclggfbffl => "PKNCOLMIEBL_NKCLGGFBFFL", + Self::Nhahnlnlaja => "PKNCOLMIEBL_NHAHNLNLAJA", + Self::Fkimohhmmif => "PKNCOLMIEBL_FKIMOHHMMIF", + Self::Hmfjbgbdekp => "PKNCOLMIEBL_HMFJBGBDEKP", + Self::Oojckngmkkj => "PKNCOLMIEBL_OOJCKNGMKKJ", + Self::Bcapegejpkn => "PKNCOLMIEBL_BCAPEGEJPKN", + Self::Ncojcchkgcj => "PKNCOLMIEBL_NCOJCCHKGCJ", + Self::Nfjjcafpnmk => "PKNCOLMIEBL_NFJJCAFPNMK", + Self::Abfpjbjpcln => "PKNCOLMIEBL_ABFPJBJPCLN", + Self::Efdnmogjnal => "PKNCOLMIEBL_EFDNMOGJNAL", + Self::Kolkioolcgm => "PKNCOLMIEBL_KOLKIOOLCGM", + Self::Ibhgemaaobg => "PKNCOLMIEBL_IBHGEMAAOBG", + Self::Kcaihdnbjob => "PKNCOLMIEBL_KCAIHDNBJOB", + Self::Fdenpkbhafl => "PKNCOLMIEBL_FDENPKBHAFL", + Self::Pnplefmnhpl => "PKNCOLMIEBL_PNPLEFMNHPL", + Self::Hjihlemfehl => "PKNCOLMIEBL_HJIHLEMFEHL", + Self::Jmhacgbmdec => "PKNCOLMIEBL_JMHACGBMDEC", + Self::Gclcfbnlfih => "PKNCOLMIEBL_GCLCFBNLFIH", + Self::Ciigegeilnh => "PKNCOLMIEBL_CIIGEGEILNH", + Self::Emjjhapijan => "PKNCOLMIEBL_EMJJHAPIJAN", + Self::Pdogkklekmo => "PKNCOLMIEBL_PDOGKKLEKMO", + Self::Epmmeeimibh => "PKNCOLMIEBL_EPMMEEIMIBH", + Self::Dlaajkddijk => "PKNCOLMIEBL_DLAAJKDDIJK", + Self::Gbbchmkecic => "PKNCOLMIEBL_GBBCHMKECIC", + Self::Iphncehogfl => "PKNCOLMIEBL_IPHNCEHOGFL", + Self::Hoifcognfmi => "PKNCOLMIEBL_HOIFCOGNFMI", + Self::Gapogcmkbcd => "PKNCOLMIEBL_GAPOGCMKBCD", + Self::Dlhkmoilhal => "PKNCOLMIEBL_DLHKMOILHAL", + Self::Kbocolinghj => "PKNCOLMIEBL_KBOCOLINGHJ", + Self::Faabgjloahp => "PKNCOLMIEBL_FAABGJLOAHP", + Self::Bfngepijmfk => "PKNCOLMIEBL_BFNGEPIJMFK", + Self::Cpmohfpcbnc => "PKNCOLMIEBL_CPMOHFPCBNC", + Self::Anccpbgpefb => "PKNCOLMIEBL_ANCCPBGPEFB", + Self::Cldofapdpfa => "PKNCOLMIEBL_CLDOFAPDPFA", + Self::Imjabckhhaf => "PKNCOLMIEBL_IMJABCKHHAF", + Self::Fnoacmkgkbe => "PKNCOLMIEBL_FNOACMKGKBE", + Self::Jofddjihlcn => "PKNCOLMIEBL_JOFDDJIHLCN", + Self::Iepbehgiojm => "PKNCOLMIEBL_IEPBEHGIOJM", + Self::Icblkmbdfcp => "PKNCOLMIEBL_ICBLKMBDFCP", + Self::Nccapgdikgi => "PKNCOLMIEBL_NCCAPGDIKGI", + Self::Ljenanibhob => "PKNCOLMIEBL_LJENANIBHOB", + Self::Dioehjchkng => "PKNCOLMIEBL_DIOEHJCHKNG", + Self::Idnkafcalcg => "PKNCOLMIEBL_IDNKAFCALCG", + Self::Lnkbabbaeoi => "PKNCOLMIEBL_LNKBABBAEOI", + Self::Nedadikeche => "PKNCOLMIEBL_NEDADIKECHE", + Self::Fclefcgioea => "PKNCOLMIEBL_FCLEFCGIOEA", + Self::Nmkdpolbnnf => "PKNCOLMIEBL_NMKDPOLBNNF", + Self::Bemnfcbahmb => "PKNCOLMIEBL_BEMNFCBAHMB", + Self::Eemlfihdenj => "PKNCOLMIEBL_EEMLFIHDENJ", + Self::Imniecjfhip => "PKNCOLMIEBL_IMNIECJFHIP", + Self::Onggcilpcbm => "PKNCOLMIEBL_ONGGCILPCBM", + Self::Ipcggbjdoha => "PKNCOLMIEBL_IPCGGBJDOHA", + Self::Kjjinnhcdpf => "PKNCOLMIEBL_KJJINNHCDPF", + Self::Fabgbfoibig => "PKNCOLMIEBL_FABGBFOIBIG", + Self::Kddnilgdjbd => "PKNCOLMIEBL_KDDNILGDJBD", + Self::Dfkajcbcbde => "PKNCOLMIEBL_DFKAJCBCBDE", + Self::Ccpniidhdob => "PKNCOLMIEBL_CCPNIIDHDOB", + Self::Bfgchjlpcdj => "PKNCOLMIEBL_BFGCHJLPCDJ", + Self::Heiaoeoednn => "PKNCOLMIEBL_HEIAOEOEDNN", + Self::Kndmdfhikje => "PKNCOLMIEBL_KNDMDFHIKJE", + Self::Enbgbhlfman => "PKNCOLMIEBL_ENBGBHLFMAN", + Self::Ibepdpanmbi => "PKNCOLMIEBL_IBEPDPANMBI", + Self::Hihneefnjhi => "PKNCOLMIEBL_HIHNEEFNJHI", + Self::Gajdbcndkef => "PKNCOLMIEBL_GAJDBCNDKEF", + Self::Jjhbfbkdcca => "PKNCOLMIEBL_JJHBFBKDCCA", + Self::Phlffibkoll => "PKNCOLMIEBL_PHLFFIBKOLL", + Self::Kenlgkmepmj => "PKNCOLMIEBL_KENLGKMEPMJ", + Self::Bdnlnpnanhb => "PKNCOLMIEBL_BDNLNPNANHB", + Self::Hijhbfphgil => "PKNCOLMIEBL_HIJHBFPHGIL", + Self::Ijcfaelkmdh => "PKNCOLMIEBL_IJCFAELKMDH", + Self::Klaecmlfchg => "PKNCOLMIEBL_KLAECMLFCHG", + Self::Oopnlahhnnc => "PKNCOLMIEBL_OOPNLAHHNNC", + Self::Elkigjfamed => "PKNCOLMIEBL_ELKIGJFAMED", + Self::Omclajjanmc => "PKNCOLMIEBL_OMCLAJJANMC", + Self::Jhgkieecaej => "PKNCOLMIEBL_JHGKIEECAEJ", + Self::Mfnhcdegmld => "PKNCOLMIEBL_MFNHCDEGMLD", + Self::Pkhodfaaiem => "PKNCOLMIEBL_PKHODFAAIEM", + Self::Ojnlfabndeg => "PKNCOLMIEBL_OJNLFABNDEG", + Self::Lagkoadjjcp => "PKNCOLMIEBL_LAGKOADJJCP", + Self::Mpiafejbdoc => "PKNCOLMIEBL_MPIAFEJBDOC", + Self::Ibmihhegiej => "PKNCOLMIEBL_IBMIHHEGIEJ", + Self::Aaidlinhknl => "PKNCOLMIEBL_AAIDLINHKNL", + Self::Gklnghbcghc => "PKNCOLMIEBL_GKLNGHBCGHC", + Self::Mnfmgnoolnk => "PKNCOLMIEBL_MNFMGNOOLNK", + Self::Apenojlaelg => "PKNCOLMIEBL_APENOJLAELG", + Self::Mkoppfhioda => "PKNCOLMIEBL_MKOPPFHIODA", + Self::Lhikbfkjblh => "PKNCOLMIEBL_LHIKBFKJBLH", + Self::Cpnojocanal => "PKNCOLMIEBL_CPNOJOCANAL", + Self::Bhmjmbeafbo => "PKNCOLMIEBL_BHMJMBEAFBO", + Self::Bfipiglnhck => "PKNCOLMIEBL_BFIPIGLNHCK", + Self::Aemcffbooei => "PKNCOLMIEBL_AEMCFFBOOEI", + Self::Lacgnkcokac => "PKNCOLMIEBL_LACGNKCOKAC", + Self::Jalapokjlan => "PKNCOLMIEBL_JALAPOKJLAN", + Self::Ogebpdgdcao => "PKNCOLMIEBL_OGEBPDGDCAO", + Self::Alojbinkbdg => "PKNCOLMIEBL_ALOJBINKBDG", + Self::Ggjpgjgckei => "PKNCOLMIEBL_GGJPGJGCKEI", + Self::Ienogfflocg => "PKNCOLMIEBL_IENOGFFLOCG", + Self::Hebapkphipj => "PKNCOLMIEBL_HEBAPKPHIPJ", + Self::Ojnidmmiphj => "PKNCOLMIEBL_OJNIDMMIPHJ", + Self::Fppbbfdnjka => "PKNCOLMIEBL_FPPBBFDNJKA", + Self::Fehngeggkok => "PKNCOLMIEBL_FEHNGEGGKOK", + Self::Ipcjjniefcl => "PKNCOLMIEBL_IPCJJNIEFCL", + Self::Aihffokohdg => "PKNCOLMIEBL_AIHFFOKOHDG", + Self::Gjmoofgbpkg => "PKNCOLMIEBL_GJMOOFGBPKG", + Self::Adgoakjeoea => "PKNCOLMIEBL_ADGOAKJEOEA", + Self::Bojhkeigoei => "PKNCOLMIEBL_BOJHKEIGOEI", + Self::Nhlboekfamk => "PKNCOLMIEBL_NHLBOEKFAMK", + Self::Eendednojei => "PKNCOLMIEBL_EENDEDNOJEI", + Self::Fpjgoonmklg => "PKNCOLMIEBL_FPJGOONMKLG", + Self::Lbjaijninbo => "PKNCOLMIEBL_LBJAIJNINBO", + Self::Edgfckpkfap => "PKNCOLMIEBL_EDGFCKPKFAP", + Self::Hnppdgofhhb => "PKNCOLMIEBL_HNPPDGOFHHB", + Self::Pogpjpdnben => "PKNCOLMIEBL_POGPJPDNBEN", + Self::Npkkldpgljb => "PKNCOLMIEBL_NPKKLDPGLJB", + Self::Kbapdhpjfda => "PKNCOLMIEBL_KBAPDHPJFDA", + Self::Peeeeaapigo => "PKNCOLMIEBL_PEEEEAAPIGO", + Self::Lholacoofan => "PKNCOLMIEBL_LHOLACOOFAN", + Self::Oiaoegadehn => "PKNCOLMIEBL_OIAOEGADEHN", + Self::Ndjadhlogjl => "PKNCOLMIEBL_NDJADHLOGJL", + Self::Idejcibbcde => "PKNCOLMIEBL_IDEJCIBBCDE", + Self::Ikofieomcpk => "PKNCOLMIEBL_IKOFIEOMCPK", + Self::Ldepkoipgpi => "PKNCOLMIEBL_LDEPKOIPGPI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PKNCOLMIEBL_OGAECMPKPGK" => Some(Self::Ogaecmpkpgk), + "PKNCOLMIEBL_NLNOLJOOHLL" => Some(Self::Nlnoljoohll), + "PKNCOLMIEBL_AGHAHKKOCAM" => Some(Self::Aghahkkocam), + "PKNCOLMIEBL_FIKEEEHDPJO" => Some(Self::Fikeeehdpjo), + "PKNCOLMIEBL_OFEECFFOIOO" => Some(Self::Ofeecffoioo), + "PKNCOLMIEBL_ONKPHNCOFFL" => Some(Self::Onkphncoffl), + "PKNCOLMIEBL_BKJFBPHPBDD" => Some(Self::Bkjfbphpbdd), + "PKNCOLMIEBL_IJDPBGDFJHF" => Some(Self::Ijdpbgdfjhf), + "PKNCOLMIEBL_GBJPLNDLJGG" => Some(Self::Gbjplndljgg), + "PKNCOLMIEBL_HCFAHLFLEHA" => Some(Self::Hcfahlfleha), + "PKNCOLMIEBL_BHAAFIBOMBO" => Some(Self::Bhaafibombo), + "PKNCOLMIEBL_FACLNNJPCHD" => Some(Self::Faclnnjpchd), + "PKNCOLMIEBL_GMKLDGHOPPD" => Some(Self::Gmkldghoppd), + "PKNCOLMIEBL_BMACBDHEBEM" => Some(Self::Bmacbdhebem), + "PKNCOLMIEBL_LPDIAPNDCBO" => Some(Self::Lpdiapndcbo), + "PKNCOLMIEBL_GNCHPLBMBJH" => Some(Self::Gnchplbmbjh), + "PKNCOLMIEBL_OLKKNIAHMBN" => Some(Self::Olkkniahmbn), + "PKNCOLMIEBL_KFIGMGDOFBE" => Some(Self::Kfigmgdofbe), + "PKNCOLMIEBL_KDJFOEBLKDG" => Some(Self::Kdjfoeblkdg), + "PKNCOLMIEBL_DJKJFOMKJLJ" => Some(Self::Djkjfomkjlj), + "PKNCOLMIEBL_HEEINCDJEBC" => Some(Self::Heeincdjebc), + "PKNCOLMIEBL_AFNLNKHMPIG" => Some(Self::Afnlnkhmpig), + "PKNCOLMIEBL_ELFHJLFHJCL" => Some(Self::Elfhjlfhjcl), + "PKNCOLMIEBL_AHHJALABMAG" => Some(Self::Ahhjalabmag), + "PKNCOLMIEBL_GANLOGNNGCH" => Some(Self::Ganlognngch), + "PKNCOLMIEBL_HIGAEEEMANG" => Some(Self::Higaeeemang), + "PKNCOLMIEBL_IFBMDJFFEOO" => Some(Self::Ifbmdjffeoo), + "PKNCOLMIEBL_AKDLAAJIEKE" => Some(Self::Akdlaajieke), + "PKNCOLMIEBL_AHJLHICIPJD" => Some(Self::Ahjlhicipjd), + "PKNCOLMIEBL_CNLENKONFJJ" => Some(Self::Cnlenkonfjj), + "PKNCOLMIEBL_AFGKGKMEDME" => Some(Self::Afgkgkmedme), + "PKNCOLMIEBL_IPKOIPHDJKJ" => Some(Self::Ipkoiphdjkj), + "PKNCOLMIEBL_GFOHMHFOELE" => Some(Self::Gfohmhfoele), + "PKNCOLMIEBL_GOIFKODEDLK" => Some(Self::Goifkodedlk), + "PKNCOLMIEBL_LMOCGGKGIEA" => Some(Self::Lmocggkgiea), + "PKNCOLMIEBL_PMPKMKAHPGK" => Some(Self::Pmpkmkahpgk), + "PKNCOLMIEBL_AJKELOFIEBA" => Some(Self::Ajkelofieba), + "PKNCOLMIEBL_EMONDNPLDKC" => Some(Self::Emondnpldkc), + "PKNCOLMIEBL_EHBDAHBLFFM" => Some(Self::Ehbdahblffm), + "PKNCOLMIEBL_FKPAMPMNFNL" => Some(Self::Fkpampmnfnl), + "PKNCOLMIEBL_NEMFIEHGHGL" => Some(Self::Nemfiehghgl), + "PKNCOLMIEBL_KENLBEFNILG" => Some(Self::Kenlbefnilg), + "PKNCOLMIEBL_ADMDCMIKPFP" => Some(Self::Admdcmikpfp), + "PKNCOLMIEBL_JGMAGNBANLP" => Some(Self::Jgmagnbanlp), + "PKNCOLMIEBL_JMNAOKKGCJP" => Some(Self::Jmnaokkgcjp), + "PKNCOLMIEBL_CHJMFKAKMCI" => Some(Self::Chjmfkakmci), + "PKNCOLMIEBL_GKAHCNNGPFJ" => Some(Self::Gkahcnngpfj), + "PKNCOLMIEBL_AEPGCHMOKAB" => Some(Self::Aepgchmokab), + "PKNCOLMIEBL_LHDCNPMDEOA" => Some(Self::Lhdcnpmdeoa), + "PKNCOLMIEBL_CEOENBMHLNJ" => Some(Self::Ceoenbmhlnj), + "PKNCOLMIEBL_CPLDFJLGIPA" => Some(Self::Cpldfjlgipa), + "PKNCOLMIEBL_OEKMJHGIEIL" => Some(Self::Oekmjhgieil), + "PKNCOLMIEBL_HAGMKIIIHGD" => Some(Self::Hagmkiiihgd), + "PKNCOLMIEBL_FOIFEJMPJHE" => Some(Self::Foifejmpjhe), + "PKNCOLMIEBL_NCCLCELHNLO" => Some(Self::Ncclcelhnlo), + "PKNCOLMIEBL_OHIJOKGGMDG" => Some(Self::Ohijokggmdg), + "PKNCOLMIEBL_BGMEDKCIIJE" => Some(Self::Bgmedkciije), + "PKNCOLMIEBL_BFDEMGJIPBM" => Some(Self::Bfdemgjipbm), + "PKNCOLMIEBL_ILAKHEEKHME" => Some(Self::Ilakheekhme), + "PKNCOLMIEBL_KPEEGAFGLJI" => Some(Self::Kpeegafglji), + "PKNCOLMIEBL_HEKIEKIBOKF" => Some(Self::Hekiekibokf), + "PKNCOLMIEBL_EAKHMFMBFOF" => Some(Self::Eakhmfmbfof), + "PKNCOLMIEBL_ILAEECPCOGB" => Some(Self::Ilaeecpcogb), + "PKNCOLMIEBL_HOBIGDHICLN" => Some(Self::Hobigdhicln), + "PKNCOLMIEBL_BICBCEMBKMF" => Some(Self::Bicbcembkmf), + "PKNCOLMIEBL_FHHAALIPPHP" => Some(Self::Fhhaalipphp), + "PKNCOLMIEBL_KPFKIDGKDKC" => Some(Self::Kpfkidgkdkc), + "PKNCOLMIEBL_PJIAFNIHGFO" => Some(Self::Pjiafnihgfo), + "PKNCOLMIEBL_DGCCNJIONOK" => Some(Self::Dgccnjionok), + "PKNCOLMIEBL_DJCCFPLEPEP" => Some(Self::Djccfplepep), + "PKNCOLMIEBL_JLPCGHGADMK" => Some(Self::Jlpcghgadmk), + "PKNCOLMIEBL_IDNPBJICDEN" => Some(Self::Idnpbjicden), + "PKNCOLMIEBL_FKMEJNCBHGJ" => Some(Self::Fkmejncbhgj), + "PKNCOLMIEBL_HIPCBHILJJM" => Some(Self::Hipcbhiljjm), + "PKNCOLMIEBL_GBJHLLMEAAM" => Some(Self::Gbjhllmeaam), + "PKNCOLMIEBL_HDADBANFIBA" => Some(Self::Hdadbanfiba), + "PKNCOLMIEBL_KOBKDNJKMOO" => Some(Self::Kobkdnjkmoo), + "PKNCOLMIEBL_AJNHBPAEHFK" => Some(Self::Ajnhbpaehfk), + "PKNCOLMIEBL_KCCCJFHKANB" => Some(Self::Kcccjfhkanb), + "PKNCOLMIEBL_FPIKBACEHPK" => Some(Self::Fpikbacehpk), + "PKNCOLMIEBL_BOKJMEDCCHI" => Some(Self::Bokjmedcchi), + "PKNCOLMIEBL_PJGHEFAGJDJ" => Some(Self::Pjghefagjdj), + "PKNCOLMIEBL_HEOMFINLOPB" => Some(Self::Heomfinlopb), + "PKNCOLMIEBL_FBEIACHHDJC" => Some(Self::Fbeiachhdjc), + "PKNCOLMIEBL_MHINIDJBNJD" => Some(Self::Mhinidjbnjd), + "PKNCOLMIEBL_IDPOINAKFDO" => Some(Self::Idpoinakfdo), + "PKNCOLMIEBL_HENEAADMAJE" => Some(Self::Heneaadmaje), + "PKNCOLMIEBL_LMDMKJIBFCD" => Some(Self::Lmdmkjibfcd), + "PKNCOLMIEBL_OCIEEPKFPKC" => Some(Self::Ocieepkfpkc), + "PKNCOLMIEBL_CMNMFLDFPCE" => Some(Self::Cmnmfldfpce), + "PKNCOLMIEBL_EPFFOPMGEKJ" => Some(Self::Epffopmgekj), + "PKNCOLMIEBL_JCJHFGINGFM" => Some(Self::Jcjhfgingfm), + "PKNCOLMIEBL_BLDNJKKBLCC" => Some(Self::Bldnjkkblcc), + "PKNCOLMIEBL_FGAMBBAMJPD" => Some(Self::Fgambbamjpd), + "PKNCOLMIEBL_GBBFLDPCLEL" => Some(Self::Gbbfldpclel), + "PKNCOLMIEBL_BJCDCIILOPD" => Some(Self::Bjcdciilopd), + "PKNCOLMIEBL_PDOLCHHPIFA" => Some(Self::Pdolchhpifa), + "PKNCOLMIEBL_OHECMKIIHKI" => Some(Self::Ohecmkiihki), + "PKNCOLMIEBL_MKBJHCOJPBF" => Some(Self::Mkbjhcojpbf), + "PKNCOLMIEBL_LEDCBFHEOCP" => Some(Self::Ledcbfheocp), + "PKNCOLMIEBL_DJJCIGKLHJI" => Some(Self::Djjcigklhji), + "PKNCOLMIEBL_DMDCENKPNKM" => Some(Self::Dmdcenkpnkm), + "PKNCOLMIEBL_FLDKFOMAKKE" => Some(Self::Fldkfomakke), + "PKNCOLMIEBL_OOMBKKDJCKI" => Some(Self::Oombkkdjcki), + "PKNCOLMIEBL_JGOCONAJCFC" => Some(Self::Jgoconajcfc), + "PKNCOLMIEBL_DJCPCNMGHKF" => Some(Self::Djcpcnmghkf), + "PKNCOLMIEBL_EBDGCKKANNC" => Some(Self::Ebdgckkannc), + "PKNCOLMIEBL_JFCMGPKMPNN" => Some(Self::Jfcmgpkmpnn), + "PKNCOLMIEBL_EJFCDHCGLOK" => Some(Self::Ejfcdhcglok), + "PKNCOLMIEBL_DIICOFOJKPG" => Some(Self::Diicofojkpg), + "PKNCOLMIEBL_NFGECEPALBP" => Some(Self::Nfgecepalbp), + "PKNCOLMIEBL_FDNDPDLMDNM" => Some(Self::Fdndpdlmdnm), + "PKNCOLMIEBL_KILBDLAEEIG" => Some(Self::Kilbdlaeeig), + "PKNCOLMIEBL_GABKNPDBPMH" => Some(Self::Gabknpdbpmh), + "PKNCOLMIEBL_IALFFDOJILI" => Some(Self::Ialffdojili), + "PKNCOLMIEBL_LNFAMMAOBND" => Some(Self::Lnfammaobnd), + "PKNCOLMIEBL_EKOFHOOLOAI" => Some(Self::Ekofhooloai), + "PKNCOLMIEBL_CDDAOAGBLNB" => Some(Self::Cddaoagblnb), + "PKNCOLMIEBL_AGNLHOOLBLC" => Some(Self::Agnlhoolblc), + "PKNCOLMIEBL_ECPEKNFKFCA" => Some(Self::Ecpeknfkfca), + "PKNCOLMIEBL_FBELBEPOHPF" => Some(Self::Fbelbepohpf), + "PKNCOLMIEBL_IFHFAMOEEEB" => Some(Self::Ifhfamoeeeb), + "PKNCOLMIEBL_MBLBIFMEEDD" => Some(Self::Mblbifmeedd), + "PKNCOLMIEBL_HKGBNAIGIKE" => Some(Self::Hkgbnaigike), + "PKNCOLMIEBL_GGNLDEPGPOG" => Some(Self::Ggnldepgpog), + "PKNCOLMIEBL_PNHLCCEPABJ" => Some(Self::Pnhlccepabj), + "PKNCOLMIEBL_LMDEDGOFMNJ" => Some(Self::Lmdedgofmnj), + "PKNCOLMIEBL_MCDBBKODAGP" => Some(Self::Mcdbbkodagp), + "PKNCOLMIEBL_AKCCBMGDPED" => Some(Self::Akccbmgdped), + "PKNCOLMIEBL_MKILCEPPMOB" => Some(Self::Mkilceppmob), + "PKNCOLMIEBL_LDBLLICOKDK" => Some(Self::Ldbllicokdk), + "PKNCOLMIEBL_EEDBCFLFFBK" => Some(Self::Eedbcflffbk), + "PKNCOLMIEBL_NDKDELBPCAF" => Some(Self::Ndkdelbpcaf), + "PKNCOLMIEBL_IBKCGICEECF" => Some(Self::Ibkcgiceecf), + "PKNCOLMIEBL_IKKJGJFLDEN" => Some(Self::Ikkjgjflden), + "PKNCOLMIEBL_DMPKPAFCNGK" => Some(Self::Dmpkpafcngk), + "PKNCOLMIEBL_FEMGMNOMCPE" => Some(Self::Femgmnomcpe), + "PKNCOLMIEBL_HGEAIDCPCKO" => Some(Self::Hgeaidcpcko), + "PKNCOLMIEBL_JDDNGILCEOE" => Some(Self::Jddngilceoe), + "PKNCOLMIEBL_PGHFJDOHJBH" => Some(Self::Pghfjdohjbh), + "PKNCOLMIEBL_PELEMMBIJIF" => Some(Self::Pelemmbijif), + "PKNCOLMIEBL_HLMNODJALKG" => Some(Self::Hlmnodjalkg), + "PKNCOLMIEBL_APDAILLDJLN" => Some(Self::Apdailldjln), + "PKNCOLMIEBL_IFOJBNLMBLD" => Some(Self::Ifojbnlmbld), + "PKNCOLMIEBL_NPPBMMIBPGM" => Some(Self::Nppbmmibpgm), + "PKNCOLMIEBL_KHBGDOEKLHO" => Some(Self::Khbgdoeklho), + "PKNCOLMIEBL_GDJDOPGECCK" => Some(Self::Gdjdopgecck), + "PKNCOLMIEBL_ELGGIPBLDLB" => Some(Self::Elggipbldlb), + "PKNCOLMIEBL_OOCLPIMGOJA" => Some(Self::Ooclpimgoja), + "PKNCOLMIEBL_DIEKKCAMDCO" => Some(Self::Diekkcamdco), + "PKNCOLMIEBL_NMEDHAMFOIE" => Some(Self::Nmedhamfoie), + "PKNCOLMIEBL_MHHJFCGGCFC" => Some(Self::Mhhjfcggcfc), + "PKNCOLMIEBL_HNNKACBMDJF" => Some(Self::Hnnkacbmdjf), + "PKNCOLMIEBL_HOACLEOOHEH" => Some(Self::Hoacleooheh), + "PKNCOLMIEBL_MCJNPGKBHBA" => Some(Self::Mcjnpgkbhba), + "PKNCOLMIEBL_GMAHHFOJMMG" => Some(Self::Gmahhfojmmg), + "PKNCOLMIEBL_GFGJBMFCPME" => Some(Self::Gfgjbmfcpme), + "PKNCOLMIEBL_OFJOHNGOCDP" => Some(Self::Ofjohngocdp), + "PKNCOLMIEBL_ELEIKNIILKE" => Some(Self::Eleikniilke), + "PKNCOLMIEBL_KLKDDFPKEAF" => Some(Self::Klkddfpkeaf), + "PKNCOLMIEBL_HFNMNABAOPP" => Some(Self::Hfnmnabaopp), + "PKNCOLMIEBL_BADCPAMAMID" => Some(Self::Badcpamamid), + "PKNCOLMIEBL_FAPMEEDHLJP" => Some(Self::Fapmeedhljp), + "PKNCOLMIEBL_CDKGNNGNHBL" => Some(Self::Cdkgnngnhbl), + "PKNCOLMIEBL_CINHNMDGCCE" => Some(Self::Cinhnmdgcce), + "PKNCOLMIEBL_KEJPKIPMPMD" => Some(Self::Kejpkipmpmd), + "PKNCOLMIEBL_PHMFCPBOAAI" => Some(Self::Phmfcpboaai), + "PKNCOLMIEBL_PGPBFONLONL" => Some(Self::Pgpbfonlonl), + "PKNCOLMIEBL_IHHKIADFOJN" => Some(Self::Ihhkiadfojn), + "PKNCOLMIEBL_GNJDMBHNIKO" => Some(Self::Gnjdmbhniko), + "PKNCOLMIEBL_DPJGLBBFKMO" => Some(Self::Dpjglbbfkmo), + "PKNCOLMIEBL_JDHIMEOOLGG" => Some(Self::Jdhimeoolgg), + "PKNCOLMIEBL_PFAFOGMEKEI" => Some(Self::Pfafogmekei), + "PKNCOLMIEBL_INCHEMNONOO" => Some(Self::Inchemnonoo), + "PKNCOLMIEBL_EBCMKNLHMCM" => Some(Self::Ebcmknlhmcm), + "PKNCOLMIEBL_OHFOMNBOAEG" => Some(Self::Ohfomnboaeg), + "PKNCOLMIEBL_MEBJBGEFNMK" => Some(Self::Mebjbgefnmk), + "PKNCOLMIEBL_EKDBFCILHGP" => Some(Self::Ekdbfcilhgp), + "PKNCOLMIEBL_FLMGELAKHNP" => Some(Self::Flmgelakhnp), + "PKNCOLMIEBL_NKCIHFONODI" => Some(Self::Nkcihfonodi), + "PKNCOLMIEBL_DJCEBOGAGGG" => Some(Self::Djcebogaggg), + "PKNCOLMIEBL_IABBLFKPLFE" => Some(Self::Iabblfkplfe), + "PKNCOLMIEBL_CFODJNDAEGG" => Some(Self::Cfodjndaegg), + "PKNCOLMIEBL_EIIFLBMIOBA" => Some(Self::Eiiflbmioba), + "PKNCOLMIEBL_APCLNDNMMPP" => Some(Self::Apclndnmmpp), + "PKNCOLMIEBL_FBKMLIHKMGO" => Some(Self::Fbkmlihkmgo), + "PKNCOLMIEBL_IPCHENNKOGD" => Some(Self::Ipchennkogd), + "PKNCOLMIEBL_HONIHCDGKPM" => Some(Self::Honihcdgkpm), + "PKNCOLMIEBL_ALABDHALNGD" => Some(Self::Alabdhalngd), + "PKNCOLMIEBL_DGNIPABGLCN" => Some(Self::Dgnipabglcn), + "PKNCOLMIEBL_LHICLLGFHJJ" => Some(Self::Lhicllgfhjj), + "PKNCOLMIEBL_EMCFNHDCOLD" => Some(Self::Emcfnhdcold), + "PKNCOLMIEBL_BHFKFKFJACP" => Some(Self::Bhfkfkfjacp), + "PKNCOLMIEBL_JDDDGAKJNFN" => Some(Self::Jdddgakjnfn), + "PKNCOLMIEBL_PAGDBDBGAHH" => Some(Self::Pagdbdbgahh), + "PKNCOLMIEBL_NKCLGGFBFFL" => Some(Self::Nkclggfbffl), + "PKNCOLMIEBL_NHAHNLNLAJA" => Some(Self::Nhahnlnlaja), + "PKNCOLMIEBL_FKIMOHHMMIF" => Some(Self::Fkimohhmmif), + "PKNCOLMIEBL_HMFJBGBDEKP" => Some(Self::Hmfjbgbdekp), + "PKNCOLMIEBL_OOJCKNGMKKJ" => Some(Self::Oojckngmkkj), + "PKNCOLMIEBL_BCAPEGEJPKN" => Some(Self::Bcapegejpkn), + "PKNCOLMIEBL_NCOJCCHKGCJ" => Some(Self::Ncojcchkgcj), + "PKNCOLMIEBL_NFJJCAFPNMK" => Some(Self::Nfjjcafpnmk), + "PKNCOLMIEBL_ABFPJBJPCLN" => Some(Self::Abfpjbjpcln), + "PKNCOLMIEBL_EFDNMOGJNAL" => Some(Self::Efdnmogjnal), + "PKNCOLMIEBL_KOLKIOOLCGM" => Some(Self::Kolkioolcgm), + "PKNCOLMIEBL_IBHGEMAAOBG" => Some(Self::Ibhgemaaobg), + "PKNCOLMIEBL_KCAIHDNBJOB" => Some(Self::Kcaihdnbjob), + "PKNCOLMIEBL_FDENPKBHAFL" => Some(Self::Fdenpkbhafl), + "PKNCOLMIEBL_PNPLEFMNHPL" => Some(Self::Pnplefmnhpl), + "PKNCOLMIEBL_HJIHLEMFEHL" => Some(Self::Hjihlemfehl), + "PKNCOLMIEBL_JMHACGBMDEC" => Some(Self::Jmhacgbmdec), + "PKNCOLMIEBL_GCLCFBNLFIH" => Some(Self::Gclcfbnlfih), + "PKNCOLMIEBL_CIIGEGEILNH" => Some(Self::Ciigegeilnh), + "PKNCOLMIEBL_EMJJHAPIJAN" => Some(Self::Emjjhapijan), + "PKNCOLMIEBL_PDOGKKLEKMO" => Some(Self::Pdogkklekmo), + "PKNCOLMIEBL_EPMMEEIMIBH" => Some(Self::Epmmeeimibh), + "PKNCOLMIEBL_DLAAJKDDIJK" => Some(Self::Dlaajkddijk), + "PKNCOLMIEBL_GBBCHMKECIC" => Some(Self::Gbbchmkecic), + "PKNCOLMIEBL_IPHNCEHOGFL" => Some(Self::Iphncehogfl), + "PKNCOLMIEBL_HOIFCOGNFMI" => Some(Self::Hoifcognfmi), + "PKNCOLMIEBL_GAPOGCMKBCD" => Some(Self::Gapogcmkbcd), + "PKNCOLMIEBL_DLHKMOILHAL" => Some(Self::Dlhkmoilhal), + "PKNCOLMIEBL_KBOCOLINGHJ" => Some(Self::Kbocolinghj), + "PKNCOLMIEBL_FAABGJLOAHP" => Some(Self::Faabgjloahp), + "PKNCOLMIEBL_BFNGEPIJMFK" => Some(Self::Bfngepijmfk), + "PKNCOLMIEBL_CPMOHFPCBNC" => Some(Self::Cpmohfpcbnc), + "PKNCOLMIEBL_ANCCPBGPEFB" => Some(Self::Anccpbgpefb), + "PKNCOLMIEBL_CLDOFAPDPFA" => Some(Self::Cldofapdpfa), + "PKNCOLMIEBL_IMJABCKHHAF" => Some(Self::Imjabckhhaf), + "PKNCOLMIEBL_FNOACMKGKBE" => Some(Self::Fnoacmkgkbe), + "PKNCOLMIEBL_JOFDDJIHLCN" => Some(Self::Jofddjihlcn), + "PKNCOLMIEBL_IEPBEHGIOJM" => Some(Self::Iepbehgiojm), + "PKNCOLMIEBL_ICBLKMBDFCP" => Some(Self::Icblkmbdfcp), + "PKNCOLMIEBL_NCCAPGDIKGI" => Some(Self::Nccapgdikgi), + "PKNCOLMIEBL_LJENANIBHOB" => Some(Self::Ljenanibhob), + "PKNCOLMIEBL_DIOEHJCHKNG" => Some(Self::Dioehjchkng), + "PKNCOLMIEBL_IDNKAFCALCG" => Some(Self::Idnkafcalcg), + "PKNCOLMIEBL_LNKBABBAEOI" => Some(Self::Lnkbabbaeoi), + "PKNCOLMIEBL_NEDADIKECHE" => Some(Self::Nedadikeche), + "PKNCOLMIEBL_FCLEFCGIOEA" => Some(Self::Fclefcgioea), + "PKNCOLMIEBL_NMKDPOLBNNF" => Some(Self::Nmkdpolbnnf), + "PKNCOLMIEBL_BEMNFCBAHMB" => Some(Self::Bemnfcbahmb), + "PKNCOLMIEBL_EEMLFIHDENJ" => Some(Self::Eemlfihdenj), + "PKNCOLMIEBL_IMNIECJFHIP" => Some(Self::Imniecjfhip), + "PKNCOLMIEBL_ONGGCILPCBM" => Some(Self::Onggcilpcbm), + "PKNCOLMIEBL_IPCGGBJDOHA" => Some(Self::Ipcggbjdoha), + "PKNCOLMIEBL_KJJINNHCDPF" => Some(Self::Kjjinnhcdpf), + "PKNCOLMIEBL_FABGBFOIBIG" => Some(Self::Fabgbfoibig), + "PKNCOLMIEBL_KDDNILGDJBD" => Some(Self::Kddnilgdjbd), + "PKNCOLMIEBL_DFKAJCBCBDE" => Some(Self::Dfkajcbcbde), + "PKNCOLMIEBL_CCPNIIDHDOB" => Some(Self::Ccpniidhdob), + "PKNCOLMIEBL_BFGCHJLPCDJ" => Some(Self::Bfgchjlpcdj), + "PKNCOLMIEBL_HEIAOEOEDNN" => Some(Self::Heiaoeoednn), + "PKNCOLMIEBL_KNDMDFHIKJE" => Some(Self::Kndmdfhikje), + "PKNCOLMIEBL_ENBGBHLFMAN" => Some(Self::Enbgbhlfman), + "PKNCOLMIEBL_IBEPDPANMBI" => Some(Self::Ibepdpanmbi), + "PKNCOLMIEBL_HIHNEEFNJHI" => Some(Self::Hihneefnjhi), + "PKNCOLMIEBL_GAJDBCNDKEF" => Some(Self::Gajdbcndkef), + "PKNCOLMIEBL_JJHBFBKDCCA" => Some(Self::Jjhbfbkdcca), + "PKNCOLMIEBL_PHLFFIBKOLL" => Some(Self::Phlffibkoll), + "PKNCOLMIEBL_KENLGKMEPMJ" => Some(Self::Kenlgkmepmj), + "PKNCOLMIEBL_BDNLNPNANHB" => Some(Self::Bdnlnpnanhb), + "PKNCOLMIEBL_HIJHBFPHGIL" => Some(Self::Hijhbfphgil), + "PKNCOLMIEBL_IJCFAELKMDH" => Some(Self::Ijcfaelkmdh), + "PKNCOLMIEBL_KLAECMLFCHG" => Some(Self::Klaecmlfchg), + "PKNCOLMIEBL_OOPNLAHHNNC" => Some(Self::Oopnlahhnnc), + "PKNCOLMIEBL_ELKIGJFAMED" => Some(Self::Elkigjfamed), + "PKNCOLMIEBL_OMCLAJJANMC" => Some(Self::Omclajjanmc), + "PKNCOLMIEBL_JHGKIEECAEJ" => Some(Self::Jhgkieecaej), + "PKNCOLMIEBL_MFNHCDEGMLD" => Some(Self::Mfnhcdegmld), + "PKNCOLMIEBL_PKHODFAAIEM" => Some(Self::Pkhodfaaiem), + "PKNCOLMIEBL_OJNLFABNDEG" => Some(Self::Ojnlfabndeg), + "PKNCOLMIEBL_LAGKOADJJCP" => Some(Self::Lagkoadjjcp), + "PKNCOLMIEBL_MPIAFEJBDOC" => Some(Self::Mpiafejbdoc), + "PKNCOLMIEBL_IBMIHHEGIEJ" => Some(Self::Ibmihhegiej), + "PKNCOLMIEBL_AAIDLINHKNL" => Some(Self::Aaidlinhknl), + "PKNCOLMIEBL_GKLNGHBCGHC" => Some(Self::Gklnghbcghc), + "PKNCOLMIEBL_MNFMGNOOLNK" => Some(Self::Mnfmgnoolnk), + "PKNCOLMIEBL_APENOJLAELG" => Some(Self::Apenojlaelg), + "PKNCOLMIEBL_MKOPPFHIODA" => Some(Self::Mkoppfhioda), + "PKNCOLMIEBL_LHIKBFKJBLH" => Some(Self::Lhikbfkjblh), + "PKNCOLMIEBL_CPNOJOCANAL" => Some(Self::Cpnojocanal), + "PKNCOLMIEBL_BHMJMBEAFBO" => Some(Self::Bhmjmbeafbo), + "PKNCOLMIEBL_BFIPIGLNHCK" => Some(Self::Bfipiglnhck), + "PKNCOLMIEBL_AEMCFFBOOEI" => Some(Self::Aemcffbooei), + "PKNCOLMIEBL_LACGNKCOKAC" => Some(Self::Lacgnkcokac), + "PKNCOLMIEBL_JALAPOKJLAN" => Some(Self::Jalapokjlan), + "PKNCOLMIEBL_OGEBPDGDCAO" => Some(Self::Ogebpdgdcao), + "PKNCOLMIEBL_ALOJBINKBDG" => Some(Self::Alojbinkbdg), + "PKNCOLMIEBL_GGJPGJGCKEI" => Some(Self::Ggjpgjgckei), + "PKNCOLMIEBL_IENOGFFLOCG" => Some(Self::Ienogfflocg), + "PKNCOLMIEBL_HEBAPKPHIPJ" => Some(Self::Hebapkphipj), + "PKNCOLMIEBL_OJNIDMMIPHJ" => Some(Self::Ojnidmmiphj), + "PKNCOLMIEBL_FPPBBFDNJKA" => Some(Self::Fppbbfdnjka), + "PKNCOLMIEBL_FEHNGEGGKOK" => Some(Self::Fehngeggkok), + "PKNCOLMIEBL_IPCJJNIEFCL" => Some(Self::Ipcjjniefcl), + "PKNCOLMIEBL_AIHFFOKOHDG" => Some(Self::Aihffokohdg), + "PKNCOLMIEBL_GJMOOFGBPKG" => Some(Self::Gjmoofgbpkg), + "PKNCOLMIEBL_ADGOAKJEOEA" => Some(Self::Adgoakjeoea), + "PKNCOLMIEBL_BOJHKEIGOEI" => Some(Self::Bojhkeigoei), + "PKNCOLMIEBL_NHLBOEKFAMK" => Some(Self::Nhlboekfamk), + "PKNCOLMIEBL_EENDEDNOJEI" => Some(Self::Eendednojei), + "PKNCOLMIEBL_FPJGOONMKLG" => Some(Self::Fpjgoonmklg), + "PKNCOLMIEBL_LBJAIJNINBO" => Some(Self::Lbjaijninbo), + "PKNCOLMIEBL_EDGFCKPKFAP" => Some(Self::Edgfckpkfap), + "PKNCOLMIEBL_HNPPDGOFHHB" => Some(Self::Hnppdgofhhb), + "PKNCOLMIEBL_POGPJPDNBEN" => Some(Self::Pogpjpdnben), + "PKNCOLMIEBL_NPKKLDPGLJB" => Some(Self::Npkkldpgljb), + "PKNCOLMIEBL_KBAPDHPJFDA" => Some(Self::Kbapdhpjfda), + "PKNCOLMIEBL_PEEEEAAPIGO" => Some(Self::Peeeeaapigo), + "PKNCOLMIEBL_LHOLACOOFAN" => Some(Self::Lholacoofan), + "PKNCOLMIEBL_OIAOEGADEHN" => Some(Self::Oiaoegadehn), + "PKNCOLMIEBL_NDJADHLOGJL" => Some(Self::Ndjadhlogjl), + "PKNCOLMIEBL_IDEJCIBBCDE" => Some(Self::Idejcibbcde), + "PKNCOLMIEBL_IKOFIEOMCPK" => Some(Self::Ikofieomcpk), + "PKNCOLMIEBL_LDEPKOIPGPI" => Some(Self::Ldepkoipgpi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Njpmialmhfc { + LayerTypeNone = 0, + HollowOut = 1, + NonHollowOut = 2, + MultiHollowOut = 3, +} +impl Njpmialmhfc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::LayerTypeNone => "NJPMIALMHFC_LAYER_TYPE_NONE", + Self::HollowOut => "NJPMIALMHFC_HOLLOW_OUT", + Self::NonHollowOut => "NJPMIALMHFC_NON_HOLLOW_OUT", + Self::MultiHollowOut => "NJPMIALMHFC_MULTI_HOLLOW_OUT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NJPMIALMHFC_LAYER_TYPE_NONE" => Some(Self::LayerTypeNone), + "NJPMIALMHFC_HOLLOW_OUT" => Some(Self::HollowOut), + "NJPMIALMHFC_NON_HOLLOW_OUT" => Some(Self::NonHollowOut), + "NJPMIALMHFC_MULTI_HOLLOW_OUT" => Some(Self::MultiHollowOut), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cjbggngodia { + Gedcemdaemg = 0, + Miihacngfji = 1, +} +impl Cjbggngodia { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gedcemdaemg => "CJBGGNGODIA_GEDCEMDAEMG", + Self::Miihacngfji => "CJBGGNGODIA_MIIHACNGFJI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CJBGGNGODIA_GEDCEMDAEMG" => Some(Self::Gedcemdaemg), + "CJBGGNGODIA_MIIHACNGFJI" => Some(Self::Miihacngfji), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gapkhkdgboe { + Ffclaidlmgc = 0, +} +impl Gapkhkdgboe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ffclaidlmgc => "GAPKHKDGBOE_FFCLAIDLMGC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GAPKHKDGBOE_FFCLAIDLMGC" => Some(Self::Ffclaidlmgc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Geeejnimdmd { + Default = 0, + HollowNpc = 1, + HollowEvent = 2, +} +impl Geeejnimdmd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Default => "GEEEJNIMDMD_DEFAULT", + Self::HollowNpc => "GEEEJNIMDMD_HOLLOW_NPC", + Self::HollowEvent => "GEEEJNIMDMD_HOLLOW_EVENT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GEEEJNIMDMD_DEFAULT" => Some(Self::Default), + "GEEEJNIMDMD_HOLLOW_NPC" => Some(Self::HollowNpc), + "GEEEJNIMDMD_HOLLOW_EVENT" => Some(Self::HollowEvent), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kdpdcifbodf { + HollowShopShowTypeNormal = 0, + HollowShopShowTypeByGroup = 1, +} +impl Kdpdcifbodf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowShopShowTypeNormal => "KDPDCIFBODF_HOLLOW_SHOP_SHOW_TYPE_NORMAL", + Self::HollowShopShowTypeByGroup => { + "KDPDCIFBODF_HOLLOW_SHOP_SHOW_TYPE_BY_GROUP" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KDPDCIFBODF_HOLLOW_SHOP_SHOW_TYPE_NORMAL" => { + Some(Self::HollowShopShowTypeNormal) + } + "KDPDCIFBODF_HOLLOW_SHOP_SHOW_TYPE_BY_GROUP" => { + Some(Self::HollowShopShowTypeByGroup) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mojpaekfnoe { + Almgfgaajlj = 0, +} +impl Mojpaekfnoe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Almgfgaajlj => "MOJPAEKFNOE_ALMGFGAAJLJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MOJPAEKFNOE_ALMGFGAAJLJ" => Some(Self::Almgfgaajlj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ablocgbdipn { + Jakopnlchho = 0, + Mgnndahebof = 1, + Bfcdjaaonfa = 2, + Ljgaiafadbh = 3, + Kgjlhgibggo = 4, + Aacafpdjbjf = 5, + Bhogcleehhd = 6, + Khojmfamggm = 7, +} +impl Ablocgbdipn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jakopnlchho => "ABLOCGBDIPN_JAKOPNLCHHO", + Self::Mgnndahebof => "ABLOCGBDIPN_MGNNDAHEBOF", + Self::Bfcdjaaonfa => "ABLOCGBDIPN_BFCDJAAONFA", + Self::Ljgaiafadbh => "ABLOCGBDIPN_LJGAIAFADBH", + Self::Kgjlhgibggo => "ABLOCGBDIPN_KGJLHGIBGGO", + Self::Aacafpdjbjf => "ABLOCGBDIPN_AACAFPDJBJF", + Self::Bhogcleehhd => "ABLOCGBDIPN_BHOGCLEEHHD", + Self::Khojmfamggm => "ABLOCGBDIPN_KHOJMFAMGGM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ABLOCGBDIPN_JAKOPNLCHHO" => Some(Self::Jakopnlchho), + "ABLOCGBDIPN_MGNNDAHEBOF" => Some(Self::Mgnndahebof), + "ABLOCGBDIPN_BFCDJAAONFA" => Some(Self::Bfcdjaaonfa), + "ABLOCGBDIPN_LJGAIAFADBH" => Some(Self::Ljgaiafadbh), + "ABLOCGBDIPN_KGJLHGIBGGO" => Some(Self::Kgjlhgibggo), + "ABLOCGBDIPN_AACAFPDJBJF" => Some(Self::Aacafpdjbjf), + "ABLOCGBDIPN_BHOGCLEEHHD" => Some(Self::Bhogcleehhd), + "ABLOCGBDIPN_KHOJMFAMGGM" => Some(Self::Khojmfamggm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pgoaipimkbo { + Mjijjngmanb = 0, + Okkaajgkjcd = 1, + Kjaebcfefnm = 2, + Hnhcnapckfa = 3, + Bkmkenhbcaa = 4, + Nbhjgaojfag = 5, + Edchjakcimg = 6, + Bjkddmkhgff = 7, + Ddldehpbcjb = 8, + Jclnlfdcoph = 9, + Aiiflgmmigj = 10, + Jlnmajlppmi = 11, + Gleliakcaob = 12, + Fdihnkaifcc = 13, + Jbodbcibnfh = 14, + Oicbgggfpnf = 15, + Ngicclmpdlm = 16, + Kdbbjfipeel = 17, + Ekjmghpdncd = 18, + Jgabbojcbok = 19, +} +impl Pgoaipimkbo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mjijjngmanb => "PGOAIPIMKBO_MJIJJNGMANB", + Self::Okkaajgkjcd => "PGOAIPIMKBO_OKKAAJGKJCD", + Self::Kjaebcfefnm => "PGOAIPIMKBO_KJAEBCFEFNM", + Self::Hnhcnapckfa => "PGOAIPIMKBO_HNHCNAPCKFA", + Self::Bkmkenhbcaa => "PGOAIPIMKBO_BKMKENHBCAA", + Self::Nbhjgaojfag => "PGOAIPIMKBO_NBHJGAOJFAG", + Self::Edchjakcimg => "PGOAIPIMKBO_EDCHJAKCIMG", + Self::Bjkddmkhgff => "PGOAIPIMKBO_BJKDDMKHGFF", + Self::Ddldehpbcjb => "PGOAIPIMKBO_DDLDEHPBCJB", + Self::Jclnlfdcoph => "PGOAIPIMKBO_JCLNLFDCOPH", + Self::Aiiflgmmigj => "PGOAIPIMKBO_AIIFLGMMIGJ", + Self::Jlnmajlppmi => "PGOAIPIMKBO_JLNMAJLPPMI", + Self::Gleliakcaob => "PGOAIPIMKBO_GLELIAKCAOB", + Self::Fdihnkaifcc => "PGOAIPIMKBO_FDIHNKAIFCC", + Self::Jbodbcibnfh => "PGOAIPIMKBO_JBODBCIBNFH", + Self::Oicbgggfpnf => "PGOAIPIMKBO_OICBGGGFPNF", + Self::Ngicclmpdlm => "PGOAIPIMKBO_NGICCLMPDLM", + Self::Kdbbjfipeel => "PGOAIPIMKBO_KDBBJFIPEEL", + Self::Ekjmghpdncd => "PGOAIPIMKBO_EKJMGHPDNCD", + Self::Jgabbojcbok => "PGOAIPIMKBO_JGABBOJCBOK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PGOAIPIMKBO_MJIJJNGMANB" => Some(Self::Mjijjngmanb), + "PGOAIPIMKBO_OKKAAJGKJCD" => Some(Self::Okkaajgkjcd), + "PGOAIPIMKBO_KJAEBCFEFNM" => Some(Self::Kjaebcfefnm), + "PGOAIPIMKBO_HNHCNAPCKFA" => Some(Self::Hnhcnapckfa), + "PGOAIPIMKBO_BKMKENHBCAA" => Some(Self::Bkmkenhbcaa), + "PGOAIPIMKBO_NBHJGAOJFAG" => Some(Self::Nbhjgaojfag), + "PGOAIPIMKBO_EDCHJAKCIMG" => Some(Self::Edchjakcimg), + "PGOAIPIMKBO_BJKDDMKHGFF" => Some(Self::Bjkddmkhgff), + "PGOAIPIMKBO_DDLDEHPBCJB" => Some(Self::Ddldehpbcjb), + "PGOAIPIMKBO_JCLNLFDCOPH" => Some(Self::Jclnlfdcoph), + "PGOAIPIMKBO_AIIFLGMMIGJ" => Some(Self::Aiiflgmmigj), + "PGOAIPIMKBO_JLNMAJLPPMI" => Some(Self::Jlnmajlppmi), + "PGOAIPIMKBO_GLELIAKCAOB" => Some(Self::Gleliakcaob), + "PGOAIPIMKBO_FDIHNKAIFCC" => Some(Self::Fdihnkaifcc), + "PGOAIPIMKBO_JBODBCIBNFH" => Some(Self::Jbodbcibnfh), + "PGOAIPIMKBO_OICBGGGFPNF" => Some(Self::Oicbgggfpnf), + "PGOAIPIMKBO_NGICCLMPDLM" => Some(Self::Ngicclmpdlm), + "PGOAIPIMKBO_KDBBJFIPEEL" => Some(Self::Kdbbjfipeel), + "PGOAIPIMKBO_EKJMGHPDNCD" => Some(Self::Ekjmghpdncd), + "PGOAIPIMKBO_JGABBOJCBOK" => Some(Self::Jgabbojcbok), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ijbjlmommhe { + Bkofenpgdbd = 0, + Bchkoebhacd = 1, + Bljnfmdlpea = 2, + Dodgmgjmhnk = 3, +} +impl Ijbjlmommhe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bkofenpgdbd => "IJBJLMOMMHE_BKOFENPGDBD", + Self::Bchkoebhacd => "IJBJLMOMMHE_BCHKOEBHACD", + Self::Bljnfmdlpea => "IJBJLMOMMHE_BLJNFMDLPEA", + Self::Dodgmgjmhnk => "IJBJLMOMMHE_DODGMGJMHNK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IJBJLMOMMHE_BKOFENPGDBD" => Some(Self::Bkofenpgdbd), + "IJBJLMOMMHE_BCHKOEBHACD" => Some(Self::Bchkoebhacd), + "IJBJLMOMMHE_BLJNFMDLPEA" => Some(Self::Bljnfmdlpea), + "IJBJLMOMMHE_DODGMGJMHNK" => Some(Self::Dodgmgjmhnk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Piljklinmdm { + CameraPositionTypeNone = 0, + CameraPositionTypeBound = 1, + CameraPositionTypePosition = 2, + CameraPositionTypeReturn = 3, +} +impl Piljklinmdm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::CameraPositionTypeNone => "PILJKLINMDM_CAMERA_POSITION_TYPE_NONE", + Self::CameraPositionTypeBound => "PILJKLINMDM_CAMERA_POSITION_TYPE_BOUND", + Self::CameraPositionTypePosition => { + "PILJKLINMDM_CAMERA_POSITION_TYPE_POSITION" + } + Self::CameraPositionTypeReturn => "PILJKLINMDM_CAMERA_POSITION_TYPE_RETURN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PILJKLINMDM_CAMERA_POSITION_TYPE_NONE" => Some(Self::CameraPositionTypeNone), + "PILJKLINMDM_CAMERA_POSITION_TYPE_BOUND" => { + Some(Self::CameraPositionTypeBound) + } + "PILJKLINMDM_CAMERA_POSITION_TYPE_POSITION" => { + Some(Self::CameraPositionTypePosition) + } + "PILJKLINMDM_CAMERA_POSITION_TYPE_RETURN" => { + Some(Self::CameraPositionTypeReturn) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pnkjkedgjki { + Jngcblbamha = 0, + Khklmclljam = 1, + Liahdjmnidj = 2, + Eikohcbcdod = 3, +} +impl Pnkjkedgjki { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jngcblbamha => "PNKJKEDGJKI_JNGCBLBAMHA", + Self::Khklmclljam => "PNKJKEDGJKI_KHKLMCLLJAM", + Self::Liahdjmnidj => "PNKJKEDGJKI_LIAHDJMNIDJ", + Self::Eikohcbcdod => "PNKJKEDGJKI_EIKOHCBCDOD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PNKJKEDGJKI_JNGCBLBAMHA" => Some(Self::Jngcblbamha), + "PNKJKEDGJKI_KHKLMCLLJAM" => Some(Self::Khklmclljam), + "PNKJKEDGJKI_LIAHDJMNIDJ" => Some(Self::Liahdjmnidj), + "PNKJKEDGJKI_EIKOHCBCDOD" => Some(Self::Eikohcbcdod), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dlmkpcjifmn { + Lmkmldaoabb = 0, +} +impl Dlmkpcjifmn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lmkmldaoabb => "DLMKPCJIFMN_LMKMLDAOABB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DLMKPCJIFMN_LMKMLDAOABB" => Some(Self::Lmkmldaoabb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hlnncalcmpe { + Docjondmepn = 0, +} +impl Hlnncalcmpe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Docjondmepn => "HLNNCALCMPE_DOCJONDMEPN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HLNNCALCMPE_DOCJONDMEPN" => Some(Self::Docjondmepn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Befgnjjbenh { + Jiomlcidjmm = 0, + Ebonjjfglih = 1, + Pgigdlckjna = 2, +} +impl Befgnjjbenh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jiomlcidjmm => "BEFGNJJBENH_JIOMLCIDJMM", + Self::Ebonjjfglih => "BEFGNJJBENH_EBONJJFGLIH", + Self::Pgigdlckjna => "BEFGNJJBENH_PGIGDLCKJNA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BEFGNJJBENH_JIOMLCIDJMM" => Some(Self::Jiomlcidjmm), + "BEFGNJJBENH_EBONJJFGLIH" => Some(Self::Ebonjjfglih), + "BEFGNJJBENH_PGIGDLCKJNA" => Some(Self::Pgigdlckjna), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bdjljclbceh { + Olbgmeaecic = 0, + Hodlgekiibi = 1, +} +impl Bdjljclbceh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Olbgmeaecic => "BDJLJCLBCEH_OLBGMEAECIC", + Self::Hodlgekiibi => "BDJLJCLBCEH_HODLGEKIIBI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BDJLJCLBCEH_OLBGMEAECIC" => Some(Self::Olbgmeaecic), + "BDJLJCLBCEH_HODLGEKIIBI" => Some(Self::Hodlgekiibi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Papneiepfip { + Bonemgkhmep = 0, + Hdpkidkiogd = 1, + Ifcfkoipmnk = 2, + Cebppgnnhhp = 3, + Dfmofcmnbke = 4, +} +impl Papneiepfip { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bonemgkhmep => "PAPNEIEPFIP_BONEMGKHMEP", + Self::Hdpkidkiogd => "PAPNEIEPFIP_HDPKIDKIOGD", + Self::Ifcfkoipmnk => "PAPNEIEPFIP_IFCFKOIPMNK", + Self::Cebppgnnhhp => "PAPNEIEPFIP_CEBPPGNNHHP", + Self::Dfmofcmnbke => "PAPNEIEPFIP_DFMOFCMNBKE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PAPNEIEPFIP_BONEMGKHMEP" => Some(Self::Bonemgkhmep), + "PAPNEIEPFIP_HDPKIDKIOGD" => Some(Self::Hdpkidkiogd), + "PAPNEIEPFIP_IFCFKOIPMNK" => Some(Self::Ifcfkoipmnk), + "PAPNEIEPFIP_CEBPPGNNHHP" => Some(Self::Cebppgnnhhp), + "PAPNEIEPFIP_DFMOFCMNBKE" => Some(Self::Dfmofcmnbke), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mlnpmlffihi { + Fkpdpadfbha = 0, + Pimnebejfgd = 1, + Cchbgmgeebb = 2, +} +impl Mlnpmlffihi { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fkpdpadfbha => "MLNPMLFFIHI_FKPDPADFBHA", + Self::Pimnebejfgd => "MLNPMLFFIHI_PIMNEBEJFGD", + Self::Cchbgmgeebb => "MLNPMLFFIHI_CCHBGMGEEBB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MLNPMLFFIHI_FKPDPADFBHA" => Some(Self::Fkpdpadfbha), + "MLNPMLFFIHI_PIMNEBEJFGD" => Some(Self::Pimnebejfgd), + "MLNPMLFFIHI_CCHBGMGEEBB" => Some(Self::Cchbgmgeebb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lllaipniaoo { + Fcledljbfio = 0, + Gmkdgagomil = 1, + Dalndnojkap = 2, +} +impl Lllaipniaoo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fcledljbfio => "LLLAIPNIAOO_FCLEDLJBFIO", + Self::Gmkdgagomil => "LLLAIPNIAOO_GMKDGAGOMIL", + Self::Dalndnojkap => "LLLAIPNIAOO_DALNDNOJKAP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LLLAIPNIAOO_FCLEDLJBFIO" => Some(Self::Fcledljbfio), + "LLLAIPNIAOO_GMKDGAGOMIL" => Some(Self::Gmkdgagomil), + "LLLAIPNIAOO_DALNDNOJKAP" => Some(Self::Dalndnojkap), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bkhjbbjbage { + Ndndhenaeob = 0, + Mgmjkkknnjj = 1, +} +impl Bkhjbbjbage { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ndndhenaeob => "BKHJBBJBAGE_NDNDHENAEOB", + Self::Mgmjkkknnjj => "BKHJBBJBAGE_MGMJKKKNNJJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BKHJBBJBAGE_NDNDHENAEOB" => Some(Self::Ndndhenaeob), + "BKHJBBJBAGE_MGMJKKKNNJJ" => Some(Self::Mgmjkkknnjj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oidnhkcnlmd { + Pfnjhojfidm = 0, +} +impl Oidnhkcnlmd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pfnjhojfidm => "OIDNHKCNLMD_PFNJHOJFIDM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OIDNHKCNLMD_PFNJHOJFIDM" => Some(Self::Pfnjhojfidm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iclghekapdd { + Ojcnmplfjnm = 0, + Jodjohhdamn = 1, + Oipokiefmab = 2, + Mfgdiihnfep = 3, + Kgehfiiffeh = 4, + Jilffoikdfe = 5, + Agelknnepnb = 6, +} +impl Iclghekapdd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ojcnmplfjnm => "ICLGHEKAPDD_OJCNMPLFJNM", + Self::Jodjohhdamn => "ICLGHEKAPDD_JODJOHHDAMN", + Self::Oipokiefmab => "ICLGHEKAPDD_OIPOKIEFMAB", + Self::Mfgdiihnfep => "ICLGHEKAPDD_MFGDIIHNFEP", + Self::Kgehfiiffeh => "ICLGHEKAPDD_KGEHFIIFFEH", + Self::Jilffoikdfe => "ICLGHEKAPDD_JILFFOIKDFE", + Self::Agelknnepnb => "ICLGHEKAPDD_AGELKNNEPNB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ICLGHEKAPDD_OJCNMPLFJNM" => Some(Self::Ojcnmplfjnm), + "ICLGHEKAPDD_JODJOHHDAMN" => Some(Self::Jodjohhdamn), + "ICLGHEKAPDD_OIPOKIEFMAB" => Some(Self::Oipokiefmab), + "ICLGHEKAPDD_MFGDIIHNFEP" => Some(Self::Mfgdiihnfep), + "ICLGHEKAPDD_KGEHFIIFFEH" => Some(Self::Kgehfiiffeh), + "ICLGHEKAPDD_JILFFOIKDFE" => Some(Self::Jilffoikdfe), + "ICLGHEKAPDD_AGELKNNEPNB" => Some(Self::Agelknnepnb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dclldobajin { + Anofkpgigio = 0, + Mjgilcnjegj = 1, +} +impl Dclldobajin { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Anofkpgigio => "DCLLDOBAJIN_ANOFKPGIGIO", + Self::Mjgilcnjegj => "DCLLDOBAJIN_MJGILCNJEGJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DCLLDOBAJIN_ANOFKPGIGIO" => Some(Self::Anofkpgigio), + "DCLLDOBAJIN_MJGILCNJEGJ" => Some(Self::Mjgilcnjegj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oiicchkknlb { + Bmagjmccjmk = 0, + Geefkkdpfho = 1, + Lkdadpmammc = 2, +} +impl Oiicchkknlb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bmagjmccjmk => "OIICCHKKNLB_BMAGJMCCJMK", + Self::Geefkkdpfho => "OIICCHKKNLB_GEEFKKDPFHO", + Self::Lkdadpmammc => "OIICCHKKNLB_LKDADPMAMMC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OIICCHKKNLB_BMAGJMCCJMK" => Some(Self::Bmagjmccjmk), + "OIICCHKKNLB_GEEFKKDPFHO" => Some(Self::Geefkkdpfho), + "OIICCHKKNLB_LKDADPMAMMC" => Some(Self::Lkdadpmammc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ChessUiControlType { + ChessUiControlTypeNone = 0, + ChessUiControlTypeShow = 1, + ChessUiControlTypeHide = 2, +} +impl ChessUiControlType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ChessUiControlTypeNone => { + "ChessUIControlType_CHESS_UI_CONTROL_TYPE_NONE" + } + Self::ChessUiControlTypeShow => { + "ChessUIControlType_CHESS_UI_CONTROL_TYPE_SHOW" + } + Self::ChessUiControlTypeHide => { + "ChessUIControlType_CHESS_UI_CONTROL_TYPE_HIDE" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ChessUIControlType_CHESS_UI_CONTROL_TYPE_NONE" => { + Some(Self::ChessUiControlTypeNone) + } + "ChessUIControlType_CHESS_UI_CONTROL_TYPE_SHOW" => { + Some(Self::ChessUiControlTypeShow) + } + "ChessUIControlType_CHESS_UI_CONTROL_TYPE_HIDE" => { + Some(Self::ChessUiControlTypeHide) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Eghnokhjhcm { + HollowEventTypeNone = 0, + HollowEventTypeAll = 1, + Begin = 10, + End = 20, + InteractEnd = 21, + BattleEnd = 22, + ChangeLevelInteract = 23, + ChangeLevelFight = 24, + Battle = 30, + BattleNormal = 31, + BattleElite = 32, + BattleBoss = 33, + HollowEventTypeDialog = 40, + DialogPositive = 41, + DialogNegative = 42, + DialogSpecial = 43, +} +impl Eghnokhjhcm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowEventTypeNone => "EGHNOKHJHCM_HOLLOW_EVENT_TYPE_NONE", + Self::HollowEventTypeAll => "EGHNOKHJHCM_HOLLOW_EVENT_TYPE_ALL", + Self::Begin => "EGHNOKHJHCM_BEGIN", + Self::End => "EGHNOKHJHCM_END", + Self::InteractEnd => "EGHNOKHJHCM_INTERACT_END", + Self::BattleEnd => "EGHNOKHJHCM_BATTLE_END", + Self::ChangeLevelInteract => "EGHNOKHJHCM_CHANGE_LEVEL_INTERACT", + Self::ChangeLevelFight => "EGHNOKHJHCM_CHANGE_LEVEL_FIGHT", + Self::Battle => "EGHNOKHJHCM_BATTLE", + Self::BattleNormal => "EGHNOKHJHCM_BATTLE_NORMAL", + Self::BattleElite => "EGHNOKHJHCM_BATTLE_ELITE", + Self::BattleBoss => "EGHNOKHJHCM_BATTLE_BOSS", + Self::HollowEventTypeDialog => "EGHNOKHJHCM_HOLLOW_EVENT_TYPE_DIALOG", + Self::DialogPositive => "EGHNOKHJHCM_DIALOG_POSITIVE", + Self::DialogNegative => "EGHNOKHJHCM_DIALOG_NEGATIVE", + Self::DialogSpecial => "EGHNOKHJHCM_DIALOG_SPECIAL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EGHNOKHJHCM_HOLLOW_EVENT_TYPE_NONE" => Some(Self::HollowEventTypeNone), + "EGHNOKHJHCM_HOLLOW_EVENT_TYPE_ALL" => Some(Self::HollowEventTypeAll), + "EGHNOKHJHCM_BEGIN" => Some(Self::Begin), + "EGHNOKHJHCM_END" => Some(Self::End), + "EGHNOKHJHCM_INTERACT_END" => Some(Self::InteractEnd), + "EGHNOKHJHCM_BATTLE_END" => Some(Self::BattleEnd), + "EGHNOKHJHCM_CHANGE_LEVEL_INTERACT" => Some(Self::ChangeLevelInteract), + "EGHNOKHJHCM_CHANGE_LEVEL_FIGHT" => Some(Self::ChangeLevelFight), + "EGHNOKHJHCM_BATTLE" => Some(Self::Battle), + "EGHNOKHJHCM_BATTLE_NORMAL" => Some(Self::BattleNormal), + "EGHNOKHJHCM_BATTLE_ELITE" => Some(Self::BattleElite), + "EGHNOKHJHCM_BATTLE_BOSS" => Some(Self::BattleBoss), + "EGHNOKHJHCM_HOLLOW_EVENT_TYPE_DIALOG" => Some(Self::HollowEventTypeDialog), + "EGHNOKHJHCM_DIALOG_POSITIVE" => Some(Self::DialogPositive), + "EGHNOKHJHCM_DIALOG_NEGATIVE" => Some(Self::DialogNegative), + "EGHNOKHJHCM_DIALOG_SPECIAL" => Some(Self::DialogSpecial), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cafgjhcapbn { + Kkahaagenfn = 0, +} +impl Cafgjhcapbn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kkahaagenfn => "CAFGJHCAPBN_KKAHAAGENFN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CAFGJHCAPBN_KKAHAAGENFN" => Some(Self::Kkahaagenfn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Clhfpgmncdb { + Relative = 0, + Absolute = 1, + EventPos = 2, + HollowNpcPos = 3, +} +impl Clhfpgmncdb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Relative => "CLHFPGMNCDB_RELATIVE", + Self::Absolute => "CLHFPGMNCDB_ABSOLUTE", + Self::EventPos => "CLHFPGMNCDB_EVENT_POS", + Self::HollowNpcPos => "CLHFPGMNCDB_HOLLOW_NPC_POS", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CLHFPGMNCDB_RELATIVE" => Some(Self::Relative), + "CLHFPGMNCDB_ABSOLUTE" => Some(Self::Absolute), + "CLHFPGMNCDB_EVENT_POS" => Some(Self::EventPos), + "CLHFPGMNCDB_HOLLOW_NPC_POS" => Some(Self::HollowNpcPos), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bfoombhjgaa { + Kkdcjdpibdd = 0, + Jebfjelpgdi = 1, + Klmpfgaabnp = 2, + Mohomkckhjc = 3, + Ajklhppdakp = 4, + Agkilceafdp = 5, + Fndmjdmgfhk = 6, + Oijmbmmfcnm = 7, +} +impl Bfoombhjgaa { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kkdcjdpibdd => "BFOOMBHJGAA_KKDCJDPIBDD", + Self::Jebfjelpgdi => "BFOOMBHJGAA_JEBFJELPGDI", + Self::Klmpfgaabnp => "BFOOMBHJGAA_KLMPFGAABNP", + Self::Mohomkckhjc => "BFOOMBHJGAA_MOHOMKCKHJC", + Self::Ajklhppdakp => "BFOOMBHJGAA_AJKLHPPDAKP", + Self::Agkilceafdp => "BFOOMBHJGAA_AGKILCEAFDP", + Self::Fndmjdmgfhk => "BFOOMBHJGAA_FNDMJDMGFHK", + Self::Oijmbmmfcnm => "BFOOMBHJGAA_OIJMBMMFCNM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BFOOMBHJGAA_KKDCJDPIBDD" => Some(Self::Kkdcjdpibdd), + "BFOOMBHJGAA_JEBFJELPGDI" => Some(Self::Jebfjelpgdi), + "BFOOMBHJGAA_KLMPFGAABNP" => Some(Self::Klmpfgaabnp), + "BFOOMBHJGAA_MOHOMKCKHJC" => Some(Self::Mohomkckhjc), + "BFOOMBHJGAA_AJKLHPPDAKP" => Some(Self::Ajklhppdakp), + "BFOOMBHJGAA_AGKILCEAFDP" => Some(Self::Agkilceafdp), + "BFOOMBHJGAA_FNDMJDMGFHK" => Some(Self::Fndmjdmgfhk), + "BFOOMBHJGAA_OIJMBMMFCNM" => Some(Self::Oijmbmmfcnm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mdjdgflamad { + Dckdbapooii = 0, +} +impl Mdjdgflamad { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dckdbapooii => "MDJDGFLAMAD_DCKDBAPOOII", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MDJDGFLAMAD_DCKDBAPOOII" => Some(Self::Dckdbapooii), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jdkdapingmh { + EghmHandleChosenGridsNone = 0, + EghmHandleChosenGridsAddToPool = 1, + EghmHandleChosenGridsRemoveFromPool = 2, + EghmHandleChosenGridsKeepInPool = 3, +} +impl Jdkdapingmh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::EghmHandleChosenGridsNone => { + "JDKDAPINGMH_EGHM_HANDLE_CHOSEN_GRIDS_NONE" + } + Self::EghmHandleChosenGridsAddToPool => { + "JDKDAPINGMH_EGHM_HANDLE_CHOSEN_GRIDS_ADD_TO_POOL" + } + Self::EghmHandleChosenGridsRemoveFromPool => { + "JDKDAPINGMH_EGHM_HANDLE_CHOSEN_GRIDS_REMOVE_FROM_POOL" + } + Self::EghmHandleChosenGridsKeepInPool => { + "JDKDAPINGMH_EGHM_HANDLE_CHOSEN_GRIDS_KEEP_IN_POOL" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JDKDAPINGMH_EGHM_HANDLE_CHOSEN_GRIDS_NONE" => { + Some(Self::EghmHandleChosenGridsNone) + } + "JDKDAPINGMH_EGHM_HANDLE_CHOSEN_GRIDS_ADD_TO_POOL" => { + Some(Self::EghmHandleChosenGridsAddToPool) + } + "JDKDAPINGMH_EGHM_HANDLE_CHOSEN_GRIDS_REMOVE_FROM_POOL" => { + Some(Self::EghmHandleChosenGridsRemoveFromPool) + } + "JDKDAPINGMH_EGHM_HANDLE_CHOSEN_GRIDS_KEEP_IN_POOL" => { + Some(Self::EghmHandleChosenGridsKeepInPool) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Feodihogjkb { + Cnhdoppiaid = 0, + Laeffmfjche = 1, + Jjjgbkkgeho = 2, + Blfddimedld = 3, + Gmdghijehpp = 4, + Ffmpbogjfpm = 5, + Pjdmnamedcp = 6, + Mikobchpocd = 7, + Pngpdkpeend = 8, + Lidfaiadola = 9, + Mfklglacjee = 10, + Ecooondpnlp = 11, + Lgehbdgonhn = 12, + Afcjihkhdel = 13, + Gbhongbcaig = 14, + Gcbcjofjigj = 15, + Cgcghpeolbc = 16, + Hbbelendccd = 17, + Nkkjfbmlhph = 18, + Caonmnoloop = 19, + Fdiickjkegc = 20, + Emncmfhingg = 21, + Lfimaabmhdi = 22, + Lfjiakodimj = 23, + Maflljanjng = 24, + Hiklfomnbam = 25, + Obllbieejgi = 26, + Ohemljabbop = 27, + Llofcjiokga = 28, + Hpmkofolhob = 29, + Mkbocpjodod = 30, + Bdkfiggligk = 31, + Bnbaoocijnd = 32, + Hpfbnfdhcgm = 33, + Pabmngbnmbc = 34, + Hjadimhehdm = 35, + Jclkafkggnj = 36, + Kcehgebfkhk = 37, + Dlngndajjpp = 38, + Khhabclopoa = 39, + Njekcphjbeb = 40, + Hjmhkifaigk = 41, + Effeicoghbc = 42, + Locphggmbam = 43, + Pmacdboephm = 44, + Emkdfhgjlgn = 45, + Keilnhlaljf = 46, + Mpnheapamjp = 47, + Mdijcdeigip = 48, + Dbdilepbpjf = 49, + Ijlpfekhfeb = 50, + Kpifdenekjl = 51, + Fafdikpaddl = 52, + Icekbdpdkip = 53, + Dggfimbigci = 54, + Oocbhcafpka = 55, + Hmemeejejio = 56, + Kfcehemajhm = 57, + Mpnfoknndmn = 58, +} +impl Feodihogjkb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cnhdoppiaid => "FEODIHOGJKB_CNHDOPPIAID", + Self::Laeffmfjche => "FEODIHOGJKB_LAEFFMFJCHE", + Self::Jjjgbkkgeho => "FEODIHOGJKB_JJJGBKKGEHO", + Self::Blfddimedld => "FEODIHOGJKB_BLFDDIMEDLD", + Self::Gmdghijehpp => "FEODIHOGJKB_GMDGHIJEHPP", + Self::Ffmpbogjfpm => "FEODIHOGJKB_FFMPBOGJFPM", + Self::Pjdmnamedcp => "FEODIHOGJKB_PJDMNAMEDCP", + Self::Mikobchpocd => "FEODIHOGJKB_MIKOBCHPOCD", + Self::Pngpdkpeend => "FEODIHOGJKB_PNGPDKPEEND", + Self::Lidfaiadola => "FEODIHOGJKB_LIDFAIADOLA", + Self::Mfklglacjee => "FEODIHOGJKB_MFKLGLACJEE", + Self::Ecooondpnlp => "FEODIHOGJKB_ECOOONDPNLP", + Self::Lgehbdgonhn => "FEODIHOGJKB_LGEHBDGONHN", + Self::Afcjihkhdel => "FEODIHOGJKB_AFCJIHKHDEL", + Self::Gbhongbcaig => "FEODIHOGJKB_GBHONGBCAIG", + Self::Gcbcjofjigj => "FEODIHOGJKB_GCBCJOFJIGJ", + Self::Cgcghpeolbc => "FEODIHOGJKB_CGCGHPEOLBC", + Self::Hbbelendccd => "FEODIHOGJKB_HBBELENDCCD", + Self::Nkkjfbmlhph => "FEODIHOGJKB_NKKJFBMLHPH", + Self::Caonmnoloop => "FEODIHOGJKB_CAONMNOLOOP", + Self::Fdiickjkegc => "FEODIHOGJKB_FDIICKJKEGC", + Self::Emncmfhingg => "FEODIHOGJKB_EMNCMFHINGG", + Self::Lfimaabmhdi => "FEODIHOGJKB_LFIMAABMHDI", + Self::Lfjiakodimj => "FEODIHOGJKB_LFJIAKODIMJ", + Self::Maflljanjng => "FEODIHOGJKB_MAFLLJANJNG", + Self::Hiklfomnbam => "FEODIHOGJKB_HIKLFOMNBAM", + Self::Obllbieejgi => "FEODIHOGJKB_OBLLBIEEJGI", + Self::Ohemljabbop => "FEODIHOGJKB_OHEMLJABBOP", + Self::Llofcjiokga => "FEODIHOGJKB_LLOFCJIOKGA", + Self::Hpmkofolhob => "FEODIHOGJKB_HPMKOFOLHOB", + Self::Mkbocpjodod => "FEODIHOGJKB_MKBOCPJODOD", + Self::Bdkfiggligk => "FEODIHOGJKB_BDKFIGGLIGK", + Self::Bnbaoocijnd => "FEODIHOGJKB_BNBAOOCIJND", + Self::Hpfbnfdhcgm => "FEODIHOGJKB_HPFBNFDHCGM", + Self::Pabmngbnmbc => "FEODIHOGJKB_PABMNGBNMBC", + Self::Hjadimhehdm => "FEODIHOGJKB_HJADIMHEHDM", + Self::Jclkafkggnj => "FEODIHOGJKB_JCLKAFKGGNJ", + Self::Kcehgebfkhk => "FEODIHOGJKB_KCEHGEBFKHK", + Self::Dlngndajjpp => "FEODIHOGJKB_DLNGNDAJJPP", + Self::Khhabclopoa => "FEODIHOGJKB_KHHABCLOPOA", + Self::Njekcphjbeb => "FEODIHOGJKB_NJEKCPHJBEB", + Self::Hjmhkifaigk => "FEODIHOGJKB_HJMHKIFAIGK", + Self::Effeicoghbc => "FEODIHOGJKB_EFFEICOGHBC", + Self::Locphggmbam => "FEODIHOGJKB_LOCPHGGMBAM", + Self::Pmacdboephm => "FEODIHOGJKB_PMACDBOEPHM", + Self::Emkdfhgjlgn => "FEODIHOGJKB_EMKDFHGJLGN", + Self::Keilnhlaljf => "FEODIHOGJKB_KEILNHLALJF", + Self::Mpnheapamjp => "FEODIHOGJKB_MPNHEAPAMJP", + Self::Mdijcdeigip => "FEODIHOGJKB_MDIJCDEIGIP", + Self::Dbdilepbpjf => "FEODIHOGJKB_DBDILEPBPJF", + Self::Ijlpfekhfeb => "FEODIHOGJKB_IJLPFEKHFEB", + Self::Kpifdenekjl => "FEODIHOGJKB_KPIFDENEKJL", + Self::Fafdikpaddl => "FEODIHOGJKB_FAFDIKPADDL", + Self::Icekbdpdkip => "FEODIHOGJKB_ICEKBDPDKIP", + Self::Dggfimbigci => "FEODIHOGJKB_DGGFIMBIGCI", + Self::Oocbhcafpka => "FEODIHOGJKB_OOCBHCAFPKA", + Self::Hmemeejejio => "FEODIHOGJKB_HMEMEEJEJIO", + Self::Kfcehemajhm => "FEODIHOGJKB_KFCEHEMAJHM", + Self::Mpnfoknndmn => "FEODIHOGJKB_MPNFOKNNDMN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FEODIHOGJKB_CNHDOPPIAID" => Some(Self::Cnhdoppiaid), + "FEODIHOGJKB_LAEFFMFJCHE" => Some(Self::Laeffmfjche), + "FEODIHOGJKB_JJJGBKKGEHO" => Some(Self::Jjjgbkkgeho), + "FEODIHOGJKB_BLFDDIMEDLD" => Some(Self::Blfddimedld), + "FEODIHOGJKB_GMDGHIJEHPP" => Some(Self::Gmdghijehpp), + "FEODIHOGJKB_FFMPBOGJFPM" => Some(Self::Ffmpbogjfpm), + "FEODIHOGJKB_PJDMNAMEDCP" => Some(Self::Pjdmnamedcp), + "FEODIHOGJKB_MIKOBCHPOCD" => Some(Self::Mikobchpocd), + "FEODIHOGJKB_PNGPDKPEEND" => Some(Self::Pngpdkpeend), + "FEODIHOGJKB_LIDFAIADOLA" => Some(Self::Lidfaiadola), + "FEODIHOGJKB_MFKLGLACJEE" => Some(Self::Mfklglacjee), + "FEODIHOGJKB_ECOOONDPNLP" => Some(Self::Ecooondpnlp), + "FEODIHOGJKB_LGEHBDGONHN" => Some(Self::Lgehbdgonhn), + "FEODIHOGJKB_AFCJIHKHDEL" => Some(Self::Afcjihkhdel), + "FEODIHOGJKB_GBHONGBCAIG" => Some(Self::Gbhongbcaig), + "FEODIHOGJKB_GCBCJOFJIGJ" => Some(Self::Gcbcjofjigj), + "FEODIHOGJKB_CGCGHPEOLBC" => Some(Self::Cgcghpeolbc), + "FEODIHOGJKB_HBBELENDCCD" => Some(Self::Hbbelendccd), + "FEODIHOGJKB_NKKJFBMLHPH" => Some(Self::Nkkjfbmlhph), + "FEODIHOGJKB_CAONMNOLOOP" => Some(Self::Caonmnoloop), + "FEODIHOGJKB_FDIICKJKEGC" => Some(Self::Fdiickjkegc), + "FEODIHOGJKB_EMNCMFHINGG" => Some(Self::Emncmfhingg), + "FEODIHOGJKB_LFIMAABMHDI" => Some(Self::Lfimaabmhdi), + "FEODIHOGJKB_LFJIAKODIMJ" => Some(Self::Lfjiakodimj), + "FEODIHOGJKB_MAFLLJANJNG" => Some(Self::Maflljanjng), + "FEODIHOGJKB_HIKLFOMNBAM" => Some(Self::Hiklfomnbam), + "FEODIHOGJKB_OBLLBIEEJGI" => Some(Self::Obllbieejgi), + "FEODIHOGJKB_OHEMLJABBOP" => Some(Self::Ohemljabbop), + "FEODIHOGJKB_LLOFCJIOKGA" => Some(Self::Llofcjiokga), + "FEODIHOGJKB_HPMKOFOLHOB" => Some(Self::Hpmkofolhob), + "FEODIHOGJKB_MKBOCPJODOD" => Some(Self::Mkbocpjodod), + "FEODIHOGJKB_BDKFIGGLIGK" => Some(Self::Bdkfiggligk), + "FEODIHOGJKB_BNBAOOCIJND" => Some(Self::Bnbaoocijnd), + "FEODIHOGJKB_HPFBNFDHCGM" => Some(Self::Hpfbnfdhcgm), + "FEODIHOGJKB_PABMNGBNMBC" => Some(Self::Pabmngbnmbc), + "FEODIHOGJKB_HJADIMHEHDM" => Some(Self::Hjadimhehdm), + "FEODIHOGJKB_JCLKAFKGGNJ" => Some(Self::Jclkafkggnj), + "FEODIHOGJKB_KCEHGEBFKHK" => Some(Self::Kcehgebfkhk), + "FEODIHOGJKB_DLNGNDAJJPP" => Some(Self::Dlngndajjpp), + "FEODIHOGJKB_KHHABCLOPOA" => Some(Self::Khhabclopoa), + "FEODIHOGJKB_NJEKCPHJBEB" => Some(Self::Njekcphjbeb), + "FEODIHOGJKB_HJMHKIFAIGK" => Some(Self::Hjmhkifaigk), + "FEODIHOGJKB_EFFEICOGHBC" => Some(Self::Effeicoghbc), + "FEODIHOGJKB_LOCPHGGMBAM" => Some(Self::Locphggmbam), + "FEODIHOGJKB_PMACDBOEPHM" => Some(Self::Pmacdboephm), + "FEODIHOGJKB_EMKDFHGJLGN" => Some(Self::Emkdfhgjlgn), + "FEODIHOGJKB_KEILNHLALJF" => Some(Self::Keilnhlaljf), + "FEODIHOGJKB_MPNHEAPAMJP" => Some(Self::Mpnheapamjp), + "FEODIHOGJKB_MDIJCDEIGIP" => Some(Self::Mdijcdeigip), + "FEODIHOGJKB_DBDILEPBPJF" => Some(Self::Dbdilepbpjf), + "FEODIHOGJKB_IJLPFEKHFEB" => Some(Self::Ijlpfekhfeb), + "FEODIHOGJKB_KPIFDENEKJL" => Some(Self::Kpifdenekjl), + "FEODIHOGJKB_FAFDIKPADDL" => Some(Self::Fafdikpaddl), + "FEODIHOGJKB_ICEKBDPDKIP" => Some(Self::Icekbdpdkip), + "FEODIHOGJKB_DGGFIMBIGCI" => Some(Self::Dggfimbigci), + "FEODIHOGJKB_OOCBHCAFPKA" => Some(Self::Oocbhcafpka), + "FEODIHOGJKB_HMEMEEJEJIO" => Some(Self::Hmemeejejio), + "FEODIHOGJKB_KFCEHEMAJHM" => Some(Self::Kfcehemajhm), + "FEODIHOGJKB_MPNFOKNNDMN" => Some(Self::Mpnfoknndmn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Leakbaleilj { + Ekafjhhdgfk = 0, + Oliglnihdih = 1, + Kedcdifcclo = 2, + Dgokjjiinkd = 3, +} +impl Leakbaleilj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ekafjhhdgfk => "LEAKBALEILJ_EKAFJHHDGFK", + Self::Oliglnihdih => "LEAKBALEILJ_OLIGLNIHDIH", + Self::Kedcdifcclo => "LEAKBALEILJ_KEDCDIFCCLO", + Self::Dgokjjiinkd => "LEAKBALEILJ_DGOKJJIINKD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LEAKBALEILJ_EKAFJHHDGFK" => Some(Self::Ekafjhhdgfk), + "LEAKBALEILJ_OLIGLNIHDIH" => Some(Self::Oliglnihdih), + "LEAKBALEILJ_KEDCDIFCCLO" => Some(Self::Kedcdifcclo), + "LEAKBALEILJ_DGOKJJIINKD" => Some(Self::Dgokjjiinkd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gbmgfaiakhj { + Ighflgjgmib = 0, + Aankikpjijd = 1, + Aclpnmgkmgg = 2, + Gnmccnipeon = 3, + Cpmdlachelp = 4, +} +impl Gbmgfaiakhj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ighflgjgmib => "GBMGFAIAKHJ_IGHFLGJGMIB", + Self::Aankikpjijd => "GBMGFAIAKHJ_AANKIKPJIJD", + Self::Aclpnmgkmgg => "GBMGFAIAKHJ_ACLPNMGKMGG", + Self::Gnmccnipeon => "GBMGFAIAKHJ_GNMCCNIPEON", + Self::Cpmdlachelp => "GBMGFAIAKHJ_CPMDLACHELP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GBMGFAIAKHJ_IGHFLGJGMIB" => Some(Self::Ighflgjgmib), + "GBMGFAIAKHJ_AANKIKPJIJD" => Some(Self::Aankikpjijd), + "GBMGFAIAKHJ_ACLPNMGKMGG" => Some(Self::Aclpnmgkmgg), + "GBMGFAIAKHJ_GNMCCNIPEON" => Some(Self::Gnmccnipeon), + "GBMGFAIAKHJ_CPMDLACHELP" => Some(Self::Cpmdlachelp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ecihmhhnkko { + Mjekcbihbgn = 0, + Gfofcpiohbp = 1, + Oibdceobdin = 2, + Baakajbhnfj = 3, +} +impl Ecihmhhnkko { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mjekcbihbgn => "ECIHMHHNKKO_MJEKCBIHBGN", + Self::Gfofcpiohbp => "ECIHMHHNKKO_GFOFCPIOHBP", + Self::Oibdceobdin => "ECIHMHHNKKO_OIBDCEOBDIN", + Self::Baakajbhnfj => "ECIHMHHNKKO_BAAKAJBHNFJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ECIHMHHNKKO_MJEKCBIHBGN" => Some(Self::Mjekcbihbgn), + "ECIHMHHNKKO_GFOFCPIOHBP" => Some(Self::Gfofcpiohbp), + "ECIHMHHNKKO_OIBDCEOBDIN" => Some(Self::Oibdceobdin), + "ECIHMHHNKKO_BAAKAJBHNFJ" => Some(Self::Baakajbhnfj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fofhkjpcmdl { + ShowMaskAuto = 0, + ShowMaskTrue = 1, + ShowMaskFalse = 2, +} +impl Fofhkjpcmdl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ShowMaskAuto => "FOFHKJPCMDL_SHOW_MASK_AUTO", + Self::ShowMaskTrue => "FOFHKJPCMDL_SHOW_MASK_TRUE", + Self::ShowMaskFalse => "FOFHKJPCMDL_SHOW_MASK_FALSE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FOFHKJPCMDL_SHOW_MASK_AUTO" => Some(Self::ShowMaskAuto), + "FOFHKJPCMDL_SHOW_MASK_TRUE" => Some(Self::ShowMaskTrue), + "FOFHKJPCMDL_SHOW_MASK_FALSE" => Some(Self::ShowMaskFalse), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Klcnpnekjhm { + BubbleInsertTypeNone = 0, + BubbleInsertTypeBegin = 1, + EbubbleInsertTypeNd = 2, + DbubbleInsertTypeUration = 3, +} +impl Klcnpnekjhm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::BubbleInsertTypeNone => "KLCNPNEKJHM_BUBBLE_INSERT_TYPE_NONE", + Self::BubbleInsertTypeBegin => "KLCNPNEKJHM_BUBBLE_INSERT_TYPE_BEGIN", + Self::EbubbleInsertTypeNd => "KLCNPNEKJHM_EBUBBLE_INSERT_TYPE_ND", + Self::DbubbleInsertTypeUration => "KLCNPNEKJHM_DBUBBLE_INSERT_TYPE_URATION", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KLCNPNEKJHM_BUBBLE_INSERT_TYPE_NONE" => Some(Self::BubbleInsertTypeNone), + "KLCNPNEKJHM_BUBBLE_INSERT_TYPE_BEGIN" => Some(Self::BubbleInsertTypeBegin), + "KLCNPNEKJHM_EBUBBLE_INSERT_TYPE_ND" => Some(Self::EbubbleInsertTypeNd), + "KLCNPNEKJHM_DBUBBLE_INSERT_TYPE_URATION" => { + Some(Self::DbubbleInsertTypeUration) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mbiehbjdkhd { + HollowDestoryNpcTypeNone = 0, + HollowDestoryNpcTypeByPos = 1, + HollowDestoryNpcTypeByNpcUid = 2, +} +impl Mbiehbjdkhd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowDestoryNpcTypeNone => "MBIEHBJDKHD_HOLLOW_DESTORY_NPC_TYPE_NONE", + Self::HollowDestoryNpcTypeByPos => { + "MBIEHBJDKHD_HOLLOW_DESTORY_NPC_TYPE_BY_POS" + } + Self::HollowDestoryNpcTypeByNpcUid => { + "MBIEHBJDKHD_HOLLOW_DESTORY_NPC_TYPE_BY_NPC_UID" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MBIEHBJDKHD_HOLLOW_DESTORY_NPC_TYPE_NONE" => { + Some(Self::HollowDestoryNpcTypeNone) + } + "MBIEHBJDKHD_HOLLOW_DESTORY_NPC_TYPE_BY_POS" => { + Some(Self::HollowDestoryNpcTypeByPos) + } + "MBIEHBJDKHD_HOLLOW_DESTORY_NPC_TYPE_BY_NPC_UID" => { + Some(Self::HollowDestoryNpcTypeByNpcUid) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bonpenfglnj { + Mfjbnkggcgj = 0, +} +impl Bonpenfglnj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mfjbnkggcgj => "BONPENFGLNJ_MFJBNKGGCGJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BONPENFGLNJ_MFJBNKGGCGJ" => Some(Self::Mfjbnkggcgj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bdkfckcdioe { + Hdemfamlfoi = 0, + Johlfcjdjhn = 1, +} +impl Bdkfckcdioe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hdemfamlfoi => "BDKFCKCDIOE_HDEMFAMLFOI", + Self::Johlfcjdjhn => "BDKFCKCDIOE_JOHLFCJDJHN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BDKFCKCDIOE_HDEMFAMLFOI" => Some(Self::Hdemfamlfoi), + "BDKFCKCDIOE_JOHLFCJDJHN" => Some(Self::Johlfcjdjhn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ihjhfpmfdkh { + Moiogjhbgnb = 0, + Indbagnnepa = 1, + Ckckfabkfaj = 2, + Amkiggnpjlb = 3, + Egkagncmnca = 4, + Jbjibbkhphh = 5, + Ocnoiapghpm = 6, + Obgpjahheja = 10, + Hohdllgfoog = 99, + Pfdhnllcbhd = 102, +} +impl Ihjhfpmfdkh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Moiogjhbgnb => "IHJHFPMFDKH_MOIOGJHBGNB", + Self::Indbagnnepa => "IHJHFPMFDKH_INDBAGNNEPA", + Self::Ckckfabkfaj => "IHJHFPMFDKH_CKCKFABKFAJ", + Self::Amkiggnpjlb => "IHJHFPMFDKH_AMKIGGNPJLB", + Self::Egkagncmnca => "IHJHFPMFDKH_EGKAGNCMNCA", + Self::Jbjibbkhphh => "IHJHFPMFDKH_JBJIBBKHPHH", + Self::Ocnoiapghpm => "IHJHFPMFDKH_OCNOIAPGHPM", + Self::Obgpjahheja => "IHJHFPMFDKH_OBGPJAHHEJA", + Self::Hohdllgfoog => "IHJHFPMFDKH_HOHDLLGFOOG", + Self::Pfdhnllcbhd => "IHJHFPMFDKH_PFDHNLLCBHD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IHJHFPMFDKH_MOIOGJHBGNB" => Some(Self::Moiogjhbgnb), + "IHJHFPMFDKH_INDBAGNNEPA" => Some(Self::Indbagnnepa), + "IHJHFPMFDKH_CKCKFABKFAJ" => Some(Self::Ckckfabkfaj), + "IHJHFPMFDKH_AMKIGGNPJLB" => Some(Self::Amkiggnpjlb), + "IHJHFPMFDKH_EGKAGNCMNCA" => Some(Self::Egkagncmnca), + "IHJHFPMFDKH_JBJIBBKHPHH" => Some(Self::Jbjibbkhphh), + "IHJHFPMFDKH_OCNOIAPGHPM" => Some(Self::Ocnoiapghpm), + "IHJHFPMFDKH_OBGPJAHHEJA" => Some(Self::Obgpjahheja), + "IHJHFPMFDKH_HOHDLLGFOOG" => Some(Self::Hohdllgfoog), + "IHJHFPMFDKH_PFDHNLLCBHD" => Some(Self::Pfdhnllcbhd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hddffdjhjkh { + Pejhgncnklf = 0, + Cecglkjccef = 1, + Gnkjglnbhci = 2, +} +impl Hddffdjhjkh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pejhgncnklf => "HDDFFDJHJKH_PEJHGNCNKLF", + Self::Cecglkjccef => "HDDFFDJHJKH_CECGLKJCCEF", + Self::Gnkjglnbhci => "HDDFFDJHJKH_GNKJGLNBHCI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HDDFFDJHJKH_PEJHGNCNKLF" => Some(Self::Pejhgncnklf), + "HDDFFDJHJKH_CECGLKJCCEF" => Some(Self::Cecglkjccef), + "HDDFFDJHJKH_GNKJGLNBHCI" => Some(Self::Gnkjglnbhci), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Omjcfhfojod { + Njhhpnlhkem = 0, + Hndcipcpmag = 1, + Oimgmflopdn = 2, +} +impl Omjcfhfojod { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Njhhpnlhkem => "OMJCFHFOJOD_NJHHPNLHKEM", + Self::Hndcipcpmag => "OMJCFHFOJOD_HNDCIPCPMAG", + Self::Oimgmflopdn => "OMJCFHFOJOD_OIMGMFLOPDN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OMJCFHFOJOD_NJHHPNLHKEM" => Some(Self::Njhhpnlhkem), + "OMJCFHFOJOD_HNDCIPCPMAG" => Some(Self::Hndcipcpmag), + "OMJCFHFOJOD_OIMGMFLOPDN" => Some(Self::Oimgmflopdn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum DirectType { + DirectTypeNone = 0, + DirectUp = 1, + DirectDown = 2, + ChangeGrid = 3, + SwitchChessUp = 4, + SwitchChessDown = 5, + BigTvEnter = 6, + BigTvExit = 7, + ResetGrid = 8, + Repair = 9, + TimeRewindEnter = 10, + TimeRewindExit = 11, + TimeSegmentEnter = 12, + RepairExit = 13, +} +impl DirectType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::DirectTypeNone => "DirectType_DIRECT_TYPE_NONE", + Self::DirectUp => "DirectType_DIRECT_UP", + Self::DirectDown => "DirectType_DIRECT_DOWN", + Self::ChangeGrid => "DirectType_CHANGE_GRID", + Self::SwitchChessUp => "DirectType_SWITCH_CHESS_UP", + Self::SwitchChessDown => "DirectType_SWITCH_CHESS_DOWN", + Self::BigTvEnter => "DirectType_BIG_TV_ENTER", + Self::BigTvExit => "DirectType_BIG_TV_EXIT", + Self::ResetGrid => "DirectType_RESET_GRID", + Self::Repair => "DirectType_REPAIR", + Self::TimeRewindEnter => "DirectType_TIME_REWIND_ENTER", + Self::TimeRewindExit => "DirectType_TIME_REWIND_EXIT", + Self::TimeSegmentEnter => "DirectType_TIME_SEGMENT_ENTER", + Self::RepairExit => "DirectType_REPAIR_EXIT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DirectType_DIRECT_TYPE_NONE" => Some(Self::DirectTypeNone), + "DirectType_DIRECT_UP" => Some(Self::DirectUp), + "DirectType_DIRECT_DOWN" => Some(Self::DirectDown), + "DirectType_CHANGE_GRID" => Some(Self::ChangeGrid), + "DirectType_SWITCH_CHESS_UP" => Some(Self::SwitchChessUp), + "DirectType_SWITCH_CHESS_DOWN" => Some(Self::SwitchChessDown), + "DirectType_BIG_TV_ENTER" => Some(Self::BigTvEnter), + "DirectType_BIG_TV_EXIT" => Some(Self::BigTvExit), + "DirectType_RESET_GRID" => Some(Self::ResetGrid), + "DirectType_REPAIR" => Some(Self::Repair), + "DirectType_TIME_REWIND_ENTER" => Some(Self::TimeRewindEnter), + "DirectType_TIME_REWIND_EXIT" => Some(Self::TimeRewindExit), + "DirectType_TIME_SEGMENT_ENTER" => Some(Self::TimeSegmentEnter), + "DirectType_REPAIR_EXIT" => Some(Self::RepairExit), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Igieibgkaen { + Jejcfkchbfm = 0, + Dkilmombopc = 99, + Bkehfhidgel = 100, + Jdjjekjmmld = 199, + Dgoncggcgkf = 200, + Ajnhljaiace = 299, + Jgkhkjablai = 300, + Ilkglgmlhio = 399, + Aejfhadcbgm = 400, + Epiepjhogla = 549, + Cnaogichojj = 550, + Adilleoooal = 699, + Hajamgljpnc = 700, + Coodppdkfbh = 799, + Ehcafeccack = 800, + Aiepihcnpeh = 849, + Gihmjonnfpo = 850, + Cdljlkhnpli = 899, + Choblgmgnoh = 900, + Dgcknaeehep = 949, + Njjgdkmaomm = 950, + Ahnoojhejdi = 999, + Gbefggihild = 1000, + Gmcoeoebaof = 1049, + Moeampmhkid = 1050, + Eaepjipbome = 1149, + Ihddhacmlae = 1150, + Hdgnpkmmcce = 1249, + Memcgnhhojk = 1250, + Pknpldlkken = 1299, + Llahplehfgh = 1300, + Dpjpgcfchma = 1399, + Mnjcmbbcmkk = 1450, + Miklbijhfgl = 1499, + Bgeediaojbj = 1500, + Ijehocfgmhe = 1599, + Bnalhmnoloi = 1600, + Kddajlpclfa = 1619, + Gmecejlkkbc = 1620, + Gnofpfgooff = 1699, + Aofpcmphndl = 1700, + Hippojloapd = 1899, + Cdccakmhdpk = 1900, + Najgfadindn = 1949, + Hejoemaghad = 1950, + Nlilfoafdcn = 1999, + Bpkogcjnlbk = 2000, + Dgdinlngkmi = 2049, + Jkdiaggpkja = 2050, + Jfgpbbhnlpm = 2099, + Hbgfaknompn = 2100, + Khfmechmdhd = 2119, + Afnngkphmbh = 2200, + Lobjpfbdnan = 2219, + Cjhffpjpkgg = 2220, + Akpfonecllp = 2399, + Eflodcehlem = 2400, + Pdphplpnjij = 2449, + Lobijnlfopl = 2450, + Mgfbehipppe = 2499, + Anhdklogdop = 2500, + Ckpcmhddaai = 2549, + Bdkeaffijfb = 2550, + Gppppjineeg = 2579, + Plpdmdjldja = 2580, + Mbmicleeiek = 2799, + Cjhjmiacapb = 2800, + Bkmofkaghgj = 2829, + Mkbmpbhamgm = 2830, + Geaamelgekg = 2869, + Ciekmhfgial = 2870, + Kgiaoidmioe = 2929, + Bdpdgnbljdn = 2930, + Knfponlbccj = 2999, + Lljcnhkndgm = 3000, + Mbfeaeigjek = 3099, + Alcohdcbdbp = 3100, + Ohkoidnddjo = 3129, + Pdhagbighhf = 3130, + Hejkikfppkf = 3159, + Bnmacgjlimd = 3160, + Mppfiifmjpe = 3259, + Badjchhhibj = 3260, + Kbbpljomkkj = 3359, + Oojonnbponm = 3360, + Modgkcpfhcb = 3399, + Nkkompmahpg = 3400, + Obbogfaenpa = 3449, + Jhlnijcofpi = 3450, + Ebigeigjfch = 3499, + Pgemiblnkfl = 3500, + Hcnocjehlah = 3529, + Jelgpapkoic = 3530, + Ghbphcnefpe = 3549, + Dnpfbgpknpg = 3550, + Blmelkhhigg = 3569, + Nbnfjbpbbpe = 3570, + Epdadmebiaf = 3589, + Iapfjpaahgc = 3590, + Ebofeajlakf = 3699, + Oldeapiglnl = 3700, + Njhnbbjjcoc = 3799, + Cpfofhpmolj = 3800, + Oddjaamfibf = 3810, + Cfnfmpladjg = 3811, + Kekmnjnejmb = 3840, + Lfkiobiioll = 3841, + Meijaglnhka = 3859, + Oiongnbmpih = 3860, + Iafjdnminei = 3879, + Mlnlbefgdjd = 4000, + Khbialbigcm = 4099, + Bpaookcfeoj = 4100, + Ncjgdhicmia = 4199, + Nbceijadkak = 4200, + Ifjcdkicooo = 4299, + Ldlejmnnmfl = 4300, + Jelmejgjkml = 4399, + Ehhleggohmc = 4400, + Afppnhbeble = 4499, + Kbolhiigmpm = 4500, + Bidpbgpjmml = 4599, + Dnekhifjled = 4600, + Fgnbmadpjip = 4649, + Akgchcpahfi = 4700, + Okcfdaebidk = 4799, + Ejmdngnkfed = 5000, + Nidbdjibjkd = 6999, + Boljbncjcog = 7000, + Aleanmegmfb = 7050, + Geeiikihjkm = 7051, + Phehkkfbffp = 7099, + Kehafklgghj = 10000, + Hhfpdceajfl = 10099, + Phmdbndmhfp = 10100, + Odoigpghmmm = 10199, + Kiomhhgefnb = 10200, + Linffnlflmi = 10299, + Dbgkkggceob = 10300, + Dmbfeblbnic = 10399, + Pmleejfgalg = 10400, + Flofobibjae = 10499, + Jnepddleobh = 10500, + Nogcgblmaaf = 10599, + Fbocooahmgb = 10600, + Jipmfonbkaf = 10799, + Blnihbmcpbm = 10800, + Nobdbkgfppa = 10899, + Kgbgmfhnelb = 10900, + Ppnhhpgimdk = 10999, + Hngfeodpnjb = 11000, + Okoiebadkcd = 11049, + Hhijjngfkhk = 11050, + Djchhpdjbpd = 11099, + Niiikapfnaf = 11100, + Ckaekbclndo = 11149, + Fidkhmiomol = 11150, + Dccjnjcieob = 11299, + Pcneepmcnjo = 11400, + Jnkhcogfigc = 11499, + Oiladfbdkbp = 11500, + Ckcpbmhachp = 11549, +} +impl Igieibgkaen { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jejcfkchbfm => "IGIEIBGKAEN_JEJCFKCHBFM", + Self::Dkilmombopc => "IGIEIBGKAEN_DKILMOMBOPC", + Self::Bkehfhidgel => "IGIEIBGKAEN_BKEHFHIDGEL", + Self::Jdjjekjmmld => "IGIEIBGKAEN_JDJJEKJMMLD", + Self::Dgoncggcgkf => "IGIEIBGKAEN_DGONCGGCGKF", + Self::Ajnhljaiace => "IGIEIBGKAEN_AJNHLJAIACE", + Self::Jgkhkjablai => "IGIEIBGKAEN_JGKHKJABLAI", + Self::Ilkglgmlhio => "IGIEIBGKAEN_ILKGLGMLHIO", + Self::Aejfhadcbgm => "IGIEIBGKAEN_AEJFHADCBGM", + Self::Epiepjhogla => "IGIEIBGKAEN_EPIEPJHOGLA", + Self::Cnaogichojj => "IGIEIBGKAEN_CNAOGICHOJJ", + Self::Adilleoooal => "IGIEIBGKAEN_ADILLEOOOAL", + Self::Hajamgljpnc => "IGIEIBGKAEN_HAJAMGLJPNC", + Self::Coodppdkfbh => "IGIEIBGKAEN_COODPPDKFBH", + Self::Ehcafeccack => "IGIEIBGKAEN_EHCAFECCACK", + Self::Aiepihcnpeh => "IGIEIBGKAEN_AIEPIHCNPEH", + Self::Gihmjonnfpo => "IGIEIBGKAEN_GIHMJONNFPO", + Self::Cdljlkhnpli => "IGIEIBGKAEN_CDLJLKHNPLI", + Self::Choblgmgnoh => "IGIEIBGKAEN_CHOBLGMGNOH", + Self::Dgcknaeehep => "IGIEIBGKAEN_DGCKNAEEHEP", + Self::Njjgdkmaomm => "IGIEIBGKAEN_NJJGDKMAOMM", + Self::Ahnoojhejdi => "IGIEIBGKAEN_AHNOOJHEJDI", + Self::Gbefggihild => "IGIEIBGKAEN_GBEFGGIHILD", + Self::Gmcoeoebaof => "IGIEIBGKAEN_GMCOEOEBAOF", + Self::Moeampmhkid => "IGIEIBGKAEN_MOEAMPMHKID", + Self::Eaepjipbome => "IGIEIBGKAEN_EAEPJIPBOME", + Self::Ihddhacmlae => "IGIEIBGKAEN_IHDDHACMLAE", + Self::Hdgnpkmmcce => "IGIEIBGKAEN_HDGNPKMMCCE", + Self::Memcgnhhojk => "IGIEIBGKAEN_MEMCGNHHOJK", + Self::Pknpldlkken => "IGIEIBGKAEN_PKNPLDLKKEN", + Self::Llahplehfgh => "IGIEIBGKAEN_LLAHPLEHFGH", + Self::Dpjpgcfchma => "IGIEIBGKAEN_DPJPGCFCHMA", + Self::Mnjcmbbcmkk => "IGIEIBGKAEN_MNJCMBBCMKK", + Self::Miklbijhfgl => "IGIEIBGKAEN_MIKLBIJHFGL", + Self::Bgeediaojbj => "IGIEIBGKAEN_BGEEDIAOJBJ", + Self::Ijehocfgmhe => "IGIEIBGKAEN_IJEHOCFGMHE", + Self::Bnalhmnoloi => "IGIEIBGKAEN_BNALHMNOLOI", + Self::Kddajlpclfa => "IGIEIBGKAEN_KDDAJLPCLFA", + Self::Gmecejlkkbc => "IGIEIBGKAEN_GMECEJLKKBC", + Self::Gnofpfgooff => "IGIEIBGKAEN_GNOFPFGOOFF", + Self::Aofpcmphndl => "IGIEIBGKAEN_AOFPCMPHNDL", + Self::Hippojloapd => "IGIEIBGKAEN_HIPPOJLOAPD", + Self::Cdccakmhdpk => "IGIEIBGKAEN_CDCCAKMHDPK", + Self::Najgfadindn => "IGIEIBGKAEN_NAJGFADINDN", + Self::Hejoemaghad => "IGIEIBGKAEN_HEJOEMAGHAD", + Self::Nlilfoafdcn => "IGIEIBGKAEN_NLILFOAFDCN", + Self::Bpkogcjnlbk => "IGIEIBGKAEN_BPKOGCJNLBK", + Self::Dgdinlngkmi => "IGIEIBGKAEN_DGDINLNGKMI", + Self::Jkdiaggpkja => "IGIEIBGKAEN_JKDIAGGPKJA", + Self::Jfgpbbhnlpm => "IGIEIBGKAEN_JFGPBBHNLPM", + Self::Hbgfaknompn => "IGIEIBGKAEN_HBGFAKNOMPN", + Self::Khfmechmdhd => "IGIEIBGKAEN_KHFMECHMDHD", + Self::Afnngkphmbh => "IGIEIBGKAEN_AFNNGKPHMBH", + Self::Lobjpfbdnan => "IGIEIBGKAEN_LOBJPFBDNAN", + Self::Cjhffpjpkgg => "IGIEIBGKAEN_CJHFFPJPKGG", + Self::Akpfonecllp => "IGIEIBGKAEN_AKPFONECLLP", + Self::Eflodcehlem => "IGIEIBGKAEN_EFLODCEHLEM", + Self::Pdphplpnjij => "IGIEIBGKAEN_PDPHPLPNJIJ", + Self::Lobijnlfopl => "IGIEIBGKAEN_LOBIJNLFOPL", + Self::Mgfbehipppe => "IGIEIBGKAEN_MGFBEHIPPPE", + Self::Anhdklogdop => "IGIEIBGKAEN_ANHDKLOGDOP", + Self::Ckpcmhddaai => "IGIEIBGKAEN_CKPCMHDDAAI", + Self::Bdkeaffijfb => "IGIEIBGKAEN_BDKEAFFIJFB", + Self::Gppppjineeg => "IGIEIBGKAEN_GPPPPJINEEG", + Self::Plpdmdjldja => "IGIEIBGKAEN_PLPDMDJLDJA", + Self::Mbmicleeiek => "IGIEIBGKAEN_MBMICLEEIEK", + Self::Cjhjmiacapb => "IGIEIBGKAEN_CJHJMIACAPB", + Self::Bkmofkaghgj => "IGIEIBGKAEN_BKMOFKAGHGJ", + Self::Mkbmpbhamgm => "IGIEIBGKAEN_MKBMPBHAMGM", + Self::Geaamelgekg => "IGIEIBGKAEN_GEAAMELGEKG", + Self::Ciekmhfgial => "IGIEIBGKAEN_CIEKMHFGIAL", + Self::Kgiaoidmioe => "IGIEIBGKAEN_KGIAOIDMIOE", + Self::Bdpdgnbljdn => "IGIEIBGKAEN_BDPDGNBLJDN", + Self::Knfponlbccj => "IGIEIBGKAEN_KNFPONLBCCJ", + Self::Lljcnhkndgm => "IGIEIBGKAEN_LLJCNHKNDGM", + Self::Mbfeaeigjek => "IGIEIBGKAEN_MBFEAEIGJEK", + Self::Alcohdcbdbp => "IGIEIBGKAEN_ALCOHDCBDBP", + Self::Ohkoidnddjo => "IGIEIBGKAEN_OHKOIDNDDJO", + Self::Pdhagbighhf => "IGIEIBGKAEN_PDHAGBIGHHF", + Self::Hejkikfppkf => "IGIEIBGKAEN_HEJKIKFPPKF", + Self::Bnmacgjlimd => "IGIEIBGKAEN_BNMACGJLIMD", + Self::Mppfiifmjpe => "IGIEIBGKAEN_MPPFIIFMJPE", + Self::Badjchhhibj => "IGIEIBGKAEN_BADJCHHHIBJ", + Self::Kbbpljomkkj => "IGIEIBGKAEN_KBBPLJOMKKJ", + Self::Oojonnbponm => "IGIEIBGKAEN_OOJONNBPONM", + Self::Modgkcpfhcb => "IGIEIBGKAEN_MODGKCPFHCB", + Self::Nkkompmahpg => "IGIEIBGKAEN_NKKOMPMAHPG", + Self::Obbogfaenpa => "IGIEIBGKAEN_OBBOGFAENPA", + Self::Jhlnijcofpi => "IGIEIBGKAEN_JHLNIJCOFPI", + Self::Ebigeigjfch => "IGIEIBGKAEN_EBIGEIGJFCH", + Self::Pgemiblnkfl => "IGIEIBGKAEN_PGEMIBLNKFL", + Self::Hcnocjehlah => "IGIEIBGKAEN_HCNOCJEHLAH", + Self::Jelgpapkoic => "IGIEIBGKAEN_JELGPAPKOIC", + Self::Ghbphcnefpe => "IGIEIBGKAEN_GHBPHCNEFPE", + Self::Dnpfbgpknpg => "IGIEIBGKAEN_DNPFBGPKNPG", + Self::Blmelkhhigg => "IGIEIBGKAEN_BLMELKHHIGG", + Self::Nbnfjbpbbpe => "IGIEIBGKAEN_NBNFJBPBBPE", + Self::Epdadmebiaf => "IGIEIBGKAEN_EPDADMEBIAF", + Self::Iapfjpaahgc => "IGIEIBGKAEN_IAPFJPAAHGC", + Self::Ebofeajlakf => "IGIEIBGKAEN_EBOFEAJLAKF", + Self::Oldeapiglnl => "IGIEIBGKAEN_OLDEAPIGLNL", + Self::Njhnbbjjcoc => "IGIEIBGKAEN_NJHNBBJJCOC", + Self::Cpfofhpmolj => "IGIEIBGKAEN_CPFOFHPMOLJ", + Self::Oddjaamfibf => "IGIEIBGKAEN_ODDJAAMFIBF", + Self::Cfnfmpladjg => "IGIEIBGKAEN_CFNFMPLADJG", + Self::Kekmnjnejmb => "IGIEIBGKAEN_KEKMNJNEJMB", + Self::Lfkiobiioll => "IGIEIBGKAEN_LFKIOBIIOLL", + Self::Meijaglnhka => "IGIEIBGKAEN_MEIJAGLNHKA", + Self::Oiongnbmpih => "IGIEIBGKAEN_OIONGNBMPIH", + Self::Iafjdnminei => "IGIEIBGKAEN_IAFJDNMINEI", + Self::Mlnlbefgdjd => "IGIEIBGKAEN_MLNLBEFGDJD", + Self::Khbialbigcm => "IGIEIBGKAEN_KHBIALBIGCM", + Self::Bpaookcfeoj => "IGIEIBGKAEN_BPAOOKCFEOJ", + Self::Ncjgdhicmia => "IGIEIBGKAEN_NCJGDHICMIA", + Self::Nbceijadkak => "IGIEIBGKAEN_NBCEIJADKAK", + Self::Ifjcdkicooo => "IGIEIBGKAEN_IFJCDKICOOO", + Self::Ldlejmnnmfl => "IGIEIBGKAEN_LDLEJMNNMFL", + Self::Jelmejgjkml => "IGIEIBGKAEN_JELMEJGJKML", + Self::Ehhleggohmc => "IGIEIBGKAEN_EHHLEGGOHMC", + Self::Afppnhbeble => "IGIEIBGKAEN_AFPPNHBEBLE", + Self::Kbolhiigmpm => "IGIEIBGKAEN_KBOLHIIGMPM", + Self::Bidpbgpjmml => "IGIEIBGKAEN_BIDPBGPJMML", + Self::Dnekhifjled => "IGIEIBGKAEN_DNEKHIFJLED", + Self::Fgnbmadpjip => "IGIEIBGKAEN_FGNBMADPJIP", + Self::Akgchcpahfi => "IGIEIBGKAEN_AKGCHCPAHFI", + Self::Okcfdaebidk => "IGIEIBGKAEN_OKCFDAEBIDK", + Self::Ejmdngnkfed => "IGIEIBGKAEN_EJMDNGNKFED", + Self::Nidbdjibjkd => "IGIEIBGKAEN_NIDBDJIBJKD", + Self::Boljbncjcog => "IGIEIBGKAEN_BOLJBNCJCOG", + Self::Aleanmegmfb => "IGIEIBGKAEN_ALEANMEGMFB", + Self::Geeiikihjkm => "IGIEIBGKAEN_GEEIIKIHJKM", + Self::Phehkkfbffp => "IGIEIBGKAEN_PHEHKKFBFFP", + Self::Kehafklgghj => "IGIEIBGKAEN_KEHAFKLGGHJ", + Self::Hhfpdceajfl => "IGIEIBGKAEN_HHFPDCEAJFL", + Self::Phmdbndmhfp => "IGIEIBGKAEN_PHMDBNDMHFP", + Self::Odoigpghmmm => "IGIEIBGKAEN_ODOIGPGHMMM", + Self::Kiomhhgefnb => "IGIEIBGKAEN_KIOMHHGEFNB", + Self::Linffnlflmi => "IGIEIBGKAEN_LINFFNLFLMI", + Self::Dbgkkggceob => "IGIEIBGKAEN_DBGKKGGCEOB", + Self::Dmbfeblbnic => "IGIEIBGKAEN_DMBFEBLBNIC", + Self::Pmleejfgalg => "IGIEIBGKAEN_PMLEEJFGALG", + Self::Flofobibjae => "IGIEIBGKAEN_FLOFOBIBJAE", + Self::Jnepddleobh => "IGIEIBGKAEN_JNEPDDLEOBH", + Self::Nogcgblmaaf => "IGIEIBGKAEN_NOGCGBLMAAF", + Self::Fbocooahmgb => "IGIEIBGKAEN_FBOCOOAHMGB", + Self::Jipmfonbkaf => "IGIEIBGKAEN_JIPMFONBKAF", + Self::Blnihbmcpbm => "IGIEIBGKAEN_BLNIHBMCPBM", + Self::Nobdbkgfppa => "IGIEIBGKAEN_NOBDBKGFPPA", + Self::Kgbgmfhnelb => "IGIEIBGKAEN_KGBGMFHNELB", + Self::Ppnhhpgimdk => "IGIEIBGKAEN_PPNHHPGIMDK", + Self::Hngfeodpnjb => "IGIEIBGKAEN_HNGFEODPNJB", + Self::Okoiebadkcd => "IGIEIBGKAEN_OKOIEBADKCD", + Self::Hhijjngfkhk => "IGIEIBGKAEN_HHIJJNGFKHK", + Self::Djchhpdjbpd => "IGIEIBGKAEN_DJCHHPDJBPD", + Self::Niiikapfnaf => "IGIEIBGKAEN_NIIIKAPFNAF", + Self::Ckaekbclndo => "IGIEIBGKAEN_CKAEKBCLNDO", + Self::Fidkhmiomol => "IGIEIBGKAEN_FIDKHMIOMOL", + Self::Dccjnjcieob => "IGIEIBGKAEN_DCCJNJCIEOB", + Self::Pcneepmcnjo => "IGIEIBGKAEN_PCNEEPMCNJO", + Self::Jnkhcogfigc => "IGIEIBGKAEN_JNKHCOGFIGC", + Self::Oiladfbdkbp => "IGIEIBGKAEN_OILADFBDKBP", + Self::Ckcpbmhachp => "IGIEIBGKAEN_CKCPBMHACHP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IGIEIBGKAEN_JEJCFKCHBFM" => Some(Self::Jejcfkchbfm), + "IGIEIBGKAEN_DKILMOMBOPC" => Some(Self::Dkilmombopc), + "IGIEIBGKAEN_BKEHFHIDGEL" => Some(Self::Bkehfhidgel), + "IGIEIBGKAEN_JDJJEKJMMLD" => Some(Self::Jdjjekjmmld), + "IGIEIBGKAEN_DGONCGGCGKF" => Some(Self::Dgoncggcgkf), + "IGIEIBGKAEN_AJNHLJAIACE" => Some(Self::Ajnhljaiace), + "IGIEIBGKAEN_JGKHKJABLAI" => Some(Self::Jgkhkjablai), + "IGIEIBGKAEN_ILKGLGMLHIO" => Some(Self::Ilkglgmlhio), + "IGIEIBGKAEN_AEJFHADCBGM" => Some(Self::Aejfhadcbgm), + "IGIEIBGKAEN_EPIEPJHOGLA" => Some(Self::Epiepjhogla), + "IGIEIBGKAEN_CNAOGICHOJJ" => Some(Self::Cnaogichojj), + "IGIEIBGKAEN_ADILLEOOOAL" => Some(Self::Adilleoooal), + "IGIEIBGKAEN_HAJAMGLJPNC" => Some(Self::Hajamgljpnc), + "IGIEIBGKAEN_COODPPDKFBH" => Some(Self::Coodppdkfbh), + "IGIEIBGKAEN_EHCAFECCACK" => Some(Self::Ehcafeccack), + "IGIEIBGKAEN_AIEPIHCNPEH" => Some(Self::Aiepihcnpeh), + "IGIEIBGKAEN_GIHMJONNFPO" => Some(Self::Gihmjonnfpo), + "IGIEIBGKAEN_CDLJLKHNPLI" => Some(Self::Cdljlkhnpli), + "IGIEIBGKAEN_CHOBLGMGNOH" => Some(Self::Choblgmgnoh), + "IGIEIBGKAEN_DGCKNAEEHEP" => Some(Self::Dgcknaeehep), + "IGIEIBGKAEN_NJJGDKMAOMM" => Some(Self::Njjgdkmaomm), + "IGIEIBGKAEN_AHNOOJHEJDI" => Some(Self::Ahnoojhejdi), + "IGIEIBGKAEN_GBEFGGIHILD" => Some(Self::Gbefggihild), + "IGIEIBGKAEN_GMCOEOEBAOF" => Some(Self::Gmcoeoebaof), + "IGIEIBGKAEN_MOEAMPMHKID" => Some(Self::Moeampmhkid), + "IGIEIBGKAEN_EAEPJIPBOME" => Some(Self::Eaepjipbome), + "IGIEIBGKAEN_IHDDHACMLAE" => Some(Self::Ihddhacmlae), + "IGIEIBGKAEN_HDGNPKMMCCE" => Some(Self::Hdgnpkmmcce), + "IGIEIBGKAEN_MEMCGNHHOJK" => Some(Self::Memcgnhhojk), + "IGIEIBGKAEN_PKNPLDLKKEN" => Some(Self::Pknpldlkken), + "IGIEIBGKAEN_LLAHPLEHFGH" => Some(Self::Llahplehfgh), + "IGIEIBGKAEN_DPJPGCFCHMA" => Some(Self::Dpjpgcfchma), + "IGIEIBGKAEN_MNJCMBBCMKK" => Some(Self::Mnjcmbbcmkk), + "IGIEIBGKAEN_MIKLBIJHFGL" => Some(Self::Miklbijhfgl), + "IGIEIBGKAEN_BGEEDIAOJBJ" => Some(Self::Bgeediaojbj), + "IGIEIBGKAEN_IJEHOCFGMHE" => Some(Self::Ijehocfgmhe), + "IGIEIBGKAEN_BNALHMNOLOI" => Some(Self::Bnalhmnoloi), + "IGIEIBGKAEN_KDDAJLPCLFA" => Some(Self::Kddajlpclfa), + "IGIEIBGKAEN_GMECEJLKKBC" => Some(Self::Gmecejlkkbc), + "IGIEIBGKAEN_GNOFPFGOOFF" => Some(Self::Gnofpfgooff), + "IGIEIBGKAEN_AOFPCMPHNDL" => Some(Self::Aofpcmphndl), + "IGIEIBGKAEN_HIPPOJLOAPD" => Some(Self::Hippojloapd), + "IGIEIBGKAEN_CDCCAKMHDPK" => Some(Self::Cdccakmhdpk), + "IGIEIBGKAEN_NAJGFADINDN" => Some(Self::Najgfadindn), + "IGIEIBGKAEN_HEJOEMAGHAD" => Some(Self::Hejoemaghad), + "IGIEIBGKAEN_NLILFOAFDCN" => Some(Self::Nlilfoafdcn), + "IGIEIBGKAEN_BPKOGCJNLBK" => Some(Self::Bpkogcjnlbk), + "IGIEIBGKAEN_DGDINLNGKMI" => Some(Self::Dgdinlngkmi), + "IGIEIBGKAEN_JKDIAGGPKJA" => Some(Self::Jkdiaggpkja), + "IGIEIBGKAEN_JFGPBBHNLPM" => Some(Self::Jfgpbbhnlpm), + "IGIEIBGKAEN_HBGFAKNOMPN" => Some(Self::Hbgfaknompn), + "IGIEIBGKAEN_KHFMECHMDHD" => Some(Self::Khfmechmdhd), + "IGIEIBGKAEN_AFNNGKPHMBH" => Some(Self::Afnngkphmbh), + "IGIEIBGKAEN_LOBJPFBDNAN" => Some(Self::Lobjpfbdnan), + "IGIEIBGKAEN_CJHFFPJPKGG" => Some(Self::Cjhffpjpkgg), + "IGIEIBGKAEN_AKPFONECLLP" => Some(Self::Akpfonecllp), + "IGIEIBGKAEN_EFLODCEHLEM" => Some(Self::Eflodcehlem), + "IGIEIBGKAEN_PDPHPLPNJIJ" => Some(Self::Pdphplpnjij), + "IGIEIBGKAEN_LOBIJNLFOPL" => Some(Self::Lobijnlfopl), + "IGIEIBGKAEN_MGFBEHIPPPE" => Some(Self::Mgfbehipppe), + "IGIEIBGKAEN_ANHDKLOGDOP" => Some(Self::Anhdklogdop), + "IGIEIBGKAEN_CKPCMHDDAAI" => Some(Self::Ckpcmhddaai), + "IGIEIBGKAEN_BDKEAFFIJFB" => Some(Self::Bdkeaffijfb), + "IGIEIBGKAEN_GPPPPJINEEG" => Some(Self::Gppppjineeg), + "IGIEIBGKAEN_PLPDMDJLDJA" => Some(Self::Plpdmdjldja), + "IGIEIBGKAEN_MBMICLEEIEK" => Some(Self::Mbmicleeiek), + "IGIEIBGKAEN_CJHJMIACAPB" => Some(Self::Cjhjmiacapb), + "IGIEIBGKAEN_BKMOFKAGHGJ" => Some(Self::Bkmofkaghgj), + "IGIEIBGKAEN_MKBMPBHAMGM" => Some(Self::Mkbmpbhamgm), + "IGIEIBGKAEN_GEAAMELGEKG" => Some(Self::Geaamelgekg), + "IGIEIBGKAEN_CIEKMHFGIAL" => Some(Self::Ciekmhfgial), + "IGIEIBGKAEN_KGIAOIDMIOE" => Some(Self::Kgiaoidmioe), + "IGIEIBGKAEN_BDPDGNBLJDN" => Some(Self::Bdpdgnbljdn), + "IGIEIBGKAEN_KNFPONLBCCJ" => Some(Self::Knfponlbccj), + "IGIEIBGKAEN_LLJCNHKNDGM" => Some(Self::Lljcnhkndgm), + "IGIEIBGKAEN_MBFEAEIGJEK" => Some(Self::Mbfeaeigjek), + "IGIEIBGKAEN_ALCOHDCBDBP" => Some(Self::Alcohdcbdbp), + "IGIEIBGKAEN_OHKOIDNDDJO" => Some(Self::Ohkoidnddjo), + "IGIEIBGKAEN_PDHAGBIGHHF" => Some(Self::Pdhagbighhf), + "IGIEIBGKAEN_HEJKIKFPPKF" => Some(Self::Hejkikfppkf), + "IGIEIBGKAEN_BNMACGJLIMD" => Some(Self::Bnmacgjlimd), + "IGIEIBGKAEN_MPPFIIFMJPE" => Some(Self::Mppfiifmjpe), + "IGIEIBGKAEN_BADJCHHHIBJ" => Some(Self::Badjchhhibj), + "IGIEIBGKAEN_KBBPLJOMKKJ" => Some(Self::Kbbpljomkkj), + "IGIEIBGKAEN_OOJONNBPONM" => Some(Self::Oojonnbponm), + "IGIEIBGKAEN_MODGKCPFHCB" => Some(Self::Modgkcpfhcb), + "IGIEIBGKAEN_NKKOMPMAHPG" => Some(Self::Nkkompmahpg), + "IGIEIBGKAEN_OBBOGFAENPA" => Some(Self::Obbogfaenpa), + "IGIEIBGKAEN_JHLNIJCOFPI" => Some(Self::Jhlnijcofpi), + "IGIEIBGKAEN_EBIGEIGJFCH" => Some(Self::Ebigeigjfch), + "IGIEIBGKAEN_PGEMIBLNKFL" => Some(Self::Pgemiblnkfl), + "IGIEIBGKAEN_HCNOCJEHLAH" => Some(Self::Hcnocjehlah), + "IGIEIBGKAEN_JELGPAPKOIC" => Some(Self::Jelgpapkoic), + "IGIEIBGKAEN_GHBPHCNEFPE" => Some(Self::Ghbphcnefpe), + "IGIEIBGKAEN_DNPFBGPKNPG" => Some(Self::Dnpfbgpknpg), + "IGIEIBGKAEN_BLMELKHHIGG" => Some(Self::Blmelkhhigg), + "IGIEIBGKAEN_NBNFJBPBBPE" => Some(Self::Nbnfjbpbbpe), + "IGIEIBGKAEN_EPDADMEBIAF" => Some(Self::Epdadmebiaf), + "IGIEIBGKAEN_IAPFJPAAHGC" => Some(Self::Iapfjpaahgc), + "IGIEIBGKAEN_EBOFEAJLAKF" => Some(Self::Ebofeajlakf), + "IGIEIBGKAEN_OLDEAPIGLNL" => Some(Self::Oldeapiglnl), + "IGIEIBGKAEN_NJHNBBJJCOC" => Some(Self::Njhnbbjjcoc), + "IGIEIBGKAEN_CPFOFHPMOLJ" => Some(Self::Cpfofhpmolj), + "IGIEIBGKAEN_ODDJAAMFIBF" => Some(Self::Oddjaamfibf), + "IGIEIBGKAEN_CFNFMPLADJG" => Some(Self::Cfnfmpladjg), + "IGIEIBGKAEN_KEKMNJNEJMB" => Some(Self::Kekmnjnejmb), + "IGIEIBGKAEN_LFKIOBIIOLL" => Some(Self::Lfkiobiioll), + "IGIEIBGKAEN_MEIJAGLNHKA" => Some(Self::Meijaglnhka), + "IGIEIBGKAEN_OIONGNBMPIH" => Some(Self::Oiongnbmpih), + "IGIEIBGKAEN_IAFJDNMINEI" => Some(Self::Iafjdnminei), + "IGIEIBGKAEN_MLNLBEFGDJD" => Some(Self::Mlnlbefgdjd), + "IGIEIBGKAEN_KHBIALBIGCM" => Some(Self::Khbialbigcm), + "IGIEIBGKAEN_BPAOOKCFEOJ" => Some(Self::Bpaookcfeoj), + "IGIEIBGKAEN_NCJGDHICMIA" => Some(Self::Ncjgdhicmia), + "IGIEIBGKAEN_NBCEIJADKAK" => Some(Self::Nbceijadkak), + "IGIEIBGKAEN_IFJCDKICOOO" => Some(Self::Ifjcdkicooo), + "IGIEIBGKAEN_LDLEJMNNMFL" => Some(Self::Ldlejmnnmfl), + "IGIEIBGKAEN_JELMEJGJKML" => Some(Self::Jelmejgjkml), + "IGIEIBGKAEN_EHHLEGGOHMC" => Some(Self::Ehhleggohmc), + "IGIEIBGKAEN_AFPPNHBEBLE" => Some(Self::Afppnhbeble), + "IGIEIBGKAEN_KBOLHIIGMPM" => Some(Self::Kbolhiigmpm), + "IGIEIBGKAEN_BIDPBGPJMML" => Some(Self::Bidpbgpjmml), + "IGIEIBGKAEN_DNEKHIFJLED" => Some(Self::Dnekhifjled), + "IGIEIBGKAEN_FGNBMADPJIP" => Some(Self::Fgnbmadpjip), + "IGIEIBGKAEN_AKGCHCPAHFI" => Some(Self::Akgchcpahfi), + "IGIEIBGKAEN_OKCFDAEBIDK" => Some(Self::Okcfdaebidk), + "IGIEIBGKAEN_EJMDNGNKFED" => Some(Self::Ejmdngnkfed), + "IGIEIBGKAEN_NIDBDJIBJKD" => Some(Self::Nidbdjibjkd), + "IGIEIBGKAEN_BOLJBNCJCOG" => Some(Self::Boljbncjcog), + "IGIEIBGKAEN_ALEANMEGMFB" => Some(Self::Aleanmegmfb), + "IGIEIBGKAEN_GEEIIKIHJKM" => Some(Self::Geeiikihjkm), + "IGIEIBGKAEN_PHEHKKFBFFP" => Some(Self::Phehkkfbffp), + "IGIEIBGKAEN_KEHAFKLGGHJ" => Some(Self::Kehafklgghj), + "IGIEIBGKAEN_HHFPDCEAJFL" => Some(Self::Hhfpdceajfl), + "IGIEIBGKAEN_PHMDBNDMHFP" => Some(Self::Phmdbndmhfp), + "IGIEIBGKAEN_ODOIGPGHMMM" => Some(Self::Odoigpghmmm), + "IGIEIBGKAEN_KIOMHHGEFNB" => Some(Self::Kiomhhgefnb), + "IGIEIBGKAEN_LINFFNLFLMI" => Some(Self::Linffnlflmi), + "IGIEIBGKAEN_DBGKKGGCEOB" => Some(Self::Dbgkkggceob), + "IGIEIBGKAEN_DMBFEBLBNIC" => Some(Self::Dmbfeblbnic), + "IGIEIBGKAEN_PMLEEJFGALG" => Some(Self::Pmleejfgalg), + "IGIEIBGKAEN_FLOFOBIBJAE" => Some(Self::Flofobibjae), + "IGIEIBGKAEN_JNEPDDLEOBH" => Some(Self::Jnepddleobh), + "IGIEIBGKAEN_NOGCGBLMAAF" => Some(Self::Nogcgblmaaf), + "IGIEIBGKAEN_FBOCOOAHMGB" => Some(Self::Fbocooahmgb), + "IGIEIBGKAEN_JIPMFONBKAF" => Some(Self::Jipmfonbkaf), + "IGIEIBGKAEN_BLNIHBMCPBM" => Some(Self::Blnihbmcpbm), + "IGIEIBGKAEN_NOBDBKGFPPA" => Some(Self::Nobdbkgfppa), + "IGIEIBGKAEN_KGBGMFHNELB" => Some(Self::Kgbgmfhnelb), + "IGIEIBGKAEN_PPNHHPGIMDK" => Some(Self::Ppnhhpgimdk), + "IGIEIBGKAEN_HNGFEODPNJB" => Some(Self::Hngfeodpnjb), + "IGIEIBGKAEN_OKOIEBADKCD" => Some(Self::Okoiebadkcd), + "IGIEIBGKAEN_HHIJJNGFKHK" => Some(Self::Hhijjngfkhk), + "IGIEIBGKAEN_DJCHHPDJBPD" => Some(Self::Djchhpdjbpd), + "IGIEIBGKAEN_NIIIKAPFNAF" => Some(Self::Niiikapfnaf), + "IGIEIBGKAEN_CKAEKBCLNDO" => Some(Self::Ckaekbclndo), + "IGIEIBGKAEN_FIDKHMIOMOL" => Some(Self::Fidkhmiomol), + "IGIEIBGKAEN_DCCJNJCIEOB" => Some(Self::Dccjnjcieob), + "IGIEIBGKAEN_PCNEEPMCNJO" => Some(Self::Pcneepmcnjo), + "IGIEIBGKAEN_JNKHCOGFIGC" => Some(Self::Jnkhcogfigc), + "IGIEIBGKAEN_OILADFBDKBP" => Some(Self::Oiladfbdkbp), + "IGIEIBGKAEN_CKCPBMHACHP" => Some(Self::Ckcpbmhachp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hglepaocgej { + Noojcliooic = 0, +} +impl Hglepaocgej { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Noojcliooic => "HGLEPAOCGEJ_NOOJCLIOOIC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HGLEPAOCGEJ_NOOJCLIOOIC" => Some(Self::Noojcliooic), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jdcmbhdnmje { + Dpjdjpafobk = 0, + Dhdclkcgkpn = 1, + Ccnndjokiga = 2, + Abmiedfgfdb = 3, + Cmejibkehpp = 4, + Klhphnflgbd = 5, +} +impl Jdcmbhdnmje { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dpjdjpafobk => "JDCMBHDNMJE_DPJDJPAFOBK", + Self::Dhdclkcgkpn => "JDCMBHDNMJE_DHDCLKCGKPN", + Self::Ccnndjokiga => "JDCMBHDNMJE_CCNNDJOKIGA", + Self::Abmiedfgfdb => "JDCMBHDNMJE_ABMIEDFGFDB", + Self::Cmejibkehpp => "JDCMBHDNMJE_CMEJIBKEHPP", + Self::Klhphnflgbd => "JDCMBHDNMJE_KLHPHNFLGBD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JDCMBHDNMJE_DPJDJPAFOBK" => Some(Self::Dpjdjpafobk), + "JDCMBHDNMJE_DHDCLKCGKPN" => Some(Self::Dhdclkcgkpn), + "JDCMBHDNMJE_CCNNDJOKIGA" => Some(Self::Ccnndjokiga), + "JDCMBHDNMJE_ABMIEDFGFDB" => Some(Self::Abmiedfgfdb), + "JDCMBHDNMJE_CMEJIBKEHPP" => Some(Self::Cmejibkehpp), + "JDCMBHDNMJE_KLHPHNFLGBD" => Some(Self::Klhphnflgbd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nclcppfkdab { + Mhboadkobim = 0, + Mbpejpppkhi = 2, + Flnppipkcdp = 4, + Lbfcpfkpnjp = 8, +} +impl Nclcppfkdab { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mhboadkobim => "NCLCPPFKDAB_MHBOADKOBIM", + Self::Mbpejpppkhi => "NCLCPPFKDAB_MBPEJPPPKHI", + Self::Flnppipkcdp => "NCLCPPFKDAB_FLNPPIPKCDP", + Self::Lbfcpfkpnjp => "NCLCPPFKDAB_LBFCPFKPNJP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NCLCPPFKDAB_MHBOADKOBIM" => Some(Self::Mhboadkobim), + "NCLCPPFKDAB_MBPEJPPPKHI" => Some(Self::Mbpejpppkhi), + "NCLCPPFKDAB_FLNPPIPKCDP" => Some(Self::Flnppipkcdp), + "NCLCPPFKDAB_LBFCPFKPNJP" => Some(Self::Lbfcpfkpnjp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ofeiemilabm { + WayOfRemoveCurseNone = 0, + WayOfRemoveCurseInitiative = 1, + WayOfRemoveCursePassive = 2, +} +impl Ofeiemilabm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::WayOfRemoveCurseNone => "OFEIEMILABM_WAY_OF_REMOVE_CURSE_NONE", + Self::WayOfRemoveCurseInitiative => { + "OFEIEMILABM_WAY_OF_REMOVE_CURSE_INITIATIVE" + } + Self::WayOfRemoveCursePassive => "OFEIEMILABM_WAY_OF_REMOVE_CURSE_PASSIVE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OFEIEMILABM_WAY_OF_REMOVE_CURSE_NONE" => Some(Self::WayOfRemoveCurseNone), + "OFEIEMILABM_WAY_OF_REMOVE_CURSE_INITIATIVE" => { + Some(Self::WayOfRemoveCurseInitiative) + } + "OFEIEMILABM_WAY_OF_REMOVE_CURSE_PASSIVE" => { + Some(Self::WayOfRemoveCursePassive) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gbcbkcahgop { + Fpcpfdhcgin = 0, +} +impl Gbcbkcahgop { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fpcpfdhcgin => "GBCBKCAHGOP_FPCPFDHCGIN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GBCBKCAHGOP_FPCPFDHCGIN" => Some(Self::Fpcpfdhcgin), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mnlcbogdled { + Egagnahnngn = 0, +} +impl Mnlcbogdled { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Egagnahnngn => "MNLCBOGDLED_EGAGNAHNNGN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MNLCBOGDLED_EGAGNAHNNGN" => Some(Self::Egagnahnngn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hibaomhmobe { + Nacpobbmocd = 0, + Pfkogicidcc = 1, + Cbddjhodmmo = 2, + Koppbhiknip = 3, +} +impl Hibaomhmobe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nacpobbmocd => "HIBAOMHMOBE_NACPOBBMOCD", + Self::Pfkogicidcc => "HIBAOMHMOBE_PFKOGICIDCC", + Self::Cbddjhodmmo => "HIBAOMHMOBE_CBDDJHODMMO", + Self::Koppbhiknip => "HIBAOMHMOBE_KOPPBHIKNIP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HIBAOMHMOBE_NACPOBBMOCD" => Some(Self::Nacpobbmocd), + "HIBAOMHMOBE_PFKOGICIDCC" => Some(Self::Pfkogicidcc), + "HIBAOMHMOBE_CBDDJHODMMO" => Some(Self::Cbddjhodmmo), + "HIBAOMHMOBE_KOPPBHIKNIP" => Some(Self::Koppbhiknip), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hnalcklkfll { + Meencijmpjl = 0, +} +impl Hnalcklkfll { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Meencijmpjl => "HNALCKLKFLL_MEENCIJMPJL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HNALCKLKFLL_MEENCIJMPJL" => Some(Self::Meencijmpjl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lojnhkgdbch { + ServerAbility = 0, + ClientAbility = 1, +} +impl Lojnhkgdbch { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ServerAbility => "LOJNHKGDBCH_SERVER_ABILITY", + Self::ClientAbility => "LOJNHKGDBCH_CLIENT_ABILITY", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LOJNHKGDBCH_SERVER_ABILITY" => Some(Self::ServerAbility), + "LOJNHKGDBCH_CLIENT_ABILITY" => Some(Self::ClientAbility), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dmgiafjpicg { + Gdoikhplpfm = 0, + Hamkdolodcj = 1, + Gbplehkjmma = 2, + Ggghocogghp = 3, +} +impl Dmgiafjpicg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gdoikhplpfm => "DMGIAFJPICG_GDOIKHPLPFM", + Self::Hamkdolodcj => "DMGIAFJPICG_HAMKDOLODCJ", + Self::Gbplehkjmma => "DMGIAFJPICG_GBPLEHKJMMA", + Self::Ggghocogghp => "DMGIAFJPICG_GGGHOCOGGHP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DMGIAFJPICG_GDOIKHPLPFM" => Some(Self::Gdoikhplpfm), + "DMGIAFJPICG_HAMKDOLODCJ" => Some(Self::Hamkdolodcj), + "DMGIAFJPICG_GBPLEHKJMMA" => Some(Self::Gbplehkjmma), + "DMGIAFJPICG_GGGHOCOGGHP" => Some(Self::Ggghocogghp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jplonfefbip { + Ngbnlpielin = 0, + Mocljchogkn = 1, + Fbhdocpbonn = 2, + Bjfgcejaknc = 3, +} +impl Jplonfefbip { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ngbnlpielin => "JPLONFEFBIP_NGBNLPIELIN", + Self::Mocljchogkn => "JPLONFEFBIP_MOCLJCHOGKN", + Self::Fbhdocpbonn => "JPLONFEFBIP_FBHDOCPBONN", + Self::Bjfgcejaknc => "JPLONFEFBIP_BJFGCEJAKNC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JPLONFEFBIP_NGBNLPIELIN" => Some(Self::Ngbnlpielin), + "JPLONFEFBIP_MOCLJCHOGKN" => Some(Self::Mocljchogkn), + "JPLONFEFBIP_FBHDOCPBONN" => Some(Self::Fbhdocpbonn), + "JPLONFEFBIP_BJFGCEJAKNC" => Some(Self::Bjfgcejaknc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ldbikcfnech { + Mmhfkicbadc = 0, + Kaphgejbcgf = 1, +} +impl Ldbikcfnech { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mmhfkicbadc => "LDBIKCFNECH_MMHFKICBADC", + Self::Kaphgejbcgf => "LDBIKCFNECH_KAPHGEJBCGF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LDBIKCFNECH_MMHFKICBADC" => Some(Self::Mmhfkicbadc), + "LDBIKCFNECH_KAPHGEJBCGF" => Some(Self::Kaphgejbcgf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bcmiegdmdae { + Mfpihdemfad = 0, + Nchmfgdninn = 1, + Kcdhkgoahbk = 2, +} +impl Bcmiegdmdae { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mfpihdemfad => "BCMIEGDMDAE_MFPIHDEMFAD", + Self::Nchmfgdninn => "BCMIEGDMDAE_NCHMFGDNINN", + Self::Kcdhkgoahbk => "BCMIEGDMDAE_KCDHKGOAHBK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BCMIEGDMDAE_MFPIHDEMFAD" => Some(Self::Mfpihdemfad), + "BCMIEGDMDAE_NCHMFGDNINN" => Some(Self::Nchmfgdninn), + "BCMIEGDMDAE_KCDHKGOAHBK" => Some(Self::Kcdhkgoahbk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Odonpppeeik { + ClientHollowEntityTypeNone = 0, + ClientHollowEntityTypeNoninteractor = 1, +} +impl Odonpppeeik { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ClientHollowEntityTypeNone => { + "ODONPPPEEIK_CLIENT_HOLLOW_ENTITY_TYPE_NONE" + } + Self::ClientHollowEntityTypeNoninteractor => { + "ODONPPPEEIK_CLIENT_HOLLOW_ENTITY_TYPE_NONINTERACTOR" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ODONPPPEEIK_CLIENT_HOLLOW_ENTITY_TYPE_NONE" => { + Some(Self::ClientHollowEntityTypeNone) + } + "ODONPPPEEIK_CLIENT_HOLLOW_ENTITY_TYPE_NONINTERACTOR" => { + Some(Self::ClientHollowEntityTypeNoninteractor) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ikkfjkejfld { + Liddghgione = 0, + Hbjofnckbnl = 1, + Cjnchcdflln = 2, +} +impl Ikkfjkejfld { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Liddghgione => "IKKFJKEJFLD_LIDDGHGIONE", + Self::Hbjofnckbnl => "IKKFJKEJFLD_HBJOFNCKBNL", + Self::Cjnchcdflln => "IKKFJKEJFLD_CJNCHCDFLLN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IKKFJKEJFLD_LIDDGHGIONE" => Some(Self::Liddghgione), + "IKKFJKEJFLD_HBJOFNCKBNL" => Some(Self::Hbjofnckbnl), + "IKKFJKEJFLD_CJNCHCDFLLN" => Some(Self::Cjnchcdflln), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hlccdmafgcg { + TimeSegmentIndexTypeNone = 0, + TimeSegmentIndexTypeSelf = 1, + TimeSegmentIndexTypeIndex = 2, + TimeSegmentIndexTypeUid = 3, +} +impl Hlccdmafgcg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::TimeSegmentIndexTypeNone => "HLCCDMAFGCG_TIME_SEGMENT_INDEX_TYPE_NONE", + Self::TimeSegmentIndexTypeSelf => "HLCCDMAFGCG_TIME_SEGMENT_INDEX_TYPE_SELF", + Self::TimeSegmentIndexTypeIndex => { + "HLCCDMAFGCG_TIME_SEGMENT_INDEX_TYPE_INDEX" + } + Self::TimeSegmentIndexTypeUid => "HLCCDMAFGCG_TIME_SEGMENT_INDEX_TYPE_UID", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HLCCDMAFGCG_TIME_SEGMENT_INDEX_TYPE_NONE" => { + Some(Self::TimeSegmentIndexTypeNone) + } + "HLCCDMAFGCG_TIME_SEGMENT_INDEX_TYPE_SELF" => { + Some(Self::TimeSegmentIndexTypeSelf) + } + "HLCCDMAFGCG_TIME_SEGMENT_INDEX_TYPE_INDEX" => { + Some(Self::TimeSegmentIndexTypeIndex) + } + "HLCCDMAFGCG_TIME_SEGMENT_INDEX_TYPE_UID" => { + Some(Self::TimeSegmentIndexTypeUid) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum HollowShopType { + HollowShopTypeNone = 0, + HollowShopTypeItem = 1, + HollowShopTypeCard = 2, + HollowShopTypeCurse = 3, + HollowShopTypeHollowItem = 4, + HollowShopTypeDiscount = 5, + HollowShopTypeGachaShop = 6, + HollowShopTypeUpgradeCard = 7, +} +impl HollowShopType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowShopTypeNone => "HollowShopType_HOLLOW_SHOP_TYPE_NONE", + Self::HollowShopTypeItem => "HollowShopType_HOLLOW_SHOP_TYPE_ITEM", + Self::HollowShopTypeCard => "HollowShopType_HOLLOW_SHOP_TYPE_CARD", + Self::HollowShopTypeCurse => "HollowShopType_HOLLOW_SHOP_TYPE_CURSE", + Self::HollowShopTypeHollowItem => { + "HollowShopType_HOLLOW_SHOP_TYPE_HOLLOW_ITEM" + } + Self::HollowShopTypeDiscount => "HollowShopType_HOLLOW_SHOP_TYPE_DISCOUNT", + Self::HollowShopTypeGachaShop => "HollowShopType_HOLLOW_SHOP_TYPE_GACHA_SHOP", + Self::HollowShopTypeUpgradeCard => { + "HollowShopType_HOLLOW_SHOP_TYPE_UPGRADE_CARD" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HollowShopType_HOLLOW_SHOP_TYPE_NONE" => Some(Self::HollowShopTypeNone), + "HollowShopType_HOLLOW_SHOP_TYPE_ITEM" => Some(Self::HollowShopTypeItem), + "HollowShopType_HOLLOW_SHOP_TYPE_CARD" => Some(Self::HollowShopTypeCard), + "HollowShopType_HOLLOW_SHOP_TYPE_CURSE" => Some(Self::HollowShopTypeCurse), + "HollowShopType_HOLLOW_SHOP_TYPE_HOLLOW_ITEM" => { + Some(Self::HollowShopTypeHollowItem) + } + "HollowShopType_HOLLOW_SHOP_TYPE_DISCOUNT" => { + Some(Self::HollowShopTypeDiscount) + } + "HollowShopType_HOLLOW_SHOP_TYPE_GACHA_SHOP" => { + Some(Self::HollowShopTypeGachaShop) + } + "HollowShopType_HOLLOW_SHOP_TYPE_UPGRADE_CARD" => { + Some(Self::HollowShopTypeUpgradeCard) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ofigiochkjc { + Cghhgicnnmf = 0, + Pfhecdhgemp = 1, + Jgcaconeepo = 2, +} +impl Ofigiochkjc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cghhgicnnmf => "OFIGIOCHKJC_CGHHGICNNMF", + Self::Pfhecdhgemp => "OFIGIOCHKJC_PFHECDHGEMP", + Self::Jgcaconeepo => "OFIGIOCHKJC_JGCACONEEPO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OFIGIOCHKJC_CGHHGICNNMF" => Some(Self::Cghhgicnnmf), + "OFIGIOCHKJC_PFHECDHGEMP" => Some(Self::Pfhecdhgemp), + "OFIGIOCHKJC_JGCACONEEPO" => Some(Self::Jgcaconeepo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum EventGraphOwnerType { + Ngeiljgonck = 0, + Mjdoippdfhc = 1, + Gjgkcebpbha = 2, + Nfmiifidfdp = 3, + Gjcgmgdchbj = 4, + Bobkcjjpnlb = 5, + Naoeahbdfbb = 6, + Odomablecoa = 7, +} +impl EventGraphOwnerType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ngeiljgonck => "EventGraphOwnerType_NGEILJGONCK", + Self::Mjdoippdfhc => "EventGraphOwnerType_MJDOIPPDFHC", + Self::Gjgkcebpbha => "EventGraphOwnerType_GJGKCEBPBHA", + Self::Nfmiifidfdp => "EventGraphOwnerType_NFMIIFIDFDP", + Self::Gjcgmgdchbj => "EventGraphOwnerType_GJCGMGDCHBJ", + Self::Bobkcjjpnlb => "EventGraphOwnerType_BOBKCJJPNLB", + Self::Naoeahbdfbb => "EventGraphOwnerType_NAOEAHBDFBB", + Self::Odomablecoa => "EventGraphOwnerType_ODOMABLECOA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EventGraphOwnerType_NGEILJGONCK" => Some(Self::Ngeiljgonck), + "EventGraphOwnerType_MJDOIPPDFHC" => Some(Self::Mjdoippdfhc), + "EventGraphOwnerType_GJGKCEBPBHA" => Some(Self::Gjgkcebpbha), + "EventGraphOwnerType_NFMIIFIDFDP" => Some(Self::Nfmiifidfdp), + "EventGraphOwnerType_GJCGMGDCHBJ" => Some(Self::Gjcgmgdchbj), + "EventGraphOwnerType_BOBKCJJPNLB" => Some(Self::Bobkcjjpnlb), + "EventGraphOwnerType_NAOEAHBDFBB" => Some(Self::Naoeahbdfbb), + "EventGraphOwnerType_ODOMABLECOA" => Some(Self::Odomablecoa), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Epplgceemdm { + TimeRewindInteractTypeNone = 0, + TimeRewindInteractTypeAll = 1, + TimeRewindInteractTypeExit = 2, + TimeRewindInteractTypePlay = 3, + TimeRewindInteractTypeSwitch = 4, +} +impl Epplgceemdm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::TimeRewindInteractTypeNone => { + "EPPLGCEEMDM_TIME_REWIND_INTERACT_TYPE_NONE" + } + Self::TimeRewindInteractTypeAll => { + "EPPLGCEEMDM_TIME_REWIND_INTERACT_TYPE_ALL" + } + Self::TimeRewindInteractTypeExit => { + "EPPLGCEEMDM_TIME_REWIND_INTERACT_TYPE_EXIT" + } + Self::TimeRewindInteractTypePlay => { + "EPPLGCEEMDM_TIME_REWIND_INTERACT_TYPE_PLAY" + } + Self::TimeRewindInteractTypeSwitch => { + "EPPLGCEEMDM_TIME_REWIND_INTERACT_TYPE_SWITCH" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EPPLGCEEMDM_TIME_REWIND_INTERACT_TYPE_NONE" => { + Some(Self::TimeRewindInteractTypeNone) + } + "EPPLGCEEMDM_TIME_REWIND_INTERACT_TYPE_ALL" => { + Some(Self::TimeRewindInteractTypeAll) + } + "EPPLGCEEMDM_TIME_REWIND_INTERACT_TYPE_EXIT" => { + Some(Self::TimeRewindInteractTypeExit) + } + "EPPLGCEEMDM_TIME_REWIND_INTERACT_TYPE_PLAY" => { + Some(Self::TimeRewindInteractTypePlay) + } + "EPPLGCEEMDM_TIME_REWIND_INTERACT_TYPE_SWITCH" => { + Some(Self::TimeRewindInteractTypeSwitch) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nbiiicdcpkf { + Facelddadbl = 0, + Dhbmbdpnbkp = 1, + Dolkobloecm = 2, + Lmepjbeiapd = 3, +} +impl Nbiiicdcpkf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Facelddadbl => "NBIIICDCPKF_FACELDDADBL", + Self::Dhbmbdpnbkp => "NBIIICDCPKF_DHBMBDPNBKP", + Self::Dolkobloecm => "NBIIICDCPKF_DOLKOBLOECM", + Self::Lmepjbeiapd => "NBIIICDCPKF_LMEPJBEIAPD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NBIIICDCPKF_FACELDDADBL" => Some(Self::Facelddadbl), + "NBIIICDCPKF_DHBMBDPNBKP" => Some(Self::Dhbmbdpnbkp), + "NBIIICDCPKF_DOLKOBLOECM" => Some(Self::Dolkobloecm), + "NBIIICDCPKF_LMEPJBEIAPD" => Some(Self::Lmepjbeiapd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ibimeidafam { + Leolbajfjap = 0, + Bmlfmcnknjn = 1, + Ifboiojhidc = 2, + Phcgaadccnh = 3, +} +impl Ibimeidafam { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Leolbajfjap => "IBIMEIDAFAM_LEOLBAJFJAP", + Self::Bmlfmcnknjn => "IBIMEIDAFAM_BMLFMCNKNJN", + Self::Ifboiojhidc => "IBIMEIDAFAM_IFBOIOJHIDC", + Self::Phcgaadccnh => "IBIMEIDAFAM_PHCGAADCCNH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IBIMEIDAFAM_LEOLBAJFJAP" => Some(Self::Leolbajfjap), + "IBIMEIDAFAM_BMLFMCNKNJN" => Some(Self::Bmlfmcnknjn), + "IBIMEIDAFAM_IFBOIOJHIDC" => Some(Self::Ifboiojhidc), + "IBIMEIDAFAM_PHCGAADCCNH" => Some(Self::Phcgaadccnh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Elafecodlla { + Nphfjnaaeea = 0, + Hbjhdlhdpbe = 1, + Bpamboaehbb = 2, + Nmcfdoekjfd = 3, + Mdpnjaingfg = 4, +} +impl Elafecodlla { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nphfjnaaeea => "ELAFECODLLA_NPHFJNAAEEA", + Self::Hbjhdlhdpbe => "ELAFECODLLA_HBJHDLHDPBE", + Self::Bpamboaehbb => "ELAFECODLLA_BPAMBOAEHBB", + Self::Nmcfdoekjfd => "ELAFECODLLA_NMCFDOEKJFD", + Self::Mdpnjaingfg => "ELAFECODLLA_MDPNJAINGFG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ELAFECODLLA_NPHFJNAAEEA" => Some(Self::Nphfjnaaeea), + "ELAFECODLLA_HBJHDLHDPBE" => Some(Self::Hbjhdlhdpbe), + "ELAFECODLLA_BPAMBOAEHBB" => Some(Self::Bpamboaehbb), + "ELAFECODLLA_NMCFDOEKJFD" => Some(Self::Nmcfdoekjfd), + "ELAFECODLLA_MDPNJAINGFG" => Some(Self::Mdpnjaingfg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mkappjnmmeg { + Nkpmmbipkod = 0, + Fbgbagaphec = 1, + Nbkhmibekbj = 2, +} +impl Mkappjnmmeg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nkpmmbipkod => "MKAPPJNMMEG_NKPMMBIPKOD", + Self::Fbgbagaphec => "MKAPPJNMMEG_FBGBAGAPHEC", + Self::Nbkhmibekbj => "MKAPPJNMMEG_NBKHMIBEKBJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MKAPPJNMMEG_NKPMMBIPKOD" => Some(Self::Nkpmmbipkod), + "MKAPPJNMMEG_FBGBAGAPHEC" => Some(Self::Fbgbagaphec), + "MKAPPJNMMEG_NBKHMIBEKBJ" => Some(Self::Nbkhmibekbj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bnlkjebikio { + None = 0, + Avatar = 10, + Monster = 11, + Summonee = 12, + Buddy = 13, + DropItem = 14, + SceneObject = 15, + MoveObject = 16, + Gadget = 17, +} +impl Bnlkjebikio { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::None => "BNLKJEBIKIO_None", + Self::Avatar => "BNLKJEBIKIO_Avatar", + Self::Monster => "BNLKJEBIKIO_Monster", + Self::Summonee => "BNLKJEBIKIO_Summonee", + Self::Buddy => "BNLKJEBIKIO_Buddy", + Self::DropItem => "BNLKJEBIKIO_DropItem", + Self::SceneObject => "BNLKJEBIKIO_SceneObject", + Self::MoveObject => "BNLKJEBIKIO_MoveObject", + Self::Gadget => "BNLKJEBIKIO_Gadget", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BNLKJEBIKIO_None" => Some(Self::None), + "BNLKJEBIKIO_Avatar" => Some(Self::Avatar), + "BNLKJEBIKIO_Monster" => Some(Self::Monster), + "BNLKJEBIKIO_Summonee" => Some(Self::Summonee), + "BNLKJEBIKIO_Buddy" => Some(Self::Buddy), + "BNLKJEBIKIO_DropItem" => Some(Self::DropItem), + "BNLKJEBIKIO_SceneObject" => Some(Self::SceneObject), + "BNLKJEBIKIO_MoveObject" => Some(Self::MoveObject), + "BNLKJEBIKIO_Gadget" => Some(Self::Gadget), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Enefnbfmnpa { + Ofhhaaolffj = 0, + Dimmlhaojnb = 1, + Ghnmkmcfmeg = 2, + Iaacdfgachp = 3, + Pgjonjkildg = 4, +} +impl Enefnbfmnpa { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ofhhaaolffj => "ENEFNBFMNPA_OFHHAAOLFFJ", + Self::Dimmlhaojnb => "ENEFNBFMNPA_DIMMLHAOJNB", + Self::Ghnmkmcfmeg => "ENEFNBFMNPA_GHNMKMCFMEG", + Self::Iaacdfgachp => "ENEFNBFMNPA_IAACDFGACHP", + Self::Pgjonjkildg => "ENEFNBFMNPA_PGJONJKILDG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ENEFNBFMNPA_OFHHAAOLFFJ" => Some(Self::Ofhhaaolffj), + "ENEFNBFMNPA_DIMMLHAOJNB" => Some(Self::Dimmlhaojnb), + "ENEFNBFMNPA_GHNMKMCFMEG" => Some(Self::Ghnmkmcfmeg), + "ENEFNBFMNPA_IAACDFGACHP" => Some(Self::Iaacdfgachp), + "ENEFNBFMNPA_PGJONJKILDG" => Some(Self::Pgjonjkildg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hdgninhnkhc { + HollowSearchGridTypeNone = 0, + HollowSearchGridTypeByPos = 1, + HollowSearchGridTypeByBound = 2, + HollowSearchGridTypeBySeed = 3, + HollowSearchGridTypeByIndex = 4, +} +impl Hdgninhnkhc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowSearchGridTypeNone => "HDGNINHNKHC_HOLLOW_SEARCH_GRID_TYPE_NONE", + Self::HollowSearchGridTypeByPos => { + "HDGNINHNKHC_HOLLOW_SEARCH_GRID_TYPE_BY_POS" + } + Self::HollowSearchGridTypeByBound => { + "HDGNINHNKHC_HOLLOW_SEARCH_GRID_TYPE_BY_BOUND" + } + Self::HollowSearchGridTypeBySeed => { + "HDGNINHNKHC_HOLLOW_SEARCH_GRID_TYPE_BY_SEED" + } + Self::HollowSearchGridTypeByIndex => { + "HDGNINHNKHC_HOLLOW_SEARCH_GRID_TYPE_BY_INDEX" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HDGNINHNKHC_HOLLOW_SEARCH_GRID_TYPE_NONE" => { + Some(Self::HollowSearchGridTypeNone) + } + "HDGNINHNKHC_HOLLOW_SEARCH_GRID_TYPE_BY_POS" => { + Some(Self::HollowSearchGridTypeByPos) + } + "HDGNINHNKHC_HOLLOW_SEARCH_GRID_TYPE_BY_BOUND" => { + Some(Self::HollowSearchGridTypeByBound) + } + "HDGNINHNKHC_HOLLOW_SEARCH_GRID_TYPE_BY_SEED" => { + Some(Self::HollowSearchGridTypeBySeed) + } + "HDGNINHNKHC_HOLLOW_SEARCH_GRID_TYPE_BY_INDEX" => { + Some(Self::HollowSearchGridTypeByIndex) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dpdnkjgfbng { + Gfjemnpllog = 0, + Ckgmcklijen = 1, + Bhhmjnnbole = 2, + Hnlobmdhbhi = 3, +} +impl Dpdnkjgfbng { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gfjemnpllog => "DPDNKJGFBNG_GFJEMNPLLOG", + Self::Ckgmcklijen => "DPDNKJGFBNG_CKGMCKLIJEN", + Self::Bhhmjnnbole => "DPDNKJGFBNG_BHHMJNNBOLE", + Self::Hnlobmdhbhi => "DPDNKJGFBNG_HNLOBMDHBHI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DPDNKJGFBNG_GFJEMNPLLOG" => Some(Self::Gfjemnpllog), + "DPDNKJGFBNG_CKGMCKLIJEN" => Some(Self::Ckgmcklijen), + "DPDNKJGFBNG_BHHMJNNBOLE" => Some(Self::Bhhmjnnbole), + "DPDNKJGFBNG_HNLOBMDHBHI" => Some(Self::Hnlobmdhbhi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lglhkcjflnb { + ScriptBuddyTypeAll = 0, + ScriptBuddyTypeBattle = 1, + ScriptBuddyTypeSupport = 2, +} +impl Lglhkcjflnb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ScriptBuddyTypeAll => "LGLHKCJFLNB_SCRIPT_BUDDY_TYPE_ALL", + Self::ScriptBuddyTypeBattle => "LGLHKCJFLNB_SCRIPT_BUDDY_TYPE_BATTLE", + Self::ScriptBuddyTypeSupport => "LGLHKCJFLNB_SCRIPT_BUDDY_TYPE_SUPPORT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LGLHKCJFLNB_SCRIPT_BUDDY_TYPE_ALL" => Some(Self::ScriptBuddyTypeAll), + "LGLHKCJFLNB_SCRIPT_BUDDY_TYPE_BATTLE" => Some(Self::ScriptBuddyTypeBattle), + "LGLHKCJFLNB_SCRIPT_BUDDY_TYPE_SUPPORT" => Some(Self::ScriptBuddyTypeSupport), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Niajkffokkm { + Lpedbmjjflf = 0, + Ggpglfemdad = 1, + Pmjfgjpiikf = 2, + Ppnijfmoiia = 3, + Fikcgopilkm = 4, + Nhkndncbgcn = 5, + Omfpbfhajeg = 6, + Gopfhbjhipf = 7, + Ojnfhnnlbpo = 8, + Dggmoiiljmj = 9, + Eegmdggpjgm = 10, + Mkapjjkjgah = 11, + Jmpaifmmhkl = 12, + Bkeedgfcaie = 13, + Bplneidfpcm = 14, + Ebecaeaibbe = 15, +} +impl Niajkffokkm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lpedbmjjflf => "NIAJKFFOKKM_LPEDBMJJFLF", + Self::Ggpglfemdad => "NIAJKFFOKKM_GGPGLFEMDAD", + Self::Pmjfgjpiikf => "NIAJKFFOKKM_PMJFGJPIIKF", + Self::Ppnijfmoiia => "NIAJKFFOKKM_PPNIJFMOIIA", + Self::Fikcgopilkm => "NIAJKFFOKKM_FIKCGOPILKM", + Self::Nhkndncbgcn => "NIAJKFFOKKM_NHKNDNCBGCN", + Self::Omfpbfhajeg => "NIAJKFFOKKM_OMFPBFHAJEG", + Self::Gopfhbjhipf => "NIAJKFFOKKM_GOPFHBJHIPF", + Self::Ojnfhnnlbpo => "NIAJKFFOKKM_OJNFHNNLBPO", + Self::Dggmoiiljmj => "NIAJKFFOKKM_DGGMOIILJMJ", + Self::Eegmdggpjgm => "NIAJKFFOKKM_EEGMDGGPJGM", + Self::Mkapjjkjgah => "NIAJKFFOKKM_MKAPJJKJGAH", + Self::Jmpaifmmhkl => "NIAJKFFOKKM_JMPAIFMMHKL", + Self::Bkeedgfcaie => "NIAJKFFOKKM_BKEEDGFCAIE", + Self::Bplneidfpcm => "NIAJKFFOKKM_BPLNEIDFPCM", + Self::Ebecaeaibbe => "NIAJKFFOKKM_EBECAEAIBBE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NIAJKFFOKKM_LPEDBMJJFLF" => Some(Self::Lpedbmjjflf), + "NIAJKFFOKKM_GGPGLFEMDAD" => Some(Self::Ggpglfemdad), + "NIAJKFFOKKM_PMJFGJPIIKF" => Some(Self::Pmjfgjpiikf), + "NIAJKFFOKKM_PPNIJFMOIIA" => Some(Self::Ppnijfmoiia), + "NIAJKFFOKKM_FIKCGOPILKM" => Some(Self::Fikcgopilkm), + "NIAJKFFOKKM_NHKNDNCBGCN" => Some(Self::Nhkndncbgcn), + "NIAJKFFOKKM_OMFPBFHAJEG" => Some(Self::Omfpbfhajeg), + "NIAJKFFOKKM_GOPFHBJHIPF" => Some(Self::Gopfhbjhipf), + "NIAJKFFOKKM_OJNFHNNLBPO" => Some(Self::Ojnfhnnlbpo), + "NIAJKFFOKKM_DGGMOIILJMJ" => Some(Self::Dggmoiiljmj), + "NIAJKFFOKKM_EEGMDGGPJGM" => Some(Self::Eegmdggpjgm), + "NIAJKFFOKKM_MKAPJJKJGAH" => Some(Self::Mkapjjkjgah), + "NIAJKFFOKKM_JMPAIFMMHKL" => Some(Self::Jmpaifmmhkl), + "NIAJKFFOKKM_BKEEDGFCAIE" => Some(Self::Bkeedgfcaie), + "NIAJKFFOKKM_BPLNEIDFPCM" => Some(Self::Bplneidfpcm), + "NIAJKFFOKKM_EBECAEAIBBE" => Some(Self::Ebecaeaibbe), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ajneomdnhec { + Gmhofmapjpb = 0, + Mnficnpkjhf = 2, + Fpdklpoeafc = 3, + Lpjlfidpebb = 4, + Iflhigngnog = 5, +} +impl Ajneomdnhec { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gmhofmapjpb => "AJNEOMDNHEC_GMHOFMAPJPB", + Self::Mnficnpkjhf => "AJNEOMDNHEC_MNFICNPKJHF", + Self::Fpdklpoeafc => "AJNEOMDNHEC_FPDKLPOEAFC", + Self::Lpjlfidpebb => "AJNEOMDNHEC_LPJLFIDPEBB", + Self::Iflhigngnog => "AJNEOMDNHEC_IFLHIGNGNOG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AJNEOMDNHEC_GMHOFMAPJPB" => Some(Self::Gmhofmapjpb), + "AJNEOMDNHEC_MNFICNPKJHF" => Some(Self::Mnficnpkjhf), + "AJNEOMDNHEC_FPDKLPOEAFC" => Some(Self::Fpdklpoeafc), + "AJNEOMDNHEC_LPJLFIDPEBB" => Some(Self::Lpjlfidpebb), + "AJNEOMDNHEC_IFLHIGNGNOG" => Some(Self::Iflhigngnog), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ojbalffoohi { + Pfakekaobna = 0, + Aimobahpegl = 1, + Bingblcpapd = 2, +} +impl Ojbalffoohi { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pfakekaobna => "OJBALFFOOHI_PFAKEKAOBNA", + Self::Aimobahpegl => "OJBALFFOOHI_AIMOBAHPEGL", + Self::Bingblcpapd => "OJBALFFOOHI_BINGBLCPAPD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OJBALFFOOHI_PFAKEKAOBNA" => Some(Self::Pfakekaobna), + "OJBALFFOOHI_AIMOBAHPEGL" => Some(Self::Aimobahpegl), + "OJBALFFOOHI_BINGBLCPAPD" => Some(Self::Bingblcpapd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Efipnjldmem { + Peoolblljhc = 0, + Dnjiekgdonf = 1, + Jkckkbfhlld = 2, + Dbklpdlhbbb = 3, + Djieaieiili = 4, +} +impl Efipnjldmem { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Peoolblljhc => "EFIPNJLDMEM_PEOOLBLLJHC", + Self::Dnjiekgdonf => "EFIPNJLDMEM_DNJIEKGDONF", + Self::Jkckkbfhlld => "EFIPNJLDMEM_JKCKKBFHLLD", + Self::Dbklpdlhbbb => "EFIPNJLDMEM_DBKLPDLHBBB", + Self::Djieaieiili => "EFIPNJLDMEM_DJIEAIEIILI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EFIPNJLDMEM_PEOOLBLLJHC" => Some(Self::Peoolblljhc), + "EFIPNJLDMEM_DNJIEKGDONF" => Some(Self::Dnjiekgdonf), + "EFIPNJLDMEM_JKCKKBFHLLD" => Some(Self::Jkckkbfhlld), + "EFIPNJLDMEM_DBKLPDLHBBB" => Some(Self::Dbklpdlhbbb), + "EFIPNJLDMEM_DJIEAIEIILI" => Some(Self::Djieaieiili), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lhckbjiamjd { + Gieacknlnpo = 0, + Piadfamacpi = 1, + Mgipebcbolg = 2, + Ollihfgppfa = 3, +} +impl Lhckbjiamjd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gieacknlnpo => "LHCKBJIAMJD_GIEACKNLNPO", + Self::Piadfamacpi => "LHCKBJIAMJD_PIADFAMACPI", + Self::Mgipebcbolg => "LHCKBJIAMJD_MGIPEBCBOLG", + Self::Ollihfgppfa => "LHCKBJIAMJD_OLLIHFGPPFA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LHCKBJIAMJD_GIEACKNLNPO" => Some(Self::Gieacknlnpo), + "LHCKBJIAMJD_PIADFAMACPI" => Some(Self::Piadfamacpi), + "LHCKBJIAMJD_MGIPEBCBOLG" => Some(Self::Mgipebcbolg), + "LHCKBJIAMJD_OLLIHFGPPFA" => Some(Self::Ollihfgppfa), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fjfclnbamoj { + Fdifbknkbib = 0, +} +impl Fjfclnbamoj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fdifbknkbib => "FJFCLNBAMOJ_FDIFBKNKBIB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FJFCLNBAMOJ_FDIFBKNKBIB" => Some(Self::Fdifbknkbib), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ijafbdnhomb { + ActionRunTypeNone = 0, + Client = 1, + Server = 2, +} +impl Ijafbdnhomb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ActionRunTypeNone => "IJAFBDNHOMB_ACTION_RUN_TYPE_NONE", + Self::Client => "IJAFBDNHOMB_CLIENT", + Self::Server => "IJAFBDNHOMB_SERVER", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IJAFBDNHOMB_ACTION_RUN_TYPE_NONE" => Some(Self::ActionRunTypeNone), + "IJAFBDNHOMB_CLIENT" => Some(Self::Client), + "IJAFBDNHOMB_SERVER" => Some(Self::Server), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Padnfjmnnih { + Knbbglhpajh = 0, + Oljihkbigba = 1, + Mekifcfoilk = 2, + Gcmcphbaagj = 3, + Ongihmmagla = 4, +} +impl Padnfjmnnih { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Knbbglhpajh => "PADNFJMNNIH_KNBBGLHPAJH", + Self::Oljihkbigba => "PADNFJMNNIH_OLJIHKBIGBA", + Self::Mekifcfoilk => "PADNFJMNNIH_MEKIFCFOILK", + Self::Gcmcphbaagj => "PADNFJMNNIH_GCMCPHBAAGJ", + Self::Ongihmmagla => "PADNFJMNNIH_ONGIHMMAGLA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PADNFJMNNIH_KNBBGLHPAJH" => Some(Self::Knbbglhpajh), + "PADNFJMNNIH_OLJIHKBIGBA" => Some(Self::Oljihkbigba), + "PADNFJMNNIH_MEKIFCFOILK" => Some(Self::Mekifcfoilk), + "PADNFJMNNIH_GCMCPHBAAGJ" => Some(Self::Gcmcphbaagj), + "PADNFJMNNIH_ONGIHMMAGLA" => Some(Self::Ongihmmagla), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ljkhahbeibc { + HenshinTypeNone = 0, + DefaultPlayer = 1, + Pacmanv1 = 2, + Pacmanv2 = 3, + Bomber = 4, + BomberTick0 = 5, + BomberTick1 = 6, + BomberTick2 = 7, + BomberTick3 = 8, + BomberTick4 = 9, + BomberTick5 = 10, + Tugger = 11, + NightMode = 12, + RinaBangboo1 = 13, + RinaBangboo2 = 14, + GoodsLoader = 15, + QinYi = 16, + AvatarCorin = 17, + AvatarNekomiya = 18, + SpeedupMove = 19, + SpeedupRush = 20, + ActivityHacker = 21, +} +impl Ljkhahbeibc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HenshinTypeNone => "LJKHAHBEIBC_HENSHIN_TYPE_NONE", + Self::DefaultPlayer => "LJKHAHBEIBC_DEFAULT_PLAYER", + Self::Pacmanv1 => "LJKHAHBEIBC_PACMANV1", + Self::Pacmanv2 => "LJKHAHBEIBC_PACMANV2", + Self::Bomber => "LJKHAHBEIBC_BOMBER", + Self::BomberTick0 => "LJKHAHBEIBC_Bomber_Tick0", + Self::BomberTick1 => "LJKHAHBEIBC_Bomber_Tick1", + Self::BomberTick2 => "LJKHAHBEIBC_Bomber_Tick2", + Self::BomberTick3 => "LJKHAHBEIBC_Bomber_Tick3", + Self::BomberTick4 => "LJKHAHBEIBC_Bomber_Tick4", + Self::BomberTick5 => "LJKHAHBEIBC_Bomber_Tick5", + Self::Tugger => "LJKHAHBEIBC_Tugger", + Self::NightMode => "LJKHAHBEIBC_NIGHT_MODE", + Self::RinaBangboo1 => "LJKHAHBEIBC_Rina_Bangboo1", + Self::RinaBangboo2 => "LJKHAHBEIBC_Rina_Bangboo2", + Self::GoodsLoader => "LJKHAHBEIBC_GoodsLoader", + Self::QinYi => "LJKHAHBEIBC_QinYi", + Self::AvatarCorin => "LJKHAHBEIBC_Avatar_Corin", + Self::AvatarNekomiya => "LJKHAHBEIBC_Avatar_Nekomiya", + Self::SpeedupMove => "LJKHAHBEIBC_Speedup_Move", + Self::SpeedupRush => "LJKHAHBEIBC_Speedup_Rush", + Self::ActivityHacker => "LJKHAHBEIBC_Activity_Hacker", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LJKHAHBEIBC_HENSHIN_TYPE_NONE" => Some(Self::HenshinTypeNone), + "LJKHAHBEIBC_DEFAULT_PLAYER" => Some(Self::DefaultPlayer), + "LJKHAHBEIBC_PACMANV1" => Some(Self::Pacmanv1), + "LJKHAHBEIBC_PACMANV2" => Some(Self::Pacmanv2), + "LJKHAHBEIBC_BOMBER" => Some(Self::Bomber), + "LJKHAHBEIBC_Bomber_Tick0" => Some(Self::BomberTick0), + "LJKHAHBEIBC_Bomber_Tick1" => Some(Self::BomberTick1), + "LJKHAHBEIBC_Bomber_Tick2" => Some(Self::BomberTick2), + "LJKHAHBEIBC_Bomber_Tick3" => Some(Self::BomberTick3), + "LJKHAHBEIBC_Bomber_Tick4" => Some(Self::BomberTick4), + "LJKHAHBEIBC_Bomber_Tick5" => Some(Self::BomberTick5), + "LJKHAHBEIBC_Tugger" => Some(Self::Tugger), + "LJKHAHBEIBC_NIGHT_MODE" => Some(Self::NightMode), + "LJKHAHBEIBC_Rina_Bangboo1" => Some(Self::RinaBangboo1), + "LJKHAHBEIBC_Rina_Bangboo2" => Some(Self::RinaBangboo2), + "LJKHAHBEIBC_GoodsLoader" => Some(Self::GoodsLoader), + "LJKHAHBEIBC_QinYi" => Some(Self::QinYi), + "LJKHAHBEIBC_Avatar_Corin" => Some(Self::AvatarCorin), + "LJKHAHBEIBC_Avatar_Nekomiya" => Some(Self::AvatarNekomiya), + "LJKHAHBEIBC_Speedup_Move" => Some(Self::SpeedupMove), + "LJKHAHBEIBC_Speedup_Rush" => Some(Self::SpeedupRush), + "LJKHAHBEIBC_Activity_Hacker" => Some(Self::ActivityHacker), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ljkpfpjcmid { + Neplplfmfna = 0, +} +impl Ljkpfpjcmid { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Neplplfmfna => "LJKPFPJCMID_NEPLPLFMFNA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LJKPFPJCMID_NEPLPLFMFNA" => Some(Self::Neplplfmfna), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ebpoehenpoj { + Iagkmcnmgjg = 0, + Bocchblddpg = 1, + Mgeidhikfnj = 2, + Bblilcgaibc = 3, + Pigpdeaceib = 4, + Mealgdakhfo = 5, + Bkijgahpioo = 6, + Fjoangjejjh = 7, + Gcnjdpfikde = 8, + Mdhoglhcead = 9, + Bkjinjjnbop = 10, + Pjajleamldh = 11, + Nnmonedncai = 20, + Mjpbnifppab = 21, + Gbnjbeoecmh = 22, + Hghbjkfapkh = 23, + Ligcmlmohfl = 24, + Jeadlpaeieg = 25, + Jchjkedmgfo = 26, + Kkdbagfeiph = 64, +} +impl Ebpoehenpoj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Iagkmcnmgjg => "EBPOEHENPOJ_IAGKMCNMGJG", + Self::Bocchblddpg => "EBPOEHENPOJ_BOCCHBLDDPG", + Self::Mgeidhikfnj => "EBPOEHENPOJ_MGEIDHIKFNJ", + Self::Bblilcgaibc => "EBPOEHENPOJ_BBLILCGAIBC", + Self::Pigpdeaceib => "EBPOEHENPOJ_PIGPDEACEIB", + Self::Mealgdakhfo => "EBPOEHENPOJ_MEALGDAKHFO", + Self::Bkijgahpioo => "EBPOEHENPOJ_BKIJGAHPIOO", + Self::Fjoangjejjh => "EBPOEHENPOJ_FJOANGJEJJH", + Self::Gcnjdpfikde => "EBPOEHENPOJ_GCNJDPFIKDE", + Self::Mdhoglhcead => "EBPOEHENPOJ_MDHOGLHCEAD", + Self::Bkjinjjnbop => "EBPOEHENPOJ_BKJINJJNBOP", + Self::Pjajleamldh => "EBPOEHENPOJ_PJAJLEAMLDH", + Self::Nnmonedncai => "EBPOEHENPOJ_NNMONEDNCAI", + Self::Mjpbnifppab => "EBPOEHENPOJ_MJPBNIFPPAB", + Self::Gbnjbeoecmh => "EBPOEHENPOJ_GBNJBEOECMH", + Self::Hghbjkfapkh => "EBPOEHENPOJ_HGHBJKFAPKH", + Self::Ligcmlmohfl => "EBPOEHENPOJ_LIGCMLMOHFL", + Self::Jeadlpaeieg => "EBPOEHENPOJ_JEADLPAEIEG", + Self::Jchjkedmgfo => "EBPOEHENPOJ_JCHJKEDMGFO", + Self::Kkdbagfeiph => "EBPOEHENPOJ_KKDBAGFEIPH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EBPOEHENPOJ_IAGKMCNMGJG" => Some(Self::Iagkmcnmgjg), + "EBPOEHENPOJ_BOCCHBLDDPG" => Some(Self::Bocchblddpg), + "EBPOEHENPOJ_MGEIDHIKFNJ" => Some(Self::Mgeidhikfnj), + "EBPOEHENPOJ_BBLILCGAIBC" => Some(Self::Bblilcgaibc), + "EBPOEHENPOJ_PIGPDEACEIB" => Some(Self::Pigpdeaceib), + "EBPOEHENPOJ_MEALGDAKHFO" => Some(Self::Mealgdakhfo), + "EBPOEHENPOJ_BKIJGAHPIOO" => Some(Self::Bkijgahpioo), + "EBPOEHENPOJ_FJOANGJEJJH" => Some(Self::Fjoangjejjh), + "EBPOEHENPOJ_GCNJDPFIKDE" => Some(Self::Gcnjdpfikde), + "EBPOEHENPOJ_MDHOGLHCEAD" => Some(Self::Mdhoglhcead), + "EBPOEHENPOJ_BKJINJJNBOP" => Some(Self::Bkjinjjnbop), + "EBPOEHENPOJ_PJAJLEAMLDH" => Some(Self::Pjajleamldh), + "EBPOEHENPOJ_NNMONEDNCAI" => Some(Self::Nnmonedncai), + "EBPOEHENPOJ_MJPBNIFPPAB" => Some(Self::Mjpbnifppab), + "EBPOEHENPOJ_GBNJBEOECMH" => Some(Self::Gbnjbeoecmh), + "EBPOEHENPOJ_HGHBJKFAPKH" => Some(Self::Hghbjkfapkh), + "EBPOEHENPOJ_LIGCMLMOHFL" => Some(Self::Ligcmlmohfl), + "EBPOEHENPOJ_JEADLPAEIEG" => Some(Self::Jeadlpaeieg), + "EBPOEHENPOJ_JCHJKEDMGFO" => Some(Self::Jchjkedmgfo), + "EBPOEHENPOJ_KKDBAGFEIPH" => Some(Self::Kkdbagfeiph), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lhijhpadpia { + PlayerTypeAll = 0, + TeamCharacter1 = 1, + TeamCharacter2 = 2, + TeamCharacter3 = 3, +} +impl Lhijhpadpia { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::PlayerTypeAll => "LHIJHPADPIA_PLAYER_TYPE_ALL", + Self::TeamCharacter1 => "LHIJHPADPIA_TEAM_CHARACTER1", + Self::TeamCharacter2 => "LHIJHPADPIA_TEAM_CHARACTER2", + Self::TeamCharacter3 => "LHIJHPADPIA_TEAM_CHARACTER3", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LHIJHPADPIA_PLAYER_TYPE_ALL" => Some(Self::PlayerTypeAll), + "LHIJHPADPIA_TEAM_CHARACTER1" => Some(Self::TeamCharacter1), + "LHIJHPADPIA_TEAM_CHARACTER2" => Some(Self::TeamCharacter2), + "LHIJHPADPIA_TEAM_CHARACTER3" => Some(Self::TeamCharacter3), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cenoebfeknb { + Agcoloioafh = 0, +} +impl Cenoebfeknb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Agcoloioafh => "CENOEBFEKNB_AGCOLOIOAFH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CENOEBFEKNB_AGCOLOIOAFH" => Some(Self::Agcoloioafh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ndcofcinjdn { + Ngegejhcgii = 0, + Aknimdnaebl = 1, + Lcddiimmckg = 2, + Gomjojiammj = 3, + Jiopipleanb = 4, + Hfofkgccaii = 5, + Hmcljfihbii = 6, + Ckljjjaemmh = 7, +} +impl Ndcofcinjdn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ngegejhcgii => "NDCOFCINJDN_NGEGEJHCGII", + Self::Aknimdnaebl => "NDCOFCINJDN_AKNIMDNAEBL", + Self::Lcddiimmckg => "NDCOFCINJDN_LCDDIIMMCKG", + Self::Gomjojiammj => "NDCOFCINJDN_GOMJOJIAMMJ", + Self::Jiopipleanb => "NDCOFCINJDN_JIOPIPLEANB", + Self::Hfofkgccaii => "NDCOFCINJDN_HFOFKGCCAII", + Self::Hmcljfihbii => "NDCOFCINJDN_HMCLJFIHBII", + Self::Ckljjjaemmh => "NDCOFCINJDN_CKLJJJAEMMH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NDCOFCINJDN_NGEGEJHCGII" => Some(Self::Ngegejhcgii), + "NDCOFCINJDN_AKNIMDNAEBL" => Some(Self::Aknimdnaebl), + "NDCOFCINJDN_LCDDIIMMCKG" => Some(Self::Lcddiimmckg), + "NDCOFCINJDN_GOMJOJIAMMJ" => Some(Self::Gomjojiammj), + "NDCOFCINJDN_JIOPIPLEANB" => Some(Self::Jiopipleanb), + "NDCOFCINJDN_HFOFKGCCAII" => Some(Self::Hfofkgccaii), + "NDCOFCINJDN_HMCLJFIHBII" => Some(Self::Hmcljfihbii), + "NDCOFCINJDN_CKLJJJAEMMH" => Some(Self::Ckljjjaemmh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Peaapgnchpc { + Mfgkkhhpnac = 0, +} +impl Peaapgnchpc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mfgkkhhpnac => "PEAAPGNCHPC_MFGKKHHPNAC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PEAAPGNCHPC_MFGKKHHPNAC" => Some(Self::Mfgkkhhpnac), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gpmdfkbpgcj { + Dpljdmpmebo = 0, + Cpdmogldbfh = 1, + Ajibncbihjl = 2, + Gjgglfhokop = 3, + Lnjabonfokh = 4, + Oiaahnjfbkd = 5, + Knpgilecbhn = 6, + Lbllbgkoenl = 7, + Oahobdbbbll = 8, + Dhedpeeihgc = 9, + Okidbddacbf = 10, + Ijmmbokdhif = 11, + Beaipgcngnc = 12, + Khngkmbfikc = 13, + Dbolbohbofm = 14, + Clpmjhiegoj = 15, + Cigflikdfco = 16, + Nofdjamenle = 17, + Mkfedbmefmn = 18, + Ibdmjoepkdl = 19, + Geonklddaah = 20, + Nicdbkpcfdh = 21, + Mkgeapkmmfn = 22, + Nkkkdehiial = 23, + Mgihondakmk = 24, + Cinboomabhc = 25, + Ikmphdngecg = 26, + Fojjcdjnfmp = 27, + Gochpocnnoh = 28, + Abhhokdghmg = 29, + Ibinolblhom = 30, + Elilpnemaoo = 31, + Neokijimpgp = 32, + Cbkneecbfmi = 33, + Jkdpecakafl = 34, + Afjdilajife = 35, + Pajhpldafkj = 36, + Lhcnabikanj = 37, + Pcefgonilck = 38, + Incphaddigo = 39, + Fiodjemoalf = 40, + Pbcfkpoeoio = 41, + Bojnddmlfeg = 42, + Daidbakdbmf = 43, + Lhhjefanabb = 44, + Eehnmecclkb = 45, + Ijfajipflik = 46, + Nonbipboopd = 47, + Dffnjkcdied = 48, + Nbmdcjjfcia = 49, + Jkiljmlcafe = 50, + Inlookaennp = 51, + Daieiipkcnh = 52, + Oddllcmifhl = 53, + Dijdhgjaigm = 54, + Jhednkgmlhd = 55, + Pjkegmgdoik = 56, + Hieklkhdipo = 57, + Bdbmfbcbjnd = 58, + Cgpmchicplh = 59, + Aigihoahdfo = 60, + Amhdlfmiddm = 61, + Odmhechkocb = 62, + Ggodonehheb = 63, + Kpedgmfncok = 64, + Okodndchlpg = 65, + Hmfjokmiljg = 66, + Kadblccaipo = 67, + Eiijmbpipie = 68, + Jdjkcbhihoj = 69, + Fnchodliaom = 70, + Aljknblngah = 71, + Cpbpljbbaic = 72, + Cbmibfgdajg = 73, + Dbhkbpdanfh = 74, + Ckbjlmefgip = 75, + Ofcamgndnlm = 76, + Bidhlfbfokb = 77, + Ploanofjbga = 78, + Oldoegacbkp = 79, + Hcoohlhkgnl = 80, + Icccflknifo = 81, +} +impl Gpmdfkbpgcj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dpljdmpmebo => "GPMDFKBPGCJ_DPLJDMPMEBO", + Self::Cpdmogldbfh => "GPMDFKBPGCJ_CPDMOGLDBFH", + Self::Ajibncbihjl => "GPMDFKBPGCJ_AJIBNCBIHJL", + Self::Gjgglfhokop => "GPMDFKBPGCJ_GJGGLFHOKOP", + Self::Lnjabonfokh => "GPMDFKBPGCJ_LNJABONFOKH", + Self::Oiaahnjfbkd => "GPMDFKBPGCJ_OIAAHNJFBKD", + Self::Knpgilecbhn => "GPMDFKBPGCJ_KNPGILECBHN", + Self::Lbllbgkoenl => "GPMDFKBPGCJ_LBLLBGKOENL", + Self::Oahobdbbbll => "GPMDFKBPGCJ_OAHOBDBBBLL", + Self::Dhedpeeihgc => "GPMDFKBPGCJ_DHEDPEEIHGC", + Self::Okidbddacbf => "GPMDFKBPGCJ_OKIDBDDACBF", + Self::Ijmmbokdhif => "GPMDFKBPGCJ_IJMMBOKDHIF", + Self::Beaipgcngnc => "GPMDFKBPGCJ_BEAIPGCNGNC", + Self::Khngkmbfikc => "GPMDFKBPGCJ_KHNGKMBFIKC", + Self::Dbolbohbofm => "GPMDFKBPGCJ_DBOLBOHBOFM", + Self::Clpmjhiegoj => "GPMDFKBPGCJ_CLPMJHIEGOJ", + Self::Cigflikdfco => "GPMDFKBPGCJ_CIGFLIKDFCO", + Self::Nofdjamenle => "GPMDFKBPGCJ_NOFDJAMENLE", + Self::Mkfedbmefmn => "GPMDFKBPGCJ_MKFEDBMEFMN", + Self::Ibdmjoepkdl => "GPMDFKBPGCJ_IBDMJOEPKDL", + Self::Geonklddaah => "GPMDFKBPGCJ_GEONKLDDAAH", + Self::Nicdbkpcfdh => "GPMDFKBPGCJ_NICDBKPCFDH", + Self::Mkgeapkmmfn => "GPMDFKBPGCJ_MKGEAPKMMFN", + Self::Nkkkdehiial => "GPMDFKBPGCJ_NKKKDEHIIAL", + Self::Mgihondakmk => "GPMDFKBPGCJ_MGIHONDAKMK", + Self::Cinboomabhc => "GPMDFKBPGCJ_CINBOOMABHC", + Self::Ikmphdngecg => "GPMDFKBPGCJ_IKMPHDNGECG", + Self::Fojjcdjnfmp => "GPMDFKBPGCJ_FOJJCDJNFMP", + Self::Gochpocnnoh => "GPMDFKBPGCJ_GOCHPOCNNOH", + Self::Abhhokdghmg => "GPMDFKBPGCJ_ABHHOKDGHMG", + Self::Ibinolblhom => "GPMDFKBPGCJ_IBINOLBLHOM", + Self::Elilpnemaoo => "GPMDFKBPGCJ_ELILPNEMAOO", + Self::Neokijimpgp => "GPMDFKBPGCJ_NEOKIJIMPGP", + Self::Cbkneecbfmi => "GPMDFKBPGCJ_CBKNEECBFMI", + Self::Jkdpecakafl => "GPMDFKBPGCJ_JKDPECAKAFL", + Self::Afjdilajife => "GPMDFKBPGCJ_AFJDILAJIFE", + Self::Pajhpldafkj => "GPMDFKBPGCJ_PAJHPLDAFKJ", + Self::Lhcnabikanj => "GPMDFKBPGCJ_LHCNABIKANJ", + Self::Pcefgonilck => "GPMDFKBPGCJ_PCEFGONILCK", + Self::Incphaddigo => "GPMDFKBPGCJ_INCPHADDIGO", + Self::Fiodjemoalf => "GPMDFKBPGCJ_FIODJEMOALF", + Self::Pbcfkpoeoio => "GPMDFKBPGCJ_PBCFKPOEOIO", + Self::Bojnddmlfeg => "GPMDFKBPGCJ_BOJNDDMLFEG", + Self::Daidbakdbmf => "GPMDFKBPGCJ_DAIDBAKDBMF", + Self::Lhhjefanabb => "GPMDFKBPGCJ_LHHJEFANABB", + Self::Eehnmecclkb => "GPMDFKBPGCJ_EEHNMECCLKB", + Self::Ijfajipflik => "GPMDFKBPGCJ_IJFAJIPFLIK", + Self::Nonbipboopd => "GPMDFKBPGCJ_NONBIPBOOPD", + Self::Dffnjkcdied => "GPMDFKBPGCJ_DFFNJKCDIED", + Self::Nbmdcjjfcia => "GPMDFKBPGCJ_NBMDCJJFCIA", + Self::Jkiljmlcafe => "GPMDFKBPGCJ_JKILJMLCAFE", + Self::Inlookaennp => "GPMDFKBPGCJ_INLOOKAENNP", + Self::Daieiipkcnh => "GPMDFKBPGCJ_DAIEIIPKCNH", + Self::Oddllcmifhl => "GPMDFKBPGCJ_ODDLLCMIFHL", + Self::Dijdhgjaigm => "GPMDFKBPGCJ_DIJDHGJAIGM", + Self::Jhednkgmlhd => "GPMDFKBPGCJ_JHEDNKGMLHD", + Self::Pjkegmgdoik => "GPMDFKBPGCJ_PJKEGMGDOIK", + Self::Hieklkhdipo => "GPMDFKBPGCJ_HIEKLKHDIPO", + Self::Bdbmfbcbjnd => "GPMDFKBPGCJ_BDBMFBCBJND", + Self::Cgpmchicplh => "GPMDFKBPGCJ_CGPMCHICPLH", + Self::Aigihoahdfo => "GPMDFKBPGCJ_AIGIHOAHDFO", + Self::Amhdlfmiddm => "GPMDFKBPGCJ_AMHDLFMIDDM", + Self::Odmhechkocb => "GPMDFKBPGCJ_ODMHECHKOCB", + Self::Ggodonehheb => "GPMDFKBPGCJ_GGODONEHHEB", + Self::Kpedgmfncok => "GPMDFKBPGCJ_KPEDGMFNCOK", + Self::Okodndchlpg => "GPMDFKBPGCJ_OKODNDCHLPG", + Self::Hmfjokmiljg => "GPMDFKBPGCJ_HMFJOKMILJG", + Self::Kadblccaipo => "GPMDFKBPGCJ_KADBLCCAIPO", + Self::Eiijmbpipie => "GPMDFKBPGCJ_EIIJMBPIPIE", + Self::Jdjkcbhihoj => "GPMDFKBPGCJ_JDJKCBHIHOJ", + Self::Fnchodliaom => "GPMDFKBPGCJ_FNCHODLIAOM", + Self::Aljknblngah => "GPMDFKBPGCJ_ALJKNBLNGAH", + Self::Cpbpljbbaic => "GPMDFKBPGCJ_CPBPLJBBAIC", + Self::Cbmibfgdajg => "GPMDFKBPGCJ_CBMIBFGDAJG", + Self::Dbhkbpdanfh => "GPMDFKBPGCJ_DBHKBPDANFH", + Self::Ckbjlmefgip => "GPMDFKBPGCJ_CKBJLMEFGIP", + Self::Ofcamgndnlm => "GPMDFKBPGCJ_OFCAMGNDNLM", + Self::Bidhlfbfokb => "GPMDFKBPGCJ_BIDHLFBFOKB", + Self::Ploanofjbga => "GPMDFKBPGCJ_PLOANOFJBGA", + Self::Oldoegacbkp => "GPMDFKBPGCJ_OLDOEGACBKP", + Self::Hcoohlhkgnl => "GPMDFKBPGCJ_HCOOHLHKGNL", + Self::Icccflknifo => "GPMDFKBPGCJ_ICCCFLKNIFO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GPMDFKBPGCJ_DPLJDMPMEBO" => Some(Self::Dpljdmpmebo), + "GPMDFKBPGCJ_CPDMOGLDBFH" => Some(Self::Cpdmogldbfh), + "GPMDFKBPGCJ_AJIBNCBIHJL" => Some(Self::Ajibncbihjl), + "GPMDFKBPGCJ_GJGGLFHOKOP" => Some(Self::Gjgglfhokop), + "GPMDFKBPGCJ_LNJABONFOKH" => Some(Self::Lnjabonfokh), + "GPMDFKBPGCJ_OIAAHNJFBKD" => Some(Self::Oiaahnjfbkd), + "GPMDFKBPGCJ_KNPGILECBHN" => Some(Self::Knpgilecbhn), + "GPMDFKBPGCJ_LBLLBGKOENL" => Some(Self::Lbllbgkoenl), + "GPMDFKBPGCJ_OAHOBDBBBLL" => Some(Self::Oahobdbbbll), + "GPMDFKBPGCJ_DHEDPEEIHGC" => Some(Self::Dhedpeeihgc), + "GPMDFKBPGCJ_OKIDBDDACBF" => Some(Self::Okidbddacbf), + "GPMDFKBPGCJ_IJMMBOKDHIF" => Some(Self::Ijmmbokdhif), + "GPMDFKBPGCJ_BEAIPGCNGNC" => Some(Self::Beaipgcngnc), + "GPMDFKBPGCJ_KHNGKMBFIKC" => Some(Self::Khngkmbfikc), + "GPMDFKBPGCJ_DBOLBOHBOFM" => Some(Self::Dbolbohbofm), + "GPMDFKBPGCJ_CLPMJHIEGOJ" => Some(Self::Clpmjhiegoj), + "GPMDFKBPGCJ_CIGFLIKDFCO" => Some(Self::Cigflikdfco), + "GPMDFKBPGCJ_NOFDJAMENLE" => Some(Self::Nofdjamenle), + "GPMDFKBPGCJ_MKFEDBMEFMN" => Some(Self::Mkfedbmefmn), + "GPMDFKBPGCJ_IBDMJOEPKDL" => Some(Self::Ibdmjoepkdl), + "GPMDFKBPGCJ_GEONKLDDAAH" => Some(Self::Geonklddaah), + "GPMDFKBPGCJ_NICDBKPCFDH" => Some(Self::Nicdbkpcfdh), + "GPMDFKBPGCJ_MKGEAPKMMFN" => Some(Self::Mkgeapkmmfn), + "GPMDFKBPGCJ_NKKKDEHIIAL" => Some(Self::Nkkkdehiial), + "GPMDFKBPGCJ_MGIHONDAKMK" => Some(Self::Mgihondakmk), + "GPMDFKBPGCJ_CINBOOMABHC" => Some(Self::Cinboomabhc), + "GPMDFKBPGCJ_IKMPHDNGECG" => Some(Self::Ikmphdngecg), + "GPMDFKBPGCJ_FOJJCDJNFMP" => Some(Self::Fojjcdjnfmp), + "GPMDFKBPGCJ_GOCHPOCNNOH" => Some(Self::Gochpocnnoh), + "GPMDFKBPGCJ_ABHHOKDGHMG" => Some(Self::Abhhokdghmg), + "GPMDFKBPGCJ_IBINOLBLHOM" => Some(Self::Ibinolblhom), + "GPMDFKBPGCJ_ELILPNEMAOO" => Some(Self::Elilpnemaoo), + "GPMDFKBPGCJ_NEOKIJIMPGP" => Some(Self::Neokijimpgp), + "GPMDFKBPGCJ_CBKNEECBFMI" => Some(Self::Cbkneecbfmi), + "GPMDFKBPGCJ_JKDPECAKAFL" => Some(Self::Jkdpecakafl), + "GPMDFKBPGCJ_AFJDILAJIFE" => Some(Self::Afjdilajife), + "GPMDFKBPGCJ_PAJHPLDAFKJ" => Some(Self::Pajhpldafkj), + "GPMDFKBPGCJ_LHCNABIKANJ" => Some(Self::Lhcnabikanj), + "GPMDFKBPGCJ_PCEFGONILCK" => Some(Self::Pcefgonilck), + "GPMDFKBPGCJ_INCPHADDIGO" => Some(Self::Incphaddigo), + "GPMDFKBPGCJ_FIODJEMOALF" => Some(Self::Fiodjemoalf), + "GPMDFKBPGCJ_PBCFKPOEOIO" => Some(Self::Pbcfkpoeoio), + "GPMDFKBPGCJ_BOJNDDMLFEG" => Some(Self::Bojnddmlfeg), + "GPMDFKBPGCJ_DAIDBAKDBMF" => Some(Self::Daidbakdbmf), + "GPMDFKBPGCJ_LHHJEFANABB" => Some(Self::Lhhjefanabb), + "GPMDFKBPGCJ_EEHNMECCLKB" => Some(Self::Eehnmecclkb), + "GPMDFKBPGCJ_IJFAJIPFLIK" => Some(Self::Ijfajipflik), + "GPMDFKBPGCJ_NONBIPBOOPD" => Some(Self::Nonbipboopd), + "GPMDFKBPGCJ_DFFNJKCDIED" => Some(Self::Dffnjkcdied), + "GPMDFKBPGCJ_NBMDCJJFCIA" => Some(Self::Nbmdcjjfcia), + "GPMDFKBPGCJ_JKILJMLCAFE" => Some(Self::Jkiljmlcafe), + "GPMDFKBPGCJ_INLOOKAENNP" => Some(Self::Inlookaennp), + "GPMDFKBPGCJ_DAIEIIPKCNH" => Some(Self::Daieiipkcnh), + "GPMDFKBPGCJ_ODDLLCMIFHL" => Some(Self::Oddllcmifhl), + "GPMDFKBPGCJ_DIJDHGJAIGM" => Some(Self::Dijdhgjaigm), + "GPMDFKBPGCJ_JHEDNKGMLHD" => Some(Self::Jhednkgmlhd), + "GPMDFKBPGCJ_PJKEGMGDOIK" => Some(Self::Pjkegmgdoik), + "GPMDFKBPGCJ_HIEKLKHDIPO" => Some(Self::Hieklkhdipo), + "GPMDFKBPGCJ_BDBMFBCBJND" => Some(Self::Bdbmfbcbjnd), + "GPMDFKBPGCJ_CGPMCHICPLH" => Some(Self::Cgpmchicplh), + "GPMDFKBPGCJ_AIGIHOAHDFO" => Some(Self::Aigihoahdfo), + "GPMDFKBPGCJ_AMHDLFMIDDM" => Some(Self::Amhdlfmiddm), + "GPMDFKBPGCJ_ODMHECHKOCB" => Some(Self::Odmhechkocb), + "GPMDFKBPGCJ_GGODONEHHEB" => Some(Self::Ggodonehheb), + "GPMDFKBPGCJ_KPEDGMFNCOK" => Some(Self::Kpedgmfncok), + "GPMDFKBPGCJ_OKODNDCHLPG" => Some(Self::Okodndchlpg), + "GPMDFKBPGCJ_HMFJOKMILJG" => Some(Self::Hmfjokmiljg), + "GPMDFKBPGCJ_KADBLCCAIPO" => Some(Self::Kadblccaipo), + "GPMDFKBPGCJ_EIIJMBPIPIE" => Some(Self::Eiijmbpipie), + "GPMDFKBPGCJ_JDJKCBHIHOJ" => Some(Self::Jdjkcbhihoj), + "GPMDFKBPGCJ_FNCHODLIAOM" => Some(Self::Fnchodliaom), + "GPMDFKBPGCJ_ALJKNBLNGAH" => Some(Self::Aljknblngah), + "GPMDFKBPGCJ_CPBPLJBBAIC" => Some(Self::Cpbpljbbaic), + "GPMDFKBPGCJ_CBMIBFGDAJG" => Some(Self::Cbmibfgdajg), + "GPMDFKBPGCJ_DBHKBPDANFH" => Some(Self::Dbhkbpdanfh), + "GPMDFKBPGCJ_CKBJLMEFGIP" => Some(Self::Ckbjlmefgip), + "GPMDFKBPGCJ_OFCAMGNDNLM" => Some(Self::Ofcamgndnlm), + "GPMDFKBPGCJ_BIDHLFBFOKB" => Some(Self::Bidhlfbfokb), + "GPMDFKBPGCJ_PLOANOFJBGA" => Some(Self::Ploanofjbga), + "GPMDFKBPGCJ_OLDOEGACBKP" => Some(Self::Oldoegacbkp), + "GPMDFKBPGCJ_HCOOHLHKGNL" => Some(Self::Hcoohlhkgnl), + "GPMDFKBPGCJ_ICCCFLKNIFO" => Some(Self::Icccflknifo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dhelefgaehp { + None = 0, + FloatValue = 3, + StringValue = 4, + IntValue = 5, + UintValue = 6, +} +impl Dhelefgaehp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::None => "DHELEFGAEHP_None", + Self::FloatValue => "DHELEFGAEHP_FloatValue", + Self::StringValue => "DHELEFGAEHP_StringValue", + Self::IntValue => "DHELEFGAEHP_IntValue", + Self::UintValue => "DHELEFGAEHP_UintValue", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DHELEFGAEHP_None" => Some(Self::None), + "DHELEFGAEHP_FloatValue" => Some(Self::FloatValue), + "DHELEFGAEHP_StringValue" => Some(Self::StringValue), + "DHELEFGAEHP_IntValue" => Some(Self::IntValue), + "DHELEFGAEHP_UintValue" => Some(Self::UintValue), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cckgilejnof { + Ilbpjbdpkcm = 0, +} +impl Cckgilejnof { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ilbpjbdpkcm => "CCKGILEJNOF_ILBPJBDPKCM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CCKGILEJNOF_ILBPJBDPKCM" => Some(Self::Ilbpjbdpkcm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dgdlehjkkod { + Pgphkgpmfid = 0, + Omikgopoaba = 1, + Kgokjccfcmb = 2, +} +impl Dgdlehjkkod { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pgphkgpmfid => "DGDLEHJKKOD_PGPHKGPMFID", + Self::Omikgopoaba => "DGDLEHJKKOD_OMIKGOPOABA", + Self::Kgokjccfcmb => "DGDLEHJKKOD_KGOKJCCFCMB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DGDLEHJKKOD_PGPHKGPMFID" => Some(Self::Pgphkgpmfid), + "DGDLEHJKKOD_OMIKGOPOABA" => Some(Self::Omikgopoaba), + "DGDLEHJKKOD_KGOKJCCFCMB" => Some(Self::Kgokjccfcmb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ckaodddhmag { + Kfhbkiahodc = 0, + Hmbnhhhaceb = 1, + Hglnmhahobd = 2, +} +impl Ckaodddhmag { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kfhbkiahodc => "CKAODDDHMAG_KFHBKIAHODC", + Self::Hmbnhhhaceb => "CKAODDDHMAG_HMBNHHHACEB", + Self::Hglnmhahobd => "CKAODDDHMAG_HGLNMHAHOBD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CKAODDDHMAG_KFHBKIAHODC" => Some(Self::Kfhbkiahodc), + "CKAODDDHMAG_HMBNHHHACEB" => Some(Self::Hmbnhhhaceb), + "CKAODDDHMAG_HGLNMHAHOBD" => Some(Self::Hglnmhahobd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Efkhfoalbpe { + Phkfedibcog = 0, + Ihkgimkdiob = 1, + Jmepdhafgee = 2, + Nambicfoomc = 3, + Dbblefjlkkg = 4, + Ljpafmfakca = 5, + Ojliihhokke = 6, +} +impl Efkhfoalbpe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Phkfedibcog => "EFKHFOALBPE_PHKFEDIBCOG", + Self::Ihkgimkdiob => "EFKHFOALBPE_IHKGIMKDIOB", + Self::Jmepdhafgee => "EFKHFOALBPE_JMEPDHAFGEE", + Self::Nambicfoomc => "EFKHFOALBPE_NAMBICFOOMC", + Self::Dbblefjlkkg => "EFKHFOALBPE_DBBLEFJLKKG", + Self::Ljpafmfakca => "EFKHFOALBPE_LJPAFMFAKCA", + Self::Ojliihhokke => "EFKHFOALBPE_OJLIIHHOKKE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EFKHFOALBPE_PHKFEDIBCOG" => Some(Self::Phkfedibcog), + "EFKHFOALBPE_IHKGIMKDIOB" => Some(Self::Ihkgimkdiob), + "EFKHFOALBPE_JMEPDHAFGEE" => Some(Self::Jmepdhafgee), + "EFKHFOALBPE_NAMBICFOOMC" => Some(Self::Nambicfoomc), + "EFKHFOALBPE_DBBLEFJLKKG" => Some(Self::Dbblefjlkkg), + "EFKHFOALBPE_LJPAFMFAKCA" => Some(Self::Ljpafmfakca), + "EFKHFOALBPE_OJLIIHHOKKE" => Some(Self::Ojliihhokke), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Onilaijofmd { + VhsFlowBuffSourceNone = 0, + VhsFlowBuffSourceQuest = 1, +} +impl Onilaijofmd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::VhsFlowBuffSourceNone => "ONILAIJOFMD_VHS_FLOW_BUFF_SOURCE_NONE", + Self::VhsFlowBuffSourceQuest => "ONILAIJOFMD_VHS_FLOW_BUFF_SOURCE_QUEST", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ONILAIJOFMD_VHS_FLOW_BUFF_SOURCE_NONE" => Some(Self::VhsFlowBuffSourceNone), + "ONILAIJOFMD_VHS_FLOW_BUFF_SOURCE_QUEST" => { + Some(Self::VhsFlowBuffSourceQuest) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dniekkmfapo { + Ddjhciididb = 0, + Micnfceopef = 1, + Aaijniijlpg = 2, + Lehpjhhihlf = 3, + Pnpgeaelpig = 4, + Glaokjhpchh = 5, + Hlegbfikhha = 6, + Hpcpkhjmnjj = 7, + Ikbahobcfnh = 8, + Mbamafjlpfn = 9, + Bfdefddpnhd = 10, + Pnoljigiegi = 11, + Jjjkjglgenc = 12, + Laoacpbocdm = 13, + Pljcddnpnka = 14, + Mgnjolhmmmj = 15, + Ibheocpmoln = 16, + Cdmnodhommi = 17, + Lacdnchbkln = 18, + Jcfnakhbfbm = 19, + Ocbkhebopgd = 20, + Olpelgdhpel = 21, + Dmbfmegfdcl = 22, + Bcadefdgpoe = 23, + Hipedppggdo = 24, + Ljclilblnnh = 25, + Hlbmjcbghbm = 26, +} +impl Dniekkmfapo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ddjhciididb => "DNIEKKMFAPO_DDJHCIIDIDB", + Self::Micnfceopef => "DNIEKKMFAPO_MICNFCEOPEF", + Self::Aaijniijlpg => "DNIEKKMFAPO_AAIJNIIJLPG", + Self::Lehpjhhihlf => "DNIEKKMFAPO_LEHPJHHIHLF", + Self::Pnpgeaelpig => "DNIEKKMFAPO_PNPGEAELPIG", + Self::Glaokjhpchh => "DNIEKKMFAPO_GLAOKJHPCHH", + Self::Hlegbfikhha => "DNIEKKMFAPO_HLEGBFIKHHA", + Self::Hpcpkhjmnjj => "DNIEKKMFAPO_HPCPKHJMNJJ", + Self::Ikbahobcfnh => "DNIEKKMFAPO_IKBAHOBCFNH", + Self::Mbamafjlpfn => "DNIEKKMFAPO_MBAMAFJLPFN", + Self::Bfdefddpnhd => "DNIEKKMFAPO_BFDEFDDPNHD", + Self::Pnoljigiegi => "DNIEKKMFAPO_PNOLJIGIEGI", + Self::Jjjkjglgenc => "DNIEKKMFAPO_JJJKJGLGENC", + Self::Laoacpbocdm => "DNIEKKMFAPO_LAOACPBOCDM", + Self::Pljcddnpnka => "DNIEKKMFAPO_PLJCDDNPNKA", + Self::Mgnjolhmmmj => "DNIEKKMFAPO_MGNJOLHMMMJ", + Self::Ibheocpmoln => "DNIEKKMFAPO_IBHEOCPMOLN", + Self::Cdmnodhommi => "DNIEKKMFAPO_CDMNODHOMMI", + Self::Lacdnchbkln => "DNIEKKMFAPO_LACDNCHBKLN", + Self::Jcfnakhbfbm => "DNIEKKMFAPO_JCFNAKHBFBM", + Self::Ocbkhebopgd => "DNIEKKMFAPO_OCBKHEBOPGD", + Self::Olpelgdhpel => "DNIEKKMFAPO_OLPELGDHPEL", + Self::Dmbfmegfdcl => "DNIEKKMFAPO_DMBFMEGFDCL", + Self::Bcadefdgpoe => "DNIEKKMFAPO_BCADEFDGPOE", + Self::Hipedppggdo => "DNIEKKMFAPO_HIPEDPPGGDO", + Self::Ljclilblnnh => "DNIEKKMFAPO_LJCLILBLNNH", + Self::Hlbmjcbghbm => "DNIEKKMFAPO_HLBMJCBGHBM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DNIEKKMFAPO_DDJHCIIDIDB" => Some(Self::Ddjhciididb), + "DNIEKKMFAPO_MICNFCEOPEF" => Some(Self::Micnfceopef), + "DNIEKKMFAPO_AAIJNIIJLPG" => Some(Self::Aaijniijlpg), + "DNIEKKMFAPO_LEHPJHHIHLF" => Some(Self::Lehpjhhihlf), + "DNIEKKMFAPO_PNPGEAELPIG" => Some(Self::Pnpgeaelpig), + "DNIEKKMFAPO_GLAOKJHPCHH" => Some(Self::Glaokjhpchh), + "DNIEKKMFAPO_HLEGBFIKHHA" => Some(Self::Hlegbfikhha), + "DNIEKKMFAPO_HPCPKHJMNJJ" => Some(Self::Hpcpkhjmnjj), + "DNIEKKMFAPO_IKBAHOBCFNH" => Some(Self::Ikbahobcfnh), + "DNIEKKMFAPO_MBAMAFJLPFN" => Some(Self::Mbamafjlpfn), + "DNIEKKMFAPO_BFDEFDDPNHD" => Some(Self::Bfdefddpnhd), + "DNIEKKMFAPO_PNOLJIGIEGI" => Some(Self::Pnoljigiegi), + "DNIEKKMFAPO_JJJKJGLGENC" => Some(Self::Jjjkjglgenc), + "DNIEKKMFAPO_LAOACPBOCDM" => Some(Self::Laoacpbocdm), + "DNIEKKMFAPO_PLJCDDNPNKA" => Some(Self::Pljcddnpnka), + "DNIEKKMFAPO_MGNJOLHMMMJ" => Some(Self::Mgnjolhmmmj), + "DNIEKKMFAPO_IBHEOCPMOLN" => Some(Self::Ibheocpmoln), + "DNIEKKMFAPO_CDMNODHOMMI" => Some(Self::Cdmnodhommi), + "DNIEKKMFAPO_LACDNCHBKLN" => Some(Self::Lacdnchbkln), + "DNIEKKMFAPO_JCFNAKHBFBM" => Some(Self::Jcfnakhbfbm), + "DNIEKKMFAPO_OCBKHEBOPGD" => Some(Self::Ocbkhebopgd), + "DNIEKKMFAPO_OLPELGDHPEL" => Some(Self::Olpelgdhpel), + "DNIEKKMFAPO_DMBFMEGFDCL" => Some(Self::Dmbfmegfdcl), + "DNIEKKMFAPO_BCADEFDGPOE" => Some(Self::Bcadefdgpoe), + "DNIEKKMFAPO_HIPEDPPGGDO" => Some(Self::Hipedppggdo), + "DNIEKKMFAPO_LJCLILBLNNH" => Some(Self::Ljclilblnnh), + "DNIEKKMFAPO_HLBMJCBGHBM" => Some(Self::Hlbmjcbghbm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dmecbdlpcdd { + Nemebklffdn = 0, + Oppmploncni = 1, + Gaaockbgbmb = 2, +} +impl Dmecbdlpcdd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nemebklffdn => "DMECBDLPCDD_NEMEBKLFFDN", + Self::Oppmploncni => "DMECBDLPCDD_OPPMPLONCNI", + Self::Gaaockbgbmb => "DMECBDLPCDD_GAAOCKBGBMB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DMECBDLPCDD_NEMEBKLFFDN" => Some(Self::Nemebklffdn), + "DMECBDLPCDD_OPPMPLONCNI" => Some(Self::Oppmploncni), + "DMECBDLPCDD_GAAOCKBGBMB" => Some(Self::Gaaockbgbmb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jcdjlemnicb { + Illpfbldlob = 0, + Khfmahijmnf = 1, + Acogoclfknm = 2, + Nodffehmpnc = 3, +} +impl Jcdjlemnicb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Illpfbldlob => "JCDJLEMNICB_ILLPFBLDLOB", + Self::Khfmahijmnf => "JCDJLEMNICB_KHFMAHIJMNF", + Self::Acogoclfknm => "JCDJLEMNICB_ACOGOCLFKNM", + Self::Nodffehmpnc => "JCDJLEMNICB_NODFFEHMPNC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JCDJLEMNICB_ILLPFBLDLOB" => Some(Self::Illpfbldlob), + "JCDJLEMNICB_KHFMAHIJMNF" => Some(Self::Khfmahijmnf), + "JCDJLEMNICB_ACOGOCLFKNM" => Some(Self::Acogoclfknm), + "JCDJLEMNICB_NODFFEHMPNC" => Some(Self::Nodffehmpnc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aadpphncbde { + Mflijnpkohb = 0, + Kdffhbhpkif = 1, + Kcegffcgckg = 2, + Bfkbjofojbp = 3, +} +impl Aadpphncbde { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mflijnpkohb => "AADPPHNCBDE_MFLIJNPKOHB", + Self::Kdffhbhpkif => "AADPPHNCBDE_KDFFHBHPKIF", + Self::Kcegffcgckg => "AADPPHNCBDE_KCEGFFCGCKG", + Self::Bfkbjofojbp => "AADPPHNCBDE_BFKBJOFOJBP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AADPPHNCBDE_MFLIJNPKOHB" => Some(Self::Mflijnpkohb), + "AADPPHNCBDE_KDFFHBHPKIF" => Some(Self::Kdffhbhpkif), + "AADPPHNCBDE_KCEGFFCGCKG" => Some(Self::Kcegffcgckg), + "AADPPHNCBDE_BFKBJOFOJBP" => Some(Self::Bfkbjofojbp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Honiancdeim { + Fhfgphopnnl = 0, + Ljncpeolnop = 3, + Ofjbplaaell = 4, +} +impl Honiancdeim { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fhfgphopnnl => "HONIANCDEIM_FHFGPHOPNNL", + Self::Ljncpeolnop => "HONIANCDEIM_LJNCPEOLNOP", + Self::Ofjbplaaell => "HONIANCDEIM_OFJBPLAAELL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HONIANCDEIM_FHFGPHOPNNL" => Some(Self::Fhfgphopnnl), + "HONIANCDEIM_LJNCPEOLNOP" => Some(Self::Ljncpeolnop), + "HONIANCDEIM_OFJBPLAAELL" => Some(Self::Ofjbplaaell), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ddmnhnijpie { + Fdkigpajfjk = 0, + Eojplmmjigj = 1, +} +impl Ddmnhnijpie { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fdkigpajfjk => "DDMNHNIJPIE_FDKIGPAJFJK", + Self::Eojplmmjigj => "DDMNHNIJPIE_EOJPLMMJIGJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DDMNHNIJPIE_FDKIGPAJFJK" => Some(Self::Fdkigpajfjk), + "DDMNHNIJPIE_EOJPLMMJIGJ" => Some(Self::Eojplmmjigj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ghclodjegfi { + Miphkijkkoc = 0, + Cindcmiipke = 1, +} +impl Ghclodjegfi { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Miphkijkkoc => "GHCLODJEGFI_MIPHKIJKKOC", + Self::Cindcmiipke => "GHCLODJEGFI_CINDCMIIPKE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GHCLODJEGFI_MIPHKIJKKOC" => Some(Self::Miphkijkkoc), + "GHCLODJEGFI_CINDCMIIPKE" => Some(Self::Cindcmiipke), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ombdageamel { + Ibdfhhlokhc = 0, + Gebapndkbhk = 1, + Ldojhbljncj = 2, + Cofbheklajg = 3, + Jgaanjiejko = 4, + Nblolpbfemd = 5, +} +impl Ombdageamel { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ibdfhhlokhc => "OMBDAGEAMEL_IBDFHHLOKHC", + Self::Gebapndkbhk => "OMBDAGEAMEL_GEBAPNDKBHK", + Self::Ldojhbljncj => "OMBDAGEAMEL_LDOJHBLJNCJ", + Self::Cofbheklajg => "OMBDAGEAMEL_COFBHEKLAJG", + Self::Jgaanjiejko => "OMBDAGEAMEL_JGAANJIEJKO", + Self::Nblolpbfemd => "OMBDAGEAMEL_NBLOLPBFEMD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OMBDAGEAMEL_IBDFHHLOKHC" => Some(Self::Ibdfhhlokhc), + "OMBDAGEAMEL_GEBAPNDKBHK" => Some(Self::Gebapndkbhk), + "OMBDAGEAMEL_LDOJHBLJNCJ" => Some(Self::Ldojhbljncj), + "OMBDAGEAMEL_COFBHEKLAJG" => Some(Self::Cofbheklajg), + "OMBDAGEAMEL_JGAANJIEJKO" => Some(Self::Jgaanjiejko), + "OMBDAGEAMEL_NBLOLPBFEMD" => Some(Self::Nblolpbfemd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mkepkgclpgh { + Afjefadickh = 0, + Bheihdcfnan = 1, +} +impl Mkepkgclpgh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Afjefadickh => "MKEPKGCLPGH_AFJEFADICKH", + Self::Bheihdcfnan => "MKEPKGCLPGH_BHEIHDCFNAN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MKEPKGCLPGH_AFJEFADICKH" => Some(Self::Afjefadickh), + "MKEPKGCLPGH_BHEIHDCFNAN" => Some(Self::Bheihdcfnan), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oogkcgoeacl { + FocusCameraTypeNone = 0, + FocusCameraTypeInit = 1, + FocusCameraTypeMofifyWeight = 2, + FocusCameraTypeDeletePoint = 3, + FocusCameraTypeAddPoint = 4, + FocusCameraTypeCancelFocus = 5, + FocusCameraTypeModifyKey = 6, + FocusCameraTypeCancelAfterFocus = 7, + FocusCameraTypeSoftFocus = 8, +} +impl Oogkcgoeacl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::FocusCameraTypeNone => "OOGKCGOEACL_FOCUS_CAMERA_TYPE_NONE", + Self::FocusCameraTypeInit => "OOGKCGOEACL_FOCUS_CAMERA_TYPE_INIT", + Self::FocusCameraTypeMofifyWeight => { + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_MOFIFY_WEIGHT" + } + Self::FocusCameraTypeDeletePoint => { + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_DELETE_POINT" + } + Self::FocusCameraTypeAddPoint => "OOGKCGOEACL_FOCUS_CAMERA_TYPE_ADD_POINT", + Self::FocusCameraTypeCancelFocus => { + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_CANCEL_FOCUS" + } + Self::FocusCameraTypeModifyKey => "OOGKCGOEACL_FOCUS_CAMERA_TYPE_MODIFY_KEY", + Self::FocusCameraTypeCancelAfterFocus => { + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_CANCEL_AFTER_FOCUS" + } + Self::FocusCameraTypeSoftFocus => "OOGKCGOEACL_FOCUS_CAMERA_TYPE_SOFT_FOCUS", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_NONE" => Some(Self::FocusCameraTypeNone), + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_INIT" => Some(Self::FocusCameraTypeInit), + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_MOFIFY_WEIGHT" => { + Some(Self::FocusCameraTypeMofifyWeight) + } + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_DELETE_POINT" => { + Some(Self::FocusCameraTypeDeletePoint) + } + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_ADD_POINT" => { + Some(Self::FocusCameraTypeAddPoint) + } + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_CANCEL_FOCUS" => { + Some(Self::FocusCameraTypeCancelFocus) + } + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_MODIFY_KEY" => { + Some(Self::FocusCameraTypeModifyKey) + } + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_CANCEL_AFTER_FOCUS" => { + Some(Self::FocusCameraTypeCancelAfterFocus) + } + "OOGKCGOEACL_FOCUS_CAMERA_TYPE_SOFT_FOCUS" => { + Some(Self::FocusCameraTypeSoftFocus) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hgjgmkeolij { + Bddbfeaegml = 0, + Bdaponekdme = 1, + Epmgemckmff = 2, + Lemcfekdncj = 3, + Mohpphnaope = 4, + Lhgehifmmof = 5, +} +impl Hgjgmkeolij { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bddbfeaegml => "HGJGMKEOLIJ_BDDBFEAEGML", + Self::Bdaponekdme => "HGJGMKEOLIJ_BDAPONEKDME", + Self::Epmgemckmff => "HGJGMKEOLIJ_EPMGEMCKMFF", + Self::Lemcfekdncj => "HGJGMKEOLIJ_LEMCFEKDNCJ", + Self::Mohpphnaope => "HGJGMKEOLIJ_MOHPPHNAOPE", + Self::Lhgehifmmof => "HGJGMKEOLIJ_LHGEHIFMMOF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HGJGMKEOLIJ_BDDBFEAEGML" => Some(Self::Bddbfeaegml), + "HGJGMKEOLIJ_BDAPONEKDME" => Some(Self::Bdaponekdme), + "HGJGMKEOLIJ_EPMGEMCKMFF" => Some(Self::Epmgemckmff), + "HGJGMKEOLIJ_LEMCFEKDNCJ" => Some(Self::Lemcfekdncj), + "HGJGMKEOLIJ_MOHPPHNAOPE" => Some(Self::Mohpphnaope), + "HGJGMKEOLIJ_LHGEHIFMMOF" => Some(Self::Lhgehifmmof), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Noaaohcdkpo { + Mcgihpcailb = 0, +} +impl Noaaohcdkpo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mcgihpcailb => "NOAAOHCDKPO_MCGIHPCAILB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NOAAOHCDKPO_MCGIHPCAILB" => Some(Self::Mcgihpcailb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nagmimlmjfa { + Mlaejddhnnl = 0, + Kdgmibcfcfj = 1, + Hmaikhedbpd = 2, + Chopmeajhgc = 3, +} +impl Nagmimlmjfa { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mlaejddhnnl => "NAGMIMLMJFA_MLAEJDDHNNL", + Self::Kdgmibcfcfj => "NAGMIMLMJFA_KDGMIBCFCFJ", + Self::Hmaikhedbpd => "NAGMIMLMJFA_HMAIKHEDBPD", + Self::Chopmeajhgc => "NAGMIMLMJFA_CHOPMEAJHGC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NAGMIMLMJFA_MLAEJDDHNNL" => Some(Self::Mlaejddhnnl), + "NAGMIMLMJFA_KDGMIBCFCFJ" => Some(Self::Kdgmibcfcfj), + "NAGMIMLMJFA_HMAIKHEDBPD" => Some(Self::Hmaikhedbpd), + "NAGMIMLMJFA_CHOPMEAJHGC" => Some(Self::Chopmeajhgc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ajlfoiggebm { + Lmdigdccaja = 0, + Mbnpffpkhei = 1, + Npfapmopjno = 2, + Ihbegkmndob = 3, + Haofgljehii = 4, + Ccjjfhoekoj = 5, + Jeednmcpbmb = 6, + Fekabhedeek = 7, +} +impl Ajlfoiggebm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lmdigdccaja => "AJLFOIGGEBM_LMDIGDCCAJA", + Self::Mbnpffpkhei => "AJLFOIGGEBM_MBNPFFPKHEI", + Self::Npfapmopjno => "AJLFOIGGEBM_NPFAPMOPJNO", + Self::Ihbegkmndob => "AJLFOIGGEBM_IHBEGKMNDOB", + Self::Haofgljehii => "AJLFOIGGEBM_HAOFGLJEHII", + Self::Ccjjfhoekoj => "AJLFOIGGEBM_CCJJFHOEKOJ", + Self::Jeednmcpbmb => "AJLFOIGGEBM_JEEDNMCPBMB", + Self::Fekabhedeek => "AJLFOIGGEBM_FEKABHEDEEK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AJLFOIGGEBM_LMDIGDCCAJA" => Some(Self::Lmdigdccaja), + "AJLFOIGGEBM_MBNPFFPKHEI" => Some(Self::Mbnpffpkhei), + "AJLFOIGGEBM_NPFAPMOPJNO" => Some(Self::Npfapmopjno), + "AJLFOIGGEBM_IHBEGKMNDOB" => Some(Self::Ihbegkmndob), + "AJLFOIGGEBM_HAOFGLJEHII" => Some(Self::Haofgljehii), + "AJLFOIGGEBM_CCJJFHOEKOJ" => Some(Self::Ccjjfhoekoj), + "AJLFOIGGEBM_JEEDNMCPBMB" => Some(Self::Jeednmcpbmb), + "AJLFOIGGEBM_FEKABHEDEEK" => Some(Self::Fekabhedeek), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gpbpnapechj { + Mkfmdnceamg = 0, + Hpdnndhehpk = 1, + Maoaejfngcb = 2, + Lbfhcapjeho = 3, +} +impl Gpbpnapechj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mkfmdnceamg => "GPBPNAPECHJ_MKFMDNCEAMG", + Self::Hpdnndhehpk => "GPBPNAPECHJ_HPDNNDHEHPK", + Self::Maoaejfngcb => "GPBPNAPECHJ_MAOAEJFNGCB", + Self::Lbfhcapjeho => "GPBPNAPECHJ_LBFHCAPJEHO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GPBPNAPECHJ_MKFMDNCEAMG" => Some(Self::Mkfmdnceamg), + "GPBPNAPECHJ_HPDNNDHEHPK" => Some(Self::Hpdnndhehpk), + "GPBPNAPECHJ_MAOAEJFNGCB" => Some(Self::Maoaejfngcb), + "GPBPNAPECHJ_LBFHCAPJEHO" => Some(Self::Lbfhcapjeho), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dnpchmlkajh { + Kdpakldfaej = 0, + Gdccpmnfeme = 1, + Mfcamajamoj = 2, + Npnjgndgoam = 3, + Nhbddjippjj = 4, +} +impl Dnpchmlkajh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kdpakldfaej => "DNPCHMLKAJH_KDPAKLDFAEJ", + Self::Gdccpmnfeme => "DNPCHMLKAJH_GDCCPMNFEME", + Self::Mfcamajamoj => "DNPCHMLKAJH_MFCAMAJAMOJ", + Self::Npnjgndgoam => "DNPCHMLKAJH_NPNJGNDGOAM", + Self::Nhbddjippjj => "DNPCHMLKAJH_NHBDDJIPPJJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DNPCHMLKAJH_KDPAKLDFAEJ" => Some(Self::Kdpakldfaej), + "DNPCHMLKAJH_GDCCPMNFEME" => Some(Self::Gdccpmnfeme), + "DNPCHMLKAJH_MFCAMAJAMOJ" => Some(Self::Mfcamajamoj), + "DNPCHMLKAJH_NPNJGNDGOAM" => Some(Self::Npnjgndgoam), + "DNPCHMLKAJH_NHBDDJIPPJJ" => Some(Self::Nhbddjippjj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pelhdnfcpem { + OptionsModeNormal = 0, + OptionsModeSelectByGroup = 1, + OptionsModeRandomByNum = 2, + OptionsModeRandomByDepth = 3, +} +impl Pelhdnfcpem { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::OptionsModeNormal => "PELHDNFCPEM_OPTIONS_MODE_NORMAL", + Self::OptionsModeSelectByGroup => "PELHDNFCPEM_OPTIONS_MODE_SELECT_BY_GROUP", + Self::OptionsModeRandomByNum => "PELHDNFCPEM_OPTIONS_MODE_RANDOM_BY_NUM", + Self::OptionsModeRandomByDepth => "PELHDNFCPEM_OPTIONS_MODE_RANDOM_BY_DEPTH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PELHDNFCPEM_OPTIONS_MODE_NORMAL" => Some(Self::OptionsModeNormal), + "PELHDNFCPEM_OPTIONS_MODE_SELECT_BY_GROUP" => { + Some(Self::OptionsModeSelectByGroup) + } + "PELHDNFCPEM_OPTIONS_MODE_RANDOM_BY_NUM" => { + Some(Self::OptionsModeRandomByNum) + } + "PELHDNFCPEM_OPTIONS_MODE_RANDOM_BY_DEPTH" => { + Some(Self::OptionsModeRandomByDepth) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bjibfngnhjh { + Gmhofmapjpb = 0, + Nnjocffehlk = 1, + Ihobchbaabk = 2, +} +impl Bjibfngnhjh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gmhofmapjpb => "BJIBFNGNHJH_GMHOFMAPJPB", + Self::Nnjocffehlk => "BJIBFNGNHJH_NNJOCFFEHLK", + Self::Ihobchbaabk => "BJIBFNGNHJH_IHOBCHBAABK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BJIBFNGNHJH_GMHOFMAPJPB" => Some(Self::Gmhofmapjpb), + "BJIBFNGNHJH_NNJOCFFEHLK" => Some(Self::Nnjocffehlk), + "BJIBFNGNHJH_IHOBCHBAABK" => Some(Self::Ihobchbaabk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Phgdpmckkjm { + Hhakddcppfo = 0, +} +impl Phgdpmckkjm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hhakddcppfo => "PHGDPMCKKJM_HHAKDDCPPFO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PHGDPMCKKJM_HHAKDDCPPFO" => Some(Self::Hhakddcppfo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fonelmhjdif { + Ephnmgddjbe = 0, + Aekodckfkki = 1, +} +impl Fonelmhjdif { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ephnmgddjbe => "FONELMHJDIF_EPHNMGDDJBE", + Self::Aekodckfkki => "FONELMHJDIF_AEKODCKFKKI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FONELMHJDIF_EPHNMGDDJBE" => Some(Self::Ephnmgddjbe), + "FONELMHJDIF_AEKODCKFKKI" => Some(Self::Aekodckfkki), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Heobobbondj { + Ghjlodmkmoj = 0, + Afbjaoajbel = 1, + Ojhmpppbcab = 2, + Kbaindcikbp = 3, +} +impl Heobobbondj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ghjlodmkmoj => "HEOBOBBONDJ_GHJLODMKMOJ", + Self::Afbjaoajbel => "HEOBOBBONDJ_AFBJAOAJBEL", + Self::Ojhmpppbcab => "HEOBOBBONDJ_OJHMPPPBCAB", + Self::Kbaindcikbp => "HEOBOBBONDJ_KBAINDCIKBP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HEOBOBBONDJ_GHJLODMKMOJ" => Some(Self::Ghjlodmkmoj), + "HEOBOBBONDJ_AFBJAOAJBEL" => Some(Self::Afbjaoajbel), + "HEOBOBBONDJ_OJHMPPPBCAB" => Some(Self::Ojhmpppbcab), + "HEOBOBBONDJ_KBAINDCIKBP" => Some(Self::Kbaindcikbp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kimhnenegop { + TypeOfGetListNone = 0, + TypeOfGetListLen = 1, + TypeOfGetListItem = 2, + TypeOfGetListPop = 3, + TypeOfGetListCount = 4, + TypeOfGetListMax = 5, + TypeOfGetListMin = 6, + TypeOfGetListClip = 7, +} +impl Kimhnenegop { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::TypeOfGetListNone => "KIMHNENEGOP_TYPE_OF_GET_LIST_NONE", + Self::TypeOfGetListLen => "KIMHNENEGOP_TYPE_OF_GET_LIST_LEN", + Self::TypeOfGetListItem => "KIMHNENEGOP_TYPE_OF_GET_LIST_ITEM", + Self::TypeOfGetListPop => "KIMHNENEGOP_TYPE_OF_GET_LIST_POP", + Self::TypeOfGetListCount => "KIMHNENEGOP_TYPE_OF_GET_LIST_COUNT", + Self::TypeOfGetListMax => "KIMHNENEGOP_TYPE_OF_GET_LIST_MAX", + Self::TypeOfGetListMin => "KIMHNENEGOP_TYPE_OF_GET_LIST_MIN", + Self::TypeOfGetListClip => "KIMHNENEGOP_TYPE_OF_GET_LIST_CLIP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KIMHNENEGOP_TYPE_OF_GET_LIST_NONE" => Some(Self::TypeOfGetListNone), + "KIMHNENEGOP_TYPE_OF_GET_LIST_LEN" => Some(Self::TypeOfGetListLen), + "KIMHNENEGOP_TYPE_OF_GET_LIST_ITEM" => Some(Self::TypeOfGetListItem), + "KIMHNENEGOP_TYPE_OF_GET_LIST_POP" => Some(Self::TypeOfGetListPop), + "KIMHNENEGOP_TYPE_OF_GET_LIST_COUNT" => Some(Self::TypeOfGetListCount), + "KIMHNENEGOP_TYPE_OF_GET_LIST_MAX" => Some(Self::TypeOfGetListMax), + "KIMHNENEGOP_TYPE_OF_GET_LIST_MIN" => Some(Self::TypeOfGetListMin), + "KIMHNENEGOP_TYPE_OF_GET_LIST_CLIP" => Some(Self::TypeOfGetListClip), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Apckfopifno { + Bljljnhikml = 0, + Cklnmnonhbh = 1, +} +impl Apckfopifno { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bljljnhikml => "APCKFOPIFNO_BLJLJNHIKML", + Self::Cklnmnonhbh => "APCKFOPIFNO_CKLNMNONHBH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "APCKFOPIFNO_BLJLJNHIKML" => Some(Self::Bljljnhikml), + "APCKFOPIFNO_CKLNMNONHBH" => Some(Self::Cklnmnonhbh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hknnkhajgen { + ChangeCharacterModeByAvatarId = 0, + ChangeCharacterModeByPos = 2, + ChangeCharacterModeByRandom = 3, + ChangeCharacterModeByRobotId = 4, +} +impl Hknnkhajgen { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ChangeCharacterModeByAvatarId => { + "HKNNKHAJGEN_CHANGE_CHARACTER_MODE_BY_AVATAR_ID" + } + Self::ChangeCharacterModeByPos => "HKNNKHAJGEN_CHANGE_CHARACTER_MODE_BY_POS", + Self::ChangeCharacterModeByRandom => { + "HKNNKHAJGEN_CHANGE_CHARACTER_MODE_BY_RANDOM" + } + Self::ChangeCharacterModeByRobotId => { + "HKNNKHAJGEN_CHANGE_CHARACTER_MODE_BY_ROBOT_ID" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HKNNKHAJGEN_CHANGE_CHARACTER_MODE_BY_AVATAR_ID" => { + Some(Self::ChangeCharacterModeByAvatarId) + } + "HKNNKHAJGEN_CHANGE_CHARACTER_MODE_BY_POS" => { + Some(Self::ChangeCharacterModeByPos) + } + "HKNNKHAJGEN_CHANGE_CHARACTER_MODE_BY_RANDOM" => { + Some(Self::ChangeCharacterModeByRandom) + } + "HKNNKHAJGEN_CHANGE_CHARACTER_MODE_BY_ROBOT_ID" => { + Some(Self::ChangeCharacterModeByRobotId) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mihpehhcage { + Mphlofcllam = 0, + Cddpljcdaeo = 1, + Hdjlgaejknk = 2, + Fcfcjmpelof = 3, + Ochoalcejla = 4, +} +impl Mihpehhcage { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mphlofcllam => "MIHPEHHCAGE_MPHLOFCLLAM", + Self::Cddpljcdaeo => "MIHPEHHCAGE_CDDPLJCDAEO", + Self::Hdjlgaejknk => "MIHPEHHCAGE_HDJLGAEJKNK", + Self::Fcfcjmpelof => "MIHPEHHCAGE_FCFCJMPELOF", + Self::Ochoalcejla => "MIHPEHHCAGE_OCHOALCEJLA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MIHPEHHCAGE_MPHLOFCLLAM" => Some(Self::Mphlofcllam), + "MIHPEHHCAGE_CDDPLJCDAEO" => Some(Self::Cddpljcdaeo), + "MIHPEHHCAGE_HDJLGAEJKNK" => Some(Self::Hdjlgaejknk), + "MIHPEHHCAGE_FCFCJMPELOF" => Some(Self::Fcfcjmpelof), + "MIHPEHHCAGE_OCHOALCEJLA" => Some(Self::Ochoalcejla), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hoebgilchdn { + Oigkaeficgn = 0, + Pacgcmfkmhp = 1, + Hfgcgokcldd = 2, + Emebcefgfbf = 3, +} +impl Hoebgilchdn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Oigkaeficgn => "HOEBGILCHDN_OIGKAEFICGN", + Self::Pacgcmfkmhp => "HOEBGILCHDN_PACGCMFKMHP", + Self::Hfgcgokcldd => "HOEBGILCHDN_HFGCGOKCLDD", + Self::Emebcefgfbf => "HOEBGILCHDN_EMEBCEFGFBF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HOEBGILCHDN_OIGKAEFICGN" => Some(Self::Oigkaeficgn), + "HOEBGILCHDN_PACGCMFKMHP" => Some(Self::Pacgcmfkmhp), + "HOEBGILCHDN_HFGCGOKCLDD" => Some(Self::Hfgcgokcldd), + "HOEBGILCHDN_EMEBCEFGFBF" => Some(Self::Emebcefgfbf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pallkibeiho { + Gjjncmkfppo = 0, +} +impl Pallkibeiho { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gjjncmkfppo => "PALLKIBEIHO_GJJNCMKFPPO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PALLKIBEIHO_GJJNCMKFPPO" => Some(Self::Gjjncmkfppo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aobbikmepmk { + Hmlefccbolj = 0, + Jmlhapdopmc = 1, +} +impl Aobbikmepmk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hmlefccbolj => "AOBBIKMEPMK_HMLEFCCBOLJ", + Self::Jmlhapdopmc => "AOBBIKMEPMK_JMLHAPDOPMC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AOBBIKMEPMK_HMLEFCCBOLJ" => Some(Self::Hmlefccbolj), + "AOBBIKMEPMK_JMLHAPDOPMC" => Some(Self::Jmlhapdopmc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pnbnlleambf { + RpRecommendResultNone = 0, + RpRecommendResultSucc = 1, + RpRecommendResultFail = 2, +} +impl Pnbnlleambf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::RpRecommendResultNone => "PNBNLLEAMBF_RP_RECOMMEND_RESULT_NONE", + Self::RpRecommendResultSucc => "PNBNLLEAMBF_RP_RECOMMEND_RESULT_SUCC", + Self::RpRecommendResultFail => "PNBNLLEAMBF_RP_RECOMMEND_RESULT_FAIL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PNBNLLEAMBF_RP_RECOMMEND_RESULT_NONE" => Some(Self::RpRecommendResultNone), + "PNBNLLEAMBF_RP_RECOMMEND_RESULT_SUCC" => Some(Self::RpRecommendResultSucc), + "PNBNLLEAMBF_RP_RECOMMEND_RESULT_FAIL" => Some(Self::RpRecommendResultFail), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Deoobgfghfj { + CharacterModeBySlot = 0, + CharacterModeByRobotId = 1, + CharacterModeByAvatarId = 2, +} +impl Deoobgfghfj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::CharacterModeBySlot => "DEOOBGFGHFJ_CHARACTER_MODE_BY_SLOT", + Self::CharacterModeByRobotId => "DEOOBGFGHFJ_CHARACTER_MODE_BY_ROBOT_ID", + Self::CharacterModeByAvatarId => "DEOOBGFGHFJ_CHARACTER_MODE_BY_AVATAR_ID", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DEOOBGFGHFJ_CHARACTER_MODE_BY_SLOT" => Some(Self::CharacterModeBySlot), + "DEOOBGFGHFJ_CHARACTER_MODE_BY_ROBOT_ID" => { + Some(Self::CharacterModeByRobotId) + } + "DEOOBGFGHFJ_CHARACTER_MODE_BY_AVATAR_ID" => { + Some(Self::CharacterModeByAvatarId) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kbajkbfogen { + Pfpeojjlbda = 0, + Knfmfdmbije = 1, + Fpphhcdpfbc = 2, +} +impl Kbajkbfogen { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pfpeojjlbda => "KBAJKBFOGEN_PFPEOJJLBDA", + Self::Knfmfdmbije => "KBAJKBFOGEN_KNFMFDMBIJE", + Self::Fpphhcdpfbc => "KBAJKBFOGEN_FPPHHCDPFBC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KBAJKBFOGEN_PFPEOJJLBDA" => Some(Self::Pfpeojjlbda), + "KBAJKBFOGEN_KNFMFDMBIJE" => Some(Self::Knfmfdmbije), + "KBAJKBFOGEN_FPPHHCDPFBC" => Some(Self::Fpphhcdpfbc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Janomohpinm { + Pghffilkfkj = 0, +} +impl Janomohpinm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pghffilkfkj => "JANOMOHPINM_PGHFFILKFKJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JANOMOHPINM_PGHFFILKFKJ" => Some(Self::Pghffilkfkj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Chkhnebjoce { + Dlkpociokoh = 0, + Bmcipeakcae = 1, + Plmlgfikimk = 2, + Mdnaknomkma = 3, +} +impl Chkhnebjoce { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dlkpociokoh => "CHKHNEBJOCE_DLKPOCIOKOH", + Self::Bmcipeakcae => "CHKHNEBJOCE_BMCIPEAKCAE", + Self::Plmlgfikimk => "CHKHNEBJOCE_PLMLGFIKIMK", + Self::Mdnaknomkma => "CHKHNEBJOCE_MDNAKNOMKMA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CHKHNEBJOCE_DLKPOCIOKOH" => Some(Self::Dlkpociokoh), + "CHKHNEBJOCE_BMCIPEAKCAE" => Some(Self::Bmcipeakcae), + "CHKHNEBJOCE_PLMLGFIKIMK" => Some(Self::Plmlgfikimk), + "CHKHNEBJOCE_MDNAKNOMKMA" => Some(Self::Mdnaknomkma), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gjpcmcjfkdd { + Npebciadgij = 0, + Kbkjmfnggla = 1, +} +impl Gjpcmcjfkdd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Npebciadgij => "GJPCMCJFKDD_NPEBCIADGIJ", + Self::Kbkjmfnggla => "GJPCMCJFKDD_KBKJMFNGGLA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GJPCMCJFKDD_NPEBCIADGIJ" => Some(Self::Npebciadgij), + "GJPCMCJFKDD_KBKJMFNGGLA" => Some(Self::Kbkjmfnggla), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kjbchdkmgfk { + PostStateNotUnlock = 0, + PostStateUnlock = 1, + PostStateRead = 2, + PostStateReply = 3, + PostStateInfoUnlock = 4, + PostStateInfoRead = 5, +} +impl Kjbchdkmgfk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::PostStateNotUnlock => "KJBCHDKMGFK_POST_STATE_NOT_UNLOCK", + Self::PostStateUnlock => "KJBCHDKMGFK_POST_STATE_UNLOCK", + Self::PostStateRead => "KJBCHDKMGFK_POST_STATE_READ", + Self::PostStateReply => "KJBCHDKMGFK_POST_STATE_REPLY", + Self::PostStateInfoUnlock => "KJBCHDKMGFK_POST_STATE_INFO_UNLOCK", + Self::PostStateInfoRead => "KJBCHDKMGFK_POST_STATE_INFO_READ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KJBCHDKMGFK_POST_STATE_NOT_UNLOCK" => Some(Self::PostStateNotUnlock), + "KJBCHDKMGFK_POST_STATE_UNLOCK" => Some(Self::PostStateUnlock), + "KJBCHDKMGFK_POST_STATE_READ" => Some(Self::PostStateRead), + "KJBCHDKMGFK_POST_STATE_REPLY" => Some(Self::PostStateReply), + "KJBCHDKMGFK_POST_STATE_INFO_UNLOCK" => Some(Self::PostStateInfoUnlock), + "KJBCHDKMGFK_POST_STATE_INFO_READ" => Some(Self::PostStateInfoRead), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum AimRectColor { + AimRectColorNone = 0, + AimRectColorGreen = 1, + AimRectColorRed = 2, +} +impl AimRectColor { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::AimRectColorNone => "AimRectColor_AIM_RECT_COLOR_NONE", + Self::AimRectColorGreen => "AimRectColor_AIM_RECT_COLOR_GREEN", + Self::AimRectColorRed => "AimRectColor_AIM_RECT_COLOR_RED", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AimRectColor_AIM_RECT_COLOR_NONE" => Some(Self::AimRectColorNone), + "AimRectColor_AIM_RECT_COLOR_GREEN" => Some(Self::AimRectColorGreen), + "AimRectColor_AIM_RECT_COLOR_RED" => Some(Self::AimRectColorRed), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gnfpamofibb { + Eceihnfocjc = 0, + Obhcenndcph = 1, + Nlkpgiofeda = 2, + Cfciaidjman = 3, +} +impl Gnfpamofibb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Eceihnfocjc => "GNFPAMOFIBB_ECEIHNFOCJC", + Self::Obhcenndcph => "GNFPAMOFIBB_OBHCENNDCPH", + Self::Nlkpgiofeda => "GNFPAMOFIBB_NLKPGIOFEDA", + Self::Cfciaidjman => "GNFPAMOFIBB_CFCIAIDJMAN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GNFPAMOFIBB_ECEIHNFOCJC" => Some(Self::Eceihnfocjc), + "GNFPAMOFIBB_OBHCENNDCPH" => Some(Self::Obhcenndcph), + "GNFPAMOFIBB_NLKPGIOFEDA" => Some(Self::Nlkpgiofeda), + "GNFPAMOFIBB_CFCIAIDJMAN" => Some(Self::Cfciaidjman), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ogfgklkjkdo { + Aphddjkaoea = 0, + Akoipokacop = 1, +} +impl Ogfgklkjkdo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Aphddjkaoea => "OGFGKLKJKDO_APHDDJKAOEA", + Self::Akoipokacop => "OGFGKLKJKDO_AKOIPOKACOP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OGFGKLKJKDO_APHDDJKAOEA" => Some(Self::Aphddjkaoea), + "OGFGKLKJKDO_AKOIPOKACOP" => Some(Self::Akoipokacop), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bhjggggfeok { + Lnlphconome = 0, + Gddehfcjjab = 1, +} +impl Bhjggggfeok { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lnlphconome => "BHJGGGGFEOK_LNLPHCONOME", + Self::Gddehfcjjab => "BHJGGGGFEOK_GDDEHFCJJAB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BHJGGGGFEOK_LNLPHCONOME" => Some(Self::Lnlphconome), + "BHJGGGGFEOK_GDDEHFCJJAB" => Some(Self::Gddehfcjjab), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gjglokjcccm { + None = 0, + Head = 1, + Tail = 2, +} +impl Gjglokjcccm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::None => "GJGLOKJCCCM_NONE", + Self::Head => "GJGLOKJCCCM_HEAD", + Self::Tail => "GJGLOKJCCCM_TAIL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GJGLOKJCCCM_NONE" => Some(Self::None), + "GJGLOKJCCCM_HEAD" => Some(Self::Head), + "GJGLOKJCCCM_TAIL" => Some(Self::Tail), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hklogciopgh { + Bipaelojdio = 0, + Geidlmhcjna = 1, + Oolnpccodhj = 2, + Ojggmklelbd = 3, + Fcjcladdjkd = 4, + Kbelckhlojn = 5, + Ecapeecggdi = 6, + Dkbhndnkfnc = 7, +} +impl Hklogciopgh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bipaelojdio => "HKLOGCIOPGH_BIPAELOJDIO", + Self::Geidlmhcjna => "HKLOGCIOPGH_GEIDLMHCJNA", + Self::Oolnpccodhj => "HKLOGCIOPGH_OOLNPCCODHJ", + Self::Ojggmklelbd => "HKLOGCIOPGH_OJGGMKLELBD", + Self::Fcjcladdjkd => "HKLOGCIOPGH_FCJCLADDJKD", + Self::Kbelckhlojn => "HKLOGCIOPGH_KBELCKHLOJN", + Self::Ecapeecggdi => "HKLOGCIOPGH_ECAPEECGGDI", + Self::Dkbhndnkfnc => "HKLOGCIOPGH_DKBHNDNKFNC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HKLOGCIOPGH_BIPAELOJDIO" => Some(Self::Bipaelojdio), + "HKLOGCIOPGH_GEIDLMHCJNA" => Some(Self::Geidlmhcjna), + "HKLOGCIOPGH_OOLNPCCODHJ" => Some(Self::Oolnpccodhj), + "HKLOGCIOPGH_OJGGMKLELBD" => Some(Self::Ojggmklelbd), + "HKLOGCIOPGH_FCJCLADDJKD" => Some(Self::Fcjcladdjkd), + "HKLOGCIOPGH_KBELCKHLOJN" => Some(Self::Kbelckhlojn), + "HKLOGCIOPGH_ECAPEECGGDI" => Some(Self::Ecapeecggdi), + "HKLOGCIOPGH_DKBHNDNKFNC" => Some(Self::Dkbhndnkfnc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pipmgibbjmd { + Chpegmmanda = 0, + Jndmokfmnde = 1, +} +impl Pipmgibbjmd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Chpegmmanda => "PIPMGIBBJMD_CHPEGMMANDA", + Self::Jndmokfmnde => "PIPMGIBBJMD_JNDMOKFMNDE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PIPMGIBBJMD_CHPEGMMANDA" => Some(Self::Chpegmmanda), + "PIPMGIBBJMD_JNDMOKFMNDE" => Some(Self::Jndmokfmnde), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hoophmkdpgb { + NpcAttrNone = 0, + NpcAttrAll = 1, + NpcAttrHp = 2, +} +impl Hoophmkdpgb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::NpcAttrNone => "HOOPHMKDPGB_NPC_ATTR_NONE", + Self::NpcAttrAll => "HOOPHMKDPGB_NPC_ATTR_ALL", + Self::NpcAttrHp => "HOOPHMKDPGB_NPC_ATTR_HP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HOOPHMKDPGB_NPC_ATTR_NONE" => Some(Self::NpcAttrNone), + "HOOPHMKDPGB_NPC_ATTR_ALL" => Some(Self::NpcAttrAll), + "HOOPHMKDPGB_NPC_ATTR_HP" => Some(Self::NpcAttrHp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pifnkldafnk { + PerformBubble = 0, + PerformDelay = 1, + PerformImmediately = 2, + PerformExplosion = 3, +} +impl Pifnkldafnk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::PerformBubble => "PIFNKLDAFNK_PERFORM_BUBBLE", + Self::PerformDelay => "PIFNKLDAFNK_PERFORM_DELAY", + Self::PerformImmediately => "PIFNKLDAFNK_PERFORM_IMMEDIATELY", + Self::PerformExplosion => "PIFNKLDAFNK_PERFORM_EXPLOSION", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PIFNKLDAFNK_PERFORM_BUBBLE" => Some(Self::PerformBubble), + "PIFNKLDAFNK_PERFORM_DELAY" => Some(Self::PerformDelay), + "PIFNKLDAFNK_PERFORM_IMMEDIATELY" => Some(Self::PerformImmediately), + "PIFNKLDAFNK_PERFORM_EXPLOSION" => Some(Self::PerformExplosion), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kmglkglhbfe { + Jjnhhmifbom = 0, + Dgbialgokij = 1, + Dmdfcllmoci = 2, +} +impl Kmglkglhbfe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jjnhhmifbom => "KMGLKGLHBFE_JJNHHMIFBOM", + Self::Dgbialgokij => "KMGLKGLHBFE_DGBIALGOKIJ", + Self::Dmdfcllmoci => "KMGLKGLHBFE_DMDFCLLMOCI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KMGLKGLHBFE_JJNHHMIFBOM" => Some(Self::Jjnhhmifbom), + "KMGLKGLHBFE_DGBIALGOKIJ" => Some(Self::Dgbialgokij), + "KMGLKGLHBFE_DMDFCLLMOCI" => Some(Self::Dmdfcllmoci), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mdamjpnblal { + None = 0, + CommonGrid = 1, + MiniGame = 2, + TvExit = 3, +} +impl Mdamjpnblal { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::None => "MDAMJPNBLAL_None", + Self::CommonGrid => "MDAMJPNBLAL_COMMON_GRID", + Self::MiniGame => "MDAMJPNBLAL_MINI_GAME", + Self::TvExit => "MDAMJPNBLAL_TV_EXIT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MDAMJPNBLAL_None" => Some(Self::None), + "MDAMJPNBLAL_COMMON_GRID" => Some(Self::CommonGrid), + "MDAMJPNBLAL_MINI_GAME" => Some(Self::MiniGame), + "MDAMJPNBLAL_TV_EXIT" => Some(Self::TvExit), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bldigdeohhm { + Lpffjnhgfbm = 0, + Bacfojkilbp = 1, + Ffdeoihpeco = 2, +} +impl Bldigdeohhm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lpffjnhgfbm => "BLDIGDEOHHM_LPFFJNHGFBM", + Self::Bacfojkilbp => "BLDIGDEOHHM_BACFOJKILBP", + Self::Ffdeoihpeco => "BLDIGDEOHHM_FFDEOIHPECO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BLDIGDEOHHM_LPFFJNHGFBM" => Some(Self::Lpffjnhgfbm), + "BLDIGDEOHHM_BACFOJKILBP" => Some(Self::Bacfojkilbp), + "BLDIGDEOHHM_FFDEOIHPECO" => Some(Self::Ffdeoihpeco), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dknhfamhoii { + Lcjdgncjcgn = 0, + Ologjhfojhm = 10001, +} +impl Dknhfamhoii { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lcjdgncjcgn => "DKNHFAMHOII_LCJDGNCJCGN", + Self::Ologjhfojhm => "DKNHFAMHOII_OLOGJHFOJHM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DKNHFAMHOII_LCJDGNCJCGN" => Some(Self::Lcjdgncjcgn), + "DKNHFAMHOII_OLOGJHFOJHM" => Some(Self::Ologjhfojhm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jjaihlbkmna { + ChangeHollowSectionPerformTypeNone = 0, + Type1 = 1, + Type2 = 2, + Type3 = 3, +} +impl Jjaihlbkmna { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ChangeHollowSectionPerformTypeNone => { + "JJAIHLBKMNA_CHANGE_HOLLOW_SECTION_PERFORM_TYPE_NONE" + } + Self::Type1 => "JJAIHLBKMNA_TYPE1", + Self::Type2 => "JJAIHLBKMNA_TYPE2", + Self::Type3 => "JJAIHLBKMNA_TYPE3", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JJAIHLBKMNA_CHANGE_HOLLOW_SECTION_PERFORM_TYPE_NONE" => { + Some(Self::ChangeHollowSectionPerformTypeNone) + } + "JJAIHLBKMNA_TYPE1" => Some(Self::Type1), + "JJAIHLBKMNA_TYPE2" => Some(Self::Type2), + "JJAIHLBKMNA_TYPE3" => Some(Self::Type3), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mgeejhjepfg { + Pelainhlhib = 0, + Cbfgmfdjeng = 1, + Nfhnmmcfmol = 2, + Mblandamjil = 3, +} +impl Mgeejhjepfg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pelainhlhib => "MGEEJHJEPFG_PELAINHLHIB", + Self::Cbfgmfdjeng => "MGEEJHJEPFG_CBFGMFDJENG", + Self::Nfhnmmcfmol => "MGEEJHJEPFG_NFHNMMCFMOL", + Self::Mblandamjil => "MGEEJHJEPFG_MBLANDAMJIL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MGEEJHJEPFG_PELAINHLHIB" => Some(Self::Pelainhlhib), + "MGEEJHJEPFG_CBFGMFDJENG" => Some(Self::Cbfgmfdjeng), + "MGEEJHJEPFG_NFHNMMCFMOL" => Some(Self::Nfhnmmcfmol), + "MGEEJHJEPFG_MBLANDAMJIL" => Some(Self::Mblandamjil), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iceibadkgab { + Infdkflmcmp = 0, + Bflakchdgbj = 1, + Ejjflagigpa = 2, +} +impl Iceibadkgab { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Infdkflmcmp => "ICEIBADKGAB_INFDKFLMCMP", + Self::Bflakchdgbj => "ICEIBADKGAB_BFLAKCHDGBJ", + Self::Ejjflagigpa => "ICEIBADKGAB_EJJFLAGIGPA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ICEIBADKGAB_INFDKFLMCMP" => Some(Self::Infdkflmcmp), + "ICEIBADKGAB_BFLAKCHDGBJ" => Some(Self::Bflakchdgbj), + "ICEIBADKGAB_EJJFLAGIGPA" => Some(Self::Ejjflagigpa), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nopcpapeggp { + Lipakbceegi = 0, + Pmiecaechca = 1, + Iehmhiijggc = 2, +} +impl Nopcpapeggp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lipakbceegi => "NOPCPAPEGGP_LIPAKBCEEGI", + Self::Pmiecaechca => "NOPCPAPEGGP_PMIECAECHCA", + Self::Iehmhiijggc => "NOPCPAPEGGP_IEHMHIIJGGC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NOPCPAPEGGP_LIPAKBCEEGI" => Some(Self::Lipakbceegi), + "NOPCPAPEGGP_PMIECAECHCA" => Some(Self::Pmiecaechca), + "NOPCPAPEGGP_IEHMHIIJGGC" => Some(Self::Iehmhiijggc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jpfkdbanjed { + Poagmfikemk = 0, + Gaeaepockgp = 1, +} +impl Jpfkdbanjed { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Poagmfikemk => "JPFKDBANJED_POAGMFIKEMK", + Self::Gaeaepockgp => "JPFKDBANJED_GAEAEPOCKGP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JPFKDBANJED_POAGMFIKEMK" => Some(Self::Poagmfikemk), + "JPFKDBANJED_GAEAEPOCKGP" => Some(Self::Gaeaepockgp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bjalighgaba { + Jnjhlndjmif = 0, + Hlekaanhmli = 1, +} +impl Bjalighgaba { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jnjhlndjmif => "BJALIGHGABA_JNJHLNDJMIF", + Self::Hlekaanhmli => "BJALIGHGABA_HLEKAANHMLI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BJALIGHGABA_JNJHLNDJMIF" => Some(Self::Jnjhlndjmif), + "BJALIGHGABA_HLEKAANHMLI" => Some(Self::Hlekaanhmli), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dhmhhimkldk { + Mamlfgbnnap = 0, + Emahmfibeoe = 1, + Ioacnoiibni = 2, + Hcibmimbcbb = 3, + Eojmmpbpgdj = 4, + Phnoggpnpap = 5, + Ckihmiedona = 6, + Eifnimjkclm = 7, + Bblhjcjfmca = 8, + Ikopddekjnn = 9, + Hadciiaokif = 10, + Gljgcmpjaln = 11, + Ijgllhbclkl = 12, +} +impl Dhmhhimkldk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mamlfgbnnap => "DHMHHIMKLDK_MAMLFGBNNAP", + Self::Emahmfibeoe => "DHMHHIMKLDK_EMAHMFIBEOE", + Self::Ioacnoiibni => "DHMHHIMKLDK_IOACNOIIBNI", + Self::Hcibmimbcbb => "DHMHHIMKLDK_HCIBMIMBCBB", + Self::Eojmmpbpgdj => "DHMHHIMKLDK_EOJMMPBPGDJ", + Self::Phnoggpnpap => "DHMHHIMKLDK_PHNOGGPNPAP", + Self::Ckihmiedona => "DHMHHIMKLDK_CKIHMIEDONA", + Self::Eifnimjkclm => "DHMHHIMKLDK_EIFNIMJKCLM", + Self::Bblhjcjfmca => "DHMHHIMKLDK_BBLHJCJFMCA", + Self::Ikopddekjnn => "DHMHHIMKLDK_IKOPDDEKJNN", + Self::Hadciiaokif => "DHMHHIMKLDK_HADCIIAOKIF", + Self::Gljgcmpjaln => "DHMHHIMKLDK_GLJGCMPJALN", + Self::Ijgllhbclkl => "DHMHHIMKLDK_IJGLLHBCLKL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DHMHHIMKLDK_MAMLFGBNNAP" => Some(Self::Mamlfgbnnap), + "DHMHHIMKLDK_EMAHMFIBEOE" => Some(Self::Emahmfibeoe), + "DHMHHIMKLDK_IOACNOIIBNI" => Some(Self::Ioacnoiibni), + "DHMHHIMKLDK_HCIBMIMBCBB" => Some(Self::Hcibmimbcbb), + "DHMHHIMKLDK_EOJMMPBPGDJ" => Some(Self::Eojmmpbpgdj), + "DHMHHIMKLDK_PHNOGGPNPAP" => Some(Self::Phnoggpnpap), + "DHMHHIMKLDK_CKIHMIEDONA" => Some(Self::Ckihmiedona), + "DHMHHIMKLDK_EIFNIMJKCLM" => Some(Self::Eifnimjkclm), + "DHMHHIMKLDK_BBLHJCJFMCA" => Some(Self::Bblhjcjfmca), + "DHMHHIMKLDK_IKOPDDEKJNN" => Some(Self::Ikopddekjnn), + "DHMHHIMKLDK_HADCIIAOKIF" => Some(Self::Hadciiaokif), + "DHMHHIMKLDK_GLJGCMPJALN" => Some(Self::Gljgcmpjaln), + "DHMHHIMKLDK_IJGLLHBCLKL" => Some(Self::Ijgllhbclkl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ljlgphinjel { + PathBlockTypeNone = 0, + PathBlockUpIn = 1, + PathBlockDownIn = 2, + PathBlockLeftIn = 4, + PathBlockRightIn = 8, + PathBlockUpOut = 16, + PathBlockDownOut = 32, + PathBlockLeftOut = 64, + PathBlockRightOut = 128, +} +impl Ljlgphinjel { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::PathBlockTypeNone => "LJLGPHINJEL_PATH_BLOCK_TYPE_NONE", + Self::PathBlockUpIn => "LJLGPHINJEL_PATH_BLOCK_UP_IN", + Self::PathBlockDownIn => "LJLGPHINJEL_PATH_BLOCK_DOWN_IN", + Self::PathBlockLeftIn => "LJLGPHINJEL_PATH_BLOCK_LEFT_IN", + Self::PathBlockRightIn => "LJLGPHINJEL_PATH_BLOCK_RIGHT_IN", + Self::PathBlockUpOut => "LJLGPHINJEL_PATH_BLOCK_UP_OUT", + Self::PathBlockDownOut => "LJLGPHINJEL_PATH_BLOCK_DOWN_OUT", + Self::PathBlockLeftOut => "LJLGPHINJEL_PATH_BLOCK_LEFT_OUT", + Self::PathBlockRightOut => "LJLGPHINJEL_PATH_BLOCK_RIGHT_OUT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LJLGPHINJEL_PATH_BLOCK_TYPE_NONE" => Some(Self::PathBlockTypeNone), + "LJLGPHINJEL_PATH_BLOCK_UP_IN" => Some(Self::PathBlockUpIn), + "LJLGPHINJEL_PATH_BLOCK_DOWN_IN" => Some(Self::PathBlockDownIn), + "LJLGPHINJEL_PATH_BLOCK_LEFT_IN" => Some(Self::PathBlockLeftIn), + "LJLGPHINJEL_PATH_BLOCK_RIGHT_IN" => Some(Self::PathBlockRightIn), + "LJLGPHINJEL_PATH_BLOCK_UP_OUT" => Some(Self::PathBlockUpOut), + "LJLGPHINJEL_PATH_BLOCK_DOWN_OUT" => Some(Self::PathBlockDownOut), + "LJLGPHINJEL_PATH_BLOCK_LEFT_OUT" => Some(Self::PathBlockLeftOut), + "LJLGPHINJEL_PATH_BLOCK_RIGHT_OUT" => Some(Self::PathBlockRightOut), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jlaocapclob { + Jaabmfobfic = 0, +} +impl Jlaocapclob { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jaabmfobfic => "JLAOCAPCLOB_JAABMFOBFIC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JLAOCAPCLOB_JAABMFOBFIC" => Some(Self::Jaabmfobfic), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hnnpaiehmcp { + Gifpcjjgibl = 0, + Fnikmdgnjof = 1, + Kbhmhhijfbc = 2, + Biaidaafekh = 3, +} +impl Hnnpaiehmcp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gifpcjjgibl => "HNNPAIEHMCP_GIFPCJJGIBL", + Self::Fnikmdgnjof => "HNNPAIEHMCP_FNIKMDGNJOF", + Self::Kbhmhhijfbc => "HNNPAIEHMCP_KBHMHHIJFBC", + Self::Biaidaafekh => "HNNPAIEHMCP_BIAIDAAFEKH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HNNPAIEHMCP_GIFPCJJGIBL" => Some(Self::Gifpcjjgibl), + "HNNPAIEHMCP_FNIKMDGNJOF" => Some(Self::Fnikmdgnjof), + "HNNPAIEHMCP_KBHMHHIJFBC" => Some(Self::Kbhmhhijfbc), + "HNNPAIEHMCP_BIAIDAAFEKH" => Some(Self::Biaidaafekh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Goiliboheob { + RepairZoneTypeNone = 0, + RepairZoneTypeInit = 1, + RepairZoneTypeRemove = 2, + RepairZoneTypeReset = 3, +} +impl Goiliboheob { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::RepairZoneTypeNone => "GOILIBOHEOB_REPAIR_ZONE_TYPE_NONE", + Self::RepairZoneTypeInit => "GOILIBOHEOB_REPAIR_ZONE_TYPE_INIT", + Self::RepairZoneTypeRemove => "GOILIBOHEOB_REPAIR_ZONE_TYPE_REMOVE", + Self::RepairZoneTypeReset => "GOILIBOHEOB_REPAIR_ZONE_TYPE_RESET", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GOILIBOHEOB_REPAIR_ZONE_TYPE_NONE" => Some(Self::RepairZoneTypeNone), + "GOILIBOHEOB_REPAIR_ZONE_TYPE_INIT" => Some(Self::RepairZoneTypeInit), + "GOILIBOHEOB_REPAIR_ZONE_TYPE_REMOVE" => Some(Self::RepairZoneTypeRemove), + "GOILIBOHEOB_REPAIR_ZONE_TYPE_RESET" => Some(Self::RepairZoneTypeReset), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hgcbnpkndll { + Ojjohhilked = 0, + Gedmdcedokg = 1, + Dnomnlennco = 2, + Depkjhlomjc = 3, + Epncbphhgjd = 4, + Akhlnfbokdf = 5, + Andheanldjd = 6, + Gbgngebeggo = 7, + Gafjoimhffc = 8, + Magjdlggkdd = 9, + Pcpepcmkiad = 10, + Hmbbklfglaj = 11, + Jdaiaoambnl = 12, +} +impl Hgcbnpkndll { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ojjohhilked => "HGCBNPKNDLL_OJJOHHILKED", + Self::Gedmdcedokg => "HGCBNPKNDLL_GEDMDCEDOKG", + Self::Dnomnlennco => "HGCBNPKNDLL_DNOMNLENNCO", + Self::Depkjhlomjc => "HGCBNPKNDLL_DEPKJHLOMJC", + Self::Epncbphhgjd => "HGCBNPKNDLL_EPNCBPHHGJD", + Self::Akhlnfbokdf => "HGCBNPKNDLL_AKHLNFBOKDF", + Self::Andheanldjd => "HGCBNPKNDLL_ANDHEANLDJD", + Self::Gbgngebeggo => "HGCBNPKNDLL_GBGNGEBEGGO", + Self::Gafjoimhffc => "HGCBNPKNDLL_GAFJOIMHFFC", + Self::Magjdlggkdd => "HGCBNPKNDLL_MAGJDLGGKDD", + Self::Pcpepcmkiad => "HGCBNPKNDLL_PCPEPCMKIAD", + Self::Hmbbklfglaj => "HGCBNPKNDLL_HMBBKLFGLAJ", + Self::Jdaiaoambnl => "HGCBNPKNDLL_JDAIAOAMBNL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HGCBNPKNDLL_OJJOHHILKED" => Some(Self::Ojjohhilked), + "HGCBNPKNDLL_GEDMDCEDOKG" => Some(Self::Gedmdcedokg), + "HGCBNPKNDLL_DNOMNLENNCO" => Some(Self::Dnomnlennco), + "HGCBNPKNDLL_DEPKJHLOMJC" => Some(Self::Depkjhlomjc), + "HGCBNPKNDLL_EPNCBPHHGJD" => Some(Self::Epncbphhgjd), + "HGCBNPKNDLL_AKHLNFBOKDF" => Some(Self::Akhlnfbokdf), + "HGCBNPKNDLL_ANDHEANLDJD" => Some(Self::Andheanldjd), + "HGCBNPKNDLL_GBGNGEBEGGO" => Some(Self::Gbgngebeggo), + "HGCBNPKNDLL_GAFJOIMHFFC" => Some(Self::Gafjoimhffc), + "HGCBNPKNDLL_MAGJDLGGKDD" => Some(Self::Magjdlggkdd), + "HGCBNPKNDLL_PCPEPCMKIAD" => Some(Self::Pcpepcmkiad), + "HGCBNPKNDLL_HMBBKLFGLAJ" => Some(Self::Hmbbklfglaj), + "HGCBNPKNDLL_JDAIAOAMBNL" => Some(Self::Jdaiaoambnl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pcekojidped { + VariableScopeNone = 0, + Scene = 1, + Section = 2, + ScriptGlobal = 3, + Script = 4, + Function = 5, + HollowQuest = 6, + HallGame = 7, + Quest = 8, +} +impl Pcekojidped { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::VariableScopeNone => "PCEKOJIDPED_VARIABLE_SCOPE_NONE", + Self::Scene => "PCEKOJIDPED_SCENE", + Self::Section => "PCEKOJIDPED_SECTION", + Self::ScriptGlobal => "PCEKOJIDPED_SCRIPT_GLOBAL", + Self::Script => "PCEKOJIDPED_SCRIPT", + Self::Function => "PCEKOJIDPED_FUNCTION", + Self::HollowQuest => "PCEKOJIDPED_HOLLOW_QUEST", + Self::HallGame => "PCEKOJIDPED_HALL_GAME", + Self::Quest => "PCEKOJIDPED_QUEST", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PCEKOJIDPED_VARIABLE_SCOPE_NONE" => Some(Self::VariableScopeNone), + "PCEKOJIDPED_SCENE" => Some(Self::Scene), + "PCEKOJIDPED_SECTION" => Some(Self::Section), + "PCEKOJIDPED_SCRIPT_GLOBAL" => Some(Self::ScriptGlobal), + "PCEKOJIDPED_SCRIPT" => Some(Self::Script), + "PCEKOJIDPED_FUNCTION" => Some(Self::Function), + "PCEKOJIDPED_HOLLOW_QUEST" => Some(Self::HollowQuest), + "PCEKOJIDPED_HALL_GAME" => Some(Self::HallGame), + "PCEKOJIDPED_QUEST" => Some(Self::Quest), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum NodeVisible { + NodeVisibleAll = 0, + Visible = 1, + VisibleAtGridAround = 2, + VisibleByTriggerEvent = 3, + TemporaryVisibleAtAround = 4, + Blocked = 5, +} +impl NodeVisible { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::NodeVisibleAll => "NodeVisible_NODE_VISIBLE_ALL", + Self::Visible => "NodeVisible_VISIBLE", + Self::VisibleAtGridAround => "NodeVisible_VISIBLE_AT_GRID_AROUND", + Self::VisibleByTriggerEvent => "NodeVisible_VISIBLE_BY_TRIGGER_EVENT", + Self::TemporaryVisibleAtAround => "NodeVisible_TEMPORARY_VISIBLE_AT_AROUND", + Self::Blocked => "NodeVisible_BLOCKED", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NodeVisible_NODE_VISIBLE_ALL" => Some(Self::NodeVisibleAll), + "NodeVisible_VISIBLE" => Some(Self::Visible), + "NodeVisible_VISIBLE_AT_GRID_AROUND" => Some(Self::VisibleAtGridAround), + "NodeVisible_VISIBLE_BY_TRIGGER_EVENT" => Some(Self::VisibleByTriggerEvent), + "NodeVisible_TEMPORARY_VISIBLE_AT_AROUND" => { + Some(Self::TemporaryVisibleAtAround) + } + "NodeVisible_BLOCKED" => Some(Self::Blocked), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum HollowSystemType { + HollowSystemTypeNone = 0, + HollowSystemTypeCard = 1, + HollowSystemTypeMemu = 2, + HollowSystemTypeCurse = 3, + HollowSystemTypeBag = 4, + HollowSystemTypeHollowItem = 5, + HollowSystemTypeHollowResultPage = 6, + HollowSystemTypeCurseInfo = 7, + HollowSystemTypeHollowBottom = 8, +} +impl HollowSystemType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowSystemTypeNone => "HollowSystemType_HOLLOW_SYSTEM_TYPE_NONE", + Self::HollowSystemTypeCard => "HollowSystemType_HOLLOW_SYSTEM_TYPE_CARD", + Self::HollowSystemTypeMemu => "HollowSystemType_HOLLOW_SYSTEM_TYPE_MEMU", + Self::HollowSystemTypeCurse => "HollowSystemType_HOLLOW_SYSTEM_TYPE_CURSE", + Self::HollowSystemTypeBag => "HollowSystemType_HOLLOW_SYSTEM_TYPE_BAG", + Self::HollowSystemTypeHollowItem => { + "HollowSystemType_HOLLOW_SYSTEM_TYPE_HOLLOW_ITEM" + } + Self::HollowSystemTypeHollowResultPage => { + "HollowSystemType_HOLLOW_SYSTEM_TYPE_HOLLOW_RESULT_PAGE" + } + Self::HollowSystemTypeCurseInfo => { + "HollowSystemType_HOLLOW_SYSTEM_TYPE_CURSE_INFO" + } + Self::HollowSystemTypeHollowBottom => { + "HollowSystemType_HOLLOW_SYSTEM_TYPE_HOLLOW_BOTTOM" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HollowSystemType_HOLLOW_SYSTEM_TYPE_NONE" => { + Some(Self::HollowSystemTypeNone) + } + "HollowSystemType_HOLLOW_SYSTEM_TYPE_CARD" => { + Some(Self::HollowSystemTypeCard) + } + "HollowSystemType_HOLLOW_SYSTEM_TYPE_MEMU" => { + Some(Self::HollowSystemTypeMemu) + } + "HollowSystemType_HOLLOW_SYSTEM_TYPE_CURSE" => { + Some(Self::HollowSystemTypeCurse) + } + "HollowSystemType_HOLLOW_SYSTEM_TYPE_BAG" => Some(Self::HollowSystemTypeBag), + "HollowSystemType_HOLLOW_SYSTEM_TYPE_HOLLOW_ITEM" => { + Some(Self::HollowSystemTypeHollowItem) + } + "HollowSystemType_HOLLOW_SYSTEM_TYPE_HOLLOW_RESULT_PAGE" => { + Some(Self::HollowSystemTypeHollowResultPage) + } + "HollowSystemType_HOLLOW_SYSTEM_TYPE_CURSE_INFO" => { + Some(Self::HollowSystemTypeCurseInfo) + } + "HollowSystemType_HOLLOW_SYSTEM_TYPE_HOLLOW_BOTTOM" => { + Some(Self::HollowSystemTypeHollowBottom) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lhfndldimdo { + Kfmjepaeomm = 0, + Hbhfceogpdi = 1, + Hmpankcdnii = 2, + Dbkinkffden = 3, + Elkgjnhlmjf = 4, +} +impl Lhfndldimdo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kfmjepaeomm => "LHFNDLDIMDO_KFMJEPAEOMM", + Self::Hbhfceogpdi => "LHFNDLDIMDO_HBHFCEOGPDI", + Self::Hmpankcdnii => "LHFNDLDIMDO_HMPANKCDNII", + Self::Dbkinkffden => "LHFNDLDIMDO_DBKINKFFDEN", + Self::Elkgjnhlmjf => "LHFNDLDIMDO_ELKGJNHLMJF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LHFNDLDIMDO_KFMJEPAEOMM" => Some(Self::Kfmjepaeomm), + "LHFNDLDIMDO_HBHFCEOGPDI" => Some(Self::Hbhfceogpdi), + "LHFNDLDIMDO_HMPANKCDNII" => Some(Self::Hmpankcdnii), + "LHFNDLDIMDO_DBKINKFFDEN" => Some(Self::Dbkinkffden), + "LHFNDLDIMDO_ELKGJNHLMJF" => Some(Self::Elkgjnhlmjf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fggoejhohbe { + Gceknbhnfbi = 0, + Dbgldhfikig = 1, + Ndnoogemccm = 2, + Henlfmopfhd = 3, + Bljnklkehnc = 4, + Lhkeflpmfnl = 5, +} +impl Fggoejhohbe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gceknbhnfbi => "FGGOEJHOHBE_GCEKNBHNFBI", + Self::Dbgldhfikig => "FGGOEJHOHBE_DBGLDHFIKIG", + Self::Ndnoogemccm => "FGGOEJHOHBE_NDNOOGEMCCM", + Self::Henlfmopfhd => "FGGOEJHOHBE_HENLFMOPFHD", + Self::Bljnklkehnc => "FGGOEJHOHBE_BLJNKLKEHNC", + Self::Lhkeflpmfnl => "FGGOEJHOHBE_LHKEFLPMFNL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FGGOEJHOHBE_GCEKNBHNFBI" => Some(Self::Gceknbhnfbi), + "FGGOEJHOHBE_DBGLDHFIKIG" => Some(Self::Dbgldhfikig), + "FGGOEJHOHBE_NDNOOGEMCCM" => Some(Self::Ndnoogemccm), + "FGGOEJHOHBE_HENLFMOPFHD" => Some(Self::Henlfmopfhd), + "FGGOEJHOHBE_BLJNKLKEHNC" => Some(Self::Bljnklkehnc), + "FGGOEJHOHBE_LHKEFLPMFNL" => Some(Self::Lhkeflpmfnl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kbjogaagjal { + Anpiednhnam = 0, + Adfngkmpogp = 1, + Defaipppbag = 2, +} +impl Kbjogaagjal { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Anpiednhnam => "KBJOGAAGJAL_ANPIEDNHNAM", + Self::Adfngkmpogp => "KBJOGAAGJAL_ADFNGKMPOGP", + Self::Defaipppbag => "KBJOGAAGJAL_DEFAIPPPBAG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KBJOGAAGJAL_ANPIEDNHNAM" => Some(Self::Anpiednhnam), + "KBJOGAAGJAL_ADFNGKMPOGP" => Some(Self::Adfngkmpogp), + "KBJOGAAGJAL_DEFAIPPPBAG" => Some(Self::Defaipppbag), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ealnkknpagg { + Jneilbkknff = 0, + Jlohgkkojci = 1, + Deikdbhklmj = 2, +} +impl Ealnkknpagg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jneilbkknff => "EALNKKNPAGG_JNEILBKKNFF", + Self::Jlohgkkojci => "EALNKKNPAGG_JLOHGKKOJCI", + Self::Deikdbhklmj => "EALNKKNPAGG_DEIKDBHKLMJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EALNKKNPAGG_JNEILBKKNFF" => Some(Self::Jneilbkknff), + "EALNKKNPAGG_JLOHGKKOJCI" => Some(Self::Jlohgkkojci), + "EALNKKNPAGG_DEIKDBHKLMJ" => Some(Self::Deikdbhklmj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Akagfabmlph { + Djcdaoicgjd = 0, + Hhobahamdga = 1, +} +impl Akagfabmlph { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Djcdaoicgjd => "AKAGFABMLPH_DJCDAOICGJD", + Self::Hhobahamdga => "AKAGFABMLPH_HHOBAHAMDGA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AKAGFABMLPH_DJCDAOICGJD" => Some(Self::Djcdaoicgjd), + "AKAGFABMLPH_HHOBAHAMDGA" => Some(Self::Hhobahamdga), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cjbebbigpeo { + ConveyerBelt = 0, + Spring = 1, + PushBackOnce = 2, + PushAsPlayer = 3, + PushDistance = 4, +} +impl Cjbebbigpeo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ConveyerBelt => "CJBEBBIGPEO_CONVEYER_BELT", + Self::Spring => "CJBEBBIGPEO_SPRING", + Self::PushBackOnce => "CJBEBBIGPEO_PUSH_BACK_ONCE", + Self::PushAsPlayer => "CJBEBBIGPEO_PUSH_AS_PLAYER", + Self::PushDistance => "CJBEBBIGPEO_PUSH_DISTANCE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CJBEBBIGPEO_CONVEYER_BELT" => Some(Self::ConveyerBelt), + "CJBEBBIGPEO_SPRING" => Some(Self::Spring), + "CJBEBBIGPEO_PUSH_BACK_ONCE" => Some(Self::PushBackOnce), + "CJBEBBIGPEO_PUSH_AS_PLAYER" => Some(Self::PushAsPlayer), + "CJBEBBIGPEO_PUSH_DISTANCE" => Some(Self::PushDistance), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Giohhmohgog { + Jpnedhomcih = 0, + Biplfjbafgg = 1, + Opniokmpkae = 2, + Jhheccdlhld = 3, +} +impl Giohhmohgog { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jpnedhomcih => "GIOHHMOHGOG_JPNEDHOMCIH", + Self::Biplfjbafgg => "GIOHHMOHGOG_BIPLFJBAFGG", + Self::Opniokmpkae => "GIOHHMOHGOG_OPNIOKMPKAE", + Self::Jhheccdlhld => "GIOHHMOHGOG_JHHECCDLHLD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GIOHHMOHGOG_JPNEDHOMCIH" => Some(Self::Jpnedhomcih), + "GIOHHMOHGOG_BIPLFJBAFGG" => Some(Self::Biplfjbafgg), + "GIOHHMOHGOG_OPNIOKMPKAE" => Some(Self::Opniokmpkae), + "GIOHHMOHGOG_JHHECCDLHLD" => Some(Self::Jhheccdlhld), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ngiofgnklco { + Fhbnobfildi = 0, + Mjiipgkpnea = 1, + Cnnjadhhglg = 2, + Ahamdmaipem = 3, +} +impl Ngiofgnklco { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fhbnobfildi => "NGIOFGNKLCO_FHBNOBFILDI", + Self::Mjiipgkpnea => "NGIOFGNKLCO_MJIIPGKPNEA", + Self::Cnnjadhhglg => "NGIOFGNKLCO_CNNJADHHGLG", + Self::Ahamdmaipem => "NGIOFGNKLCO_AHAMDMAIPEM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NGIOFGNKLCO_FHBNOBFILDI" => Some(Self::Fhbnobfildi), + "NGIOFGNKLCO_MJIIPGKPNEA" => Some(Self::Mjiipgkpnea), + "NGIOFGNKLCO_CNNJADHHGLG" => Some(Self::Cnnjadhhglg), + "NGIOFGNKLCO_AHAMDMAIPEM" => Some(Self::Ahamdmaipem), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oanomcnedbb { + InterKnotStateNone = 0, + InterKnotStateDoing = 1, + InterKnotStateReward = 2, +} +impl Oanomcnedbb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::InterKnotStateNone => "OANOMCNEDBB_INTER_KNOT_STATE_NONE", + Self::InterKnotStateDoing => "OANOMCNEDBB_INTER_KNOT_STATE_DOING", + Self::InterKnotStateReward => "OANOMCNEDBB_INTER_KNOT_STATE_REWARD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OANOMCNEDBB_INTER_KNOT_STATE_NONE" => Some(Self::InterKnotStateNone), + "OANOMCNEDBB_INTER_KNOT_STATE_DOING" => Some(Self::InterKnotStateDoing), + "OANOMCNEDBB_INTER_KNOT_STATE_REWARD" => Some(Self::InterKnotStateReward), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Icimdnjcgfk { + Cfanodaeiga = 0, + Ibgmaaaenjf = 1, + Nffofbmgjcd = 2, + Omgjfglggpi = 3, + Gaiobhneolm = 4, +} +impl Icimdnjcgfk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cfanodaeiga => "ICIMDNJCGFK_CFANODAEIGA", + Self::Ibgmaaaenjf => "ICIMDNJCGFK_IBGMAAAENJF", + Self::Nffofbmgjcd => "ICIMDNJCGFK_NFFOFBMGJCD", + Self::Omgjfglggpi => "ICIMDNJCGFK_OMGJFGLGGPI", + Self::Gaiobhneolm => "ICIMDNJCGFK_GAIOBHNEOLM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ICIMDNJCGFK_CFANODAEIGA" => Some(Self::Cfanodaeiga), + "ICIMDNJCGFK_IBGMAAAENJF" => Some(Self::Ibgmaaaenjf), + "ICIMDNJCGFK_NFFOFBMGJCD" => Some(Self::Nffofbmgjcd), + "ICIMDNJCGFK_OMGJFGLGGPI" => Some(Self::Omgjfglggpi), + "ICIMDNJCGFK_GAIOBHNEOLM" => Some(Self::Gaiobhneolm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gnilchgdfan { + AreaCameraTypeNone = 0, + AreaCameraTypeFocus = 1, + AreaCameraTypeCancelAfterFocus = 2, + AreaCameraTypeBackToPlayer = 3, +} +impl Gnilchgdfan { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::AreaCameraTypeNone => "GNILCHGDFAN_AREA_CAMERA_TYPE_NONE", + Self::AreaCameraTypeFocus => "GNILCHGDFAN_AREA_CAMERA_TYPE_FOCUS", + Self::AreaCameraTypeCancelAfterFocus => { + "GNILCHGDFAN_AREA_CAMERA_TYPE_CANCEL_AFTER_FOCUS" + } + Self::AreaCameraTypeBackToPlayer => { + "GNILCHGDFAN_AREA_CAMERA_TYPE_BACK_TO_PLAYER" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GNILCHGDFAN_AREA_CAMERA_TYPE_NONE" => Some(Self::AreaCameraTypeNone), + "GNILCHGDFAN_AREA_CAMERA_TYPE_FOCUS" => Some(Self::AreaCameraTypeFocus), + "GNILCHGDFAN_AREA_CAMERA_TYPE_CANCEL_AFTER_FOCUS" => { + Some(Self::AreaCameraTypeCancelAfterFocus) + } + "GNILCHGDFAN_AREA_CAMERA_TYPE_BACK_TO_PLAYER" => { + Some(Self::AreaCameraTypeBackToPlayer) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pmoflpfgmmj { + Ackafbmbofi = 0, + Epbcobbahim = 1, + Lpdfhpgblej = 2, + Ebheoilnjlk = 3, + Ebokhhjpcfh = 4, + Jpmjljlohfh = 5, + Lfdlfclbgco = 6, +} +impl Pmoflpfgmmj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ackafbmbofi => "PMOFLPFGMMJ_ACKAFBMBOFI", + Self::Epbcobbahim => "PMOFLPFGMMJ_EPBCOBBAHIM", + Self::Lpdfhpgblej => "PMOFLPFGMMJ_LPDFHPGBLEJ", + Self::Ebheoilnjlk => "PMOFLPFGMMJ_EBHEOILNJLK", + Self::Ebokhhjpcfh => "PMOFLPFGMMJ_EBOKHHJPCFH", + Self::Jpmjljlohfh => "PMOFLPFGMMJ_JPMJLJLOHFH", + Self::Lfdlfclbgco => "PMOFLPFGMMJ_LFDLFCLBGCO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PMOFLPFGMMJ_ACKAFBMBOFI" => Some(Self::Ackafbmbofi), + "PMOFLPFGMMJ_EPBCOBBAHIM" => Some(Self::Epbcobbahim), + "PMOFLPFGMMJ_LPDFHPGBLEJ" => Some(Self::Lpdfhpgblej), + "PMOFLPFGMMJ_EBHEOILNJLK" => Some(Self::Ebheoilnjlk), + "PMOFLPFGMMJ_EBOKHHJPCFH" => Some(Self::Ebokhhjpcfh), + "PMOFLPFGMMJ_JPMJLJLOHFH" => Some(Self::Jpmjljlohfh), + "PMOFLPFGMMJ_LFDLFCLBGCO" => Some(Self::Lfdlfclbgco), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ompbfjdfljk { + AtNone = 0, + AtMain = 1, + AtNoMain = 2, + AtCreateMale = 3, + AtCreateFemale = 4, + AtMale = 2011, + AtFemale = 2021, +} +impl Ompbfjdfljk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::AtNone => "OMPBFJDFLJK_AT_NONE", + Self::AtMain => "OMPBFJDFLJK_AT_MAIN", + Self::AtNoMain => "OMPBFJDFLJK_AT_NO_MAIN", + Self::AtCreateMale => "OMPBFJDFLJK_AT_CREATE_MALE", + Self::AtCreateFemale => "OMPBFJDFLJK_AT_CREATE_FEMALE", + Self::AtMale => "OMPBFJDFLJK_AT_MALE", + Self::AtFemale => "OMPBFJDFLJK_AT_FEMALE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OMPBFJDFLJK_AT_NONE" => Some(Self::AtNone), + "OMPBFJDFLJK_AT_MAIN" => Some(Self::AtMain), + "OMPBFJDFLJK_AT_NO_MAIN" => Some(Self::AtNoMain), + "OMPBFJDFLJK_AT_CREATE_MALE" => Some(Self::AtCreateMale), + "OMPBFJDFLJK_AT_CREATE_FEMALE" => Some(Self::AtCreateFemale), + "OMPBFJDFLJK_AT_MALE" => Some(Self::AtMale), + "OMPBFJDFLJK_AT_FEMALE" => Some(Self::AtFemale), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hpplmkldehj { + Bplnllonime = 0, +} +impl Hpplmkldehj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bplnllonime => "HPPLMKLDEHJ_BPLNLLONIME", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HPPLMKLDEHJ_BPLNLLONIME" => Some(Self::Bplnllonime), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dneholfbajh { + EttNone = 0, + EttInit = 1, + EttAdd = 2, + EttEnd = 3, + EttExit = 4, + EttOvernight = 5, + EttEnterSection = 6, + EttBeforeEnter = 7, + EttLeaveSystem = 8, + EttTrackQuest = 9, + EttFinishPhoto = 10, + EttAreaCheck = 11, + EttAcceptRecommend = 12, + EttEnterOva = 13, + EttExitHallGame = 14, + EttPartnerDateTrigger = 15, +} +impl Dneholfbajh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::EttNone => "DNEHOLFBAJH_ETT_NONE", + Self::EttInit => "DNEHOLFBAJH_ETT_INIT", + Self::EttAdd => "DNEHOLFBAJH_ETT_ADD", + Self::EttEnd => "DNEHOLFBAJH_ETT_END", + Self::EttExit => "DNEHOLFBAJH_ETT_EXIT", + Self::EttOvernight => "DNEHOLFBAJH_ETT_OVERNIGHT", + Self::EttEnterSection => "DNEHOLFBAJH_ETT_ENTER_SECTION", + Self::EttBeforeEnter => "DNEHOLFBAJH_ETT_BEFORE_ENTER", + Self::EttLeaveSystem => "DNEHOLFBAJH_ETT_LEAVE_SYSTEM", + Self::EttTrackQuest => "DNEHOLFBAJH_ETT_TRACK_QUEST", + Self::EttFinishPhoto => "DNEHOLFBAJH_ETT_FINISH_PHOTO", + Self::EttAreaCheck => "DNEHOLFBAJH_ETT_AREA_CHECK", + Self::EttAcceptRecommend => "DNEHOLFBAJH_ETT_ACCEPT_RECOMMEND", + Self::EttEnterOva => "DNEHOLFBAJH_ETT_ENTER_OVA", + Self::EttExitHallGame => "DNEHOLFBAJH_ETT_EXIT_HALL_GAME", + Self::EttPartnerDateTrigger => "DNEHOLFBAJH_ETT_PARTNER_DATE_TRIGGER", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DNEHOLFBAJH_ETT_NONE" => Some(Self::EttNone), + "DNEHOLFBAJH_ETT_INIT" => Some(Self::EttInit), + "DNEHOLFBAJH_ETT_ADD" => Some(Self::EttAdd), + "DNEHOLFBAJH_ETT_END" => Some(Self::EttEnd), + "DNEHOLFBAJH_ETT_EXIT" => Some(Self::EttExit), + "DNEHOLFBAJH_ETT_OVERNIGHT" => Some(Self::EttOvernight), + "DNEHOLFBAJH_ETT_ENTER_SECTION" => Some(Self::EttEnterSection), + "DNEHOLFBAJH_ETT_BEFORE_ENTER" => Some(Self::EttBeforeEnter), + "DNEHOLFBAJH_ETT_LEAVE_SYSTEM" => Some(Self::EttLeaveSystem), + "DNEHOLFBAJH_ETT_TRACK_QUEST" => Some(Self::EttTrackQuest), + "DNEHOLFBAJH_ETT_FINISH_PHOTO" => Some(Self::EttFinishPhoto), + "DNEHOLFBAJH_ETT_AREA_CHECK" => Some(Self::EttAreaCheck), + "DNEHOLFBAJH_ETT_ACCEPT_RECOMMEND" => Some(Self::EttAcceptRecommend), + "DNEHOLFBAJH_ETT_ENTER_OVA" => Some(Self::EttEnterOva), + "DNEHOLFBAJH_ETT_EXIT_HALL_GAME" => Some(Self::EttExitHallGame), + "DNEHOLFBAJH_ETT_PARTNER_DATE_TRIGGER" => Some(Self::EttPartnerDateTrigger), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ChessUiIconType { + ChessUiIconTypeNone = 0, + ChessUiIconTypeCoin = 1, + ChessUiIconTypeGold = 2, + ChessUiIconTypeMechanism = 3, + ChessUiIconTypeHp = 4, + ChessUiIconTypeAtk = 5, + ChessUiIconTypeCountdown = 6, + ChessUiIconTypeKey = 7, + ChessUiIconTypeClue = 8, + ChessUiIconTypeCard = 9, +} +impl ChessUiIconType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ChessUiIconTypeNone => "ChessUIIconType_CHESS_UI_ICON_TYPE_NONE", + Self::ChessUiIconTypeCoin => "ChessUIIconType_CHESS_UI_ICON_TYPE_COIN", + Self::ChessUiIconTypeGold => "ChessUIIconType_CHESS_UI_ICON_TYPE_GOLD", + Self::ChessUiIconTypeMechanism => { + "ChessUIIconType_CHESS_UI_ICON_TYPE_MECHANISM" + } + Self::ChessUiIconTypeHp => "ChessUIIconType_CHESS_UI_ICON_TYPE_HP", + Self::ChessUiIconTypeAtk => "ChessUIIconType_CHESS_UI_ICON_TYPE_ATK", + Self::ChessUiIconTypeCountdown => { + "ChessUIIconType_CHESS_UI_ICON_TYPE_COUNTDOWN" + } + Self::ChessUiIconTypeKey => "ChessUIIconType_CHESS_UI_ICON_TYPE_KEY", + Self::ChessUiIconTypeClue => "ChessUIIconType_CHESS_UI_ICON_TYPE_CLUE", + Self::ChessUiIconTypeCard => "ChessUIIconType_CHESS_UI_ICON_TYPE_CARD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ChessUIIconType_CHESS_UI_ICON_TYPE_NONE" => Some(Self::ChessUiIconTypeNone), + "ChessUIIconType_CHESS_UI_ICON_TYPE_COIN" => Some(Self::ChessUiIconTypeCoin), + "ChessUIIconType_CHESS_UI_ICON_TYPE_GOLD" => Some(Self::ChessUiIconTypeGold), + "ChessUIIconType_CHESS_UI_ICON_TYPE_MECHANISM" => { + Some(Self::ChessUiIconTypeMechanism) + } + "ChessUIIconType_CHESS_UI_ICON_TYPE_HP" => Some(Self::ChessUiIconTypeHp), + "ChessUIIconType_CHESS_UI_ICON_TYPE_ATK" => Some(Self::ChessUiIconTypeAtk), + "ChessUIIconType_CHESS_UI_ICON_TYPE_COUNTDOWN" => { + Some(Self::ChessUiIconTypeCountdown) + } + "ChessUIIconType_CHESS_UI_ICON_TYPE_KEY" => Some(Self::ChessUiIconTypeKey), + "ChessUIIconType_CHESS_UI_ICON_TYPE_CLUE" => Some(Self::ChessUiIconTypeClue), + "ChessUIIconType_CHESS_UI_ICON_TYPE_CARD" => Some(Self::ChessUiIconTypeCard), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gbnhkbnegji { + EghmChooseGridTypeNone = 0, + EghmChooseGridTypeContinue = 1, + EghmChooseGridTypeDiscrete = 2, +} +impl Gbnhkbnegji { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::EghmChooseGridTypeNone => "GBNHKBNEGJI_EGHM_CHOOSE_GRID_TYPE_NONE", + Self::EghmChooseGridTypeContinue => { + "GBNHKBNEGJI_EGHM_CHOOSE_GRID_TYPE_CONTINUE" + } + Self::EghmChooseGridTypeDiscrete => { + "GBNHKBNEGJI_EGHM_CHOOSE_GRID_TYPE_DISCRETE" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GBNHKBNEGJI_EGHM_CHOOSE_GRID_TYPE_NONE" => { + Some(Self::EghmChooseGridTypeNone) + } + "GBNHKBNEGJI_EGHM_CHOOSE_GRID_TYPE_CONTINUE" => { + Some(Self::EghmChooseGridTypeContinue) + } + "GBNHKBNEGJI_EGHM_CHOOSE_GRID_TYPE_DISCRETE" => { + Some(Self::EghmChooseGridTypeDiscrete) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fikgdlbcjma { + Aimabpmdloe = 0, + Bakdpefecpa = 1, + Hilhhieepfh = 2, + Ialjgfpbhfk = 3, +} +impl Fikgdlbcjma { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Aimabpmdloe => "FIKGDLBCJMA_AIMABPMDLOE", + Self::Bakdpefecpa => "FIKGDLBCJMA_BAKDPEFECPA", + Self::Hilhhieepfh => "FIKGDLBCJMA_HILHHIEEPFH", + Self::Ialjgfpbhfk => "FIKGDLBCJMA_IALJGFPBHFK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FIKGDLBCJMA_AIMABPMDLOE" => Some(Self::Aimabpmdloe), + "FIKGDLBCJMA_BAKDPEFECPA" => Some(Self::Bakdpefecpa), + "FIKGDLBCJMA_HILHHIEEPFH" => Some(Self::Hilhhieepfh), + "FIKGDLBCJMA_IALJGFPBHFK" => Some(Self::Ialjgfpbhfk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hcahcakhohb { + Fmphgibpfjd = 0, + Ccimpoleckc = 1, + Eagomfhkblk = 2, +} +impl Hcahcakhohb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fmphgibpfjd => "HCAHCAKHOHB_FMPHGIBPFJD", + Self::Ccimpoleckc => "HCAHCAKHOHB_CCIMPOLECKC", + Self::Eagomfhkblk => "HCAHCAKHOHB_EAGOMFHKBLK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HCAHCAKHOHB_FMPHGIBPFJD" => Some(Self::Fmphgibpfjd), + "HCAHCAKHOHB_CCIMPOLECKC" => Some(Self::Ccimpoleckc), + "HCAHCAKHOHB_EAGOMFHKBLK" => Some(Self::Eagomfhkblk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cnphepjofal { + Aoikjilklpg = 0, + Goanfepolil = 1, +} +impl Cnphepjofal { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Aoikjilklpg => "CNPHEPJOFAL_AOIKJILKLPG", + Self::Goanfepolil => "CNPHEPJOFAL_GOANFEPOLIL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CNPHEPJOFAL_AOIKJILKLPG" => Some(Self::Aoikjilklpg), + "CNPHEPJOFAL_GOANFEPOLIL" => Some(Self::Goanfepolil), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nglgpfnoomf { + Kgcpacjplkf = 0, + Kafmgfdcfjc = 1, + Egihjmhpmjd = 2, + Djjhnkpcjeg = 3, + Epimojkgohj = 4, + Fmpkkffnbng = 5, + Bocbmlfocfk = 6, +} +impl Nglgpfnoomf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kgcpacjplkf => "NGLGPFNOOMF_KGCPACJPLKF", + Self::Kafmgfdcfjc => "NGLGPFNOOMF_KAFMGFDCFJC", + Self::Egihjmhpmjd => "NGLGPFNOOMF_EGIHJMHPMJD", + Self::Djjhnkpcjeg => "NGLGPFNOOMF_DJJHNKPCJEG", + Self::Epimojkgohj => "NGLGPFNOOMF_EPIMOJKGOHJ", + Self::Fmpkkffnbng => "NGLGPFNOOMF_FMPKKFFNBNG", + Self::Bocbmlfocfk => "NGLGPFNOOMF_BOCBMLFOCFK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NGLGPFNOOMF_KGCPACJPLKF" => Some(Self::Kgcpacjplkf), + "NGLGPFNOOMF_KAFMGFDCFJC" => Some(Self::Kafmgfdcfjc), + "NGLGPFNOOMF_EGIHJMHPMJD" => Some(Self::Egihjmhpmjd), + "NGLGPFNOOMF_DJJHNKPCJEG" => Some(Self::Djjhnkpcjeg), + "NGLGPFNOOMF_EPIMOJKGOHJ" => Some(Self::Epimojkgohj), + "NGLGPFNOOMF_FMPKKFFNBNG" => Some(Self::Fmpkkffnbng), + "NGLGPFNOOMF_BOCBMLFOCFK" => Some(Self::Bocbmlfocfk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pckilpbdcgf { + Maoidccjhap = 0, + Pflodcednhi = 1, + Oloikjabebd = 2, + Gdbbjbkgnfb = 3, + Ofaediepbom = 4, + Flbafpiijbh = 5, +} +impl Pckilpbdcgf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Maoidccjhap => "PCKILPBDCGF_MAOIDCCJHAP", + Self::Pflodcednhi => "PCKILPBDCGF_PFLODCEDNHI", + Self::Oloikjabebd => "PCKILPBDCGF_OLOIKJABEBD", + Self::Gdbbjbkgnfb => "PCKILPBDCGF_GDBBJBKGNFB", + Self::Ofaediepbom => "PCKILPBDCGF_OFAEDIEPBOM", + Self::Flbafpiijbh => "PCKILPBDCGF_FLBAFPIIJBH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PCKILPBDCGF_MAOIDCCJHAP" => Some(Self::Maoidccjhap), + "PCKILPBDCGF_PFLODCEDNHI" => Some(Self::Pflodcednhi), + "PCKILPBDCGF_OLOIKJABEBD" => Some(Self::Oloikjabebd), + "PCKILPBDCGF_GDBBJBKGNFB" => Some(Self::Gdbbjbkgnfb), + "PCKILPBDCGF_OFAEDIEPBOM" => Some(Self::Ofaediepbom), + "PCKILPBDCGF_FLBAFPIIJBH" => Some(Self::Flbafpiijbh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hicegfgjpaj { + Gjmioegjmig = 0, + Glcgkadieab = 1, +} +impl Hicegfgjpaj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gjmioegjmig => "HICEGFGJPAJ_GJMIOEGJMIG", + Self::Glcgkadieab => "HICEGFGJPAJ_GLCGKADIEAB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HICEGFGJPAJ_GJMIOEGJMIG" => Some(Self::Gjmioegjmig), + "HICEGFGJPAJ_GLCGKADIEAB" => Some(Self::Glcgkadieab), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ffgmmejnael { + Niddcleljlb = 0, + Nckmpbakica = 1, + Milbpaknlhg = 2, + Lbhclblfkmg = 3, + Ppnkbioolhd = 4, + Moleghpbokn = 5, + Dkhdnbdhppm = 6, + Jlbccobfjmd = 7, + Ngidjhopakf = 8, + Blomlojojfa = 9, + Bfkogiobofj = 10, +} +impl Ffgmmejnael { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Niddcleljlb => "FFGMMEJNAEL_NIDDCLELJLB", + Self::Nckmpbakica => "FFGMMEJNAEL_NCKMPBAKICA", + Self::Milbpaknlhg => "FFGMMEJNAEL_MILBPAKNLHG", + Self::Lbhclblfkmg => "FFGMMEJNAEL_LBHCLBLFKMG", + Self::Ppnkbioolhd => "FFGMMEJNAEL_PPNKBIOOLHD", + Self::Moleghpbokn => "FFGMMEJNAEL_MOLEGHPBOKN", + Self::Dkhdnbdhppm => "FFGMMEJNAEL_DKHDNBDHPPM", + Self::Jlbccobfjmd => "FFGMMEJNAEL_JLBCCOBFJMD", + Self::Ngidjhopakf => "FFGMMEJNAEL_NGIDJHOPAKF", + Self::Blomlojojfa => "FFGMMEJNAEL_BLOMLOJOJFA", + Self::Bfkogiobofj => "FFGMMEJNAEL_BFKOGIOBOFJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FFGMMEJNAEL_NIDDCLELJLB" => Some(Self::Niddcleljlb), + "FFGMMEJNAEL_NCKMPBAKICA" => Some(Self::Nckmpbakica), + "FFGMMEJNAEL_MILBPAKNLHG" => Some(Self::Milbpaknlhg), + "FFGMMEJNAEL_LBHCLBLFKMG" => Some(Self::Lbhclblfkmg), + "FFGMMEJNAEL_PPNKBIOOLHD" => Some(Self::Ppnkbioolhd), + "FFGMMEJNAEL_MOLEGHPBOKN" => Some(Self::Moleghpbokn), + "FFGMMEJNAEL_DKHDNBDHPPM" => Some(Self::Dkhdnbdhppm), + "FFGMMEJNAEL_JLBCCOBFJMD" => Some(Self::Jlbccobfjmd), + "FFGMMEJNAEL_NGIDJHOPAKF" => Some(Self::Ngidjhopakf), + "FFGMMEJNAEL_BLOMLOJOJFA" => Some(Self::Blomlojojfa), + "FFGMMEJNAEL_BFKOGIOBOFJ" => Some(Self::Bfkogiobofj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iigoncmabeg { + Iomalockjmj = 0, + Ocgdhbjcggd = 1, +} +impl Iigoncmabeg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Iomalockjmj => "IIGONCMABEG_IOMALOCKJMJ", + Self::Ocgdhbjcggd => "IIGONCMABEG_OCGDHBJCGGD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IIGONCMABEG_IOMALOCKJMJ" => Some(Self::Iomalockjmj), + "IIGONCMABEG_OCGDHBJCGGD" => Some(Self::Ocgdhbjcggd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dnamfjeamai { + Lnjhiflioel = 0, +} +impl Dnamfjeamai { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lnjhiflioel => "DNAMFJEAMAI_LNJHIFLIOEL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DNAMFJEAMAI_LNJHIFLIOEL" => Some(Self::Lnjhiflioel), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Habecehfojh { + TotDefault = 0, + TotCar = 1, + TotBus = 2, + TotSubway = 3, + TotMotor = 4, +} +impl Habecehfojh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::TotDefault => "HABECEHFOJH_TOT_DEFAULT", + Self::TotCar => "HABECEHFOJH_TOT_CAR", + Self::TotBus => "HABECEHFOJH_TOT_BUS", + Self::TotSubway => "HABECEHFOJH_TOT_SUBWAY", + Self::TotMotor => "HABECEHFOJH_TOT_MOTOR", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HABECEHFOJH_TOT_DEFAULT" => Some(Self::TotDefault), + "HABECEHFOJH_TOT_CAR" => Some(Self::TotCar), + "HABECEHFOJH_TOT_BUS" => Some(Self::TotBus), + "HABECEHFOJH_TOT_SUBWAY" => Some(Self::TotSubway), + "HABECEHFOJH_TOT_MOTOR" => Some(Self::TotMotor), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mogpldajfbm { + HackerGameParamTypeNone = 0, + HackerGameParamTypeLevel = 1, + HackerGameParamTypeCurrency = 2, + HackerGameParamTypeDurability = 3, + HackerGameParamTypeEnergy = 4, + HackerGameParamTypeFever = 5, + HackerGameParamTypeDurabilityLimit = 6, + HackerGameParamTypeEnergyLimit = 7, + HackerGameParamTypeFeverLimit = 8, +} +impl Mogpldajfbm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HackerGameParamTypeNone => "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_NONE", + Self::HackerGameParamTypeLevel => "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_LEVEL", + Self::HackerGameParamTypeCurrency => { + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_CURRENCY" + } + Self::HackerGameParamTypeDurability => { + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_DURABILITY" + } + Self::HackerGameParamTypeEnergy => { + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_ENERGY" + } + Self::HackerGameParamTypeFever => "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_FEVER", + Self::HackerGameParamTypeDurabilityLimit => { + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_DURABILITY_LIMIT" + } + Self::HackerGameParamTypeEnergyLimit => { + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_ENERGY_LIMIT" + } + Self::HackerGameParamTypeFeverLimit => { + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_FEVER_LIMIT" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_NONE" => { + Some(Self::HackerGameParamTypeNone) + } + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_LEVEL" => { + Some(Self::HackerGameParamTypeLevel) + } + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_CURRENCY" => { + Some(Self::HackerGameParamTypeCurrency) + } + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_DURABILITY" => { + Some(Self::HackerGameParamTypeDurability) + } + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_ENERGY" => { + Some(Self::HackerGameParamTypeEnergy) + } + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_FEVER" => { + Some(Self::HackerGameParamTypeFever) + } + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_DURABILITY_LIMIT" => { + Some(Self::HackerGameParamTypeDurabilityLimit) + } + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_ENERGY_LIMIT" => { + Some(Self::HackerGameParamTypeEnergyLimit) + } + "MOGPLDAJFBM_HACKER_GAME_PARAM_TYPE_FEVER_LIMIT" => { + Some(Self::HackerGameParamTypeFeverLimit) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lecikmknhbe { + Kcacbejjakl = 0, + Dpkjfhfeopc = 1, + Jahnkpjkknn = 2, + Hpgjbnlmofm = 3, + Bcfonbkgpek = 4, + Kjbalobmjah = 5, + Mkhkdafnelh = 6, + Gbfcfgocibk = 7, + Kdbkpdnjnlk = 8, +} +impl Lecikmknhbe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kcacbejjakl => "LECIKMKNHBE_KCACBEJJAKL", + Self::Dpkjfhfeopc => "LECIKMKNHBE_DPKJFHFEOPC", + Self::Jahnkpjkknn => "LECIKMKNHBE_JAHNKPJKKNN", + Self::Hpgjbnlmofm => "LECIKMKNHBE_HPGJBNLMOFM", + Self::Bcfonbkgpek => "LECIKMKNHBE_BCFONBKGPEK", + Self::Kjbalobmjah => "LECIKMKNHBE_KJBALOBMJAH", + Self::Mkhkdafnelh => "LECIKMKNHBE_MKHKDAFNELH", + Self::Gbfcfgocibk => "LECIKMKNHBE_GBFCFGOCIBK", + Self::Kdbkpdnjnlk => "LECIKMKNHBE_KDBKPDNJNLK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LECIKMKNHBE_KCACBEJJAKL" => Some(Self::Kcacbejjakl), + "LECIKMKNHBE_DPKJFHFEOPC" => Some(Self::Dpkjfhfeopc), + "LECIKMKNHBE_JAHNKPJKKNN" => Some(Self::Jahnkpjkknn), + "LECIKMKNHBE_HPGJBNLMOFM" => Some(Self::Hpgjbnlmofm), + "LECIKMKNHBE_BCFONBKGPEK" => Some(Self::Bcfonbkgpek), + "LECIKMKNHBE_KJBALOBMJAH" => Some(Self::Kjbalobmjah), + "LECIKMKNHBE_MKHKDAFNELH" => Some(Self::Mkhkdafnelh), + "LECIKMKNHBE_GBFCFGOCIBK" => Some(Self::Gbfcfgocibk), + "LECIKMKNHBE_KDBKPDNJNLK" => Some(Self::Kdbkpdnjnlk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dehdmbcfeap { + Bjienicnalh = 0, + Eiicbmiegop = 1, + Ogacpedngaj = 2, + Baioimcehdg = 4, + Gobelelddjo = 5, + Ahdofkeahlh = 6, + Gdoiafooock = 7, +} +impl Dehdmbcfeap { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bjienicnalh => "DEHDMBCFEAP_BJIENICNALH", + Self::Eiicbmiegop => "DEHDMBCFEAP_EIICBMIEGOP", + Self::Ogacpedngaj => "DEHDMBCFEAP_OGACPEDNGAJ", + Self::Baioimcehdg => "DEHDMBCFEAP_BAIOIMCEHDG", + Self::Gobelelddjo => "DEHDMBCFEAP_GOBELELDDJO", + Self::Ahdofkeahlh => "DEHDMBCFEAP_AHDOFKEAHLH", + Self::Gdoiafooock => "DEHDMBCFEAP_GDOIAFOOOCK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DEHDMBCFEAP_BJIENICNALH" => Some(Self::Bjienicnalh), + "DEHDMBCFEAP_EIICBMIEGOP" => Some(Self::Eiicbmiegop), + "DEHDMBCFEAP_OGACPEDNGAJ" => Some(Self::Ogacpedngaj), + "DEHDMBCFEAP_BAIOIMCEHDG" => Some(Self::Baioimcehdg), + "DEHDMBCFEAP_GOBELELDDJO" => Some(Self::Gobelelddjo), + "DEHDMBCFEAP_AHDOFKEAHLH" => Some(Self::Ahdofkeahlh), + "DEHDMBCFEAP_GDOIAFOOOCK" => Some(Self::Gdoiafooock), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jkcncmhmhgo { + Maidamlhmkb = 0, + Cbillbgmahp = 1, +} +impl Jkcncmhmhgo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Maidamlhmkb => "JKCNCMHMHGO_MAIDAMLHMKB", + Self::Cbillbgmahp => "JKCNCMHMHGO_CBILLBGMAHP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JKCNCMHMHGO_MAIDAMLHMKB" => Some(Self::Maidamlhmkb), + "JKCNCMHMHGO_CBILLBGMAHP" => Some(Self::Cbillbgmahp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Eppidgapaok { + Leihmndalha = 0, + Lnibeoiopcg = 1, +} +impl Eppidgapaok { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Leihmndalha => "EPPIDGAPAOK_LEIHMNDALHA", + Self::Lnibeoiopcg => "EPPIDGAPAOK_LNIBEOIOPCG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EPPIDGAPAOK_LEIHMNDALHA" => Some(Self::Leihmndalha), + "EPPIDGAPAOK_LNIBEOIOPCG" => Some(Self::Lnibeoiopcg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ggibodiabfo { + PlotPlay = 0, + Dialog = 1, + Bubble = 2, +} +impl Ggibodiabfo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::PlotPlay => "GGIBODIABFO_PLOT_PLAY", + Self::Dialog => "GGIBODIABFO_DIALOG", + Self::Bubble => "GGIBODIABFO_BUBBLE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GGIBODIABFO_PLOT_PLAY" => Some(Self::PlotPlay), + "GGIBODIABFO_DIALOG" => Some(Self::Dialog), + "GGIBODIABFO_BUBBLE" => Some(Self::Bubble), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mpkgmomhfmm { + Bohbklhgdgl = 0, +} +impl Mpkgmomhfmm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bohbklhgdgl => "MPKGMOMHFMM_BOHBKLHGDGL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MPKGMOMHFMM_BOHBKLHGDGL" => Some(Self::Bohbklhgdgl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bcmlnginlcn { + AddCharacterModeByRobotId = 0, + AddCharacterModeByPlayer = 1, +} +impl Bcmlnginlcn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::AddCharacterModeByRobotId => { + "BCMLNGINLCN_ADD_CHARACTER_MODE_BY_ROBOT_ID" + } + Self::AddCharacterModeByPlayer => "BCMLNGINLCN_ADD_CHARACTER_MODE_BY_PLAYER", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BCMLNGINLCN_ADD_CHARACTER_MODE_BY_ROBOT_ID" => { + Some(Self::AddCharacterModeByRobotId) + } + "BCMLNGINLCN_ADD_CHARACTER_MODE_BY_PLAYER" => { + Some(Self::AddCharacterModeByPlayer) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dljnnbfeogf { + Kminnbcbkgk = 0, + Edibhicnjpc = 1, + Ekmficidoek = 2, +} +impl Dljnnbfeogf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kminnbcbkgk => "DLJNNBFEOGF_KMINNBCBKGK", + Self::Edibhicnjpc => "DLJNNBFEOGF_EDIBHICNJPC", + Self::Ekmficidoek => "DLJNNBFEOGF_EKMFICIDOEK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DLJNNBFEOGF_KMINNBCBKGK" => Some(Self::Kminnbcbkgk), + "DLJNNBFEOGF_EDIBHICNJPC" => Some(Self::Edibhicnjpc), + "DLJNNBFEOGF_EKMFICIDOEK" => Some(Self::Ekmficidoek), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ndncjkppjjh { + Hofendibgkk = 0, + Bbileelfcip = 1, +} +impl Ndncjkppjjh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hofendibgkk => "NDNCJKPPJJH_HOFENDIBGKK", + Self::Bbileelfcip => "NDNCJKPPJJH_BBILEELFCIP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NDNCJKPPJJH_HOFENDIBGKK" => Some(Self::Hofendibgkk), + "NDNCJKPPJJH_BBILEELFCIP" => Some(Self::Bbileelfcip), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aecmbdlfkhf { + Hhidjaljnpp = 0, + Jifnaeclibn = 1, +} +impl Aecmbdlfkhf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hhidjaljnpp => "AECMBDLFKHF_HHIDJALJNPP", + Self::Jifnaeclibn => "AECMBDLFKHF_JIFNAECLIBN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AECMBDLFKHF_HHIDJALJNPP" => Some(Self::Hhidjaljnpp), + "AECMBDLFKHF_JIFNAECLIBN" => Some(Self::Jifnaeclibn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fbobepiekmk { + Aealbnmfbgj = 0, + Biidcjofkle = 1, + Lkinlhhhdic = 2, + Fpeijcdcfej = 3, + Dmgpehoekmm = 4, +} +impl Fbobepiekmk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Aealbnmfbgj => "FBOBEPIEKMK_AEALBNMFBGJ", + Self::Biidcjofkle => "FBOBEPIEKMK_BIIDCJOFKLE", + Self::Lkinlhhhdic => "FBOBEPIEKMK_LKINLHHHDIC", + Self::Fpeijcdcfej => "FBOBEPIEKMK_FPEIJCDCFEJ", + Self::Dmgpehoekmm => "FBOBEPIEKMK_DMGPEHOEKMM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FBOBEPIEKMK_AEALBNMFBGJ" => Some(Self::Aealbnmfbgj), + "FBOBEPIEKMK_BIIDCJOFKLE" => Some(Self::Biidcjofkle), + "FBOBEPIEKMK_LKINLHHHDIC" => Some(Self::Lkinlhhhdic), + "FBOBEPIEKMK_FPEIJCDCFEJ" => Some(Self::Fpeijcdcfej), + "FBOBEPIEKMK_DMGPEHOEKMM" => Some(Self::Dmgpehoekmm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bolommjbdad { + Fmdhpabeiek = 0, + Oallacdgooe = 1, + Okpbboefbmm = 2, + Hbmblbfdinl = 3, +} +impl Bolommjbdad { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fmdhpabeiek => "BOLOMMJBDAD_FMDHPABEIEK", + Self::Oallacdgooe => "BOLOMMJBDAD_OALLACDGOOE", + Self::Okpbboefbmm => "BOLOMMJBDAD_OKPBBOEFBMM", + Self::Hbmblbfdinl => "BOLOMMJBDAD_HBMBLBFDINL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BOLOMMJBDAD_FMDHPABEIEK" => Some(Self::Fmdhpabeiek), + "BOLOMMJBDAD_OALLACDGOOE" => Some(Self::Oallacdgooe), + "BOLOMMJBDAD_OKPBBOEFBMM" => Some(Self::Okpbboefbmm), + "BOLOMMJBDAD_HBMBLBFDINL" => Some(Self::Hbmblbfdinl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lflpgbelpib { + Ampjdaogfpp = 0, + Lbnbmakdfof = 1, + Lhacmooffao = 2, + Lmoaopbaoej = 3, + Jfoafhkmjkp = 4, + Jncaokkfepe = 5, + Faabdfbfoob = 6, + Hlncgljnbjj = 7, + Dfgkaephnic = 8, + Dcdcalpnlbe = 9, + Fcibmcccabg = 11, + Gfbjmpfmooj = 12, + Jnnlcfojhhe = 19, + Emigjfapkne = 20, + Eiadklkkaap = 21, + Hehlebaklnb = 22, +} +impl Lflpgbelpib { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ampjdaogfpp => "LFLPGBELPIB_AMPJDAOGFPP", + Self::Lbnbmakdfof => "LFLPGBELPIB_LBNBMAKDFOF", + Self::Lhacmooffao => "LFLPGBELPIB_LHACMOOFFAO", + Self::Lmoaopbaoej => "LFLPGBELPIB_LMOAOPBAOEJ", + Self::Jfoafhkmjkp => "LFLPGBELPIB_JFOAFHKMJKP", + Self::Jncaokkfepe => "LFLPGBELPIB_JNCAOKKFEPE", + Self::Faabdfbfoob => "LFLPGBELPIB_FAABDFBFOOB", + Self::Hlncgljnbjj => "LFLPGBELPIB_HLNCGLJNBJJ", + Self::Dfgkaephnic => "LFLPGBELPIB_DFGKAEPHNIC", + Self::Dcdcalpnlbe => "LFLPGBELPIB_DCDCALPNLBE", + Self::Fcibmcccabg => "LFLPGBELPIB_FCIBMCCCABG", + Self::Gfbjmpfmooj => "LFLPGBELPIB_GFBJMPFMOOJ", + Self::Jnnlcfojhhe => "LFLPGBELPIB_JNNLCFOJHHE", + Self::Emigjfapkne => "LFLPGBELPIB_EMIGJFAPKNE", + Self::Eiadklkkaap => "LFLPGBELPIB_EIADKLKKAAP", + Self::Hehlebaklnb => "LFLPGBELPIB_HEHLEBAKLNB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LFLPGBELPIB_AMPJDAOGFPP" => Some(Self::Ampjdaogfpp), + "LFLPGBELPIB_LBNBMAKDFOF" => Some(Self::Lbnbmakdfof), + "LFLPGBELPIB_LHACMOOFFAO" => Some(Self::Lhacmooffao), + "LFLPGBELPIB_LMOAOPBAOEJ" => Some(Self::Lmoaopbaoej), + "LFLPGBELPIB_JFOAFHKMJKP" => Some(Self::Jfoafhkmjkp), + "LFLPGBELPIB_JNCAOKKFEPE" => Some(Self::Jncaokkfepe), + "LFLPGBELPIB_FAABDFBFOOB" => Some(Self::Faabdfbfoob), + "LFLPGBELPIB_HLNCGLJNBJJ" => Some(Self::Hlncgljnbjj), + "LFLPGBELPIB_DFGKAEPHNIC" => Some(Self::Dfgkaephnic), + "LFLPGBELPIB_DCDCALPNLBE" => Some(Self::Dcdcalpnlbe), + "LFLPGBELPIB_FCIBMCCCABG" => Some(Self::Fcibmcccabg), + "LFLPGBELPIB_GFBJMPFMOOJ" => Some(Self::Gfbjmpfmooj), + "LFLPGBELPIB_JNNLCFOJHHE" => Some(Self::Jnnlcfojhhe), + "LFLPGBELPIB_EMIGJFAPKNE" => Some(Self::Emigjfapkne), + "LFLPGBELPIB_EIADKLKKAAP" => Some(Self::Eiadklkkaap), + "LFLPGBELPIB_HEHLEBAKLNB" => Some(Self::Hehlebaklnb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Inlkgbcadge { + Bbmhgehlein = 0, + Ppjhnbdkgkc = 1, + Fninmpemhig = 2, + Hhoambhpegp = 3, + Jjfapajipac = 4, +} +impl Inlkgbcadge { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bbmhgehlein => "INLKGBCADGE_BBMHGEHLEIN", + Self::Ppjhnbdkgkc => "INLKGBCADGE_PPJHNBDKGKC", + Self::Fninmpemhig => "INLKGBCADGE_FNINMPEMHIG", + Self::Hhoambhpegp => "INLKGBCADGE_HHOAMBHPEGP", + Self::Jjfapajipac => "INLKGBCADGE_JJFAPAJIPAC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "INLKGBCADGE_BBMHGEHLEIN" => Some(Self::Bbmhgehlein), + "INLKGBCADGE_PPJHNBDKGKC" => Some(Self::Ppjhnbdkgkc), + "INLKGBCADGE_FNINMPEMHIG" => Some(Self::Fninmpemhig), + "INLKGBCADGE_HHOAMBHPEGP" => Some(Self::Hhoambhpegp), + "INLKGBCADGE_JJFAPAJIPAC" => Some(Self::Jjfapajipac), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Adfpiodbbll { + Alive = 0, + Death = 1, + Hp = 2, + Exist = 3, + Talent = 4, + TrustLevel = 5, + Ban = 6, +} +impl Adfpiodbbll { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Alive => "ADFPIODBBLL_ALIVE", + Self::Death => "ADFPIODBBLL_DEATH", + Self::Hp => "ADFPIODBBLL_HP", + Self::Exist => "ADFPIODBBLL_EXIST", + Self::Talent => "ADFPIODBBLL_TALENT", + Self::TrustLevel => "ADFPIODBBLL_TRUST_LEVEL", + Self::Ban => "ADFPIODBBLL_BAN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ADFPIODBBLL_ALIVE" => Some(Self::Alive), + "ADFPIODBBLL_DEATH" => Some(Self::Death), + "ADFPIODBBLL_HP" => Some(Self::Hp), + "ADFPIODBBLL_EXIST" => Some(Self::Exist), + "ADFPIODBBLL_TALENT" => Some(Self::Talent), + "ADFPIODBBLL_TRUST_LEVEL" => Some(Self::TrustLevel), + "ADFPIODBBLL_BAN" => Some(Self::Ban), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Beomgdokkjo { + RepairZoneStateNone = 0, + RepairZoneStateFail = 1, + RepairZoneStateSucc = 2, +} +impl Beomgdokkjo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::RepairZoneStateNone => "BEOMGDOKKJO_REPAIR_ZONE_STATE_NONE", + Self::RepairZoneStateFail => "BEOMGDOKKJO_REPAIR_ZONE_STATE_FAIL", + Self::RepairZoneStateSucc => "BEOMGDOKKJO_REPAIR_ZONE_STATE_SUCC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BEOMGDOKKJO_REPAIR_ZONE_STATE_NONE" => Some(Self::RepairZoneStateNone), + "BEOMGDOKKJO_REPAIR_ZONE_STATE_FAIL" => Some(Self::RepairZoneStateFail), + "BEOMGDOKKJO_REPAIR_ZONE_STATE_SUCC" => Some(Self::RepairZoneStateSucc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum InteractTarget { + None = 0, + TriggerBox = 1, + Npc = 2, +} +impl InteractTarget { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::None => "INTERACT_TARGET_NONE", + Self::TriggerBox => "INTERACT_TARGET_TRIGGER_BOX", + Self::Npc => "INTERACT_TARGET_NPC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "INTERACT_TARGET_NONE" => Some(Self::None), + "INTERACT_TARGET_TRIGGER_BOX" => Some(Self::TriggerBox), + "INTERACT_TARGET_NPC" => Some(Self::Npc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fdeoejgoeop { + Gncigglbkeo = 0, +} +impl Fdeoejgoeop { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gncigglbkeo => "FDEOEJGOEOP_GNCIGGLBKEO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FDEOEJGOEOP_GNCIGGLBKEO" => Some(Self::Gncigglbkeo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gidfhmiamhm { + Kllfmakdnej = 0, + Ddmmbddjogg = 1, + Gdbeocebkfp = 2, +} +impl Gidfhmiamhm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kllfmakdnej => "GIDFHMIAMHM_KLLFMAKDNEJ", + Self::Ddmmbddjogg => "GIDFHMIAMHM_DDMMBDDJOGG", + Self::Gdbeocebkfp => "GIDFHMIAMHM_GDBEOCEBKFP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GIDFHMIAMHM_KLLFMAKDNEJ" => Some(Self::Kllfmakdnej), + "GIDFHMIAMHM_DDMMBDDJOGG" => Some(Self::Ddmmbddjogg), + "GIDFHMIAMHM_GDBEOCEBKFP" => Some(Self::Gdbeocebkfp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oklfilcaeon { + Flegjlfdpal = 0, + Fdgmheemmph = 1, +} +impl Oklfilcaeon { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Flegjlfdpal => "OKLFILCAEON_FLEGJLFDPAL", + Self::Fdgmheemmph => "OKLFILCAEON_FDGMHEEMMPH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OKLFILCAEON_FLEGJLFDPAL" => Some(Self::Flegjlfdpal), + "OKLFILCAEON_FDGMHEEMMPH" => Some(Self::Fdgmheemmph), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Loahemedggb { + Cefhhllmaie = 0, + Dfjipnemnkm = 1, + Congognbfoo = 2, +} +impl Loahemedggb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cefhhllmaie => "LOAHEMEDGGB_CEFHHLLMAIE", + Self::Dfjipnemnkm => "LOAHEMEDGGB_DFJIPNEMNKM", + Self::Congognbfoo => "LOAHEMEDGGB_CONGOGNBFOO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LOAHEMEDGGB_CEFHHLLMAIE" => Some(Self::Cefhhllmaie), + "LOAHEMEDGGB_DFJIPNEMNKM" => Some(Self::Dfjipnemnkm), + "LOAHEMEDGGB_CONGOGNBFOO" => Some(Self::Congognbfoo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dekhkjgbpfb { + Pndmmbcmalp = 0, + Oneaenlifak = 1, + Pmpffdaoeml = 2, + Adpciokcicp = 3, +} +impl Dekhkjgbpfb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pndmmbcmalp => "DEKHKJGBPFB_PNDMMBCMALP", + Self::Oneaenlifak => "DEKHKJGBPFB_ONEAENLIFAK", + Self::Pmpffdaoeml => "DEKHKJGBPFB_PMPFFDAOEML", + Self::Adpciokcicp => "DEKHKJGBPFB_ADPCIOKCICP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DEKHKJGBPFB_PNDMMBCMALP" => Some(Self::Pndmmbcmalp), + "DEKHKJGBPFB_ONEAENLIFAK" => Some(Self::Oneaenlifak), + "DEKHKJGBPFB_PMPFFDAOEML" => Some(Self::Pmpffdaoeml), + "DEKHKJGBPFB_ADPCIOKCICP" => Some(Self::Adpciokcicp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mdkmhiiplke { + Pkgndfjaamc = 0, + Mddfjojgkeo = 1, + Eehemcojfih = 2, +} +impl Mdkmhiiplke { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pkgndfjaamc => "MDKMHIIPLKE_PKGNDFJAAMC", + Self::Mddfjojgkeo => "MDKMHIIPLKE_MDDFJOJGKEO", + Self::Eehemcojfih => "MDKMHIIPLKE_EEHEMCOJFIH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MDKMHIIPLKE_PKGNDFJAAMC" => Some(Self::Pkgndfjaamc), + "MDKMHIIPLKE_MDDFJOJGKEO" => Some(Self::Mddfjojgkeo), + "MDKMHIIPLKE_EEHEMCOJFIH" => Some(Self::Eehemcojfih), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bjekebbfcne { + HpRecover = 0, + HpDecrease = 1, + HpReplace = 2, +} +impl Bjekebbfcne { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HpRecover => "BJEKEBBFCNE_HP_RECOVER", + Self::HpDecrease => "BJEKEBBFCNE_HP_DECREASE", + Self::HpReplace => "BJEKEBBFCNE_HP_REPLACE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BJEKEBBFCNE_HP_RECOVER" => Some(Self::HpRecover), + "BJEKEBBFCNE_HP_DECREASE" => Some(Self::HpDecrease), + "BJEKEBBFCNE_HP_REPLACE" => Some(Self::HpReplace), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cphbckpkgnc { + Fafnmpclalj = 0, + Oldjkgbdkdn = 1, + Giofjaaegel = 2, +} +impl Cphbckpkgnc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fafnmpclalj => "CPHBCKPKGNC_FAFNMPCLALJ", + Self::Oldjkgbdkdn => "CPHBCKPKGNC_OLDJKGBDKDN", + Self::Giofjaaegel => "CPHBCKPKGNC_GIOFJAAEGEL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CPHBCKPKGNC_FAFNMPCLALJ" => Some(Self::Fafnmpclalj), + "CPHBCKPKGNC_OLDJKGBDKDN" => Some(Self::Oldjkgbdkdn), + "CPHBCKPKGNC_GIOFJAAEGEL" => Some(Self::Giofjaaegel), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ChessUiColor { + ChessUiColorNone = 0, + ChessUiColorWhite = 1, + ChessUiColorRed = 2, + ChessUiColorGrey = 3, +} +impl ChessUiColor { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ChessUiColorNone => "ChessUIColor_CHESS_UI_COLOR_NONE", + Self::ChessUiColorWhite => "ChessUIColor_CHESS_UI_COLOR_WHITE", + Self::ChessUiColorRed => "ChessUIColor_CHESS_UI_COLOR_RED", + Self::ChessUiColorGrey => "ChessUIColor_CHESS_UI_COLOR_GREY", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ChessUIColor_CHESS_UI_COLOR_NONE" => Some(Self::ChessUiColorNone), + "ChessUIColor_CHESS_UI_COLOR_WHITE" => Some(Self::ChessUiColorWhite), + "ChessUIColor_CHESS_UI_COLOR_RED" => Some(Self::ChessUiColorRed), + "ChessUIColor_CHESS_UI_COLOR_GREY" => Some(Self::ChessUiColorGrey), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mdjodbafohl { + Nceejiehihf = 0, + Ejpdcbfhcfg = 1, + Pcdonlbaefb = 2, + Gdomjcmmbph = 3, + Jmjdcdbjeoo = 4, + Ajjfiaiindp = 5, + Elamoildhna = 6, +} +impl Mdjodbafohl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nceejiehihf => "MDJODBAFOHL_NCEEJIEHIHF", + Self::Ejpdcbfhcfg => "MDJODBAFOHL_EJPDCBFHCFG", + Self::Pcdonlbaefb => "MDJODBAFOHL_PCDONLBAEFB", + Self::Gdomjcmmbph => "MDJODBAFOHL_GDOMJCMMBPH", + Self::Jmjdcdbjeoo => "MDJODBAFOHL_JMJDCDBJEOO", + Self::Ajjfiaiindp => "MDJODBAFOHL_AJJFIAIINDP", + Self::Elamoildhna => "MDJODBAFOHL_ELAMOILDHNA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MDJODBAFOHL_NCEEJIEHIHF" => Some(Self::Nceejiehihf), + "MDJODBAFOHL_EJPDCBFHCFG" => Some(Self::Ejpdcbfhcfg), + "MDJODBAFOHL_PCDONLBAEFB" => Some(Self::Pcdonlbaefb), + "MDJODBAFOHL_GDOMJCMMBPH" => Some(Self::Gdomjcmmbph), + "MDJODBAFOHL_JMJDCDBJEOO" => Some(Self::Jmjdcdbjeoo), + "MDJODBAFOHL_AJJFIAIINDP" => Some(Self::Ajjfiaiindp), + "MDJODBAFOHL_ELAMOILDHNA" => Some(Self::Elamoildhna), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jjemckddgna { + Mlknenmlidg = 0, + Oalabacdlad = 1, + Dnnpmfclakj = 2, + Plapppjdgpa = 3, +} +impl Jjemckddgna { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mlknenmlidg => "JJEMCKDDGNA_MLKNENMLIDG", + Self::Oalabacdlad => "JJEMCKDDGNA_OALABACDLAD", + Self::Dnnpmfclakj => "JJEMCKDDGNA_DNNPMFCLAKJ", + Self::Plapppjdgpa => "JJEMCKDDGNA_PLAPPPJDGPA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JJEMCKDDGNA_MLKNENMLIDG" => Some(Self::Mlknenmlidg), + "JJEMCKDDGNA_OALABACDLAD" => Some(Self::Oalabacdlad), + "JJEMCKDDGNA_DNNPMFCLAKJ" => Some(Self::Dnnpmfclakj), + "JJEMCKDDGNA_PLAPPPJDGPA" => Some(Self::Plapppjdgpa), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mfffndnaeeb { + Lmcdbfcllbd = 0, + Nkkllcdejio = 1, + Hbomhcdchci = 2, +} +impl Mfffndnaeeb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lmcdbfcllbd => "MFFFNDNAEEB_LMCDBFCLLBD", + Self::Nkkllcdejio => "MFFFNDNAEEB_NKKLLCDEJIO", + Self::Hbomhcdchci => "MFFFNDNAEEB_HBOMHCDCHCI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MFFFNDNAEEB_LMCDBFCLLBD" => Some(Self::Lmcdbfcllbd), + "MFFFNDNAEEB_NKKLLCDEJIO" => Some(Self::Nkkllcdejio), + "MFFFNDNAEEB_HBOMHCDCHCI" => Some(Self::Hbomhcdchci), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mnkeboccgli { + Pbpjegcdepc = 0, + Gbohhgcghlo = 1, + Accnjmdcheo = 2, +} +impl Mnkeboccgli { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pbpjegcdepc => "MNKEBOCCGLI_PBPJEGCDEPC", + Self::Gbohhgcghlo => "MNKEBOCCGLI_GBOHHGCGHLO", + Self::Accnjmdcheo => "MNKEBOCCGLI_ACCNJMDCHEO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MNKEBOCCGLI_PBPJEGCDEPC" => Some(Self::Pbpjegcdepc), + "MNKEBOCCGLI_GBOHHGCGHLO" => Some(Self::Gbohhgcghlo), + "MNKEBOCCGLI_ACCNJMDCHEO" => Some(Self::Accnjmdcheo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dhfipdagnca { + Anlhbclbmle = 0, + Gggkggjocpa = 1, + Gnmbhenccmb = 2, +} +impl Dhfipdagnca { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Anlhbclbmle => "DHFIPDAGNCA_ANLHBCLBMLE", + Self::Gggkggjocpa => "DHFIPDAGNCA_GGGKGGJOCPA", + Self::Gnmbhenccmb => "DHFIPDAGNCA_GNMBHENCCMB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DHFIPDAGNCA_ANLHBCLBMLE" => Some(Self::Anlhbclbmle), + "DHFIPDAGNCA_GGGKGGJOCPA" => Some(Self::Gggkggjocpa), + "DHFIPDAGNCA_GNMBHENCCMB" => Some(Self::Gnmbhenccmb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jjmhokdikeo { + Cpceomhgoof = 0, + Cpflhbdjkcp = 1, +} +impl Jjmhokdikeo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cpceomhgoof => "JJMHOKDIKEO_CPCEOMHGOOF", + Self::Cpflhbdjkcp => "JJMHOKDIKEO_CPFLHBDJKCP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JJMHOKDIKEO_CPCEOMHGOOF" => Some(Self::Cpceomhgoof), + "JJMHOKDIKEO_CPFLHBDJKCP" => Some(Self::Cpflhbdjkcp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum HollowShopCurrencyType { + HollowShopCurrencyTypeNone = 0, + HollowShopCurrencyTypeCoin = 1, + HollowShopCurrencyTypeCurseCurrency = 2, + HollowShopCurrencyTypeStamina = 3, +} +impl HollowShopCurrencyType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowShopCurrencyTypeNone => { + "HollowShopCurrencyType_HOLLOW_SHOP_CURRENCY_TYPE_NONE" + } + Self::HollowShopCurrencyTypeCoin => { + "HollowShopCurrencyType_HOLLOW_SHOP_CURRENCY_TYPE_COIN" + } + Self::HollowShopCurrencyTypeCurseCurrency => { + "HollowShopCurrencyType_HOLLOW_SHOP_CURRENCY_TYPE_CURSE_CURRENCY" + } + Self::HollowShopCurrencyTypeStamina => { + "HollowShopCurrencyType_HOLLOW_SHOP_CURRENCY_TYPE_STAMINA" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HollowShopCurrencyType_HOLLOW_SHOP_CURRENCY_TYPE_NONE" => { + Some(Self::HollowShopCurrencyTypeNone) + } + "HollowShopCurrencyType_HOLLOW_SHOP_CURRENCY_TYPE_COIN" => { + Some(Self::HollowShopCurrencyTypeCoin) + } + "HollowShopCurrencyType_HOLLOW_SHOP_CURRENCY_TYPE_CURSE_CURRENCY" => { + Some(Self::HollowShopCurrencyTypeCurseCurrency) + } + "HollowShopCurrencyType_HOLLOW_SHOP_CURRENCY_TYPE_STAMINA" => { + Some(Self::HollowShopCurrencyTypeStamina) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iegajadnldo { + Cggegpjpbii = 0, + Nomheeomapg = 1, + Dliocedmoee = 2, + Fbpmljkgkoe = 3, + Aggapgabmid = 4, + Hgibbkfhbha = 5, +} +impl Iegajadnldo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cggegpjpbii => "IEGAJADNLDO_CGGEGPJPBII", + Self::Nomheeomapg => "IEGAJADNLDO_NOMHEEOMAPG", + Self::Dliocedmoee => "IEGAJADNLDO_DLIOCEDMOEE", + Self::Fbpmljkgkoe => "IEGAJADNLDO_FBPMLJKGKOE", + Self::Aggapgabmid => "IEGAJADNLDO_AGGAPGABMID", + Self::Hgibbkfhbha => "IEGAJADNLDO_HGIBBKFHBHA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IEGAJADNLDO_CGGEGPJPBII" => Some(Self::Cggegpjpbii), + "IEGAJADNLDO_NOMHEEOMAPG" => Some(Self::Nomheeomapg), + "IEGAJADNLDO_DLIOCEDMOEE" => Some(Self::Dliocedmoee), + "IEGAJADNLDO_FBPMLJKGKOE" => Some(Self::Fbpmljkgkoe), + "IEGAJADNLDO_AGGAPGABMID" => Some(Self::Aggapgabmid), + "IEGAJADNLDO_HGIBBKFHBHA" => Some(Self::Hgibbkfhbha), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ibkdhloibpl { + Kpgbodlklcc = 0, + Hanalpodknm = 1, + Gipdnmjccid = 2, + Egjjfgdpoop = 3, + Bijjlcppbnf = 4, + Aoeaahobobe = 5, + Gindaijfhnf = 6, +} +impl Ibkdhloibpl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Kpgbodlklcc => "IBKDHLOIBPL_KPGBODLKLCC", + Self::Hanalpodknm => "IBKDHLOIBPL_HANALPODKNM", + Self::Gipdnmjccid => "IBKDHLOIBPL_GIPDNMJCCID", + Self::Egjjfgdpoop => "IBKDHLOIBPL_EGJJFGDPOOP", + Self::Bijjlcppbnf => "IBKDHLOIBPL_BIJJLCPPBNF", + Self::Aoeaahobobe => "IBKDHLOIBPL_AOEAAHOBOBE", + Self::Gindaijfhnf => "IBKDHLOIBPL_GINDAIJFHNF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IBKDHLOIBPL_KPGBODLKLCC" => Some(Self::Kpgbodlklcc), + "IBKDHLOIBPL_HANALPODKNM" => Some(Self::Hanalpodknm), + "IBKDHLOIBPL_GIPDNMJCCID" => Some(Self::Gipdnmjccid), + "IBKDHLOIBPL_EGJJFGDPOOP" => Some(Self::Egjjfgdpoop), + "IBKDHLOIBPL_BIJJLCPPBNF" => Some(Self::Bijjlcppbnf), + "IBKDHLOIBPL_AOEAAHOBOBE" => Some(Self::Aoeaahobobe), + "IBKDHLOIBPL_GINDAIJFHNF" => Some(Self::Gindaijfhnf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hmmnhmbghpl { + Dpkdhokfakl = 0, + Obgnnnancei = 1003, + Ocaikgbldlm = 1020, + Pgdmlolgphi = 1029, + Eoiihkhakdj = 1036, + Aojhicccmjo = 1038, + Fnjcdcapjmm = 1040, + Fehpgihhhmh = 1042, + Deohgnmenhm = 1052, + Cndoppfiign = 1063, + Mihkdjhlceh = 1064, + Hpakdiabeda = 1066, + Hceaijfgnfo = 1068, + Hafddiacakc = 2000, + Ohbpciajfia = 2001, + Mancllpoflg = 10008, + Nnkopegkmoc = 10010, + Eegcfmkgfii = 10021, + Fhnmjmplbco = 10022, + Ioflnekggdi = 10024, + Ghmmomohgfm = 10033, + Kgjlfkdnnie = 10034, + Knoabbmhmoa = 10035, + Ddplpnbgbff = 10038, + Fkbobflhpbn = 10040, + Hidmgeifagc = 10070, + Olfgadgknli = 10080, + Mimmgfnijmi = 10087, + Cncikjheemd = 10094, + Iopicmhcnbg = 10095, + Hcdoahfapbo = 30004, + Gkgcdkgdelj = 30005, + Abnpibjodoj = 30014, +} +impl Hmmnhmbghpl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dpkdhokfakl => "HMMNHMBGHPL_DPKDHOKFAKL", + Self::Obgnnnancei => "HMMNHMBGHPL_OBGNNNANCEI", + Self::Ocaikgbldlm => "HMMNHMBGHPL_OCAIKGBLDLM", + Self::Pgdmlolgphi => "HMMNHMBGHPL_PGDMLOLGPHI", + Self::Eoiihkhakdj => "HMMNHMBGHPL_EOIIHKHAKDJ", + Self::Aojhicccmjo => "HMMNHMBGHPL_AOJHICCCMJO", + Self::Fnjcdcapjmm => "HMMNHMBGHPL_FNJCDCAPJMM", + Self::Fehpgihhhmh => "HMMNHMBGHPL_FEHPGIHHHMH", + Self::Deohgnmenhm => "HMMNHMBGHPL_DEOHGNMENHM", + Self::Cndoppfiign => "HMMNHMBGHPL_CNDOPPFIIGN", + Self::Mihkdjhlceh => "HMMNHMBGHPL_MIHKDJHLCEH", + Self::Hpakdiabeda => "HMMNHMBGHPL_HPAKDIABEDA", + Self::Hceaijfgnfo => "HMMNHMBGHPL_HCEAIJFGNFO", + Self::Hafddiacakc => "HMMNHMBGHPL_HAFDDIACAKC", + Self::Ohbpciajfia => "HMMNHMBGHPL_OHBPCIAJFIA", + Self::Mancllpoflg => "HMMNHMBGHPL_MANCLLPOFLG", + Self::Nnkopegkmoc => "HMMNHMBGHPL_NNKOPEGKMOC", + Self::Eegcfmkgfii => "HMMNHMBGHPL_EEGCFMKGFII", + Self::Fhnmjmplbco => "HMMNHMBGHPL_FHNMJMPLBCO", + Self::Ioflnekggdi => "HMMNHMBGHPL_IOFLNEKGGDI", + Self::Ghmmomohgfm => "HMMNHMBGHPL_GHMMOMOHGFM", + Self::Kgjlfkdnnie => "HMMNHMBGHPL_KGJLFKDNNIE", + Self::Knoabbmhmoa => "HMMNHMBGHPL_KNOABBMHMOA", + Self::Ddplpnbgbff => "HMMNHMBGHPL_DDPLPNBGBFF", + Self::Fkbobflhpbn => "HMMNHMBGHPL_FKBOBFLHPBN", + Self::Hidmgeifagc => "HMMNHMBGHPL_HIDMGEIFAGC", + Self::Olfgadgknli => "HMMNHMBGHPL_OLFGADGKNLI", + Self::Mimmgfnijmi => "HMMNHMBGHPL_MIMMGFNIJMI", + Self::Cncikjheemd => "HMMNHMBGHPL_CNCIKJHEEMD", + Self::Iopicmhcnbg => "HMMNHMBGHPL_IOPICMHCNBG", + Self::Hcdoahfapbo => "HMMNHMBGHPL_HCDOAHFAPBO", + Self::Gkgcdkgdelj => "HMMNHMBGHPL_GKGCDKGDELJ", + Self::Abnpibjodoj => "HMMNHMBGHPL_ABNPIBJODOJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HMMNHMBGHPL_DPKDHOKFAKL" => Some(Self::Dpkdhokfakl), + "HMMNHMBGHPL_OBGNNNANCEI" => Some(Self::Obgnnnancei), + "HMMNHMBGHPL_OCAIKGBLDLM" => Some(Self::Ocaikgbldlm), + "HMMNHMBGHPL_PGDMLOLGPHI" => Some(Self::Pgdmlolgphi), + "HMMNHMBGHPL_EOIIHKHAKDJ" => Some(Self::Eoiihkhakdj), + "HMMNHMBGHPL_AOJHICCCMJO" => Some(Self::Aojhicccmjo), + "HMMNHMBGHPL_FNJCDCAPJMM" => Some(Self::Fnjcdcapjmm), + "HMMNHMBGHPL_FEHPGIHHHMH" => Some(Self::Fehpgihhhmh), + "HMMNHMBGHPL_DEOHGNMENHM" => Some(Self::Deohgnmenhm), + "HMMNHMBGHPL_CNDOPPFIIGN" => Some(Self::Cndoppfiign), + "HMMNHMBGHPL_MIHKDJHLCEH" => Some(Self::Mihkdjhlceh), + "HMMNHMBGHPL_HPAKDIABEDA" => Some(Self::Hpakdiabeda), + "HMMNHMBGHPL_HCEAIJFGNFO" => Some(Self::Hceaijfgnfo), + "HMMNHMBGHPL_HAFDDIACAKC" => Some(Self::Hafddiacakc), + "HMMNHMBGHPL_OHBPCIAJFIA" => Some(Self::Ohbpciajfia), + "HMMNHMBGHPL_MANCLLPOFLG" => Some(Self::Mancllpoflg), + "HMMNHMBGHPL_NNKOPEGKMOC" => Some(Self::Nnkopegkmoc), + "HMMNHMBGHPL_EEGCFMKGFII" => Some(Self::Eegcfmkgfii), + "HMMNHMBGHPL_FHNMJMPLBCO" => Some(Self::Fhnmjmplbco), + "HMMNHMBGHPL_IOFLNEKGGDI" => Some(Self::Ioflnekggdi), + "HMMNHMBGHPL_GHMMOMOHGFM" => Some(Self::Ghmmomohgfm), + "HMMNHMBGHPL_KGJLFKDNNIE" => Some(Self::Kgjlfkdnnie), + "HMMNHMBGHPL_KNOABBMHMOA" => Some(Self::Knoabbmhmoa), + "HMMNHMBGHPL_DDPLPNBGBFF" => Some(Self::Ddplpnbgbff), + "HMMNHMBGHPL_FKBOBFLHPBN" => Some(Self::Fkbobflhpbn), + "HMMNHMBGHPL_HIDMGEIFAGC" => Some(Self::Hidmgeifagc), + "HMMNHMBGHPL_OLFGADGKNLI" => Some(Self::Olfgadgknli), + "HMMNHMBGHPL_MIMMGFNIJMI" => Some(Self::Mimmgfnijmi), + "HMMNHMBGHPL_CNCIKJHEEMD" => Some(Self::Cncikjheemd), + "HMMNHMBGHPL_IOPICMHCNBG" => Some(Self::Iopicmhcnbg), + "HMMNHMBGHPL_HCDOAHFAPBO" => Some(Self::Hcdoahfapbo), + "HMMNHMBGHPL_GKGCDKGDELJ" => Some(Self::Gkgcdkgdelj), + "HMMNHMBGHPL_ABNPIBJODOJ" => Some(Self::Abnpibjodoj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jnhafghiljl { + Aagemfecnmj = 0, + Ojofiademla = 1, + Emmphafcfgc = 2, +} +impl Jnhafghiljl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Aagemfecnmj => "JNHAFGHILJL_AAGEMFECNMJ", + Self::Ojofiademla => "JNHAFGHILJL_OJOFIADEMLA", + Self::Emmphafcfgc => "JNHAFGHILJL_EMMPHAFCFGC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JNHAFGHILJL_AAGEMFECNMJ" => Some(Self::Aagemfecnmj), + "JNHAFGHILJL_OJOFIADEMLA" => Some(Self::Ojofiademla), + "JNHAFGHILJL_EMMPHAFCFGC" => Some(Self::Emmphafcfgc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fhocjgihmjj { + Cifmbicpdgp = 0, +} +impl Fhocjgihmjj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cifmbicpdgp => "FHOCJGIHMJJ_CIFMBICPDGP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FHOCJGIHMJJ_CIFMBICPDGP" => Some(Self::Cifmbicpdgp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gnddidalhbg { + WayOfCheckHollowNpcExistNone = 0, + CheckHollowNpcExistByUid = 1, + CheckHollowNpcExistByPos = 2, +} +impl Gnddidalhbg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::WayOfCheckHollowNpcExistNone => { + "GNDDIDALHBG_WAY_OF_CHECK_HOLLOW_NPC_EXIST_NONE" + } + Self::CheckHollowNpcExistByUid => "GNDDIDALHBG_CHECK_HOLLOW_NPC_EXIST_BY_UID", + Self::CheckHollowNpcExistByPos => "GNDDIDALHBG_CHECK_HOLLOW_NPC_EXIST_BY_POS", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GNDDIDALHBG_WAY_OF_CHECK_HOLLOW_NPC_EXIST_NONE" => { + Some(Self::WayOfCheckHollowNpcExistNone) + } + "GNDDIDALHBG_CHECK_HOLLOW_NPC_EXIST_BY_UID" => { + Some(Self::CheckHollowNpcExistByUid) + } + "GNDDIDALHBG_CHECK_HOLLOW_NPC_EXIST_BY_POS" => { + Some(Self::CheckHollowNpcExistByPos) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oilchamefcm { + Knkdohklggb = 0, +} +impl Oilchamefcm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Knkdohklggb => "OILCHAMEFCM_KNKDOHKLGGB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OILCHAMEFCM_KNKDOHKLGGB" => Some(Self::Knkdohklggb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Peecjnnconk { + AvatarPosAll = 0, + AvatarPosRandom = 1, + Character1 = 2, + Character2 = 3, + Character3 = 4, + RandomAlive = 5, + RandomDeath = 6, + RandomBan = 7, +} +impl Peecjnnconk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::AvatarPosAll => "PEECJNNCONK_AVATAR_POS_ALL", + Self::AvatarPosRandom => "PEECJNNCONK_AVATAR_POS_RANDOM", + Self::Character1 => "PEECJNNCONK_CHARACTER1", + Self::Character2 => "PEECJNNCONK_CHARACTER2", + Self::Character3 => "PEECJNNCONK_CHARACTER3", + Self::RandomAlive => "PEECJNNCONK_RANDOM_ALIVE", + Self::RandomDeath => "PEECJNNCONK_RANDOM_DEATH", + Self::RandomBan => "PEECJNNCONK_RANDOM_BAN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PEECJNNCONK_AVATAR_POS_ALL" => Some(Self::AvatarPosAll), + "PEECJNNCONK_AVATAR_POS_RANDOM" => Some(Self::AvatarPosRandom), + "PEECJNNCONK_CHARACTER1" => Some(Self::Character1), + "PEECJNNCONK_CHARACTER2" => Some(Self::Character2), + "PEECJNNCONK_CHARACTER3" => Some(Self::Character3), + "PEECJNNCONK_RANDOM_ALIVE" => Some(Self::RandomAlive), + "PEECJNNCONK_RANDOM_DEATH" => Some(Self::RandomDeath), + "PEECJNNCONK_RANDOM_BAN" => Some(Self::RandomBan), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ifkibmehaio { + Lmoemghadea = 0, + Fpbfkfafdne = 1, + Conbnkpgkaj = 2, + Mcomkmdihdo = 3, + Nlcaemgjadh = 4, + Ffdkpmkjibj = 5, + Jcaeagpohbi = 6, + Nffcmahenfk = 7, +} +impl Ifkibmehaio { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lmoemghadea => "IFKIBMEHAIO_LMOEMGHADEA", + Self::Fpbfkfafdne => "IFKIBMEHAIO_FPBFKFAFDNE", + Self::Conbnkpgkaj => "IFKIBMEHAIO_CONBNKPGKAJ", + Self::Mcomkmdihdo => "IFKIBMEHAIO_MCOMKMDIHDO", + Self::Nlcaemgjadh => "IFKIBMEHAIO_NLCAEMGJADH", + Self::Ffdkpmkjibj => "IFKIBMEHAIO_FFDKPMKJIBJ", + Self::Jcaeagpohbi => "IFKIBMEHAIO_JCAEAGPOHBI", + Self::Nffcmahenfk => "IFKIBMEHAIO_NFFCMAHENFK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IFKIBMEHAIO_LMOEMGHADEA" => Some(Self::Lmoemghadea), + "IFKIBMEHAIO_FPBFKFAFDNE" => Some(Self::Fpbfkfafdne), + "IFKIBMEHAIO_CONBNKPGKAJ" => Some(Self::Conbnkpgkaj), + "IFKIBMEHAIO_MCOMKMDIHDO" => Some(Self::Mcomkmdihdo), + "IFKIBMEHAIO_NLCAEMGJADH" => Some(Self::Nlcaemgjadh), + "IFKIBMEHAIO_FFDKPMKJIBJ" => Some(Self::Ffdkpmkjibj), + "IFKIBMEHAIO_JCAEAGPOHBI" => Some(Self::Jcaeagpohbi), + "IFKIBMEHAIO_NFFCMAHENFK" => Some(Self::Nffcmahenfk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Naiofeihhmm { + Dodanmmaaab = 0, + Moebgmdcigg = 1, +} +impl Naiofeihhmm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dodanmmaaab => "NAIOFEIHHMM_DODANMMAAAB", + Self::Moebgmdcigg => "NAIOFEIHHMM_MOEBGMDCIGG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NAIOFEIHHMM_DODANMMAAAB" => Some(Self::Dodanmmaaab), + "NAIOFEIHHMM_MOEBGMDCIGG" => Some(Self::Moebgmdcigg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jebnalcecfk { + Eoammggmgji = 0, + Dnhadchnkee = 1, +} +impl Jebnalcecfk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Eoammggmgji => "JEBNALCECFK_EOAMMGGMGJI", + Self::Dnhadchnkee => "JEBNALCECFK_DNHADCHNKEE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JEBNALCECFK_EOAMMGGMGJI" => Some(Self::Eoammggmgji), + "JEBNALCECFK_DNHADCHNKEE" => Some(Self::Dnhadchnkee), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Magmmkboaop { + HollowComponentTypeNone = 0, + IdComponent = 1, + PosComponent = 2, + HollowGridComponent = 3, + LightInteractionComponent = 4, + OwnedEntityComponent = 5, + ChessUiComponent = 6, + HollowEventComponent = 7, + CategoryComponent = 8, + BehaviorComponent = 9, + OwnerComponent = 10, + HollowNpcComponent = 11, + HollowSnakeComponent = 12, + HollowLightComponent = 13, + ExtScriptVariableComponent = 14, + ConwayLifeGameLifeStateComponent = 15, + EntityPriorityComponent = 16, + BigTvChessUiComponent = 17, + GridStateComponent = 18, + SpringComponent = 19, + BlockComponent = 20, + ConwayLifeGameMgrComponent = 21, + HollowScriptSequenceComponent = 22, + HollowSnapshotComponent = 23, + HollowMapComponent = 24, + HollowPluginCollectionComponent = 25, + InnerWorldPlugin = 26, + HollowLightPlugin = 27, + HollowNpcMgrComponent = 28, + HollowTimeRewindComponent = 29, + NpcPosExt = 30, + ClientStateComponent = 31, + PlayerPosExt = 33, + HollowRepairZoneComponent = 34, + HollowGlobalComponent = 35, + AimRectComponent = 36, + SignalMgrComponent = 37, + HollowFloorMgrComponent = 39, + AreaCameraComponent = 40, + GridInnerWorldComponent = 41, + HollowSectionComponent = 42, + BigWorldComponent = 44, + ElevatorGridComponent = 45, + HideComponent = 46, + HollowSpawnerComponent = 47, + HollowHackerGameComponent = 48, + PopInteractComponent = 49, + AbilityMarkComponent = 50, +} +impl Magmmkboaop { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowComponentTypeNone => "MAGMMKBOAOP_HOLLOW_COMPONENT_TYPE_NONE", + Self::IdComponent => "MAGMMKBOAOP_ID_COMPONENT", + Self::PosComponent => "MAGMMKBOAOP_POS_COMPONENT", + Self::HollowGridComponent => "MAGMMKBOAOP_HOLLOW_GRID_COMPONENT", + Self::LightInteractionComponent => "MAGMMKBOAOP_LIGHT_INTERACTION_COMPONENT", + Self::OwnedEntityComponent => "MAGMMKBOAOP_OWNED_ENTITY_COMPONENT", + Self::ChessUiComponent => "MAGMMKBOAOP_CHESS_UI_COMPONENT", + Self::HollowEventComponent => "MAGMMKBOAOP_HOLLOW_EVENT_COMPONENT", + Self::CategoryComponent => "MAGMMKBOAOP_CATEGORY_COMPONENT", + Self::BehaviorComponent => "MAGMMKBOAOP_BEHAVIOR_COMPONENT", + Self::OwnerComponent => "MAGMMKBOAOP_OWNER_COMPONENT", + Self::HollowNpcComponent => "MAGMMKBOAOP_HOLLOW_NPC_COMPONENT", + Self::HollowSnakeComponent => "MAGMMKBOAOP_HOLLOW_SNAKE_COMPONENT", + Self::HollowLightComponent => "MAGMMKBOAOP_HOLLOW_LIGHT_COMPONENT", + Self::ExtScriptVariableComponent => { + "MAGMMKBOAOP_EXT_SCRIPT_VARIABLE_COMPONENT" + } + Self::ConwayLifeGameLifeStateComponent => { + "MAGMMKBOAOP_CONWAY_LIFE_GAME_LIFE_STATE_COMPONENT" + } + Self::EntityPriorityComponent => "MAGMMKBOAOP_ENTITY_PRIORITY_COMPONENT", + Self::BigTvChessUiComponent => "MAGMMKBOAOP_BIG_TV_CHESS_UI_COMPONENT", + Self::GridStateComponent => "MAGMMKBOAOP_GRID_STATE_COMPONENT", + Self::SpringComponent => "MAGMMKBOAOP_SPRING_COMPONENT", + Self::BlockComponent => "MAGMMKBOAOP_BLOCK_COMPONENT", + Self::ConwayLifeGameMgrComponent => { + "MAGMMKBOAOP_CONWAY_LIFE_GAME_MGR_COMPONENT" + } + Self::HollowScriptSequenceComponent => { + "MAGMMKBOAOP_HOLLOW_SCRIPT_SEQUENCE_COMPONENT" + } + Self::HollowSnapshotComponent => "MAGMMKBOAOP_HOLLOW_SNAPSHOT_COMPONENT", + Self::HollowMapComponent => "MAGMMKBOAOP_HOLLOW_MAP_COMPONENT", + Self::HollowPluginCollectionComponent => { + "MAGMMKBOAOP_HOLLOW_PLUGIN_COLLECTION_COMPONENT" + } + Self::InnerWorldPlugin => "MAGMMKBOAOP_INNER_WORLD_PLUGIN", + Self::HollowLightPlugin => "MAGMMKBOAOP_HOLLOW_LIGHT_PLUGIN", + Self::HollowNpcMgrComponent => "MAGMMKBOAOP_HOLLOW_NPC_MGR_COMPONENT", + Self::HollowTimeRewindComponent => "MAGMMKBOAOP_HOLLOW_TIME_REWIND_COMPONENT", + Self::NpcPosExt => "MAGMMKBOAOP_NPC_POS_EXT", + Self::ClientStateComponent => "MAGMMKBOAOP_CLIENT_STATE_COMPONENT", + Self::PlayerPosExt => "MAGMMKBOAOP_PLAYER_POS_EXT", + Self::HollowRepairZoneComponent => "MAGMMKBOAOP_HOLLOW_REPAIR_ZONE_COMPONENT", + Self::HollowGlobalComponent => "MAGMMKBOAOP_HOLLOW_GLOBAL_COMPONENT", + Self::AimRectComponent => "MAGMMKBOAOP_AIM_RECT_COMPONENT", + Self::SignalMgrComponent => "MAGMMKBOAOP_SIGNAL_MGR_COMPONENT", + Self::HollowFloorMgrComponent => "MAGMMKBOAOP_HOLLOW_FLOOR_MGR_COMPONENT", + Self::AreaCameraComponent => "MAGMMKBOAOP_AREA_CAMERA_COMPONENT", + Self::GridInnerWorldComponent => "MAGMMKBOAOP_GRID_INNER_WORLD_COMPONENT", + Self::HollowSectionComponent => "MAGMMKBOAOP_HOLLOW_SECTION_COMPONENT", + Self::BigWorldComponent => "MAGMMKBOAOP_BIG_WORLD_COMPONENT", + Self::ElevatorGridComponent => "MAGMMKBOAOP_ELEVATOR_GRID_COMPONENT", + Self::HideComponent => "MAGMMKBOAOP_HIDE_COMPONENT", + Self::HollowSpawnerComponent => "MAGMMKBOAOP_HOLLOW_SPAWNER_COMPONENT", + Self::HollowHackerGameComponent => "MAGMMKBOAOP_HOLLOW_HACKER_GAME_COMPONENT", + Self::PopInteractComponent => "MAGMMKBOAOP_POP_INTERACT_COMPONENT", + Self::AbilityMarkComponent => "MAGMMKBOAOP_ABILITY_MARK_COMPONENT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MAGMMKBOAOP_HOLLOW_COMPONENT_TYPE_NONE" => { + Some(Self::HollowComponentTypeNone) + } + "MAGMMKBOAOP_ID_COMPONENT" => Some(Self::IdComponent), + "MAGMMKBOAOP_POS_COMPONENT" => Some(Self::PosComponent), + "MAGMMKBOAOP_HOLLOW_GRID_COMPONENT" => Some(Self::HollowGridComponent), + "MAGMMKBOAOP_LIGHT_INTERACTION_COMPONENT" => { + Some(Self::LightInteractionComponent) + } + "MAGMMKBOAOP_OWNED_ENTITY_COMPONENT" => Some(Self::OwnedEntityComponent), + "MAGMMKBOAOP_CHESS_UI_COMPONENT" => Some(Self::ChessUiComponent), + "MAGMMKBOAOP_HOLLOW_EVENT_COMPONENT" => Some(Self::HollowEventComponent), + "MAGMMKBOAOP_CATEGORY_COMPONENT" => Some(Self::CategoryComponent), + "MAGMMKBOAOP_BEHAVIOR_COMPONENT" => Some(Self::BehaviorComponent), + "MAGMMKBOAOP_OWNER_COMPONENT" => Some(Self::OwnerComponent), + "MAGMMKBOAOP_HOLLOW_NPC_COMPONENT" => Some(Self::HollowNpcComponent), + "MAGMMKBOAOP_HOLLOW_SNAKE_COMPONENT" => Some(Self::HollowSnakeComponent), + "MAGMMKBOAOP_HOLLOW_LIGHT_COMPONENT" => Some(Self::HollowLightComponent), + "MAGMMKBOAOP_EXT_SCRIPT_VARIABLE_COMPONENT" => { + Some(Self::ExtScriptVariableComponent) + } + "MAGMMKBOAOP_CONWAY_LIFE_GAME_LIFE_STATE_COMPONENT" => { + Some(Self::ConwayLifeGameLifeStateComponent) + } + "MAGMMKBOAOP_ENTITY_PRIORITY_COMPONENT" => { + Some(Self::EntityPriorityComponent) + } + "MAGMMKBOAOP_BIG_TV_CHESS_UI_COMPONENT" => Some(Self::BigTvChessUiComponent), + "MAGMMKBOAOP_GRID_STATE_COMPONENT" => Some(Self::GridStateComponent), + "MAGMMKBOAOP_SPRING_COMPONENT" => Some(Self::SpringComponent), + "MAGMMKBOAOP_BLOCK_COMPONENT" => Some(Self::BlockComponent), + "MAGMMKBOAOP_CONWAY_LIFE_GAME_MGR_COMPONENT" => { + Some(Self::ConwayLifeGameMgrComponent) + } + "MAGMMKBOAOP_HOLLOW_SCRIPT_SEQUENCE_COMPONENT" => { + Some(Self::HollowScriptSequenceComponent) + } + "MAGMMKBOAOP_HOLLOW_SNAPSHOT_COMPONENT" => { + Some(Self::HollowSnapshotComponent) + } + "MAGMMKBOAOP_HOLLOW_MAP_COMPONENT" => Some(Self::HollowMapComponent), + "MAGMMKBOAOP_HOLLOW_PLUGIN_COLLECTION_COMPONENT" => { + Some(Self::HollowPluginCollectionComponent) + } + "MAGMMKBOAOP_INNER_WORLD_PLUGIN" => Some(Self::InnerWorldPlugin), + "MAGMMKBOAOP_HOLLOW_LIGHT_PLUGIN" => Some(Self::HollowLightPlugin), + "MAGMMKBOAOP_HOLLOW_NPC_MGR_COMPONENT" => Some(Self::HollowNpcMgrComponent), + "MAGMMKBOAOP_HOLLOW_TIME_REWIND_COMPONENT" => { + Some(Self::HollowTimeRewindComponent) + } + "MAGMMKBOAOP_NPC_POS_EXT" => Some(Self::NpcPosExt), + "MAGMMKBOAOP_CLIENT_STATE_COMPONENT" => Some(Self::ClientStateComponent), + "MAGMMKBOAOP_PLAYER_POS_EXT" => Some(Self::PlayerPosExt), + "MAGMMKBOAOP_HOLLOW_REPAIR_ZONE_COMPONENT" => { + Some(Self::HollowRepairZoneComponent) + } + "MAGMMKBOAOP_HOLLOW_GLOBAL_COMPONENT" => Some(Self::HollowGlobalComponent), + "MAGMMKBOAOP_AIM_RECT_COMPONENT" => Some(Self::AimRectComponent), + "MAGMMKBOAOP_SIGNAL_MGR_COMPONENT" => Some(Self::SignalMgrComponent), + "MAGMMKBOAOP_HOLLOW_FLOOR_MGR_COMPONENT" => { + Some(Self::HollowFloorMgrComponent) + } + "MAGMMKBOAOP_AREA_CAMERA_COMPONENT" => Some(Self::AreaCameraComponent), + "MAGMMKBOAOP_GRID_INNER_WORLD_COMPONENT" => { + Some(Self::GridInnerWorldComponent) + } + "MAGMMKBOAOP_HOLLOW_SECTION_COMPONENT" => Some(Self::HollowSectionComponent), + "MAGMMKBOAOP_BIG_WORLD_COMPONENT" => Some(Self::BigWorldComponent), + "MAGMMKBOAOP_ELEVATOR_GRID_COMPONENT" => Some(Self::ElevatorGridComponent), + "MAGMMKBOAOP_HIDE_COMPONENT" => Some(Self::HideComponent), + "MAGMMKBOAOP_HOLLOW_SPAWNER_COMPONENT" => Some(Self::HollowSpawnerComponent), + "MAGMMKBOAOP_HOLLOW_HACKER_GAME_COMPONENT" => { + Some(Self::HollowHackerGameComponent) + } + "MAGMMKBOAOP_POP_INTERACT_COMPONENT" => Some(Self::PopInteractComponent), + "MAGMMKBOAOP_ABILITY_MARK_COMPONENT" => Some(Self::AbilityMarkComponent), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ModTimeType { + ModTimeTypeNone = 0, + ModTimeSet = 1, + ModTimeAddPeriod = 2, + ModTimeAddMinute = 3, +} +impl ModTimeType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ModTimeTypeNone => "ModTimeType_MOD_TIME_TYPE_NONE", + Self::ModTimeSet => "ModTimeType_MOD_TIME_SET", + Self::ModTimeAddPeriod => "ModTimeType_MOD_TIME_ADD_PERIOD", + Self::ModTimeAddMinute => "ModTimeType_MOD_TIME_ADD_MINUTE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ModTimeType_MOD_TIME_TYPE_NONE" => Some(Self::ModTimeTypeNone), + "ModTimeType_MOD_TIME_SET" => Some(Self::ModTimeSet), + "ModTimeType_MOD_TIME_ADD_PERIOD" => Some(Self::ModTimeAddPeriod), + "ModTimeType_MOD_TIME_ADD_MINUTE" => Some(Self::ModTimeAddMinute), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Deifoghmjog { + Labkmmfpchd = 0, + Dmdignojigg = 1, + Gpdocjmbfbj = 2, + Njmjnjfbmdd = 3, +} +impl Deifoghmjog { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Labkmmfpchd => "DEIFOGHMJOG_LABKMMFPCHD", + Self::Dmdignojigg => "DEIFOGHMJOG_DMDIGNOJIGG", + Self::Gpdocjmbfbj => "DEIFOGHMJOG_GPDOCJMBFBJ", + Self::Njmjnjfbmdd => "DEIFOGHMJOG_NJMJNJFBMDD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DEIFOGHMJOG_LABKMMFPCHD" => Some(Self::Labkmmfpchd), + "DEIFOGHMJOG_DMDIGNOJIGG" => Some(Self::Dmdignojigg), + "DEIFOGHMJOG_GPDOCJMBFBJ" => Some(Self::Gpdocjmbfbj), + "DEIFOGHMJOG_NJMJNJFBMDD" => Some(Self::Njmjnjfbmdd), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Obboenhedgg { + Libhoibgdoe = 0, + Hmolhaahbin = 1, + Emecidnakdn = 2, + Mljlpfbfbnd = 3, + Jhlgnheddjl = 4, +} +impl Obboenhedgg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Libhoibgdoe => "OBBOENHEDGG_LIBHOIBGDOE", + Self::Hmolhaahbin => "OBBOENHEDGG_HMOLHAAHBIN", + Self::Emecidnakdn => "OBBOENHEDGG_EMECIDNAKDN", + Self::Mljlpfbfbnd => "OBBOENHEDGG_MLJLPFBFBND", + Self::Jhlgnheddjl => "OBBOENHEDGG_JHLGNHEDDJL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OBBOENHEDGG_LIBHOIBGDOE" => Some(Self::Libhoibgdoe), + "OBBOENHEDGG_HMOLHAAHBIN" => Some(Self::Hmolhaahbin), + "OBBOENHEDGG_EMECIDNAKDN" => Some(Self::Emecidnakdn), + "OBBOENHEDGG_MLJLPFBFBND" => Some(Self::Mljlpfbfbnd), + "OBBOENHEDGG_JHLGNHEDDJL" => Some(Self::Jhlgnheddjl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jfhdloddlhg { + Popgdkpchmg = 0, + Lhhnhpbdelj = 1, + Oglodbkjele = 2, +} +impl Jfhdloddlhg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Popgdkpchmg => "JFHDLODDLHG_POPGDKPCHMG", + Self::Lhhnhpbdelj => "JFHDLODDLHG_LHHNHPBDELJ", + Self::Oglodbkjele => "JFHDLODDLHG_OGLODBKJELE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JFHDLODDLHG_POPGDKPCHMG" => Some(Self::Popgdkpchmg), + "JFHDLODDLHG_LHHNHPBDELJ" => Some(Self::Lhhnhpbdelj), + "JFHDLODDLHG_OGLODBKJELE" => Some(Self::Oglodbkjele), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gligppjbajg { + Bphchocdnig = 0, +} +impl Gligppjbajg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bphchocdnig => "GLIGPPJBAJG_BPHCHOCDNIG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GLIGPPJBAJG_BPHCHOCDNIG" => Some(Self::Bphchocdnig), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dljpnlkgnli { + Dmbbjlebdog = 0, + Hochiapbkmk = 1, + Fjbjpjghill = 2, + Icjkoedeggb = 3, +} +impl Dljpnlkgnli { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dmbbjlebdog => "DLJPNLKGNLI_DMBBJLEBDOG", + Self::Hochiapbkmk => "DLJPNLKGNLI_HOCHIAPBKMK", + Self::Fjbjpjghill => "DLJPNLKGNLI_FJBJPJGHILL", + Self::Icjkoedeggb => "DLJPNLKGNLI_ICJKOEDEGGB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DLJPNLKGNLI_DMBBJLEBDOG" => Some(Self::Dmbbjlebdog), + "DLJPNLKGNLI_HOCHIAPBKMK" => Some(Self::Hochiapbkmk), + "DLJPNLKGNLI_FJBJPJGHILL" => Some(Self::Fjbjpjghill), + "DLJPNLKGNLI_ICJKOEDEGGB" => Some(Self::Icjkoedeggb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kkafdocnnod { + Cabenjkgimo = 0, + Icaoaejnbno = 1, + Claaaaajpog = 2, + Aogjkejhdka = 3, + Adlkoiimboa = 4, + Helaabncclk = 5, +} +impl Kkafdocnnod { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cabenjkgimo => "KKAFDOCNNOD_CABENJKGIMO", + Self::Icaoaejnbno => "KKAFDOCNNOD_ICAOAEJNBNO", + Self::Claaaaajpog => "KKAFDOCNNOD_CLAAAAAJPOG", + Self::Aogjkejhdka => "KKAFDOCNNOD_AOGJKEJHDKA", + Self::Adlkoiimboa => "KKAFDOCNNOD_ADLKOIIMBOA", + Self::Helaabncclk => "KKAFDOCNNOD_HELAABNCCLK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KKAFDOCNNOD_CABENJKGIMO" => Some(Self::Cabenjkgimo), + "KKAFDOCNNOD_ICAOAEJNBNO" => Some(Self::Icaoaejnbno), + "KKAFDOCNNOD_CLAAAAAJPOG" => Some(Self::Claaaaajpog), + "KKAFDOCNNOD_AOGJKEJHDKA" => Some(Self::Aogjkejhdka), + "KKAFDOCNNOD_ADLKOIIMBOA" => Some(Self::Adlkoiimboa), + "KKAFDOCNNOD_HELAABNCCLK" => Some(Self::Helaabncclk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum HollowSystemUiState { + HollowSystemUiStateNormal = 0, + HollowSystemUiStateClose = 1, + HollowSystemUiStateBrighten = 2, +} +impl HollowSystemUiState { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowSystemUiStateNormal => { + "HollowSystemUIState_HOLLOW_SYSTEM_UI_STATE_NORMAL" + } + Self::HollowSystemUiStateClose => { + "HollowSystemUIState_HOLLOW_SYSTEM_UI_STATE_CLOSE" + } + Self::HollowSystemUiStateBrighten => { + "HollowSystemUIState_HOLLOW_SYSTEM_UI_STATE_BRIGHTEN" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HollowSystemUIState_HOLLOW_SYSTEM_UI_STATE_NORMAL" => { + Some(Self::HollowSystemUiStateNormal) + } + "HollowSystemUIState_HOLLOW_SYSTEM_UI_STATE_CLOSE" => { + Some(Self::HollowSystemUiStateClose) + } + "HollowSystemUIState_HOLLOW_SYSTEM_UI_STATE_BRIGHTEN" => { + Some(Self::HollowSystemUiStateBrighten) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mjjdmeldjen { + Dlfennoapah = 0, + Pagmannkigk = 1, +} +impl Mjjdmeldjen { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dlfennoapah => "MJJDMELDJEN_DLFENNOAPAH", + Self::Pagmannkigk => "MJJDMELDJEN_PAGMANNKIGK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MJJDMELDJEN_DLFENNOAPAH" => Some(Self::Dlfennoapah), + "MJJDMELDJEN_PAGMANNKIGK" => Some(Self::Pagmannkigk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cimbgoppomn { + Ikkonnhkphb = 0, + Maibglpgblb = 1, + Ephfogcaodb = 2, +} +impl Cimbgoppomn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ikkonnhkphb => "CIMBGOPPOMN_IKKONNHKPHB", + Self::Maibglpgblb => "CIMBGOPPOMN_MAIBGLPGBLB", + Self::Ephfogcaodb => "CIMBGOPPOMN_EPHFOGCAODB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CIMBGOPPOMN_IKKONNHKPHB" => Some(Self::Ikkonnhkphb), + "CIMBGOPPOMN_MAIBGLPGBLB" => Some(Self::Maibglpgblb), + "CIMBGOPPOMN_EPHFOGCAODB" => Some(Self::Ephfogcaodb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hkkbglfmhme { + Cdbjkimepcd = 0, + Bgmhllakald = 1, + Glkelpimgcf = 2, + Dhcnfnmbafb = 3, + Oeimbnabbjm = 4, + Ichinbebdni = 5, + Adjadldancf = 6, + Njlbaenpllo = 7, + Hdgboihojem = 8, +} +impl Hkkbglfmhme { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cdbjkimepcd => "HKKBGLFMHME_CDBJKIMEPCD", + Self::Bgmhllakald => "HKKBGLFMHME_BGMHLLAKALD", + Self::Glkelpimgcf => "HKKBGLFMHME_GLKELPIMGCF", + Self::Dhcnfnmbafb => "HKKBGLFMHME_DHCNFNMBAFB", + Self::Oeimbnabbjm => "HKKBGLFMHME_OEIMBNABBJM", + Self::Ichinbebdni => "HKKBGLFMHME_ICHINBEBDNI", + Self::Adjadldancf => "HKKBGLFMHME_ADJADLDANCF", + Self::Njlbaenpllo => "HKKBGLFMHME_NJLBAENPLLO", + Self::Hdgboihojem => "HKKBGLFMHME_HDGBOIHOJEM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HKKBGLFMHME_CDBJKIMEPCD" => Some(Self::Cdbjkimepcd), + "HKKBGLFMHME_BGMHLLAKALD" => Some(Self::Bgmhllakald), + "HKKBGLFMHME_GLKELPIMGCF" => Some(Self::Glkelpimgcf), + "HKKBGLFMHME_DHCNFNMBAFB" => Some(Self::Dhcnfnmbafb), + "HKKBGLFMHME_OEIMBNABBJM" => Some(Self::Oeimbnabbjm), + "HKKBGLFMHME_ICHINBEBDNI" => Some(Self::Ichinbebdni), + "HKKBGLFMHME_ADJADLDANCF" => Some(Self::Adjadldancf), + "HKKBGLFMHME_NJLBAENPLLO" => Some(Self::Njlbaenpllo), + "HKKBGLFMHME_HDGBOIHOJEM" => Some(Self::Hdgboihojem), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fcnchbcckng { + Gpfdkkajaek = 0, + Jepioegiaej = 1, + Kpnfhbchpfg = 2, + Nbdohogplnh = 3, +} +impl Fcnchbcckng { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gpfdkkajaek => "FCNCHBCCKNG_GPFDKKAJAEK", + Self::Jepioegiaej => "FCNCHBCCKNG_JEPIOEGIAEJ", + Self::Kpnfhbchpfg => "FCNCHBCCKNG_KPNFHBCHPFG", + Self::Nbdohogplnh => "FCNCHBCCKNG_NBDOHOGPLNH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FCNCHBCCKNG_GPFDKKAJAEK" => Some(Self::Gpfdkkajaek), + "FCNCHBCCKNG_JEPIOEGIAEJ" => Some(Self::Jepioegiaej), + "FCNCHBCCKNG_KPNFHBCHPFG" => Some(Self::Kpnfhbchpfg), + "FCNCHBCCKNG_NBDOHOGPLNH" => Some(Self::Nbdohogplnh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cdokalhdjfg { + QuestStatusUnlocked = 0, + QuestStateInprogress = 1, + QuestStateFinished = 2, + QuestStateClosed = 3, +} +impl Cdokalhdjfg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::QuestStatusUnlocked => "CDOKALHDJFG_QUEST_STATUS_UNLOCKED", + Self::QuestStateInprogress => "CDOKALHDJFG_QUEST_STATE_INPROGRESS", + Self::QuestStateFinished => "CDOKALHDJFG_QUEST_STATE_FINISHED", + Self::QuestStateClosed => "CDOKALHDJFG_QUEST_STATE_CLOSED", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CDOKALHDJFG_QUEST_STATUS_UNLOCKED" => Some(Self::QuestStatusUnlocked), + "CDOKALHDJFG_QUEST_STATE_INPROGRESS" => Some(Self::QuestStateInprogress), + "CDOKALHDJFG_QUEST_STATE_FINISHED" => Some(Self::QuestStateFinished), + "CDOKALHDJFG_QUEST_STATE_CLOSED" => Some(Self::QuestStateClosed), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pidbcajkigi { + HollowElevatorDirectionNone = 0, + HollowElevatorDirectionUp = 1, + HollowElevatorDirectionDown = 2, +} +impl Pidbcajkigi { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowElevatorDirectionNone => { + "PIDBCAJKIGI_HOLLOW_ELEVATOR_DIRECTION_NONE" + } + Self::HollowElevatorDirectionUp => "PIDBCAJKIGI_HOLLOW_ELEVATOR_DIRECTION_UP", + Self::HollowElevatorDirectionDown => { + "PIDBCAJKIGI_HOLLOW_ELEVATOR_DIRECTION_DOWN" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PIDBCAJKIGI_HOLLOW_ELEVATOR_DIRECTION_NONE" => { + Some(Self::HollowElevatorDirectionNone) + } + "PIDBCAJKIGI_HOLLOW_ELEVATOR_DIRECTION_UP" => { + Some(Self::HollowElevatorDirectionUp) + } + "PIDBCAJKIGI_HOLLOW_ELEVATOR_DIRECTION_DOWN" => { + Some(Self::HollowElevatorDirectionDown) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hidmgkikmce { + Ecdkfeibhce = 0, +} +impl Hidmgkikmce { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ecdkfeibhce => "HIDMGKIKMCE_ECDKFEIBHCE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HIDMGKIKMCE_ECDKFEIBHCE" => Some(Self::Ecdkfeibhce), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nljhpikkdnd { + DoAdd = 0, + DoRemove = 1, +} +impl Nljhpikkdnd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::DoAdd => "NLJHPIKKDND_DO_ADD", + Self::DoRemove => "NLJHPIKKDND_DO_REMOVE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NLJHPIKKDND_DO_ADD" => Some(Self::DoAdd), + "NLJHPIKKDND_DO_REMOVE" => Some(Self::DoRemove), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Glcicgcnnbg { + Ajbdphnlcaf = 0, +} +impl Glcicgcnnbg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ajbdphnlcaf => "GLCICGCNNBG_AJBDPHNLCAF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GLCICGCNNBG_AJBDPHNLCAF" => Some(Self::Ajbdphnlcaf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cdjffkonbjl { + FreezeCameraTypeNone = 0, + FreezeCameraTypeManual = 1, + FreezeCameraTypeCenter = 2, +} +impl Cdjffkonbjl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::FreezeCameraTypeNone => "CDJFFKONBJL_FREEZE_CAMERA_TYPE_NONE", + Self::FreezeCameraTypeManual => "CDJFFKONBJL_FREEZE_CAMERA_TYPE_MANUAL", + Self::FreezeCameraTypeCenter => "CDJFFKONBJL_FREEZE_CAMERA_TYPE_CENTER", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CDJFFKONBJL_FREEZE_CAMERA_TYPE_NONE" => Some(Self::FreezeCameraTypeNone), + "CDJFFKONBJL_FREEZE_CAMERA_TYPE_MANUAL" => Some(Self::FreezeCameraTypeManual), + "CDJFFKONBJL_FREEZE_CAMERA_TYPE_CENTER" => Some(Self::FreezeCameraTypeCenter), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nfefopeahaa { + Bhflohlggal = 0, +} +impl Nfefopeahaa { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bhflohlggal => "NFEFOPEAHAA_BHFLOHLGGAL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NFEFOPEAHAA_BHFLOHLGGAL" => Some(Self::Bhflohlggal), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Inlkllhplnm { + Fhmkfcamdjo = 0, + Konekfnngmd = 1, + Feaakbhiglo = 2, + Lhahmolamej = 3, + Icmagaplgik = 4, + Fdkcflbdhoa = 5, + Chjlnonmegh = 6, + Ndfoppckmig = 7, + Mcbceapocid = 8, + Behpfdiiojj = 9, + Ioeakkenahe = 10, + Jhklcjeinol = 11, + Ekpbndhekpj = 12, + Epoplaadlhc = 13, +} +impl Inlkllhplnm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fhmkfcamdjo => "INLKLLHPLNM_FHMKFCAMDJO", + Self::Konekfnngmd => "INLKLLHPLNM_KONEKFNNGMD", + Self::Feaakbhiglo => "INLKLLHPLNM_FEAAKBHIGLO", + Self::Lhahmolamej => "INLKLLHPLNM_LHAHMOLAMEJ", + Self::Icmagaplgik => "INLKLLHPLNM_ICMAGAPLGIK", + Self::Fdkcflbdhoa => "INLKLLHPLNM_FDKCFLBDHOA", + Self::Chjlnonmegh => "INLKLLHPLNM_CHJLNONMEGH", + Self::Ndfoppckmig => "INLKLLHPLNM_NDFOPPCKMIG", + Self::Mcbceapocid => "INLKLLHPLNM_MCBCEAPOCID", + Self::Behpfdiiojj => "INLKLLHPLNM_BEHPFDIIOJJ", + Self::Ioeakkenahe => "INLKLLHPLNM_IOEAKKENAHE", + Self::Jhklcjeinol => "INLKLLHPLNM_JHKLCJEINOL", + Self::Ekpbndhekpj => "INLKLLHPLNM_EKPBNDHEKPJ", + Self::Epoplaadlhc => "INLKLLHPLNM_EPOPLAADLHC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "INLKLLHPLNM_FHMKFCAMDJO" => Some(Self::Fhmkfcamdjo), + "INLKLLHPLNM_KONEKFNNGMD" => Some(Self::Konekfnngmd), + "INLKLLHPLNM_FEAAKBHIGLO" => Some(Self::Feaakbhiglo), + "INLKLLHPLNM_LHAHMOLAMEJ" => Some(Self::Lhahmolamej), + "INLKLLHPLNM_ICMAGAPLGIK" => Some(Self::Icmagaplgik), + "INLKLLHPLNM_FDKCFLBDHOA" => Some(Self::Fdkcflbdhoa), + "INLKLLHPLNM_CHJLNONMEGH" => Some(Self::Chjlnonmegh), + "INLKLLHPLNM_NDFOPPCKMIG" => Some(Self::Ndfoppckmig), + "INLKLLHPLNM_MCBCEAPOCID" => Some(Self::Mcbceapocid), + "INLKLLHPLNM_BEHPFDIIOJJ" => Some(Self::Behpfdiiojj), + "INLKLLHPLNM_IOEAKKENAHE" => Some(Self::Ioeakkenahe), + "INLKLLHPLNM_JHKLCJEINOL" => Some(Self::Jhklcjeinol), + "INLKLLHPLNM_EKPBNDHEKPJ" => Some(Self::Ekpbndhekpj), + "INLKLLHPLNM_EPOPLAADLHC" => Some(Self::Epoplaadlhc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bccgmnmhkop { + Mfhnmdaanfn = 0, + Phbpphhodkk = 1, + Blaggdinllk = 2, + Blcalejnemb = 3, +} +impl Bccgmnmhkop { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mfhnmdaanfn => "BCCGMNMHKOP_MFHNMDAANFN", + Self::Phbpphhodkk => "BCCGMNMHKOP_PHBPPHHODKK", + Self::Blaggdinllk => "BCCGMNMHKOP_BLAGGDINLLK", + Self::Blcalejnemb => "BCCGMNMHKOP_BLCALEJNEMB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BCCGMNMHKOP_MFHNMDAANFN" => Some(Self::Mfhnmdaanfn), + "BCCGMNMHKOP_PHBPPHHODKK" => Some(Self::Phbpphhodkk), + "BCCGMNMHKOP_BLAGGDINLLK" => Some(Self::Blaggdinllk), + "BCCGMNMHKOP_BLCALEJNEMB" => Some(Self::Blcalejnemb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hfcmlllhanl { + Nkagnbgkmbp = 0, + Feaocmemjfg = 1, + Pcdkgoeifkh = 2, + Aajondenjhb = 3, +} +impl Hfcmlllhanl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nkagnbgkmbp => "HFCMLLLHANL_NKAGNBGKMBP", + Self::Feaocmemjfg => "HFCMLLLHANL_FEAOCMEMJFG", + Self::Pcdkgoeifkh => "HFCMLLLHANL_PCDKGOEIFKH", + Self::Aajondenjhb => "HFCMLLLHANL_AAJONDENJHB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HFCMLLLHANL_NKAGNBGKMBP" => Some(Self::Nkagnbgkmbp), + "HFCMLLLHANL_FEAOCMEMJFG" => Some(Self::Feaocmemjfg), + "HFCMLLLHANL_PCDKGOEIFKH" => Some(Self::Pcdkgoeifkh), + "HFCMLLLHANL_AAJONDENJHB" => Some(Self::Aajondenjhb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kclkglckean { + Ceaibkaiebi = 0, + Gdngdnlllog = 1, +} +impl Kclkglckean { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ceaibkaiebi => "KCLKGLCKEAN_CEAIBKAIEBI", + Self::Gdngdnlllog => "KCLKGLCKEAN_GDNGDNLLLOG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KCLKGLCKEAN_CEAIBKAIEBI" => Some(Self::Ceaibkaiebi), + "KCLKGLCKEAN_GDNGDNLLLOG" => Some(Self::Gdngdnlllog), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cpjbilmehhd { + None = 0, + Str = 1, + Hash = 2, +} +impl Cpjbilmehhd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::None => "CPJBILMEHHD_None", + Self::Str => "CPJBILMEHHD_Str", + Self::Hash => "CPJBILMEHHD_Hash", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CPJBILMEHHD_None" => Some(Self::None), + "CPJBILMEHHD_Str" => Some(Self::Str), + "CPJBILMEHHD_Hash" => Some(Self::Hash), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Blphpejkjcg { + Apknfdohmbl = 0, + Bgccplaockj = 1, + Cfdfbkkbhbl = 2, +} +impl Blphpejkjcg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Apknfdohmbl => "BLPHPEJKJCG_APKNFDOHMBL", + Self::Bgccplaockj => "BLPHPEJKJCG_BGCCPLAOCKJ", + Self::Cfdfbkkbhbl => "BLPHPEJKJCG_CFDFBKKBHBL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BLPHPEJKJCG_APKNFDOHMBL" => Some(Self::Apknfdohmbl), + "BLPHPEJKJCG_BGCCPLAOCKJ" => Some(Self::Bgccplaockj), + "BLPHPEJKJCG_CFDFBKKBHBL" => Some(Self::Cfdfbkkbhbl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Inaldfpplpn { + Jjcondpgjki = 0, + Iihmchmbhkp = 1, + Jnljhdoillc = 2, + Nehhfgjdfic = 3, + Bnjlkcbklen = 4, + Pjlgbmlphll = 5, + Hofllaoekch = 6, + Mbboifbgfoj = 7, + Kcdeikfkbgh = 8, + Jdmhaajmklh = 9, +} +impl Inaldfpplpn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jjcondpgjki => "INALDFPPLPN_JJCONDPGJKI", + Self::Iihmchmbhkp => "INALDFPPLPN_IIHMCHMBHKP", + Self::Jnljhdoillc => "INALDFPPLPN_JNLJHDOILLC", + Self::Nehhfgjdfic => "INALDFPPLPN_NEHHFGJDFIC", + Self::Bnjlkcbklen => "INALDFPPLPN_BNJLKCBKLEN", + Self::Pjlgbmlphll => "INALDFPPLPN_PJLGBMLPHLL", + Self::Hofllaoekch => "INALDFPPLPN_HOFLLAOEKCH", + Self::Mbboifbgfoj => "INALDFPPLPN_MBBOIFBGFOJ", + Self::Kcdeikfkbgh => "INALDFPPLPN_KCDEIKFKBGH", + Self::Jdmhaajmklh => "INALDFPPLPN_JDMHAAJMKLH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "INALDFPPLPN_JJCONDPGJKI" => Some(Self::Jjcondpgjki), + "INALDFPPLPN_IIHMCHMBHKP" => Some(Self::Iihmchmbhkp), + "INALDFPPLPN_JNLJHDOILLC" => Some(Self::Jnljhdoillc), + "INALDFPPLPN_NEHHFGJDFIC" => Some(Self::Nehhfgjdfic), + "INALDFPPLPN_BNJLKCBKLEN" => Some(Self::Bnjlkcbklen), + "INALDFPPLPN_PJLGBMLPHLL" => Some(Self::Pjlgbmlphll), + "INALDFPPLPN_HOFLLAOEKCH" => Some(Self::Hofllaoekch), + "INALDFPPLPN_MBBOIFBGFOJ" => Some(Self::Mbboifbgfoj), + "INALDFPPLPN_KCDEIKFKBGH" => Some(Self::Kcdeikfkbgh), + "INALDFPPLPN_JDMHAAJMKLH" => Some(Self::Jdmhaajmklh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ohpmejmnekp { + PlayModeNone = 0, + PlayModeDefault = 1, + PlayModeBigWorld = 2, + PlayModeAbyss = 3, +} +impl Ohpmejmnekp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::PlayModeNone => "OHPMEJMNEKP_PLAY_MODE_NONE", + Self::PlayModeDefault => "OHPMEJMNEKP_PLAY_MODE_DEFAULT", + Self::PlayModeBigWorld => "OHPMEJMNEKP_PLAY_MODE_BIG_WORLD", + Self::PlayModeAbyss => "OHPMEJMNEKP_PLAY_MODE_ABYSS", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OHPMEJMNEKP_PLAY_MODE_NONE" => Some(Self::PlayModeNone), + "OHPMEJMNEKP_PLAY_MODE_DEFAULT" => Some(Self::PlayModeDefault), + "OHPMEJMNEKP_PLAY_MODE_BIG_WORLD" => Some(Self::PlayModeBigWorld), + "OHPMEJMNEKP_PLAY_MODE_ABYSS" => Some(Self::PlayModeAbyss), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gpnmabahhfd { + Odplpebpmhl = 0, + Fiddamjlkfo = 1, + Onoghhejpga = 2, + Jbmkfmgfepj = 3, + Phggljikmdc = 4, + Egaagckmoom = 5, + Bpbmlgeeoah = 6, + Bgjihhdcbfi = 7, + Mmfliclgoad = 8, + Lcfleedplpj = 9, + Caplicdecjo = 10, + Jhciidpdkim = 11, +} +impl Gpnmabahhfd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Odplpebpmhl => "GPNMABAHHFD_ODPLPEBPMHL", + Self::Fiddamjlkfo => "GPNMABAHHFD_FIDDAMJLKFO", + Self::Onoghhejpga => "GPNMABAHHFD_ONOGHHEJPGA", + Self::Jbmkfmgfepj => "GPNMABAHHFD_JBMKFMGFEPJ", + Self::Phggljikmdc => "GPNMABAHHFD_PHGGLJIKMDC", + Self::Egaagckmoom => "GPNMABAHHFD_EGAAGCKMOOM", + Self::Bpbmlgeeoah => "GPNMABAHHFD_BPBMLGEEOAH", + Self::Bgjihhdcbfi => "GPNMABAHHFD_BGJIHHDCBFI", + Self::Mmfliclgoad => "GPNMABAHHFD_MMFLICLGOAD", + Self::Lcfleedplpj => "GPNMABAHHFD_LCFLEEDPLPJ", + Self::Caplicdecjo => "GPNMABAHHFD_CAPLICDECJO", + Self::Jhciidpdkim => "GPNMABAHHFD_JHCIIDPDKIM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GPNMABAHHFD_ODPLPEBPMHL" => Some(Self::Odplpebpmhl), + "GPNMABAHHFD_FIDDAMJLKFO" => Some(Self::Fiddamjlkfo), + "GPNMABAHHFD_ONOGHHEJPGA" => Some(Self::Onoghhejpga), + "GPNMABAHHFD_JBMKFMGFEPJ" => Some(Self::Jbmkfmgfepj), + "GPNMABAHHFD_PHGGLJIKMDC" => Some(Self::Phggljikmdc), + "GPNMABAHHFD_EGAAGCKMOOM" => Some(Self::Egaagckmoom), + "GPNMABAHHFD_BPBMLGEEOAH" => Some(Self::Bpbmlgeeoah), + "GPNMABAHHFD_BGJIHHDCBFI" => Some(Self::Bgjihhdcbfi), + "GPNMABAHHFD_MMFLICLGOAD" => Some(Self::Mmfliclgoad), + "GPNMABAHHFD_LCFLEEDPLPJ" => Some(Self::Lcfleedplpj), + "GPNMABAHHFD_CAPLICDECJO" => Some(Self::Caplicdecjo), + "GPNMABAHHFD_JHCIIDPDKIM" => Some(Self::Jhciidpdkim), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mmfcknlpofd { + Bpmkbfakcno = 0, + Fhienjohlfe = 1, + Gjmbhgklhbe = 2, + Defdnelbelh = 3, + Cgkijmjbjbh = 4, + Cabhejndkdd = 5, + Enoofkgdjog = 6, +} +impl Mmfcknlpofd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bpmkbfakcno => "MMFCKNLPOFD_BPMKBFAKCNO", + Self::Fhienjohlfe => "MMFCKNLPOFD_FHIENJOHLFE", + Self::Gjmbhgklhbe => "MMFCKNLPOFD_GJMBHGKLHBE", + Self::Defdnelbelh => "MMFCKNLPOFD_DEFDNELBELH", + Self::Cgkijmjbjbh => "MMFCKNLPOFD_CGKIJMJBJBH", + Self::Cabhejndkdd => "MMFCKNLPOFD_CABHEJNDKDD", + Self::Enoofkgdjog => "MMFCKNLPOFD_ENOOFKGDJOG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MMFCKNLPOFD_BPMKBFAKCNO" => Some(Self::Bpmkbfakcno), + "MMFCKNLPOFD_FHIENJOHLFE" => Some(Self::Fhienjohlfe), + "MMFCKNLPOFD_GJMBHGKLHBE" => Some(Self::Gjmbhgklhbe), + "MMFCKNLPOFD_DEFDNELBELH" => Some(Self::Defdnelbelh), + "MMFCKNLPOFD_CGKIJMJBJBH" => Some(Self::Cgkijmjbjbh), + "MMFCKNLPOFD_CABHEJNDKDD" => Some(Self::Cabhejndkdd), + "MMFCKNLPOFD_ENOOFKGDJOG" => Some(Self::Enoofkgdjog), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pdgafejkkie { + PartnerEventStateNone = 0, + PartnerEventStateStart = 1, +} +impl Pdgafejkkie { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::PartnerEventStateNone => "PDGAFEJKKIE_PARTNER_EVENT_STATE_NONE", + Self::PartnerEventStateStart => "PDGAFEJKKIE_PARTNER_EVENT_STATE_START", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PDGAFEJKKIE_PARTNER_EVENT_STATE_NONE" => Some(Self::PartnerEventStateNone), + "PDGAFEJKKIE_PARTNER_EVENT_STATE_START" => Some(Self::PartnerEventStateStart), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bhenkaknmln { + Ghdokcbjdih = 0, + Jhhcflkccli = 1, + Ifhffdpjehg = 2, +} +impl Bhenkaknmln { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ghdokcbjdih => "BHENKAKNMLN_GHDOKCBJDIH", + Self::Jhhcflkccli => "BHENKAKNMLN_JHHCFLKCCLI", + Self::Ifhffdpjehg => "BHENKAKNMLN_IFHFFDPJEHG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BHENKAKNMLN_GHDOKCBJDIH" => Some(Self::Ghdokcbjdih), + "BHENKAKNMLN_JHHCFLKCCLI" => Some(Self::Jhhcflkccli), + "BHENKAKNMLN_IFHFFDPJEHG" => Some(Self::Ifhffdpjehg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ogahjjdbmdf { + Gnohamdedjf = 0, + Hmhglpmnane = 1, + Lmheagjigcp = 2, + Djjncpmcedb = 3, + Igbndmodegi = 4, + Ienkildccko = 5, +} +impl Ogahjjdbmdf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gnohamdedjf => "OGAHJJDBMDF_GNOHAMDEDJF", + Self::Hmhglpmnane => "OGAHJJDBMDF_HMHGLPMNANE", + Self::Lmheagjigcp => "OGAHJJDBMDF_LMHEAGJIGCP", + Self::Djjncpmcedb => "OGAHJJDBMDF_DJJNCPMCEDB", + Self::Igbndmodegi => "OGAHJJDBMDF_IGBNDMODEGI", + Self::Ienkildccko => "OGAHJJDBMDF_IENKILDCCKO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OGAHJJDBMDF_GNOHAMDEDJF" => Some(Self::Gnohamdedjf), + "OGAHJJDBMDF_HMHGLPMNANE" => Some(Self::Hmhglpmnane), + "OGAHJJDBMDF_LMHEAGJIGCP" => Some(Self::Lmheagjigcp), + "OGAHJJDBMDF_DJJNCPMCEDB" => Some(Self::Djjncpmcedb), + "OGAHJJDBMDF_IGBNDMODEGI" => Some(Self::Igbndmodegi), + "OGAHJJDBMDF_IENKILDCCKO" => Some(Self::Ienkildccko), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ecfokccokko { + Ialnngomkei = 0, + Nbgldlblnha = 1, + Idjpjpidmeh = 2, +} +impl Ecfokccokko { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ialnngomkei => "ECFOKCCOKKO_IALNNGOMKEI", + Self::Nbgldlblnha => "ECFOKCCOKKO_NBGLDLBLNHA", + Self::Idjpjpidmeh => "ECFOKCCOKKO_IDJPJPIDMEH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ECFOKCCOKKO_IALNNGOMKEI" => Some(Self::Ialnngomkei), + "ECFOKCCOKKO_NBGLDLBLNHA" => Some(Self::Nbgldlblnha), + "ECFOKCCOKKO_IDJPJPIDMEH" => Some(Self::Idjpjpidmeh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hfjkkkckbkh { + ActivityBubbleTypeNone = 0, + ActivityBubbleTypeMaincity = 2, + ActivityBubbleTypeSpecial = 3, +} +impl Hfjkkkckbkh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ActivityBubbleTypeNone => "HFJKKKCKBKH_ACTIVITY_BUBBLE_TYPE_NONE", + Self::ActivityBubbleTypeMaincity => { + "HFJKKKCKBKH_ACTIVITY_BUBBLE_TYPE_MAINCITY" + } + Self::ActivityBubbleTypeSpecial => "HFJKKKCKBKH_ACTIVITY_BUBBLE_TYPE_SPECIAL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HFJKKKCKBKH_ACTIVITY_BUBBLE_TYPE_NONE" => Some(Self::ActivityBubbleTypeNone), + "HFJKKKCKBKH_ACTIVITY_BUBBLE_TYPE_MAINCITY" => { + Some(Self::ActivityBubbleTypeMaincity) + } + "HFJKKKCKBKH_ACTIVITY_BUBBLE_TYPE_SPECIAL" => { + Some(Self::ActivityBubbleTypeSpecial) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nhgimdongcj { + Ggfechkieej = 0, + Gpcnffcebjn = 1, + Gmilapooncj = 2, + Kegogfbnajk = 3, + Pggikdkmngp = 4, + Acmnehpmmjh = 5, +} +impl Nhgimdongcj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ggfechkieej => "NHGIMDONGCJ_GGFECHKIEEJ", + Self::Gpcnffcebjn => "NHGIMDONGCJ_GPCNFFCEBJN", + Self::Gmilapooncj => "NHGIMDONGCJ_GMILAPOONCJ", + Self::Kegogfbnajk => "NHGIMDONGCJ_KEGOGFBNAJK", + Self::Pggikdkmngp => "NHGIMDONGCJ_PGGIKDKMNGP", + Self::Acmnehpmmjh => "NHGIMDONGCJ_ACMNEHPMMJH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NHGIMDONGCJ_GGFECHKIEEJ" => Some(Self::Ggfechkieej), + "NHGIMDONGCJ_GPCNFFCEBJN" => Some(Self::Gpcnffcebjn), + "NHGIMDONGCJ_GMILAPOONCJ" => Some(Self::Gmilapooncj), + "NHGIMDONGCJ_KEGOGFBNAJK" => Some(Self::Kegogfbnajk), + "NHGIMDONGCJ_PGGIKDKMNGP" => Some(Self::Pggikdkmngp), + "NHGIMDONGCJ_ACMNEHPMMJH" => Some(Self::Acmnehpmmjh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gaccpmapimh { + Imihepgfgmc = 0, + Nbphjomjafj = 1, + Khgimmjninh = 2, + Llbfdpmnhnb = 3, + Opciokmmepb = 4, + Konghodjoln = 5, + Kdenjkpmbee = 6, + Mggbimacocn = 7, + Oodbaffibbf = 8, +} +impl Gaccpmapimh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Imihepgfgmc => "GACCPMAPIMH_IMIHEPGFGMC", + Self::Nbphjomjafj => "GACCPMAPIMH_NBPHJOMJAFJ", + Self::Khgimmjninh => "GACCPMAPIMH_KHGIMMJNINH", + Self::Llbfdpmnhnb => "GACCPMAPIMH_LLBFDPMNHNB", + Self::Opciokmmepb => "GACCPMAPIMH_OPCIOKMMEPB", + Self::Konghodjoln => "GACCPMAPIMH_KONGHODJOLN", + Self::Kdenjkpmbee => "GACCPMAPIMH_KDENJKPMBEE", + Self::Mggbimacocn => "GACCPMAPIMH_MGGBIMACOCN", + Self::Oodbaffibbf => "GACCPMAPIMH_OODBAFFIBBF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GACCPMAPIMH_IMIHEPGFGMC" => Some(Self::Imihepgfgmc), + "GACCPMAPIMH_NBPHJOMJAFJ" => Some(Self::Nbphjomjafj), + "GACCPMAPIMH_KHGIMMJNINH" => Some(Self::Khgimmjninh), + "GACCPMAPIMH_LLBFDPMNHNB" => Some(Self::Llbfdpmnhnb), + "GACCPMAPIMH_OPCIOKMMEPB" => Some(Self::Opciokmmepb), + "GACCPMAPIMH_KONGHODJOLN" => Some(Self::Konghodjoln), + "GACCPMAPIMH_KDENJKPMBEE" => Some(Self::Kdenjkpmbee), + "GACCPMAPIMH_MGGBIMACOCN" => Some(Self::Mggbimacocn), + "GACCPMAPIMH_OODBAFFIBBF" => Some(Self::Oodbaffibbf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lbgflegfilm { + Int = 0, + Bool = 1, + Trigger = 2, + Float = 3, +} +impl Lbgflegfilm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Int => "LBGFLEGFILM_INT", + Self::Bool => "LBGFLEGFILM_BOOL", + Self::Trigger => "LBGFLEGFILM_TRIGGER", + Self::Float => "LBGFLEGFILM_FLOAT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LBGFLEGFILM_INT" => Some(Self::Int), + "LBGFLEGFILM_BOOL" => Some(Self::Bool), + "LBGFLEGFILM_TRIGGER" => Some(Self::Trigger), + "LBGFLEGFILM_FLOAT" => Some(Self::Float), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cogeanaeohd { + Eieojjgndoo = 0, + Opefbonjedi = 1, +} +impl Cogeanaeohd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Eieojjgndoo => "COGEANAEOHD_EIEOJJGNDOO", + Self::Opefbonjedi => "COGEANAEOHD_OPEFBONJEDI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "COGEANAEOHD_EIEOJJGNDOO" => Some(Self::Eieojjgndoo), + "COGEANAEOHD_OPEFBONJEDI" => Some(Self::Opefbonjedi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Delcjaajldf { + Didphcadmbf = 0, + Oapdebcabdo = 1, + Gllgadnolad = 2, + Olokfhloihg = 3, + Imbhpiienlp = 4, + Gnppbajnkjn = 6, +} +impl Delcjaajldf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Didphcadmbf => "DELCJAAJLDF_DIDPHCADMBF", + Self::Oapdebcabdo => "DELCJAAJLDF_OAPDEBCABDO", + Self::Gllgadnolad => "DELCJAAJLDF_GLLGADNOLAD", + Self::Olokfhloihg => "DELCJAAJLDF_OLOKFHLOIHG", + Self::Imbhpiienlp => "DELCJAAJLDF_IMBHPIIENLP", + Self::Gnppbajnkjn => "DELCJAAJLDF_GNPPBAJNKJN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DELCJAAJLDF_DIDPHCADMBF" => Some(Self::Didphcadmbf), + "DELCJAAJLDF_OAPDEBCABDO" => Some(Self::Oapdebcabdo), + "DELCJAAJLDF_GLLGADNOLAD" => Some(Self::Gllgadnolad), + "DELCJAAJLDF_OLOKFHLOIHG" => Some(Self::Olokfhloihg), + "DELCJAAJLDF_IMBHPIIENLP" => Some(Self::Imbhpiienlp), + "DELCJAAJLDF_GNPPBAJNKJN" => Some(Self::Gnppbajnkjn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ibfpmkdjhkb { + Jodmmnpiabn = 0, + Jcfdhagekkk = 1, + Nkcmglblhjb = 2, +} +impl Ibfpmkdjhkb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jodmmnpiabn => "IBFPMKDJHKB_JODMMNPIABN", + Self::Jcfdhagekkk => "IBFPMKDJHKB_JCFDHAGEKKK", + Self::Nkcmglblhjb => "IBFPMKDJHKB_NKCMGLBLHJB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IBFPMKDJHKB_JODMMNPIABN" => Some(Self::Jodmmnpiabn), + "IBFPMKDJHKB_JCFDHAGEKKK" => Some(Self::Jcfdhagekkk), + "IBFPMKDJHKB_NKCMGLBLHJB" => Some(Self::Nkcmglblhjb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fhfmfnnipnb { + Ojbcmcllbgl = 0, + Cecjcbijenf = 1, + Pgphjgogcnb = 2, +} +impl Fhfmfnnipnb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ojbcmcllbgl => "FHFMFNNIPNB_OJBCMCLLBGL", + Self::Cecjcbijenf => "FHFMFNNIPNB_CECJCBIJENF", + Self::Pgphjgogcnb => "FHFMFNNIPNB_PGPHJGOGCNB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FHFMFNNIPNB_OJBCMCLLBGL" => Some(Self::Ojbcmcllbgl), + "FHFMFNNIPNB_CECJCBIJENF" => Some(Self::Cecjcbijenf), + "FHFMFNNIPNB_PGPHJGOGCNB" => Some(Self::Pgphjgogcnb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Okmggiehemc { + Focfclpfbcb = 0, +} +impl Okmggiehemc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Focfclpfbcb => "OKMGGIEHEMC_FOCFCLPFBCB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OKMGGIEHEMC_FOCFCLPFBCB" => Some(Self::Focfclpfbcb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ehfniikenec { + MonsterTypeTagDefault = 0, + MonsterTypeTagEther = 1, + MonsterTypeTagCorrupted = 2, + MonsterTypeTagNeps = 3, + MonsterTypeTagThug = 4, + MonsterTypeTagArmy = 5, + MonsterTypeTagEnergy = 6, +} +impl Ehfniikenec { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::MonsterTypeTagDefault => "EHFNIIKENEC_MONSTER_TYPE_TAG_DEFAULT", + Self::MonsterTypeTagEther => "EHFNIIKENEC_MONSTER_TYPE_TAG_ETHER", + Self::MonsterTypeTagCorrupted => "EHFNIIKENEC_MONSTER_TYPE_TAG_CORRUPTED", + Self::MonsterTypeTagNeps => "EHFNIIKENEC_MONSTER_TYPE_TAG_NEPS", + Self::MonsterTypeTagThug => "EHFNIIKENEC_MONSTER_TYPE_TAG_THUG", + Self::MonsterTypeTagArmy => "EHFNIIKENEC_MONSTER_TYPE_TAG_ARMY", + Self::MonsterTypeTagEnergy => "EHFNIIKENEC_MONSTER_TYPE_TAG_ENERGY", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EHFNIIKENEC_MONSTER_TYPE_TAG_DEFAULT" => Some(Self::MonsterTypeTagDefault), + "EHFNIIKENEC_MONSTER_TYPE_TAG_ETHER" => Some(Self::MonsterTypeTagEther), + "EHFNIIKENEC_MONSTER_TYPE_TAG_CORRUPTED" => { + Some(Self::MonsterTypeTagCorrupted) + } + "EHFNIIKENEC_MONSTER_TYPE_TAG_NEPS" => Some(Self::MonsterTypeTagNeps), + "EHFNIIKENEC_MONSTER_TYPE_TAG_THUG" => Some(Self::MonsterTypeTagThug), + "EHFNIIKENEC_MONSTER_TYPE_TAG_ARMY" => Some(Self::MonsterTypeTagArmy), + "EHFNIIKENEC_MONSTER_TYPE_TAG_ENERGY" => Some(Self::MonsterTypeTagEnergy), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mmmlgeigbel { + Mnllfjeioik = 0, + Ahakdagogfn = 1, + Ldgdigmljdo = 2, + Dmiahngjflf = 3, + Hcnnfkffaja = 4, + Pjfiggempco = 5, + Lmmmdokepdg = 6, +} +impl Mmmlgeigbel { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mnllfjeioik => "MMMLGEIGBEL_MNLLFJEIOIK", + Self::Ahakdagogfn => "MMMLGEIGBEL_AHAKDAGOGFN", + Self::Ldgdigmljdo => "MMMLGEIGBEL_LDGDIGMLJDO", + Self::Dmiahngjflf => "MMMLGEIGBEL_DMIAHNGJFLF", + Self::Hcnnfkffaja => "MMMLGEIGBEL_HCNNFKFFAJA", + Self::Pjfiggempco => "MMMLGEIGBEL_PJFIGGEMPCO", + Self::Lmmmdokepdg => "MMMLGEIGBEL_LMMMDOKEPDG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MMMLGEIGBEL_MNLLFJEIOIK" => Some(Self::Mnllfjeioik), + "MMMLGEIGBEL_AHAKDAGOGFN" => Some(Self::Ahakdagogfn), + "MMMLGEIGBEL_LDGDIGMLJDO" => Some(Self::Ldgdigmljdo), + "MMMLGEIGBEL_DMIAHNGJFLF" => Some(Self::Dmiahngjflf), + "MMMLGEIGBEL_HCNNFKFFAJA" => Some(Self::Hcnnfkffaja), + "MMMLGEIGBEL_PJFIGGEMPCO" => Some(Self::Pjfiggempco), + "MMMLGEIGBEL_LMMMDOKEPDG" => Some(Self::Lmmmdokepdg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ncmdbfohali { + Jkfbdhecobb = 0, +} +impl Ncmdbfohali { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jkfbdhecobb => "NCMDBFOHALI_JKFBDHECOBB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NCMDBFOHALI_JKFBDHECOBB" => Some(Self::Jkfbdhecobb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ibdpibghmdj { + Lahahlkdgcm = 0, + Lkjlinpjgjf = 1, + Cnbcmpbnofi = 2, + Fnboagpninm = 3, + Aldenjicoig = 4, + Dpeoemiecki = 5, + Aeapgoihddh = 6, +} +impl Ibdpibghmdj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lahahlkdgcm => "IBDPIBGHMDJ_LAHAHLKDGCM", + Self::Lkjlinpjgjf => "IBDPIBGHMDJ_LKJLINPJGJF", + Self::Cnbcmpbnofi => "IBDPIBGHMDJ_CNBCMPBNOFI", + Self::Fnboagpninm => "IBDPIBGHMDJ_FNBOAGPNINM", + Self::Aldenjicoig => "IBDPIBGHMDJ_ALDENJICOIG", + Self::Dpeoemiecki => "IBDPIBGHMDJ_DPEOEMIECKI", + Self::Aeapgoihddh => "IBDPIBGHMDJ_AEAPGOIHDDH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IBDPIBGHMDJ_LAHAHLKDGCM" => Some(Self::Lahahlkdgcm), + "IBDPIBGHMDJ_LKJLINPJGJF" => Some(Self::Lkjlinpjgjf), + "IBDPIBGHMDJ_CNBCMPBNOFI" => Some(Self::Cnbcmpbnofi), + "IBDPIBGHMDJ_FNBOAGPNINM" => Some(Self::Fnboagpninm), + "IBDPIBGHMDJ_ALDENJICOIG" => Some(Self::Aldenjicoig), + "IBDPIBGHMDJ_DPEOEMIECKI" => Some(Self::Dpeoemiecki), + "IBDPIBGHMDJ_AEAPGOIHDDH" => Some(Self::Aeapgoihddh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum SkillWishlistPlanType { + Jpnedhomcih = 0, + Biplfjbafgg = 1, + Opniokmpkae = 2, + Jhheccdlhld = 3, +} +impl SkillWishlistPlanType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jpnedhomcih => "SkillWishlistPlanType_JPNEDHOMCIH", + Self::Biplfjbafgg => "SkillWishlistPlanType_BIPLFJBAFGG", + Self::Opniokmpkae => "SkillWishlistPlanType_OPNIOKMPKAE", + Self::Jhheccdlhld => "SkillWishlistPlanType_JHHECCDLHLD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "SkillWishlistPlanType_JPNEDHOMCIH" => Some(Self::Jpnedhomcih), + "SkillWishlistPlanType_BIPLFJBAFGG" => Some(Self::Biplfjbafgg), + "SkillWishlistPlanType_OPNIOKMPKAE" => Some(Self::Opniokmpkae), + "SkillWishlistPlanType_JHHECCDLHLD" => Some(Self::Jhheccdlhld), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hmmacejemph { + Hnmpdlbobgl = 0, + Ehjachklkcp = 1, +} +impl Hmmacejemph { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hnmpdlbobgl => "HMMACEJEMPH_HNMPDLBOBGL", + Self::Ehjachklkcp => "HMMACEJEMPH_EHJACHKLKCP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HMMACEJEMPH_HNMPDLBOBGL" => Some(Self::Hnmpdlbobgl), + "HMMACEJEMPH_EHJACHKLKCP" => Some(Self::Ehjachklkcp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hbbhdahcokf { + Indbdhkfmip = 0, + Cijidedmanj = 1, + Bicmdfjphpn = 2, + Dlgnndghoei = 3, + Ggamgdfdkjf = 4, + Ppklnoeinhm = 5, +} +impl Hbbhdahcokf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Indbdhkfmip => "HBBHDAHCOKF_INDBDHKFMIP", + Self::Cijidedmanj => "HBBHDAHCOKF_CIJIDEDMANJ", + Self::Bicmdfjphpn => "HBBHDAHCOKF_BICMDFJPHPN", + Self::Dlgnndghoei => "HBBHDAHCOKF_DLGNNDGHOEI", + Self::Ggamgdfdkjf => "HBBHDAHCOKF_GGAMGDFDKJF", + Self::Ppklnoeinhm => "HBBHDAHCOKF_PPKLNOEINHM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HBBHDAHCOKF_INDBDHKFMIP" => Some(Self::Indbdhkfmip), + "HBBHDAHCOKF_CIJIDEDMANJ" => Some(Self::Cijidedmanj), + "HBBHDAHCOKF_BICMDFJPHPN" => Some(Self::Bicmdfjphpn), + "HBBHDAHCOKF_DLGNNDGHOEI" => Some(Self::Dlgnndghoei), + "HBBHDAHCOKF_GGAMGDFDKJF" => Some(Self::Ggamgdfdkjf), + "HBBHDAHCOKF_PPKLNOEINHM" => Some(Self::Ppklnoeinhm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Poappelpmmi { + TriggerPosition = 0, + Player = 1, + Center = 2, + CustomBound = 3, + Back = 4, +} +impl Poappelpmmi { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::TriggerPosition => "POAPPELPMMI_TRIGGER_POSITION", + Self::Player => "POAPPELPMMI_PLAYER", + Self::Center => "POAPPELPMMI_CENTER", + Self::CustomBound => "POAPPELPMMI_CUSTOM_BOUND", + Self::Back => "POAPPELPMMI_BACK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "POAPPELPMMI_TRIGGER_POSITION" => Some(Self::TriggerPosition), + "POAPPELPMMI_PLAYER" => Some(Self::Player), + "POAPPELPMMI_CENTER" => Some(Self::Center), + "POAPPELPMMI_CUSTOM_BOUND" => Some(Self::CustomBound), + "POAPPELPMMI_BACK" => Some(Self::Back), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nlnajgidaai { + Cckenmhgamf = 0, + Hdjomlajopk = 1, + Hfkhiancodh = 2, + Bopcfglkjjp = 3, + Oeofebdlenm = 4, + Pikbppadpin = 5, + Cgkjijkndkj = 6, + Mlememileai = 100, + Kokmohlemmp = 101, + Lpadollgeja = 102, +} +impl Nlnajgidaai { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cckenmhgamf => "NLNAJGIDAAI_CCKENMHGAMF", + Self::Hdjomlajopk => "NLNAJGIDAAI_HDJOMLAJOPK", + Self::Hfkhiancodh => "NLNAJGIDAAI_HFKHIANCODH", + Self::Bopcfglkjjp => "NLNAJGIDAAI_BOPCFGLKJJP", + Self::Oeofebdlenm => "NLNAJGIDAAI_OEOFEBDLENM", + Self::Pikbppadpin => "NLNAJGIDAAI_PIKBPPADPIN", + Self::Cgkjijkndkj => "NLNAJGIDAAI_CGKJIJKNDKJ", + Self::Mlememileai => "NLNAJGIDAAI_MLEMEMILEAI", + Self::Kokmohlemmp => "NLNAJGIDAAI_KOKMOHLEMMP", + Self::Lpadollgeja => "NLNAJGIDAAI_LPADOLLGEJA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NLNAJGIDAAI_CCKENMHGAMF" => Some(Self::Cckenmhgamf), + "NLNAJGIDAAI_HDJOMLAJOPK" => Some(Self::Hdjomlajopk), + "NLNAJGIDAAI_HFKHIANCODH" => Some(Self::Hfkhiancodh), + "NLNAJGIDAAI_BOPCFGLKJJP" => Some(Self::Bopcfglkjjp), + "NLNAJGIDAAI_OEOFEBDLENM" => Some(Self::Oeofebdlenm), + "NLNAJGIDAAI_PIKBPPADPIN" => Some(Self::Pikbppadpin), + "NLNAJGIDAAI_CGKJIJKNDKJ" => Some(Self::Cgkjijkndkj), + "NLNAJGIDAAI_MLEMEMILEAI" => Some(Self::Mlememileai), + "NLNAJGIDAAI_KOKMOHLEMMP" => Some(Self::Kokmohlemmp), + "NLNAJGIDAAI_LPADOLLGEJA" => Some(Self::Lpadollgeja), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fnfmfpfjeeg { + Goebjmnbhgi = 0, + Ogeipbcnaic = 1, + Adejenbnkhg = 2, +} +impl Fnfmfpfjeeg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Goebjmnbhgi => "FNFMFPFJEEG_GOEBJMNBHGI", + Self::Ogeipbcnaic => "FNFMFPFJEEG_OGEIPBCNAIC", + Self::Adejenbnkhg => "FNFMFPFJEEG_ADEJENBNKHG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FNFMFPFJEEG_GOEBJMNBHGI" => Some(Self::Goebjmnbhgi), + "FNFMFPFJEEG_OGEIPBCNAIC" => Some(Self::Ogeipbcnaic), + "FNFMFPFJEEG_ADEJENBNKHG" => Some(Self::Adejenbnkhg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hfkcedkbglm { + Jebfgdnjnkc = 0, + Cpioiaelclg = 1, + Ibocnkkfkod = 2, +} +impl Hfkcedkbglm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jebfgdnjnkc => "HFKCEDKBGLM_JEBFGDNJNKC", + Self::Cpioiaelclg => "HFKCEDKBGLM_CPIOIAELCLG", + Self::Ibocnkkfkod => "HFKCEDKBGLM_IBOCNKKFKOD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HFKCEDKBGLM_JEBFGDNJNKC" => Some(Self::Jebfgdnjnkc), + "HFKCEDKBGLM_CPIOIAELCLG" => Some(Self::Cpioiaelclg), + "HFKCEDKBGLM_IBOCNKKFKOD" => Some(Self::Ibocnkkfkod), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hnfbhenophf { + Ngeoogbcfde = 0, + Coobpjipldb = 1, + Mioffpfleff = 2, + Ikcfkhljjlp = 3, + Gihkolfgodf = 4, +} +impl Hnfbhenophf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ngeoogbcfde => "HNFBHENOPHF_NGEOOGBCFDE", + Self::Coobpjipldb => "HNFBHENOPHF_COOBPJIPLDB", + Self::Mioffpfleff => "HNFBHENOPHF_MIOFFPFLEFF", + Self::Ikcfkhljjlp => "HNFBHENOPHF_IKCFKHLJJLP", + Self::Gihkolfgodf => "HNFBHENOPHF_GIHKOLFGODF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HNFBHENOPHF_NGEOOGBCFDE" => Some(Self::Ngeoogbcfde), + "HNFBHENOPHF_COOBPJIPLDB" => Some(Self::Coobpjipldb), + "HNFBHENOPHF_MIOFFPFLEFF" => Some(Self::Mioffpfleff), + "HNFBHENOPHF_IKCFKHLJJLP" => Some(Self::Ikcfkhljjlp), + "HNFBHENOPHF_GIHKOLFGODF" => Some(Self::Gihkolfgodf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Olalmemhimo { + Jimldhhkppl = 0, +} +impl Olalmemhimo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jimldhhkppl => "OLALMEMHIMO_JIMLDHHKPPL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OLALMEMHIMO_JIMLDHHKPPL" => Some(Self::Jimldhhkppl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hefcencgobd { + Bjdpmafjfgj = 0, +} +impl Hefcencgobd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bjdpmafjfgj => "HEFCENCGOBD_BJDPMAFJFGJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HEFCENCGOBD_BJDPMAFJFGJ" => Some(Self::Bjdpmafjfgj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pekgmoinbnd { + Pcbmodcecec = 0, + Oiopacnonmn = 1, + Deobkjaacaa = 3, +} +impl Pekgmoinbnd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pcbmodcecec => "PEKGMOINBND_PCBMODCECEC", + Self::Oiopacnonmn => "PEKGMOINBND_OIOPACNONMN", + Self::Deobkjaacaa => "PEKGMOINBND_DEOBKJAACAA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PEKGMOINBND_PCBMODCECEC" => Some(Self::Pcbmodcecec), + "PEKGMOINBND_OIOPACNONMN" => Some(Self::Oiopacnonmn), + "PEKGMOINBND_DEOBKJAACAA" => Some(Self::Deobkjaacaa), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dhbbohmhfjn { + CharacterTypeMale = 0, + CharacterTypeFemale = 1, + CharacterTypeExchange = 2, + CharacterTypeMain = 3, + CharacterTypeVice = 4, + CharacterTypeAvatar = 5, +} +impl Dhbbohmhfjn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::CharacterTypeMale => "DHBBOHMHFJN_CHARACTER_TYPE_MALE", + Self::CharacterTypeFemale => "DHBBOHMHFJN_CHARACTER_TYPE_FEMALE", + Self::CharacterTypeExchange => "DHBBOHMHFJN_CHARACTER_TYPE_EXCHANGE", + Self::CharacterTypeMain => "DHBBOHMHFJN_CHARACTER_TYPE_MAIN", + Self::CharacterTypeVice => "DHBBOHMHFJN_CHARACTER_TYPE_VICE", + Self::CharacterTypeAvatar => "DHBBOHMHFJN_CHARACTER_TYPE_AVATAR", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DHBBOHMHFJN_CHARACTER_TYPE_MALE" => Some(Self::CharacterTypeMale), + "DHBBOHMHFJN_CHARACTER_TYPE_FEMALE" => Some(Self::CharacterTypeFemale), + "DHBBOHMHFJN_CHARACTER_TYPE_EXCHANGE" => Some(Self::CharacterTypeExchange), + "DHBBOHMHFJN_CHARACTER_TYPE_MAIN" => Some(Self::CharacterTypeMain), + "DHBBOHMHFJN_CHARACTER_TYPE_VICE" => Some(Self::CharacterTypeVice), + "DHBBOHMHFJN_CHARACTER_TYPE_AVATAR" => Some(Self::CharacterTypeAvatar), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ljodbhiccka { + HollowSearchNpcTypeNone = 0, + HollowSearchNpcTypeByPos = 1, + HollowSearchNpcTypeByBound = 2, + HollowSearchNpcTypeByIndex = 4, +} +impl Ljodbhiccka { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowSearchNpcTypeNone => "LJODBHICCKA_HOLLOW_SEARCH_NPC_TYPE_NONE", + Self::HollowSearchNpcTypeByPos => "LJODBHICCKA_HOLLOW_SEARCH_NPC_TYPE_BY_POS", + Self::HollowSearchNpcTypeByBound => { + "LJODBHICCKA_HOLLOW_SEARCH_NPC_TYPE_BY_BOUND" + } + Self::HollowSearchNpcTypeByIndex => { + "LJODBHICCKA_HOLLOW_SEARCH_NPC_TYPE_BY_INDEX" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LJODBHICCKA_HOLLOW_SEARCH_NPC_TYPE_NONE" => { + Some(Self::HollowSearchNpcTypeNone) + } + "LJODBHICCKA_HOLLOW_SEARCH_NPC_TYPE_BY_POS" => { + Some(Self::HollowSearchNpcTypeByPos) + } + "LJODBHICCKA_HOLLOW_SEARCH_NPC_TYPE_BY_BOUND" => { + Some(Self::HollowSearchNpcTypeByBound) + } + "LJODBHICCKA_HOLLOW_SEARCH_NPC_TYPE_BY_INDEX" => { + Some(Self::HollowSearchNpcTypeByIndex) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Amefkkelfjm { + Hhhdhjfpmem = 0, + Fgdpgomkame = 1, + Gmmpablmmpl = 2, +} +impl Amefkkelfjm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hhhdhjfpmem => "AMEFKKELFJM_HHHDHJFPMEM", + Self::Fgdpgomkame => "AMEFKKELFJM_FGDPGOMKAME", + Self::Gmmpablmmpl => "AMEFKKELFJM_GMMPABLMMPL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AMEFKKELFJM_HHHDHJFPMEM" => Some(Self::Hhhdhjfpmem), + "AMEFKKELFJM_FGDPGOMKAME" => Some(Self::Fgdpgomkame), + "AMEFKKELFJM_GMMPABLMMPL" => Some(Self::Gmmpablmmpl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dkngjbalbdl { + Halpojkeohi = 0, + Lljllfiiijj = 1, + Kmobciljopg = 2, +} +impl Dkngjbalbdl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Halpojkeohi => "DKNGJBALBDL_HALPOJKEOHI", + Self::Lljllfiiijj => "DKNGJBALBDL_LLJLLFIIIJJ", + Self::Kmobciljopg => "DKNGJBALBDL_KMOBCILJOPG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DKNGJBALBDL_HALPOJKEOHI" => Some(Self::Halpojkeohi), + "DKNGJBALBDL_LLJLLFIIIJJ" => Some(Self::Lljllfiiijj), + "DKNGJBALBDL_KMOBCILJOPG" => Some(Self::Kmobciljopg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gioejkgjcpp { + Jikkmdhkfdl = 0, + Jailbljkfkm = 1, + Hnmokfonkeb = 2, +} +impl Gioejkgjcpp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jikkmdhkfdl => "GIOEJKGJCPP_JIKKMDHKFDL", + Self::Jailbljkfkm => "GIOEJKGJCPP_JAILBLJKFKM", + Self::Hnmokfonkeb => "GIOEJKGJCPP_HNMOKFONKEB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GIOEJKGJCPP_JIKKMDHKFDL" => Some(Self::Jikkmdhkfdl), + "GIOEJKGJCPP_JAILBLJKFKM" => Some(Self::Jailbljkfkm), + "GIOEJKGJCPP_HNMOKFONKEB" => Some(Self::Hnmokfonkeb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Golmkkbjhip { + Hghnkindkmb = 0, + Iifhiheaimd = 1, + Mdblopncknj = 2, + Kdojaiafdjo = 4, +} +impl Golmkkbjhip { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hghnkindkmb => "GOLMKKBJHIP_HGHNKINDKMB", + Self::Iifhiheaimd => "GOLMKKBJHIP_IIFHIHEAIMD", + Self::Mdblopncknj => "GOLMKKBJHIP_MDBLOPNCKNJ", + Self::Kdojaiafdjo => "GOLMKKBJHIP_KDOJAIAFDJO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GOLMKKBJHIP_HGHNKINDKMB" => Some(Self::Hghnkindkmb), + "GOLMKKBJHIP_IIFHIHEAIMD" => Some(Self::Iifhiheaimd), + "GOLMKKBJHIP_MDBLOPNCKNJ" => Some(Self::Mdblopncknj), + "GOLMKKBJHIP_KDOJAIAFDJO" => Some(Self::Kdojaiafdjo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Adpibekjgdc { + Diifpfaokce = 0, + Jfpljggnkfj = -1, + Nfmomknhgag = 1, + Goeigineppa = 2, + Ecehjjicckk = 9, + Gdcihpjijho = 10, + Gckbfojpdle = 20, + Ckeolllonin = 21, + Fdpcfhajelh = 22, + Cgkbmcfileg = 23, + Jiknhhdkjnc = 25, + Hiffjdcnpca = 29, + Iklgghkbebk = 30, + Nahpppjmoec = 31, + Glofadbfmji = 32, + Ajmiemjepka = 33, + Ocpggkldlnl = 34, + Ambomfpccha = 70, + Bjibjfojbkb = 71, + Fapanlfgelm = 72, + Bdlpehlffeh = 73, + Clgldaljioh = 74, + Anjfglefhel = 75, + Hmmndikaiah = 76, + Gmbhfoghdeo = 100, + Lcfdlcmdmdd = 101, + Ggobcglokhf = 102, + Dklhfdnkajl = 200, + Hlpabfolnno = 201, + Enoijncihia = 202, + Hekeggkohho = 203, + Jfgmlmkkloc = 204, + Ggklflcndhl = 205, + Pdadochlefb = 206, + Faahhdekcaa = 207, + Kgfpdkejkpa = 208, + Efhpkemijhf = 209, + Meiplnklflb = 210, + Cmegoafghbk = 211, + Feehbipkabf = 1000, + Ahfoejhgjdf = 1001, + Cpahpaofnbm = 1002, + Abokolpepdm = 1003, + Hhbdfnhcibd = 1004, + Kpbddecapfc = 1005, + Apoalkokacj = 1006, + Jmlidnciohj = 1007, + Ionmnlnoieg = 1008, + Gkpcepbecdm = 1009, + Aankkjfahcd = 1010, + Ogekdkjgpod = 1011, + Lnbiidknahk = 1012, + Mgjkhmhkadh = 1100, + Eldiipdemeh = 1101, + Hbjiicgkgld = 1102, + Ghglaffgoca = 1103, + Gjchnpaabae = 1104, + Nkdobcpbmdn = 1105, + Hhgeidlembc = 1106, + Fgkkbdmacnn = 1107, + Dfembnheahf = 1108, + Anoaidfaghc = 1109, + Belecledcib = 1200, + Pjilpjocagc = 1201, + Domconcbgkk = 1202, + Ingmgchlfbi = 1203, + Bcmjphcnhhl = 1204, + Kdpcmonbdml = 1205, + Dcknapijjkl = 1206, + Pkpjddkpiii = 1207, + Bmhbhbhjojk = 1208, + Elopeicbhgo = 1209, + Fhckmchihmd = 1210, + Bklgmmnbflj = 1211, + Edcjelocieo = 1212, + Clhgjoldmlf = 1213, + Icnkppkopep = 1214, + Obaionebckk = 1215, + Hhlclfffnbn = 1216, + Alohankoiah = 1217, + Admcigbcgbb = 1218, + Ocnhlobdbop = 1219, + Ghbaggaknbc = 1220, + Fknhejgjnjo = 1221, + Iiclijkdhof = 1222, + Ecfkdnbbfhi = 1223, + Jdjldlfgdjd = 1224, + Kdihbhflpji = 1225, + Mmpgcamenad = 1226, + Kanhmfbdpkm = 1227, + Nlmbijpipcd = 1228, + Oiakpimjgpd = 1229, + Bnpgedahfce = 1230, + Ekmembfiofh = 1231, + Bnonppmlpdd = 1232, + Moefihpmfkp = 1233, + Cgkglgohlbh = 1234, + Pjilhgnjpih = 1235, + Nkoopnafmec = 1236, + Gehggdiemap = 1237, + Bmppllpognn = 1238, + Djbapfekmmk = 1239, + Jaclpodecpk = 1300, + Cafoedpppio = 1301, + Engibdndcpk = 1302, + Lcjcebjigdo = 1303, + Hbjapnepdba = 1304, + Nhecifoepih = 1305, + Jmchffngdil = 1306, + Enngpkabbed = 1400, + Ecfmnjajjop = 1401, + Fnhekkchano = 1402, + Ejamaollfll = 1404, + Ggffgmkmnam = 1405, + Hhmdmoekdaf = 1406, + Bmbkobgilkj = 1407, + Caakhbikjif = 1408, + Ojaeejmgepb = 1409, + Dbmmbkcmmab = 1410, + Kgenemkaofg = 1411, + Blcpdeenbnc = 1412, + Kmopmiallfp = 1413, + Cdgboomecbc = 1414, + Pahkaekcaea = 1415, + Ncadnlpjpeh = 1416, + Bppcjchhgmb = 1417, + Obahmeboclk = 1418, + Lmfipkfnngd = 1419, + Jajfnbmpapa = 1420, + Lhncfddlkgb = 1421, + Kgpjhklepah = 1422, + Djmfankccpi = 1423, + Djjaagmmlgk = 1424, + Mjmiefmbmkh = 1425, + Efpppfnafdf = 1426, + Dppglpbogai = 1427, + Dkohahihjcn = 1428, + Efbijejbiff = 1429, + Edpknilpnfj = 1430, + Bfpmlbljipo = 1431, + Eknconmijbh = 1432, + Cbillpjhdfd = 1433, + Fnoaalhicom = 1434, + Nlfjffndhle = 1435, + Meffnfimjic = 1450, + Fahnpoahbcn = 1451, + Iiekjgbbfli = 1452, + Ocmkdbpblcg = 1453, + Ghlplcmhnen = 1454, + Dmpomfcdiae = 1456, + Jjkkpfmglpo = 1457, + Cfgdnknaibc = 1459, + Bpadkkcjeic = 1460, + Fajanflkjlp = 1461, + Cfcbdmcahca = 1462, + Bokgjmecjha = 1463, + Hcnbnhkmgbe = 1464, + Egkacoenkbe = 1500, + Eodgankpemm = 1501, + Nejaabcncpd = 1502, + Jmdnemdbpok = 1503, + Pogomibnega = 1504, + Kejhfjanail = 1505, + Kglgmfgibcl = 1506, + Mjdbjebmija = 1507, + Bgcfpnciabm = 1508, + Cclncmijcho = 1509, + Kmbcgepmnpl = 1510, + Pkncgkamlib = 1511, + Inelkbmkgci = 1512, + Lmbiekbhkjl = 1513, + Ekjpjgfcobb = 1514, + Kbklfheildn = 1515, + Cjcgpoapmgi = 1516, + Eejkckpneij = 1517, + Emfkebcfpmi = 1518, + Ibofmfkkfbp = 1600, + Dbmoglngkkf = 1601, + Fahnjpfoohg = 1602, + Nppbbhnkiae = 1603, + Mpchnomibpd = 1604, + Ocegbhmjfgc = 1605, + Belhiamephb = 1606, + Bbaphgpakng = 1650, + Mihoijcecnd = 1651, + Mahpolonkcg = 1652, + Gimejcjaidi = 1653, + Joafjefooop = 1654, + Ojfpnjbooea = 1655, + Lgohimcapna = 1656, + Onifecbmmni = 1657, + Omecnnkadok = 1658, + Ggdjibkmjok = 1700, + Higopafnfom = 1701, + Gjhbncggkbk = 1702, + Hhheinnfkfi = 1703, + Fbmgdefdklm = 1704, + Dmigpndjipe = 1705, + Ifjiiokbcna = 1706, + Njkbkdkalmi = 1707, + Aiegnfpdkhd = 1708, + Papecnffjik = 1709, + Addpbdaklmm = 1710, + Jebmfkiclgb = 1711, + Efigkedbbjk = 1712, + Hmlijheflgj = 1713, + Mjmhogdejde = 1714, + Elcalfjpaop = 1751, + Ebpddplahge = 1752, + Lcbdbkpkpcf = 1753, + Ajjadfikojp = 1754, + Lbcjmabjjla = 1755, + Kojkbklfabe = 1756, + Lebafokkaea = 1757, + Nlklndafhge = 1758, + Iledpajhhan = 1759, + Eojackenneb = 1760, + Dohjmlcmdeo = 1761, + Ekejdkomogh = 1762, + Pkalpadpjoi = 1763, + Liipoklmldn = 1764, + Cgjfakekjba = 1765, + Ngffhdccfkl = 1766, + Ohhcnpgnpbo = 1767, + Hgbmjffmace = 1768, + Blcddblecoj = 1769, + Nocndcfdppk = 1770, + Ephneihjhib = 1771, + Fcpjeodfdfl = 1772, + Dnhkjengfba = 1773, + Ejegomckhen = 1800, + Adefcldjphg = 1801, + Ldbekpbkdih = 1802, + Hadnanlhgjj = 1803, + Obfpelllflk = 1804, + Jekfenhgofh = 1805, + Fldpcmnjlki = 1806, + Mfaodgdjccg = 1807, + Cnlbegaffoo = 1808, + Gfmlokeffab = 1809, + Iplmdegmmfh = 1810, + Ehlkdogpgjo = 1811, + Nfmcdpepnka = 1812, + Gfmdomoogaa = 1813, + Adpjbhhihfh = 1814, + Komnjdcechf = 1815, + Ojfcnhbgkpa = 1900, + Gnledhblgpd = 1901, + Cpphioppmob = 1902, + Ehipgpgaoia = 1903, + Nefkeopkmpi = 1950, + Gapkolalfjf = 2050, + Iiahfdoohcm = 2051, + Adnofoiffej = 2052, + Olmokipldai = 2053, + Ajjllcbbleo = 2054, + Igfcgfdmmni = 2055, + Jlianoiegbd = 2056, + Ojngeajgofa = 2057, + Nnaoenamkmp = 2058, + Ejjmncebhah = 2059, + Dchbjeiofea = 2060, + Mnljkdealog = 2061, + Anhcglnkggj = 2062, + Himcbdpdfld = 2063, + Bcbcjchnfmp = 2064, + Fbanckcdbdc = 2065, + Amkbghkdoje = 2066, + Jfefhenjaim = 2067, + Aedpodhjlmk = 2070, + Ipfpapaiogk = 2100, + Mlaphienlch = 2150, + Gmjjkfddieo = 2151, + Ihaichcegji = 2152, + Ljeijclnijf = 2153, + Hnikahnlchl = 2154, + Cgnhobpinca = 2155, + Ahdipildabh = 2156, + Aoocieeadhh = 2157, + Gphipnloemi = 2158, + Eejmodealpb = 2159, + Lkdmodcjaeg = 2160, + Nflpcgoikjk = 2201, + Ioafdgobfdf = 2202, + Jkkhcedafbm = 2203, + Ppgcoboplkh = 2204, + Dgfpfmafghe = 2205, + Kfjchjgohom = 2206, + Kfdmopjcajj = 2250, + Opplbenlpkp = 2251, + Ajplknjpghc = 2252, + Cicglpmkhgl = 2253, + Cenhecmmnfg = 2300, + Lppdgeogajj = 2301, + Dkokoaifaeb = 2302, + Ecffgihfnkl = 2303, + Fpfgfaechdn = 2304, + Lmkfdnggnao = 2305, + Gdbnbmacbom = 2306, + Fmgcepamgpi = 2307, + Kfodbamahhe = 2308, + Ilkpkpgfaob = 2309, + Codcafmbldo = 2400, + Fadngijgaik = 2401, + Hpfpeffdkpi = 2402, + Jdplhklkkld = 2403, + Ghmelpdddoo = 2404, + Idllgjapcpp = 2450, + Dnoefibhpne = 2500, + Oaeeoebnnfe = 2501, + Eohnljgdpnj = 2502, + Hjlgghmkagn = 2503, + Bbkecadfkip = 2504, + Ponomgokegp = 2505, + Edcamienncb = 2506, + Nfdjkacgdid = 2507, + Ljbldfeiong = 2508, + Einpinhjjhe = 2509, + Kfolfgbbahi = 2510, + Hnoakmjehdj = 2511, + Aoiekddjgcm = 2512, + Gkkniljgncg = 2513, + Jfbpcafmcgi = 2514, + Fmibkmmlhlp = 2515, + Mndfhnbkakf = 2516, + Aggcfbhdlfl = 2517, + Flkhemaaiph = 2518, + Aeblmdngpho = 2519, + Jpopkiifdae = 2520, + Jfdihljeajn = 2521, + Mbefnkbepnp = 2522, + Hbefchnklam = 2523, + Dhobemhalcm = 2524, + Dfihjmedjgi = 2525, + Cjmhdjkckkg = 2526, + Dkiinkmciin = 2527, + Adgheejhddm = 2528, + Aaoolmhddkm = 2529, + Ebjpopbocpp = 2530, + Edcaboekkid = 2531, + Hinckccblhc = 2550, + Ilbikjlfplm = 2551, + Pajlgpknmln = 2552, + Cpbebgggppp = 2553, + Djmldogoeih = 2554, + Idpibjcljip = 2555, + Ggaoibjclok = 2556, + Bjeinajihlf = 2600, + Pbkbbbgdfgh = 2601, + Epejapboccm = 2602, + Embdhlkadbk = 2603, + Popolopgnha = 2604, + Kdnkefllcpm = 2605, + Bfikpkekhbi = 2606, + Jlkgleojnfj = 2620, + Mkhkgaljlpk = 2621, + Ebelpkobaei = 2622, + Okbhlkddobc = 2623, + Aigcolnjgpl = 2624, + Dhdmkhhpmco = 2625, + Jbfhfifppmh = 2626, + Jdgfpgoapkj = 2627, + Cmcoglolbkb = 2628, + Ipifkjlhokh = 2629, + Mkmheiadljl = 2630, + Mhnpklefmja = 2631, + Oigppfgpkgl = 2632, + Plojahbfioo = 2633, + Bmdokgbdgka = 2634, + Khafokblmkg = 2635, + Abnmekkfoao = 2650, + Bjdfeeneahf = 2651, + Meekkencmcd = 2652, + Eofhammcbdm = 2653, + Jffjlgjiman = 2654, + Eljgkebncol = 2655, + Jplkjnjcoem = 2656, + Imgoicpglii = 2657, + Ghichpijcec = 2658, + Anagdjcflcf = 2659, + Eedjglegfmj = 2660, + Fbeekljaknj = 2710, + Mncgdgfeldp = 2711, + Kealneoipco = 2712, + Dfaojbmkind = 2713, + Inamjkpagjl = 2800, + Mlkennbnlmc = 2801, + Kifjgddonmb = 2802, + Lpmcalcglda = 2803, + Fpbepnhljgh = 2804, + Jfnjhddbcho = 2805, + Dbkkemnbfmj = 2830, + Nilmcdhfoha = 2831, + Adghifhkemb = 2850, + Naimkbinhhp = 2851, + Giopkhecama = 2852, + Dkiedhheoio = 2853, + Bnocbpakonn = 2854, + Ngcnkdijbcd = 2870, + Cphfjejepmb = 2871, + Amhfgllaaha = 2872, + Dcgpjgfcejh = 2873, + Jepooaacobd = 2874, + Dkffolnhgbh = 2875, + Kdphadongfa = 2876, + Nabpfgokgid = 2877, + Dohoippahfd = 3000, + Fejhmigjoid = 3001, + Jgldoidpkek = 3002, + Megabldllbe = 3003, + Bdpaenjnjoe = 3004, + Gjgaceaefki = 3005, + Kacjhfffehh = 3006, + Hndmnmolali = 3010, + Fabapccoflp = 3011, + Kmhiiemhchh = 3100, + Ikdeppeecpj = 3101, + Bbcbdigjebf = 3102, + Hnlnailmlnj = 3103, + Bphhacolhka = 3104, + Kkljpbmjpki = 3105, + Daienclbfof = 3106, + Jinojeogbig = 3107, + Oajidkcpcfm = 3108, + Kmomfbkoppl = 3109, + Cdhbkbbdfbo = 3110, + Mfcojaeojfn = 3111, + Pmdkcgokofe = 3112, +} +impl Adpibekjgdc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Diifpfaokce => "ADPIBEKJGDC_DIIFPFAOKCE", + Self::Jfpljggnkfj => "ADPIBEKJGDC_JFPLJGGNKFJ", + Self::Nfmomknhgag => "ADPIBEKJGDC_NFMOMKNHGAG", + Self::Goeigineppa => "ADPIBEKJGDC_GOEIGINEPPA", + Self::Ecehjjicckk => "ADPIBEKJGDC_ECEHJJICCKK", + Self::Gdcihpjijho => "ADPIBEKJGDC_GDCIHPJIJHO", + Self::Gckbfojpdle => "ADPIBEKJGDC_GCKBFOJPDLE", + Self::Ckeolllonin => "ADPIBEKJGDC_CKEOLLLONIN", + Self::Fdpcfhajelh => "ADPIBEKJGDC_FDPCFHAJELH", + Self::Cgkbmcfileg => "ADPIBEKJGDC_CGKBMCFILEG", + Self::Jiknhhdkjnc => "ADPIBEKJGDC_JIKNHHDKJNC", + Self::Hiffjdcnpca => "ADPIBEKJGDC_HIFFJDCNPCA", + Self::Iklgghkbebk => "ADPIBEKJGDC_IKLGGHKBEBK", + Self::Nahpppjmoec => "ADPIBEKJGDC_NAHPPPJMOEC", + Self::Glofadbfmji => "ADPIBEKJGDC_GLOFADBFMJI", + Self::Ajmiemjepka => "ADPIBEKJGDC_AJMIEMJEPKA", + Self::Ocpggkldlnl => "ADPIBEKJGDC_OCPGGKLDLNL", + Self::Ambomfpccha => "ADPIBEKJGDC_AMBOMFPCCHA", + Self::Bjibjfojbkb => "ADPIBEKJGDC_BJIBJFOJBKB", + Self::Fapanlfgelm => "ADPIBEKJGDC_FAPANLFGELM", + Self::Bdlpehlffeh => "ADPIBEKJGDC_BDLPEHLFFEH", + Self::Clgldaljioh => "ADPIBEKJGDC_CLGLDALJIOH", + Self::Anjfglefhel => "ADPIBEKJGDC_ANJFGLEFHEL", + Self::Hmmndikaiah => "ADPIBEKJGDC_HMMNDIKAIAH", + Self::Gmbhfoghdeo => "ADPIBEKJGDC_GMBHFOGHDEO", + Self::Lcfdlcmdmdd => "ADPIBEKJGDC_LCFDLCMDMDD", + Self::Ggobcglokhf => "ADPIBEKJGDC_GGOBCGLOKHF", + Self::Dklhfdnkajl => "ADPIBEKJGDC_DKLHFDNKAJL", + Self::Hlpabfolnno => "ADPIBEKJGDC_HLPABFOLNNO", + Self::Enoijncihia => "ADPIBEKJGDC_ENOIJNCIHIA", + Self::Hekeggkohho => "ADPIBEKJGDC_HEKEGGKOHHO", + Self::Jfgmlmkkloc => "ADPIBEKJGDC_JFGMLMKKLOC", + Self::Ggklflcndhl => "ADPIBEKJGDC_GGKLFLCNDHL", + Self::Pdadochlefb => "ADPIBEKJGDC_PDADOCHLEFB", + Self::Faahhdekcaa => "ADPIBEKJGDC_FAAHHDEKCAA", + Self::Kgfpdkejkpa => "ADPIBEKJGDC_KGFPDKEJKPA", + Self::Efhpkemijhf => "ADPIBEKJGDC_EFHPKEMIJHF", + Self::Meiplnklflb => "ADPIBEKJGDC_MEIPLNKLFLB", + Self::Cmegoafghbk => "ADPIBEKJGDC_CMEGOAFGHBK", + Self::Feehbipkabf => "ADPIBEKJGDC_FEEHBIPKABF", + Self::Ahfoejhgjdf => "ADPIBEKJGDC_AHFOEJHGJDF", + Self::Cpahpaofnbm => "ADPIBEKJGDC_CPAHPAOFNBM", + Self::Abokolpepdm => "ADPIBEKJGDC_ABOKOLPEPDM", + Self::Hhbdfnhcibd => "ADPIBEKJGDC_HHBDFNHCIBD", + Self::Kpbddecapfc => "ADPIBEKJGDC_KPBDDECAPFC", + Self::Apoalkokacj => "ADPIBEKJGDC_APOALKOKACJ", + Self::Jmlidnciohj => "ADPIBEKJGDC_JMLIDNCIOHJ", + Self::Ionmnlnoieg => "ADPIBEKJGDC_IONMNLNOIEG", + Self::Gkpcepbecdm => "ADPIBEKJGDC_GKPCEPBECDM", + Self::Aankkjfahcd => "ADPIBEKJGDC_AANKKJFAHCD", + Self::Ogekdkjgpod => "ADPIBEKJGDC_OGEKDKJGPOD", + Self::Lnbiidknahk => "ADPIBEKJGDC_LNBIIDKNAHK", + Self::Mgjkhmhkadh => "ADPIBEKJGDC_MGJKHMHKADH", + Self::Eldiipdemeh => "ADPIBEKJGDC_ELDIIPDEMEH", + Self::Hbjiicgkgld => "ADPIBEKJGDC_HBJIICGKGLD", + Self::Ghglaffgoca => "ADPIBEKJGDC_GHGLAFFGOCA", + Self::Gjchnpaabae => "ADPIBEKJGDC_GJCHNPAABAE", + Self::Nkdobcpbmdn => "ADPIBEKJGDC_NKDOBCPBMDN", + Self::Hhgeidlembc => "ADPIBEKJGDC_HHGEIDLEMBC", + Self::Fgkkbdmacnn => "ADPIBEKJGDC_FGKKBDMACNN", + Self::Dfembnheahf => "ADPIBEKJGDC_DFEMBNHEAHF", + Self::Anoaidfaghc => "ADPIBEKJGDC_ANOAIDFAGHC", + Self::Belecledcib => "ADPIBEKJGDC_BELECLEDCIB", + Self::Pjilpjocagc => "ADPIBEKJGDC_PJILPJOCAGC", + Self::Domconcbgkk => "ADPIBEKJGDC_DOMCONCBGKK", + Self::Ingmgchlfbi => "ADPIBEKJGDC_INGMGCHLFBI", + Self::Bcmjphcnhhl => "ADPIBEKJGDC_BCMJPHCNHHL", + Self::Kdpcmonbdml => "ADPIBEKJGDC_KDPCMONBDML", + Self::Dcknapijjkl => "ADPIBEKJGDC_DCKNAPIJJKL", + Self::Pkpjddkpiii => "ADPIBEKJGDC_PKPJDDKPIII", + Self::Bmhbhbhjojk => "ADPIBEKJGDC_BMHBHBHJOJK", + Self::Elopeicbhgo => "ADPIBEKJGDC_ELOPEICBHGO", + Self::Fhckmchihmd => "ADPIBEKJGDC_FHCKMCHIHMD", + Self::Bklgmmnbflj => "ADPIBEKJGDC_BKLGMMNBFLJ", + Self::Edcjelocieo => "ADPIBEKJGDC_EDCJELOCIEO", + Self::Clhgjoldmlf => "ADPIBEKJGDC_CLHGJOLDMLF", + Self::Icnkppkopep => "ADPIBEKJGDC_ICNKPPKOPEP", + Self::Obaionebckk => "ADPIBEKJGDC_OBAIONEBCKK", + Self::Hhlclfffnbn => "ADPIBEKJGDC_HHLCLFFFNBN", + Self::Alohankoiah => "ADPIBEKJGDC_ALOHANKOIAH", + Self::Admcigbcgbb => "ADPIBEKJGDC_ADMCIGBCGBB", + Self::Ocnhlobdbop => "ADPIBEKJGDC_OCNHLOBDBOP", + Self::Ghbaggaknbc => "ADPIBEKJGDC_GHBAGGAKNBC", + Self::Fknhejgjnjo => "ADPIBEKJGDC_FKNHEJGJNJO", + Self::Iiclijkdhof => "ADPIBEKJGDC_IICLIJKDHOF", + Self::Ecfkdnbbfhi => "ADPIBEKJGDC_ECFKDNBBFHI", + Self::Jdjldlfgdjd => "ADPIBEKJGDC_JDJLDLFGDJD", + Self::Kdihbhflpji => "ADPIBEKJGDC_KDIHBHFLPJI", + Self::Mmpgcamenad => "ADPIBEKJGDC_MMPGCAMENAD", + Self::Kanhmfbdpkm => "ADPIBEKJGDC_KANHMFBDPKM", + Self::Nlmbijpipcd => "ADPIBEKJGDC_NLMBIJPIPCD", + Self::Oiakpimjgpd => "ADPIBEKJGDC_OIAKPIMJGPD", + Self::Bnpgedahfce => "ADPIBEKJGDC_BNPGEDAHFCE", + Self::Ekmembfiofh => "ADPIBEKJGDC_EKMEMBFIOFH", + Self::Bnonppmlpdd => "ADPIBEKJGDC_BNONPPMLPDD", + Self::Moefihpmfkp => "ADPIBEKJGDC_MOEFIHPMFKP", + Self::Cgkglgohlbh => "ADPIBEKJGDC_CGKGLGOHLBH", + Self::Pjilhgnjpih => "ADPIBEKJGDC_PJILHGNJPIH", + Self::Nkoopnafmec => "ADPIBEKJGDC_NKOOPNAFMEC", + Self::Gehggdiemap => "ADPIBEKJGDC_GEHGGDIEMAP", + Self::Bmppllpognn => "ADPIBEKJGDC_BMPPLLPOGNN", + Self::Djbapfekmmk => "ADPIBEKJGDC_DJBAPFEKMMK", + Self::Jaclpodecpk => "ADPIBEKJGDC_JACLPODECPK", + Self::Cafoedpppio => "ADPIBEKJGDC_CAFOEDPPPIO", + Self::Engibdndcpk => "ADPIBEKJGDC_ENGIBDNDCPK", + Self::Lcjcebjigdo => "ADPIBEKJGDC_LCJCEBJIGDO", + Self::Hbjapnepdba => "ADPIBEKJGDC_HBJAPNEPDBA", + Self::Nhecifoepih => "ADPIBEKJGDC_NHECIFOEPIH", + Self::Jmchffngdil => "ADPIBEKJGDC_JMCHFFNGDIL", + Self::Enngpkabbed => "ADPIBEKJGDC_ENNGPKABBED", + Self::Ecfmnjajjop => "ADPIBEKJGDC_ECFMNJAJJOP", + Self::Fnhekkchano => "ADPIBEKJGDC_FNHEKKCHANO", + Self::Ejamaollfll => "ADPIBEKJGDC_EJAMAOLLFLL", + Self::Ggffgmkmnam => "ADPIBEKJGDC_GGFFGMKMNAM", + Self::Hhmdmoekdaf => "ADPIBEKJGDC_HHMDMOEKDAF", + Self::Bmbkobgilkj => "ADPIBEKJGDC_BMBKOBGILKJ", + Self::Caakhbikjif => "ADPIBEKJGDC_CAAKHBIKJIF", + Self::Ojaeejmgepb => "ADPIBEKJGDC_OJAEEJMGEPB", + Self::Dbmmbkcmmab => "ADPIBEKJGDC_DBMMBKCMMAB", + Self::Kgenemkaofg => "ADPIBEKJGDC_KGENEMKAOFG", + Self::Blcpdeenbnc => "ADPIBEKJGDC_BLCPDEENBNC", + Self::Kmopmiallfp => "ADPIBEKJGDC_KMOPMIALLFP", + Self::Cdgboomecbc => "ADPIBEKJGDC_CDGBOOMECBC", + Self::Pahkaekcaea => "ADPIBEKJGDC_PAHKAEKCAEA", + Self::Ncadnlpjpeh => "ADPIBEKJGDC_NCADNLPJPEH", + Self::Bppcjchhgmb => "ADPIBEKJGDC_BPPCJCHHGMB", + Self::Obahmeboclk => "ADPIBEKJGDC_OBAHMEBOCLK", + Self::Lmfipkfnngd => "ADPIBEKJGDC_LMFIPKFNNGD", + Self::Jajfnbmpapa => "ADPIBEKJGDC_JAJFNBMPAPA", + Self::Lhncfddlkgb => "ADPIBEKJGDC_LHNCFDDLKGB", + Self::Kgpjhklepah => "ADPIBEKJGDC_KGPJHKLEPAH", + Self::Djmfankccpi => "ADPIBEKJGDC_DJMFANKCCPI", + Self::Djjaagmmlgk => "ADPIBEKJGDC_DJJAAGMMLGK", + Self::Mjmiefmbmkh => "ADPIBEKJGDC_MJMIEFMBMKH", + Self::Efpppfnafdf => "ADPIBEKJGDC_EFPPPFNAFDF", + Self::Dppglpbogai => "ADPIBEKJGDC_DPPGLPBOGAI", + Self::Dkohahihjcn => "ADPIBEKJGDC_DKOHAHIHJCN", + Self::Efbijejbiff => "ADPIBEKJGDC_EFBIJEJBIFF", + Self::Edpknilpnfj => "ADPIBEKJGDC_EDPKNILPNFJ", + Self::Bfpmlbljipo => "ADPIBEKJGDC_BFPMLBLJIPO", + Self::Eknconmijbh => "ADPIBEKJGDC_EKNCONMIJBH", + Self::Cbillpjhdfd => "ADPIBEKJGDC_CBILLPJHDFD", + Self::Fnoaalhicom => "ADPIBEKJGDC_FNOAALHICOM", + Self::Nlfjffndhle => "ADPIBEKJGDC_NLFJFFNDHLE", + Self::Meffnfimjic => "ADPIBEKJGDC_MEFFNFIMJIC", + Self::Fahnpoahbcn => "ADPIBEKJGDC_FAHNPOAHBCN", + Self::Iiekjgbbfli => "ADPIBEKJGDC_IIEKJGBBFLI", + Self::Ocmkdbpblcg => "ADPIBEKJGDC_OCMKDBPBLCG", + Self::Ghlplcmhnen => "ADPIBEKJGDC_GHLPLCMHNEN", + Self::Dmpomfcdiae => "ADPIBEKJGDC_DMPOMFCDIAE", + Self::Jjkkpfmglpo => "ADPIBEKJGDC_JJKKPFMGLPO", + Self::Cfgdnknaibc => "ADPIBEKJGDC_CFGDNKNAIBC", + Self::Bpadkkcjeic => "ADPIBEKJGDC_BPADKKCJEIC", + Self::Fajanflkjlp => "ADPIBEKJGDC_FAJANFLKJLP", + Self::Cfcbdmcahca => "ADPIBEKJGDC_CFCBDMCAHCA", + Self::Bokgjmecjha => "ADPIBEKJGDC_BOKGJMECJHA", + Self::Hcnbnhkmgbe => "ADPIBEKJGDC_HCNBNHKMGBE", + Self::Egkacoenkbe => "ADPIBEKJGDC_EGKACOENKBE", + Self::Eodgankpemm => "ADPIBEKJGDC_EODGANKPEMM", + Self::Nejaabcncpd => "ADPIBEKJGDC_NEJAABCNCPD", + Self::Jmdnemdbpok => "ADPIBEKJGDC_JMDNEMDBPOK", + Self::Pogomibnega => "ADPIBEKJGDC_POGOMIBNEGA", + Self::Kejhfjanail => "ADPIBEKJGDC_KEJHFJANAIL", + Self::Kglgmfgibcl => "ADPIBEKJGDC_KGLGMFGIBCL", + Self::Mjdbjebmija => "ADPIBEKJGDC_MJDBJEBMIJA", + Self::Bgcfpnciabm => "ADPIBEKJGDC_BGCFPNCIABM", + Self::Cclncmijcho => "ADPIBEKJGDC_CCLNCMIJCHO", + Self::Kmbcgepmnpl => "ADPIBEKJGDC_KMBCGEPMNPL", + Self::Pkncgkamlib => "ADPIBEKJGDC_PKNCGKAMLIB", + Self::Inelkbmkgci => "ADPIBEKJGDC_INELKBMKGCI", + Self::Lmbiekbhkjl => "ADPIBEKJGDC_LMBIEKBHKJL", + Self::Ekjpjgfcobb => "ADPIBEKJGDC_EKJPJGFCOBB", + Self::Kbklfheildn => "ADPIBEKJGDC_KBKLFHEILDN", + Self::Cjcgpoapmgi => "ADPIBEKJGDC_CJCGPOAPMGI", + Self::Eejkckpneij => "ADPIBEKJGDC_EEJKCKPNEIJ", + Self::Emfkebcfpmi => "ADPIBEKJGDC_EMFKEBCFPMI", + Self::Ibofmfkkfbp => "ADPIBEKJGDC_IBOFMFKKFBP", + Self::Dbmoglngkkf => "ADPIBEKJGDC_DBMOGLNGKKF", + Self::Fahnjpfoohg => "ADPIBEKJGDC_FAHNJPFOOHG", + Self::Nppbbhnkiae => "ADPIBEKJGDC_NPPBBHNKIAE", + Self::Mpchnomibpd => "ADPIBEKJGDC_MPCHNOMIBPD", + Self::Ocegbhmjfgc => "ADPIBEKJGDC_OCEGBHMJFGC", + Self::Belhiamephb => "ADPIBEKJGDC_BELHIAMEPHB", + Self::Bbaphgpakng => "ADPIBEKJGDC_BBAPHGPAKNG", + Self::Mihoijcecnd => "ADPIBEKJGDC_MIHOIJCECND", + Self::Mahpolonkcg => "ADPIBEKJGDC_MAHPOLONKCG", + Self::Gimejcjaidi => "ADPIBEKJGDC_GIMEJCJAIDI", + Self::Joafjefooop => "ADPIBEKJGDC_JOAFJEFOOOP", + Self::Ojfpnjbooea => "ADPIBEKJGDC_OJFPNJBOOEA", + Self::Lgohimcapna => "ADPIBEKJGDC_LGOHIMCAPNA", + Self::Onifecbmmni => "ADPIBEKJGDC_ONIFECBMMNI", + Self::Omecnnkadok => "ADPIBEKJGDC_OMECNNKADOK", + Self::Ggdjibkmjok => "ADPIBEKJGDC_GGDJIBKMJOK", + Self::Higopafnfom => "ADPIBEKJGDC_HIGOPAFNFOM", + Self::Gjhbncggkbk => "ADPIBEKJGDC_GJHBNCGGKBK", + Self::Hhheinnfkfi => "ADPIBEKJGDC_HHHEINNFKFI", + Self::Fbmgdefdklm => "ADPIBEKJGDC_FBMGDEFDKLM", + Self::Dmigpndjipe => "ADPIBEKJGDC_DMIGPNDJIPE", + Self::Ifjiiokbcna => "ADPIBEKJGDC_IFJIIOKBCNA", + Self::Njkbkdkalmi => "ADPIBEKJGDC_NJKBKDKALMI", + Self::Aiegnfpdkhd => "ADPIBEKJGDC_AIEGNFPDKHD", + Self::Papecnffjik => "ADPIBEKJGDC_PAPECNFFJIK", + Self::Addpbdaklmm => "ADPIBEKJGDC_ADDPBDAKLMM", + Self::Jebmfkiclgb => "ADPIBEKJGDC_JEBMFKICLGB", + Self::Efigkedbbjk => "ADPIBEKJGDC_EFIGKEDBBJK", + Self::Hmlijheflgj => "ADPIBEKJGDC_HMLIJHEFLGJ", + Self::Mjmhogdejde => "ADPIBEKJGDC_MJMHOGDEJDE", + Self::Elcalfjpaop => "ADPIBEKJGDC_ELCALFJPAOP", + Self::Ebpddplahge => "ADPIBEKJGDC_EBPDDPLAHGE", + Self::Lcbdbkpkpcf => "ADPIBEKJGDC_LCBDBKPKPCF", + Self::Ajjadfikojp => "ADPIBEKJGDC_AJJADFIKOJP", + Self::Lbcjmabjjla => "ADPIBEKJGDC_LBCJMABJJLA", + Self::Kojkbklfabe => "ADPIBEKJGDC_KOJKBKLFABE", + Self::Lebafokkaea => "ADPIBEKJGDC_LEBAFOKKAEA", + Self::Nlklndafhge => "ADPIBEKJGDC_NLKLNDAFHGE", + Self::Iledpajhhan => "ADPIBEKJGDC_ILEDPAJHHAN", + Self::Eojackenneb => "ADPIBEKJGDC_EOJACKENNEB", + Self::Dohjmlcmdeo => "ADPIBEKJGDC_DOHJMLCMDEO", + Self::Ekejdkomogh => "ADPIBEKJGDC_EKEJDKOMOGH", + Self::Pkalpadpjoi => "ADPIBEKJGDC_PKALPADPJOI", + Self::Liipoklmldn => "ADPIBEKJGDC_LIIPOKLMLDN", + Self::Cgjfakekjba => "ADPIBEKJGDC_CGJFAKEKJBA", + Self::Ngffhdccfkl => "ADPIBEKJGDC_NGFFHDCCFKL", + Self::Ohhcnpgnpbo => "ADPIBEKJGDC_OHHCNPGNPBO", + Self::Hgbmjffmace => "ADPIBEKJGDC_HGBMJFFMACE", + Self::Blcddblecoj => "ADPIBEKJGDC_BLCDDBLECOJ", + Self::Nocndcfdppk => "ADPIBEKJGDC_NOCNDCFDPPK", + Self::Ephneihjhib => "ADPIBEKJGDC_EPHNEIHJHIB", + Self::Fcpjeodfdfl => "ADPIBEKJGDC_FCPJEODFDFL", + Self::Dnhkjengfba => "ADPIBEKJGDC_DNHKJENGFBA", + Self::Ejegomckhen => "ADPIBEKJGDC_EJEGOMCKHEN", + Self::Adefcldjphg => "ADPIBEKJGDC_ADEFCLDJPHG", + Self::Ldbekpbkdih => "ADPIBEKJGDC_LDBEKPBKDIH", + Self::Hadnanlhgjj => "ADPIBEKJGDC_HADNANLHGJJ", + Self::Obfpelllflk => "ADPIBEKJGDC_OBFPELLLFLK", + Self::Jekfenhgofh => "ADPIBEKJGDC_JEKFENHGOFH", + Self::Fldpcmnjlki => "ADPIBEKJGDC_FLDPCMNJLKI", + Self::Mfaodgdjccg => "ADPIBEKJGDC_MFAODGDJCCG", + Self::Cnlbegaffoo => "ADPIBEKJGDC_CNLBEGAFFOO", + Self::Gfmlokeffab => "ADPIBEKJGDC_GFMLOKEFFAB", + Self::Iplmdegmmfh => "ADPIBEKJGDC_IPLMDEGMMFH", + Self::Ehlkdogpgjo => "ADPIBEKJGDC_EHLKDOGPGJO", + Self::Nfmcdpepnka => "ADPIBEKJGDC_NFMCDPEPNKA", + Self::Gfmdomoogaa => "ADPIBEKJGDC_GFMDOMOOGAA", + Self::Adpjbhhihfh => "ADPIBEKJGDC_ADPJBHHIHFH", + Self::Komnjdcechf => "ADPIBEKJGDC_KOMNJDCECHF", + Self::Ojfcnhbgkpa => "ADPIBEKJGDC_OJFCNHBGKPA", + Self::Gnledhblgpd => "ADPIBEKJGDC_GNLEDHBLGPD", + Self::Cpphioppmob => "ADPIBEKJGDC_CPPHIOPPMOB", + Self::Ehipgpgaoia => "ADPIBEKJGDC_EHIPGPGAOIA", + Self::Nefkeopkmpi => "ADPIBEKJGDC_NEFKEOPKMPI", + Self::Gapkolalfjf => "ADPIBEKJGDC_GAPKOLALFJF", + Self::Iiahfdoohcm => "ADPIBEKJGDC_IIAHFDOOHCM", + Self::Adnofoiffej => "ADPIBEKJGDC_ADNOFOIFFEJ", + Self::Olmokipldai => "ADPIBEKJGDC_OLMOKIPLDAI", + Self::Ajjllcbbleo => "ADPIBEKJGDC_AJJLLCBBLEO", + Self::Igfcgfdmmni => "ADPIBEKJGDC_IGFCGFDMMNI", + Self::Jlianoiegbd => "ADPIBEKJGDC_JLIANOIEGBD", + Self::Ojngeajgofa => "ADPIBEKJGDC_OJNGEAJGOFA", + Self::Nnaoenamkmp => "ADPIBEKJGDC_NNAOENAMKMP", + Self::Ejjmncebhah => "ADPIBEKJGDC_EJJMNCEBHAH", + Self::Dchbjeiofea => "ADPIBEKJGDC_DCHBJEIOFEA", + Self::Mnljkdealog => "ADPIBEKJGDC_MNLJKDEALOG", + Self::Anhcglnkggj => "ADPIBEKJGDC_ANHCGLNKGGJ", + Self::Himcbdpdfld => "ADPIBEKJGDC_HIMCBDPDFLD", + Self::Bcbcjchnfmp => "ADPIBEKJGDC_BCBCJCHNFMP", + Self::Fbanckcdbdc => "ADPIBEKJGDC_FBANCKCDBDC", + Self::Amkbghkdoje => "ADPIBEKJGDC_AMKBGHKDOJE", + Self::Jfefhenjaim => "ADPIBEKJGDC_JFEFHENJAIM", + Self::Aedpodhjlmk => "ADPIBEKJGDC_AEDPODHJLMK", + Self::Ipfpapaiogk => "ADPIBEKJGDC_IPFPAPAIOGK", + Self::Mlaphienlch => "ADPIBEKJGDC_MLAPHIENLCH", + Self::Gmjjkfddieo => "ADPIBEKJGDC_GMJJKFDDIEO", + Self::Ihaichcegji => "ADPIBEKJGDC_IHAICHCEGJI", + Self::Ljeijclnijf => "ADPIBEKJGDC_LJEIJCLNIJF", + Self::Hnikahnlchl => "ADPIBEKJGDC_HNIKAHNLCHL", + Self::Cgnhobpinca => "ADPIBEKJGDC_CGNHOBPINCA", + Self::Ahdipildabh => "ADPIBEKJGDC_AHDIPILDABH", + Self::Aoocieeadhh => "ADPIBEKJGDC_AOOCIEEADHH", + Self::Gphipnloemi => "ADPIBEKJGDC_GPHIPNLOEMI", + Self::Eejmodealpb => "ADPIBEKJGDC_EEJMODEALPB", + Self::Lkdmodcjaeg => "ADPIBEKJGDC_LKDMODCJAEG", + Self::Nflpcgoikjk => "ADPIBEKJGDC_NFLPCGOIKJK", + Self::Ioafdgobfdf => "ADPIBEKJGDC_IOAFDGOBFDF", + Self::Jkkhcedafbm => "ADPIBEKJGDC_JKKHCEDAFBM", + Self::Ppgcoboplkh => "ADPIBEKJGDC_PPGCOBOPLKH", + Self::Dgfpfmafghe => "ADPIBEKJGDC_DGFPFMAFGHE", + Self::Kfjchjgohom => "ADPIBEKJGDC_KFJCHJGOHOM", + Self::Kfdmopjcajj => "ADPIBEKJGDC_KFDMOPJCAJJ", + Self::Opplbenlpkp => "ADPIBEKJGDC_OPPLBENLPKP", + Self::Ajplknjpghc => "ADPIBEKJGDC_AJPLKNJPGHC", + Self::Cicglpmkhgl => "ADPIBEKJGDC_CICGLPMKHGL", + Self::Cenhecmmnfg => "ADPIBEKJGDC_CENHECMMNFG", + Self::Lppdgeogajj => "ADPIBEKJGDC_LPPDGEOGAJJ", + Self::Dkokoaifaeb => "ADPIBEKJGDC_DKOKOAIFAEB", + Self::Ecffgihfnkl => "ADPIBEKJGDC_ECFFGIHFNKL", + Self::Fpfgfaechdn => "ADPIBEKJGDC_FPFGFAECHDN", + Self::Lmkfdnggnao => "ADPIBEKJGDC_LMKFDNGGNAO", + Self::Gdbnbmacbom => "ADPIBEKJGDC_GDBNBMACBOM", + Self::Fmgcepamgpi => "ADPIBEKJGDC_FMGCEPAMGPI", + Self::Kfodbamahhe => "ADPIBEKJGDC_KFODBAMAHHE", + Self::Ilkpkpgfaob => "ADPIBEKJGDC_ILKPKPGFAOB", + Self::Codcafmbldo => "ADPIBEKJGDC_CODCAFMBLDO", + Self::Fadngijgaik => "ADPIBEKJGDC_FADNGIJGAIK", + Self::Hpfpeffdkpi => "ADPIBEKJGDC_HPFPEFFDKPI", + Self::Jdplhklkkld => "ADPIBEKJGDC_JDPLHKLKKLD", + Self::Ghmelpdddoo => "ADPIBEKJGDC_GHMELPDDDOO", + Self::Idllgjapcpp => "ADPIBEKJGDC_IDLLGJAPCPP", + Self::Dnoefibhpne => "ADPIBEKJGDC_DNOEFIBHPNE", + Self::Oaeeoebnnfe => "ADPIBEKJGDC_OAEEOEBNNFE", + Self::Eohnljgdpnj => "ADPIBEKJGDC_EOHNLJGDPNJ", + Self::Hjlgghmkagn => "ADPIBEKJGDC_HJLGGHMKAGN", + Self::Bbkecadfkip => "ADPIBEKJGDC_BBKECADFKIP", + Self::Ponomgokegp => "ADPIBEKJGDC_PONOMGOKEGP", + Self::Edcamienncb => "ADPIBEKJGDC_EDCAMIENNCB", + Self::Nfdjkacgdid => "ADPIBEKJGDC_NFDJKACGDID", + Self::Ljbldfeiong => "ADPIBEKJGDC_LJBLDFEIONG", + Self::Einpinhjjhe => "ADPIBEKJGDC_EINPINHJJHE", + Self::Kfolfgbbahi => "ADPIBEKJGDC_KFOLFGBBAHI", + Self::Hnoakmjehdj => "ADPIBEKJGDC_HNOAKMJEHDJ", + Self::Aoiekddjgcm => "ADPIBEKJGDC_AOIEKDDJGCM", + Self::Gkkniljgncg => "ADPIBEKJGDC_GKKNILJGNCG", + Self::Jfbpcafmcgi => "ADPIBEKJGDC_JFBPCAFMCGI", + Self::Fmibkmmlhlp => "ADPIBEKJGDC_FMIBKMMLHLP", + Self::Mndfhnbkakf => "ADPIBEKJGDC_MNDFHNBKAKF", + Self::Aggcfbhdlfl => "ADPIBEKJGDC_AGGCFBHDLFL", + Self::Flkhemaaiph => "ADPIBEKJGDC_FLKHEMAAIPH", + Self::Aeblmdngpho => "ADPIBEKJGDC_AEBLMDNGPHO", + Self::Jpopkiifdae => "ADPIBEKJGDC_JPOPKIIFDAE", + Self::Jfdihljeajn => "ADPIBEKJGDC_JFDIHLJEAJN", + Self::Mbefnkbepnp => "ADPIBEKJGDC_MBEFNKBEPNP", + Self::Hbefchnklam => "ADPIBEKJGDC_HBEFCHNKLAM", + Self::Dhobemhalcm => "ADPIBEKJGDC_DHOBEMHALCM", + Self::Dfihjmedjgi => "ADPIBEKJGDC_DFIHJMEDJGI", + Self::Cjmhdjkckkg => "ADPIBEKJGDC_CJMHDJKCKKG", + Self::Dkiinkmciin => "ADPIBEKJGDC_DKIINKMCIIN", + Self::Adgheejhddm => "ADPIBEKJGDC_ADGHEEJHDDM", + Self::Aaoolmhddkm => "ADPIBEKJGDC_AAOOLMHDDKM", + Self::Ebjpopbocpp => "ADPIBEKJGDC_EBJPOPBOCPP", + Self::Edcaboekkid => "ADPIBEKJGDC_EDCABOEKKID", + Self::Hinckccblhc => "ADPIBEKJGDC_HINCKCCBLHC", + Self::Ilbikjlfplm => "ADPIBEKJGDC_ILBIKJLFPLM", + Self::Pajlgpknmln => "ADPIBEKJGDC_PAJLGPKNMLN", + Self::Cpbebgggppp => "ADPIBEKJGDC_CPBEBGGGPPP", + Self::Djmldogoeih => "ADPIBEKJGDC_DJMLDOGOEIH", + Self::Idpibjcljip => "ADPIBEKJGDC_IDPIBJCLJIP", + Self::Ggaoibjclok => "ADPIBEKJGDC_GGAOIBJCLOK", + Self::Bjeinajihlf => "ADPIBEKJGDC_BJEINAJIHLF", + Self::Pbkbbbgdfgh => "ADPIBEKJGDC_PBKBBBGDFGH", + Self::Epejapboccm => "ADPIBEKJGDC_EPEJAPBOCCM", + Self::Embdhlkadbk => "ADPIBEKJGDC_EMBDHLKADBK", + Self::Popolopgnha => "ADPIBEKJGDC_POPOLOPGNHA", + Self::Kdnkefllcpm => "ADPIBEKJGDC_KDNKEFLLCPM", + Self::Bfikpkekhbi => "ADPIBEKJGDC_BFIKPKEKHBI", + Self::Jlkgleojnfj => "ADPIBEKJGDC_JLKGLEOJNFJ", + Self::Mkhkgaljlpk => "ADPIBEKJGDC_MKHKGALJLPK", + Self::Ebelpkobaei => "ADPIBEKJGDC_EBELPKOBAEI", + Self::Okbhlkddobc => "ADPIBEKJGDC_OKBHLKDDOBC", + Self::Aigcolnjgpl => "ADPIBEKJGDC_AIGCOLNJGPL", + Self::Dhdmkhhpmco => "ADPIBEKJGDC_DHDMKHHPMCO", + Self::Jbfhfifppmh => "ADPIBEKJGDC_JBFHFIFPPMH", + Self::Jdgfpgoapkj => "ADPIBEKJGDC_JDGFPGOAPKJ", + Self::Cmcoglolbkb => "ADPIBEKJGDC_CMCOGLOLBKB", + Self::Ipifkjlhokh => "ADPIBEKJGDC_IPIFKJLHOKH", + Self::Mkmheiadljl => "ADPIBEKJGDC_MKMHEIADLJL", + Self::Mhnpklefmja => "ADPIBEKJGDC_MHNPKLEFMJA", + Self::Oigppfgpkgl => "ADPIBEKJGDC_OIGPPFGPKGL", + Self::Plojahbfioo => "ADPIBEKJGDC_PLOJAHBFIOO", + Self::Bmdokgbdgka => "ADPIBEKJGDC_BMDOKGBDGKA", + Self::Khafokblmkg => "ADPIBEKJGDC_KHAFOKBLMKG", + Self::Abnmekkfoao => "ADPIBEKJGDC_ABNMEKKFOAO", + Self::Bjdfeeneahf => "ADPIBEKJGDC_BJDFEENEAHF", + Self::Meekkencmcd => "ADPIBEKJGDC_MEEKKENCMCD", + Self::Eofhammcbdm => "ADPIBEKJGDC_EOFHAMMCBDM", + Self::Jffjlgjiman => "ADPIBEKJGDC_JFFJLGJIMAN", + Self::Eljgkebncol => "ADPIBEKJGDC_ELJGKEBNCOL", + Self::Jplkjnjcoem => "ADPIBEKJGDC_JPLKJNJCOEM", + Self::Imgoicpglii => "ADPIBEKJGDC_IMGOICPGLII", + Self::Ghichpijcec => "ADPIBEKJGDC_GHICHPIJCEC", + Self::Anagdjcflcf => "ADPIBEKJGDC_ANAGDJCFLCF", + Self::Eedjglegfmj => "ADPIBEKJGDC_EEDJGLEGFMJ", + Self::Fbeekljaknj => "ADPIBEKJGDC_FBEEKLJAKNJ", + Self::Mncgdgfeldp => "ADPIBEKJGDC_MNCGDGFELDP", + Self::Kealneoipco => "ADPIBEKJGDC_KEALNEOIPCO", + Self::Dfaojbmkind => "ADPIBEKJGDC_DFAOJBMKIND", + Self::Inamjkpagjl => "ADPIBEKJGDC_INAMJKPAGJL", + Self::Mlkennbnlmc => "ADPIBEKJGDC_MLKENNBNLMC", + Self::Kifjgddonmb => "ADPIBEKJGDC_KIFJGDDONMB", + Self::Lpmcalcglda => "ADPIBEKJGDC_LPMCALCGLDA", + Self::Fpbepnhljgh => "ADPIBEKJGDC_FPBEPNHLJGH", + Self::Jfnjhddbcho => "ADPIBEKJGDC_JFNJHDDBCHO", + Self::Dbkkemnbfmj => "ADPIBEKJGDC_DBKKEMNBFMJ", + Self::Nilmcdhfoha => "ADPIBEKJGDC_NILMCDHFOHA", + Self::Adghifhkemb => "ADPIBEKJGDC_ADGHIFHKEMB", + Self::Naimkbinhhp => "ADPIBEKJGDC_NAIMKBINHHP", + Self::Giopkhecama => "ADPIBEKJGDC_GIOPKHECAMA", + Self::Dkiedhheoio => "ADPIBEKJGDC_DKIEDHHEOIO", + Self::Bnocbpakonn => "ADPIBEKJGDC_BNOCBPAKONN", + Self::Ngcnkdijbcd => "ADPIBEKJGDC_NGCNKDIJBCD", + Self::Cphfjejepmb => "ADPIBEKJGDC_CPHFJEJEPMB", + Self::Amhfgllaaha => "ADPIBEKJGDC_AMHFGLLAAHA", + Self::Dcgpjgfcejh => "ADPIBEKJGDC_DCGPJGFCEJH", + Self::Jepooaacobd => "ADPIBEKJGDC_JEPOOAACOBD", + Self::Dkffolnhgbh => "ADPIBEKJGDC_DKFFOLNHGBH", + Self::Kdphadongfa => "ADPIBEKJGDC_KDPHADONGFA", + Self::Nabpfgokgid => "ADPIBEKJGDC_NABPFGOKGID", + Self::Dohoippahfd => "ADPIBEKJGDC_DOHOIPPAHFD", + Self::Fejhmigjoid => "ADPIBEKJGDC_FEJHMIGJOID", + Self::Jgldoidpkek => "ADPIBEKJGDC_JGLDOIDPKEK", + Self::Megabldllbe => "ADPIBEKJGDC_MEGABLDLLBE", + Self::Bdpaenjnjoe => "ADPIBEKJGDC_BDPAENJNJOE", + Self::Gjgaceaefki => "ADPIBEKJGDC_GJGACEAEFKI", + Self::Kacjhfffehh => "ADPIBEKJGDC_KACJHFFFEHH", + Self::Hndmnmolali => "ADPIBEKJGDC_HNDMNMOLALI", + Self::Fabapccoflp => "ADPIBEKJGDC_FABAPCCOFLP", + Self::Kmhiiemhchh => "ADPIBEKJGDC_KMHIIEMHCHH", + Self::Ikdeppeecpj => "ADPIBEKJGDC_IKDEPPEECPJ", + Self::Bbcbdigjebf => "ADPIBEKJGDC_BBCBDIGJEBF", + Self::Hnlnailmlnj => "ADPIBEKJGDC_HNLNAILMLNJ", + Self::Bphhacolhka => "ADPIBEKJGDC_BPHHACOLHKA", + Self::Kkljpbmjpki => "ADPIBEKJGDC_KKLJPBMJPKI", + Self::Daienclbfof => "ADPIBEKJGDC_DAIENCLBFOF", + Self::Jinojeogbig => "ADPIBEKJGDC_JINOJEOGBIG", + Self::Oajidkcpcfm => "ADPIBEKJGDC_OAJIDKCPCFM", + Self::Kmomfbkoppl => "ADPIBEKJGDC_KMOMFBKOPPL", + Self::Cdhbkbbdfbo => "ADPIBEKJGDC_CDHBKBBDFBO", + Self::Mfcojaeojfn => "ADPIBEKJGDC_MFCOJAEOJFN", + Self::Pmdkcgokofe => "ADPIBEKJGDC_PMDKCGOKOFE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ADPIBEKJGDC_DIIFPFAOKCE" => Some(Self::Diifpfaokce), + "ADPIBEKJGDC_JFPLJGGNKFJ" => Some(Self::Jfpljggnkfj), + "ADPIBEKJGDC_NFMOMKNHGAG" => Some(Self::Nfmomknhgag), + "ADPIBEKJGDC_GOEIGINEPPA" => Some(Self::Goeigineppa), + "ADPIBEKJGDC_ECEHJJICCKK" => Some(Self::Ecehjjicckk), + "ADPIBEKJGDC_GDCIHPJIJHO" => Some(Self::Gdcihpjijho), + "ADPIBEKJGDC_GCKBFOJPDLE" => Some(Self::Gckbfojpdle), + "ADPIBEKJGDC_CKEOLLLONIN" => Some(Self::Ckeolllonin), + "ADPIBEKJGDC_FDPCFHAJELH" => Some(Self::Fdpcfhajelh), + "ADPIBEKJGDC_CGKBMCFILEG" => Some(Self::Cgkbmcfileg), + "ADPIBEKJGDC_JIKNHHDKJNC" => Some(Self::Jiknhhdkjnc), + "ADPIBEKJGDC_HIFFJDCNPCA" => Some(Self::Hiffjdcnpca), + "ADPIBEKJGDC_IKLGGHKBEBK" => Some(Self::Iklgghkbebk), + "ADPIBEKJGDC_NAHPPPJMOEC" => Some(Self::Nahpppjmoec), + "ADPIBEKJGDC_GLOFADBFMJI" => Some(Self::Glofadbfmji), + "ADPIBEKJGDC_AJMIEMJEPKA" => Some(Self::Ajmiemjepka), + "ADPIBEKJGDC_OCPGGKLDLNL" => Some(Self::Ocpggkldlnl), + "ADPIBEKJGDC_AMBOMFPCCHA" => Some(Self::Ambomfpccha), + "ADPIBEKJGDC_BJIBJFOJBKB" => Some(Self::Bjibjfojbkb), + "ADPIBEKJGDC_FAPANLFGELM" => Some(Self::Fapanlfgelm), + "ADPIBEKJGDC_BDLPEHLFFEH" => Some(Self::Bdlpehlffeh), + "ADPIBEKJGDC_CLGLDALJIOH" => Some(Self::Clgldaljioh), + "ADPIBEKJGDC_ANJFGLEFHEL" => Some(Self::Anjfglefhel), + "ADPIBEKJGDC_HMMNDIKAIAH" => Some(Self::Hmmndikaiah), + "ADPIBEKJGDC_GMBHFOGHDEO" => Some(Self::Gmbhfoghdeo), + "ADPIBEKJGDC_LCFDLCMDMDD" => Some(Self::Lcfdlcmdmdd), + "ADPIBEKJGDC_GGOBCGLOKHF" => Some(Self::Ggobcglokhf), + "ADPIBEKJGDC_DKLHFDNKAJL" => Some(Self::Dklhfdnkajl), + "ADPIBEKJGDC_HLPABFOLNNO" => Some(Self::Hlpabfolnno), + "ADPIBEKJGDC_ENOIJNCIHIA" => Some(Self::Enoijncihia), + "ADPIBEKJGDC_HEKEGGKOHHO" => Some(Self::Hekeggkohho), + "ADPIBEKJGDC_JFGMLMKKLOC" => Some(Self::Jfgmlmkkloc), + "ADPIBEKJGDC_GGKLFLCNDHL" => Some(Self::Ggklflcndhl), + "ADPIBEKJGDC_PDADOCHLEFB" => Some(Self::Pdadochlefb), + "ADPIBEKJGDC_FAAHHDEKCAA" => Some(Self::Faahhdekcaa), + "ADPIBEKJGDC_KGFPDKEJKPA" => Some(Self::Kgfpdkejkpa), + "ADPIBEKJGDC_EFHPKEMIJHF" => Some(Self::Efhpkemijhf), + "ADPIBEKJGDC_MEIPLNKLFLB" => Some(Self::Meiplnklflb), + "ADPIBEKJGDC_CMEGOAFGHBK" => Some(Self::Cmegoafghbk), + "ADPIBEKJGDC_FEEHBIPKABF" => Some(Self::Feehbipkabf), + "ADPIBEKJGDC_AHFOEJHGJDF" => Some(Self::Ahfoejhgjdf), + "ADPIBEKJGDC_CPAHPAOFNBM" => Some(Self::Cpahpaofnbm), + "ADPIBEKJGDC_ABOKOLPEPDM" => Some(Self::Abokolpepdm), + "ADPIBEKJGDC_HHBDFNHCIBD" => Some(Self::Hhbdfnhcibd), + "ADPIBEKJGDC_KPBDDECAPFC" => Some(Self::Kpbddecapfc), + "ADPIBEKJGDC_APOALKOKACJ" => Some(Self::Apoalkokacj), + "ADPIBEKJGDC_JMLIDNCIOHJ" => Some(Self::Jmlidnciohj), + "ADPIBEKJGDC_IONMNLNOIEG" => Some(Self::Ionmnlnoieg), + "ADPIBEKJGDC_GKPCEPBECDM" => Some(Self::Gkpcepbecdm), + "ADPIBEKJGDC_AANKKJFAHCD" => Some(Self::Aankkjfahcd), + "ADPIBEKJGDC_OGEKDKJGPOD" => Some(Self::Ogekdkjgpod), + "ADPIBEKJGDC_LNBIIDKNAHK" => Some(Self::Lnbiidknahk), + "ADPIBEKJGDC_MGJKHMHKADH" => Some(Self::Mgjkhmhkadh), + "ADPIBEKJGDC_ELDIIPDEMEH" => Some(Self::Eldiipdemeh), + "ADPIBEKJGDC_HBJIICGKGLD" => Some(Self::Hbjiicgkgld), + "ADPIBEKJGDC_GHGLAFFGOCA" => Some(Self::Ghglaffgoca), + "ADPIBEKJGDC_GJCHNPAABAE" => Some(Self::Gjchnpaabae), + "ADPIBEKJGDC_NKDOBCPBMDN" => Some(Self::Nkdobcpbmdn), + "ADPIBEKJGDC_HHGEIDLEMBC" => Some(Self::Hhgeidlembc), + "ADPIBEKJGDC_FGKKBDMACNN" => Some(Self::Fgkkbdmacnn), + "ADPIBEKJGDC_DFEMBNHEAHF" => Some(Self::Dfembnheahf), + "ADPIBEKJGDC_ANOAIDFAGHC" => Some(Self::Anoaidfaghc), + "ADPIBEKJGDC_BELECLEDCIB" => Some(Self::Belecledcib), + "ADPIBEKJGDC_PJILPJOCAGC" => Some(Self::Pjilpjocagc), + "ADPIBEKJGDC_DOMCONCBGKK" => Some(Self::Domconcbgkk), + "ADPIBEKJGDC_INGMGCHLFBI" => Some(Self::Ingmgchlfbi), + "ADPIBEKJGDC_BCMJPHCNHHL" => Some(Self::Bcmjphcnhhl), + "ADPIBEKJGDC_KDPCMONBDML" => Some(Self::Kdpcmonbdml), + "ADPIBEKJGDC_DCKNAPIJJKL" => Some(Self::Dcknapijjkl), + "ADPIBEKJGDC_PKPJDDKPIII" => Some(Self::Pkpjddkpiii), + "ADPIBEKJGDC_BMHBHBHJOJK" => Some(Self::Bmhbhbhjojk), + "ADPIBEKJGDC_ELOPEICBHGO" => Some(Self::Elopeicbhgo), + "ADPIBEKJGDC_FHCKMCHIHMD" => Some(Self::Fhckmchihmd), + "ADPIBEKJGDC_BKLGMMNBFLJ" => Some(Self::Bklgmmnbflj), + "ADPIBEKJGDC_EDCJELOCIEO" => Some(Self::Edcjelocieo), + "ADPIBEKJGDC_CLHGJOLDMLF" => Some(Self::Clhgjoldmlf), + "ADPIBEKJGDC_ICNKPPKOPEP" => Some(Self::Icnkppkopep), + "ADPIBEKJGDC_OBAIONEBCKK" => Some(Self::Obaionebckk), + "ADPIBEKJGDC_HHLCLFFFNBN" => Some(Self::Hhlclfffnbn), + "ADPIBEKJGDC_ALOHANKOIAH" => Some(Self::Alohankoiah), + "ADPIBEKJGDC_ADMCIGBCGBB" => Some(Self::Admcigbcgbb), + "ADPIBEKJGDC_OCNHLOBDBOP" => Some(Self::Ocnhlobdbop), + "ADPIBEKJGDC_GHBAGGAKNBC" => Some(Self::Ghbaggaknbc), + "ADPIBEKJGDC_FKNHEJGJNJO" => Some(Self::Fknhejgjnjo), + "ADPIBEKJGDC_IICLIJKDHOF" => Some(Self::Iiclijkdhof), + "ADPIBEKJGDC_ECFKDNBBFHI" => Some(Self::Ecfkdnbbfhi), + "ADPIBEKJGDC_JDJLDLFGDJD" => Some(Self::Jdjldlfgdjd), + "ADPIBEKJGDC_KDIHBHFLPJI" => Some(Self::Kdihbhflpji), + "ADPIBEKJGDC_MMPGCAMENAD" => Some(Self::Mmpgcamenad), + "ADPIBEKJGDC_KANHMFBDPKM" => Some(Self::Kanhmfbdpkm), + "ADPIBEKJGDC_NLMBIJPIPCD" => Some(Self::Nlmbijpipcd), + "ADPIBEKJGDC_OIAKPIMJGPD" => Some(Self::Oiakpimjgpd), + "ADPIBEKJGDC_BNPGEDAHFCE" => Some(Self::Bnpgedahfce), + "ADPIBEKJGDC_EKMEMBFIOFH" => Some(Self::Ekmembfiofh), + "ADPIBEKJGDC_BNONPPMLPDD" => Some(Self::Bnonppmlpdd), + "ADPIBEKJGDC_MOEFIHPMFKP" => Some(Self::Moefihpmfkp), + "ADPIBEKJGDC_CGKGLGOHLBH" => Some(Self::Cgkglgohlbh), + "ADPIBEKJGDC_PJILHGNJPIH" => Some(Self::Pjilhgnjpih), + "ADPIBEKJGDC_NKOOPNAFMEC" => Some(Self::Nkoopnafmec), + "ADPIBEKJGDC_GEHGGDIEMAP" => Some(Self::Gehggdiemap), + "ADPIBEKJGDC_BMPPLLPOGNN" => Some(Self::Bmppllpognn), + "ADPIBEKJGDC_DJBAPFEKMMK" => Some(Self::Djbapfekmmk), + "ADPIBEKJGDC_JACLPODECPK" => Some(Self::Jaclpodecpk), + "ADPIBEKJGDC_CAFOEDPPPIO" => Some(Self::Cafoedpppio), + "ADPIBEKJGDC_ENGIBDNDCPK" => Some(Self::Engibdndcpk), + "ADPIBEKJGDC_LCJCEBJIGDO" => Some(Self::Lcjcebjigdo), + "ADPIBEKJGDC_HBJAPNEPDBA" => Some(Self::Hbjapnepdba), + "ADPIBEKJGDC_NHECIFOEPIH" => Some(Self::Nhecifoepih), + "ADPIBEKJGDC_JMCHFFNGDIL" => Some(Self::Jmchffngdil), + "ADPIBEKJGDC_ENNGPKABBED" => Some(Self::Enngpkabbed), + "ADPIBEKJGDC_ECFMNJAJJOP" => Some(Self::Ecfmnjajjop), + "ADPIBEKJGDC_FNHEKKCHANO" => Some(Self::Fnhekkchano), + "ADPIBEKJGDC_EJAMAOLLFLL" => Some(Self::Ejamaollfll), + "ADPIBEKJGDC_GGFFGMKMNAM" => Some(Self::Ggffgmkmnam), + "ADPIBEKJGDC_HHMDMOEKDAF" => Some(Self::Hhmdmoekdaf), + "ADPIBEKJGDC_BMBKOBGILKJ" => Some(Self::Bmbkobgilkj), + "ADPIBEKJGDC_CAAKHBIKJIF" => Some(Self::Caakhbikjif), + "ADPIBEKJGDC_OJAEEJMGEPB" => Some(Self::Ojaeejmgepb), + "ADPIBEKJGDC_DBMMBKCMMAB" => Some(Self::Dbmmbkcmmab), + "ADPIBEKJGDC_KGENEMKAOFG" => Some(Self::Kgenemkaofg), + "ADPIBEKJGDC_BLCPDEENBNC" => Some(Self::Blcpdeenbnc), + "ADPIBEKJGDC_KMOPMIALLFP" => Some(Self::Kmopmiallfp), + "ADPIBEKJGDC_CDGBOOMECBC" => Some(Self::Cdgboomecbc), + "ADPIBEKJGDC_PAHKAEKCAEA" => Some(Self::Pahkaekcaea), + "ADPIBEKJGDC_NCADNLPJPEH" => Some(Self::Ncadnlpjpeh), + "ADPIBEKJGDC_BPPCJCHHGMB" => Some(Self::Bppcjchhgmb), + "ADPIBEKJGDC_OBAHMEBOCLK" => Some(Self::Obahmeboclk), + "ADPIBEKJGDC_LMFIPKFNNGD" => Some(Self::Lmfipkfnngd), + "ADPIBEKJGDC_JAJFNBMPAPA" => Some(Self::Jajfnbmpapa), + "ADPIBEKJGDC_LHNCFDDLKGB" => Some(Self::Lhncfddlkgb), + "ADPIBEKJGDC_KGPJHKLEPAH" => Some(Self::Kgpjhklepah), + "ADPIBEKJGDC_DJMFANKCCPI" => Some(Self::Djmfankccpi), + "ADPIBEKJGDC_DJJAAGMMLGK" => Some(Self::Djjaagmmlgk), + "ADPIBEKJGDC_MJMIEFMBMKH" => Some(Self::Mjmiefmbmkh), + "ADPIBEKJGDC_EFPPPFNAFDF" => Some(Self::Efpppfnafdf), + "ADPIBEKJGDC_DPPGLPBOGAI" => Some(Self::Dppglpbogai), + "ADPIBEKJGDC_DKOHAHIHJCN" => Some(Self::Dkohahihjcn), + "ADPIBEKJGDC_EFBIJEJBIFF" => Some(Self::Efbijejbiff), + "ADPIBEKJGDC_EDPKNILPNFJ" => Some(Self::Edpknilpnfj), + "ADPIBEKJGDC_BFPMLBLJIPO" => Some(Self::Bfpmlbljipo), + "ADPIBEKJGDC_EKNCONMIJBH" => Some(Self::Eknconmijbh), + "ADPIBEKJGDC_CBILLPJHDFD" => Some(Self::Cbillpjhdfd), + "ADPIBEKJGDC_FNOAALHICOM" => Some(Self::Fnoaalhicom), + "ADPIBEKJGDC_NLFJFFNDHLE" => Some(Self::Nlfjffndhle), + "ADPIBEKJGDC_MEFFNFIMJIC" => Some(Self::Meffnfimjic), + "ADPIBEKJGDC_FAHNPOAHBCN" => Some(Self::Fahnpoahbcn), + "ADPIBEKJGDC_IIEKJGBBFLI" => Some(Self::Iiekjgbbfli), + "ADPIBEKJGDC_OCMKDBPBLCG" => Some(Self::Ocmkdbpblcg), + "ADPIBEKJGDC_GHLPLCMHNEN" => Some(Self::Ghlplcmhnen), + "ADPIBEKJGDC_DMPOMFCDIAE" => Some(Self::Dmpomfcdiae), + "ADPIBEKJGDC_JJKKPFMGLPO" => Some(Self::Jjkkpfmglpo), + "ADPIBEKJGDC_CFGDNKNAIBC" => Some(Self::Cfgdnknaibc), + "ADPIBEKJGDC_BPADKKCJEIC" => Some(Self::Bpadkkcjeic), + "ADPIBEKJGDC_FAJANFLKJLP" => Some(Self::Fajanflkjlp), + "ADPIBEKJGDC_CFCBDMCAHCA" => Some(Self::Cfcbdmcahca), + "ADPIBEKJGDC_BOKGJMECJHA" => Some(Self::Bokgjmecjha), + "ADPIBEKJGDC_HCNBNHKMGBE" => Some(Self::Hcnbnhkmgbe), + "ADPIBEKJGDC_EGKACOENKBE" => Some(Self::Egkacoenkbe), + "ADPIBEKJGDC_EODGANKPEMM" => Some(Self::Eodgankpemm), + "ADPIBEKJGDC_NEJAABCNCPD" => Some(Self::Nejaabcncpd), + "ADPIBEKJGDC_JMDNEMDBPOK" => Some(Self::Jmdnemdbpok), + "ADPIBEKJGDC_POGOMIBNEGA" => Some(Self::Pogomibnega), + "ADPIBEKJGDC_KEJHFJANAIL" => Some(Self::Kejhfjanail), + "ADPIBEKJGDC_KGLGMFGIBCL" => Some(Self::Kglgmfgibcl), + "ADPIBEKJGDC_MJDBJEBMIJA" => Some(Self::Mjdbjebmija), + "ADPIBEKJGDC_BGCFPNCIABM" => Some(Self::Bgcfpnciabm), + "ADPIBEKJGDC_CCLNCMIJCHO" => Some(Self::Cclncmijcho), + "ADPIBEKJGDC_KMBCGEPMNPL" => Some(Self::Kmbcgepmnpl), + "ADPIBEKJGDC_PKNCGKAMLIB" => Some(Self::Pkncgkamlib), + "ADPIBEKJGDC_INELKBMKGCI" => Some(Self::Inelkbmkgci), + "ADPIBEKJGDC_LMBIEKBHKJL" => Some(Self::Lmbiekbhkjl), + "ADPIBEKJGDC_EKJPJGFCOBB" => Some(Self::Ekjpjgfcobb), + "ADPIBEKJGDC_KBKLFHEILDN" => Some(Self::Kbklfheildn), + "ADPIBEKJGDC_CJCGPOAPMGI" => Some(Self::Cjcgpoapmgi), + "ADPIBEKJGDC_EEJKCKPNEIJ" => Some(Self::Eejkckpneij), + "ADPIBEKJGDC_EMFKEBCFPMI" => Some(Self::Emfkebcfpmi), + "ADPIBEKJGDC_IBOFMFKKFBP" => Some(Self::Ibofmfkkfbp), + "ADPIBEKJGDC_DBMOGLNGKKF" => Some(Self::Dbmoglngkkf), + "ADPIBEKJGDC_FAHNJPFOOHG" => Some(Self::Fahnjpfoohg), + "ADPIBEKJGDC_NPPBBHNKIAE" => Some(Self::Nppbbhnkiae), + "ADPIBEKJGDC_MPCHNOMIBPD" => Some(Self::Mpchnomibpd), + "ADPIBEKJGDC_OCEGBHMJFGC" => Some(Self::Ocegbhmjfgc), + "ADPIBEKJGDC_BELHIAMEPHB" => Some(Self::Belhiamephb), + "ADPIBEKJGDC_BBAPHGPAKNG" => Some(Self::Bbaphgpakng), + "ADPIBEKJGDC_MIHOIJCECND" => Some(Self::Mihoijcecnd), + "ADPIBEKJGDC_MAHPOLONKCG" => Some(Self::Mahpolonkcg), + "ADPIBEKJGDC_GIMEJCJAIDI" => Some(Self::Gimejcjaidi), + "ADPIBEKJGDC_JOAFJEFOOOP" => Some(Self::Joafjefooop), + "ADPIBEKJGDC_OJFPNJBOOEA" => Some(Self::Ojfpnjbooea), + "ADPIBEKJGDC_LGOHIMCAPNA" => Some(Self::Lgohimcapna), + "ADPIBEKJGDC_ONIFECBMMNI" => Some(Self::Onifecbmmni), + "ADPIBEKJGDC_OMECNNKADOK" => Some(Self::Omecnnkadok), + "ADPIBEKJGDC_GGDJIBKMJOK" => Some(Self::Ggdjibkmjok), + "ADPIBEKJGDC_HIGOPAFNFOM" => Some(Self::Higopafnfom), + "ADPIBEKJGDC_GJHBNCGGKBK" => Some(Self::Gjhbncggkbk), + "ADPIBEKJGDC_HHHEINNFKFI" => Some(Self::Hhheinnfkfi), + "ADPIBEKJGDC_FBMGDEFDKLM" => Some(Self::Fbmgdefdklm), + "ADPIBEKJGDC_DMIGPNDJIPE" => Some(Self::Dmigpndjipe), + "ADPIBEKJGDC_IFJIIOKBCNA" => Some(Self::Ifjiiokbcna), + "ADPIBEKJGDC_NJKBKDKALMI" => Some(Self::Njkbkdkalmi), + "ADPIBEKJGDC_AIEGNFPDKHD" => Some(Self::Aiegnfpdkhd), + "ADPIBEKJGDC_PAPECNFFJIK" => Some(Self::Papecnffjik), + "ADPIBEKJGDC_ADDPBDAKLMM" => Some(Self::Addpbdaklmm), + "ADPIBEKJGDC_JEBMFKICLGB" => Some(Self::Jebmfkiclgb), + "ADPIBEKJGDC_EFIGKEDBBJK" => Some(Self::Efigkedbbjk), + "ADPIBEKJGDC_HMLIJHEFLGJ" => Some(Self::Hmlijheflgj), + "ADPIBEKJGDC_MJMHOGDEJDE" => Some(Self::Mjmhogdejde), + "ADPIBEKJGDC_ELCALFJPAOP" => Some(Self::Elcalfjpaop), + "ADPIBEKJGDC_EBPDDPLAHGE" => Some(Self::Ebpddplahge), + "ADPIBEKJGDC_LCBDBKPKPCF" => Some(Self::Lcbdbkpkpcf), + "ADPIBEKJGDC_AJJADFIKOJP" => Some(Self::Ajjadfikojp), + "ADPIBEKJGDC_LBCJMABJJLA" => Some(Self::Lbcjmabjjla), + "ADPIBEKJGDC_KOJKBKLFABE" => Some(Self::Kojkbklfabe), + "ADPIBEKJGDC_LEBAFOKKAEA" => Some(Self::Lebafokkaea), + "ADPIBEKJGDC_NLKLNDAFHGE" => Some(Self::Nlklndafhge), + "ADPIBEKJGDC_ILEDPAJHHAN" => Some(Self::Iledpajhhan), + "ADPIBEKJGDC_EOJACKENNEB" => Some(Self::Eojackenneb), + "ADPIBEKJGDC_DOHJMLCMDEO" => Some(Self::Dohjmlcmdeo), + "ADPIBEKJGDC_EKEJDKOMOGH" => Some(Self::Ekejdkomogh), + "ADPIBEKJGDC_PKALPADPJOI" => Some(Self::Pkalpadpjoi), + "ADPIBEKJGDC_LIIPOKLMLDN" => Some(Self::Liipoklmldn), + "ADPIBEKJGDC_CGJFAKEKJBA" => Some(Self::Cgjfakekjba), + "ADPIBEKJGDC_NGFFHDCCFKL" => Some(Self::Ngffhdccfkl), + "ADPIBEKJGDC_OHHCNPGNPBO" => Some(Self::Ohhcnpgnpbo), + "ADPIBEKJGDC_HGBMJFFMACE" => Some(Self::Hgbmjffmace), + "ADPIBEKJGDC_BLCDDBLECOJ" => Some(Self::Blcddblecoj), + "ADPIBEKJGDC_NOCNDCFDPPK" => Some(Self::Nocndcfdppk), + "ADPIBEKJGDC_EPHNEIHJHIB" => Some(Self::Ephneihjhib), + "ADPIBEKJGDC_FCPJEODFDFL" => Some(Self::Fcpjeodfdfl), + "ADPIBEKJGDC_DNHKJENGFBA" => Some(Self::Dnhkjengfba), + "ADPIBEKJGDC_EJEGOMCKHEN" => Some(Self::Ejegomckhen), + "ADPIBEKJGDC_ADEFCLDJPHG" => Some(Self::Adefcldjphg), + "ADPIBEKJGDC_LDBEKPBKDIH" => Some(Self::Ldbekpbkdih), + "ADPIBEKJGDC_HADNANLHGJJ" => Some(Self::Hadnanlhgjj), + "ADPIBEKJGDC_OBFPELLLFLK" => Some(Self::Obfpelllflk), + "ADPIBEKJGDC_JEKFENHGOFH" => Some(Self::Jekfenhgofh), + "ADPIBEKJGDC_FLDPCMNJLKI" => Some(Self::Fldpcmnjlki), + "ADPIBEKJGDC_MFAODGDJCCG" => Some(Self::Mfaodgdjccg), + "ADPIBEKJGDC_CNLBEGAFFOO" => Some(Self::Cnlbegaffoo), + "ADPIBEKJGDC_GFMLOKEFFAB" => Some(Self::Gfmlokeffab), + "ADPIBEKJGDC_IPLMDEGMMFH" => Some(Self::Iplmdegmmfh), + "ADPIBEKJGDC_EHLKDOGPGJO" => Some(Self::Ehlkdogpgjo), + "ADPIBEKJGDC_NFMCDPEPNKA" => Some(Self::Nfmcdpepnka), + "ADPIBEKJGDC_GFMDOMOOGAA" => Some(Self::Gfmdomoogaa), + "ADPIBEKJGDC_ADPJBHHIHFH" => Some(Self::Adpjbhhihfh), + "ADPIBEKJGDC_KOMNJDCECHF" => Some(Self::Komnjdcechf), + "ADPIBEKJGDC_OJFCNHBGKPA" => Some(Self::Ojfcnhbgkpa), + "ADPIBEKJGDC_GNLEDHBLGPD" => Some(Self::Gnledhblgpd), + "ADPIBEKJGDC_CPPHIOPPMOB" => Some(Self::Cpphioppmob), + "ADPIBEKJGDC_EHIPGPGAOIA" => Some(Self::Ehipgpgaoia), + "ADPIBEKJGDC_NEFKEOPKMPI" => Some(Self::Nefkeopkmpi), + "ADPIBEKJGDC_GAPKOLALFJF" => Some(Self::Gapkolalfjf), + "ADPIBEKJGDC_IIAHFDOOHCM" => Some(Self::Iiahfdoohcm), + "ADPIBEKJGDC_ADNOFOIFFEJ" => Some(Self::Adnofoiffej), + "ADPIBEKJGDC_OLMOKIPLDAI" => Some(Self::Olmokipldai), + "ADPIBEKJGDC_AJJLLCBBLEO" => Some(Self::Ajjllcbbleo), + "ADPIBEKJGDC_IGFCGFDMMNI" => Some(Self::Igfcgfdmmni), + "ADPIBEKJGDC_JLIANOIEGBD" => Some(Self::Jlianoiegbd), + "ADPIBEKJGDC_OJNGEAJGOFA" => Some(Self::Ojngeajgofa), + "ADPIBEKJGDC_NNAOENAMKMP" => Some(Self::Nnaoenamkmp), + "ADPIBEKJGDC_EJJMNCEBHAH" => Some(Self::Ejjmncebhah), + "ADPIBEKJGDC_DCHBJEIOFEA" => Some(Self::Dchbjeiofea), + "ADPIBEKJGDC_MNLJKDEALOG" => Some(Self::Mnljkdealog), + "ADPIBEKJGDC_ANHCGLNKGGJ" => Some(Self::Anhcglnkggj), + "ADPIBEKJGDC_HIMCBDPDFLD" => Some(Self::Himcbdpdfld), + "ADPIBEKJGDC_BCBCJCHNFMP" => Some(Self::Bcbcjchnfmp), + "ADPIBEKJGDC_FBANCKCDBDC" => Some(Self::Fbanckcdbdc), + "ADPIBEKJGDC_AMKBGHKDOJE" => Some(Self::Amkbghkdoje), + "ADPIBEKJGDC_JFEFHENJAIM" => Some(Self::Jfefhenjaim), + "ADPIBEKJGDC_AEDPODHJLMK" => Some(Self::Aedpodhjlmk), + "ADPIBEKJGDC_IPFPAPAIOGK" => Some(Self::Ipfpapaiogk), + "ADPIBEKJGDC_MLAPHIENLCH" => Some(Self::Mlaphienlch), + "ADPIBEKJGDC_GMJJKFDDIEO" => Some(Self::Gmjjkfddieo), + "ADPIBEKJGDC_IHAICHCEGJI" => Some(Self::Ihaichcegji), + "ADPIBEKJGDC_LJEIJCLNIJF" => Some(Self::Ljeijclnijf), + "ADPIBEKJGDC_HNIKAHNLCHL" => Some(Self::Hnikahnlchl), + "ADPIBEKJGDC_CGNHOBPINCA" => Some(Self::Cgnhobpinca), + "ADPIBEKJGDC_AHDIPILDABH" => Some(Self::Ahdipildabh), + "ADPIBEKJGDC_AOOCIEEADHH" => Some(Self::Aoocieeadhh), + "ADPIBEKJGDC_GPHIPNLOEMI" => Some(Self::Gphipnloemi), + "ADPIBEKJGDC_EEJMODEALPB" => Some(Self::Eejmodealpb), + "ADPIBEKJGDC_LKDMODCJAEG" => Some(Self::Lkdmodcjaeg), + "ADPIBEKJGDC_NFLPCGOIKJK" => Some(Self::Nflpcgoikjk), + "ADPIBEKJGDC_IOAFDGOBFDF" => Some(Self::Ioafdgobfdf), + "ADPIBEKJGDC_JKKHCEDAFBM" => Some(Self::Jkkhcedafbm), + "ADPIBEKJGDC_PPGCOBOPLKH" => Some(Self::Ppgcoboplkh), + "ADPIBEKJGDC_DGFPFMAFGHE" => Some(Self::Dgfpfmafghe), + "ADPIBEKJGDC_KFJCHJGOHOM" => Some(Self::Kfjchjgohom), + "ADPIBEKJGDC_KFDMOPJCAJJ" => Some(Self::Kfdmopjcajj), + "ADPIBEKJGDC_OPPLBENLPKP" => Some(Self::Opplbenlpkp), + "ADPIBEKJGDC_AJPLKNJPGHC" => Some(Self::Ajplknjpghc), + "ADPIBEKJGDC_CICGLPMKHGL" => Some(Self::Cicglpmkhgl), + "ADPIBEKJGDC_CENHECMMNFG" => Some(Self::Cenhecmmnfg), + "ADPIBEKJGDC_LPPDGEOGAJJ" => Some(Self::Lppdgeogajj), + "ADPIBEKJGDC_DKOKOAIFAEB" => Some(Self::Dkokoaifaeb), + "ADPIBEKJGDC_ECFFGIHFNKL" => Some(Self::Ecffgihfnkl), + "ADPIBEKJGDC_FPFGFAECHDN" => Some(Self::Fpfgfaechdn), + "ADPIBEKJGDC_LMKFDNGGNAO" => Some(Self::Lmkfdnggnao), + "ADPIBEKJGDC_GDBNBMACBOM" => Some(Self::Gdbnbmacbom), + "ADPIBEKJGDC_FMGCEPAMGPI" => Some(Self::Fmgcepamgpi), + "ADPIBEKJGDC_KFODBAMAHHE" => Some(Self::Kfodbamahhe), + "ADPIBEKJGDC_ILKPKPGFAOB" => Some(Self::Ilkpkpgfaob), + "ADPIBEKJGDC_CODCAFMBLDO" => Some(Self::Codcafmbldo), + "ADPIBEKJGDC_FADNGIJGAIK" => Some(Self::Fadngijgaik), + "ADPIBEKJGDC_HPFPEFFDKPI" => Some(Self::Hpfpeffdkpi), + "ADPIBEKJGDC_JDPLHKLKKLD" => Some(Self::Jdplhklkkld), + "ADPIBEKJGDC_GHMELPDDDOO" => Some(Self::Ghmelpdddoo), + "ADPIBEKJGDC_IDLLGJAPCPP" => Some(Self::Idllgjapcpp), + "ADPIBEKJGDC_DNOEFIBHPNE" => Some(Self::Dnoefibhpne), + "ADPIBEKJGDC_OAEEOEBNNFE" => Some(Self::Oaeeoebnnfe), + "ADPIBEKJGDC_EOHNLJGDPNJ" => Some(Self::Eohnljgdpnj), + "ADPIBEKJGDC_HJLGGHMKAGN" => Some(Self::Hjlgghmkagn), + "ADPIBEKJGDC_BBKECADFKIP" => Some(Self::Bbkecadfkip), + "ADPIBEKJGDC_PONOMGOKEGP" => Some(Self::Ponomgokegp), + "ADPIBEKJGDC_EDCAMIENNCB" => Some(Self::Edcamienncb), + "ADPIBEKJGDC_NFDJKACGDID" => Some(Self::Nfdjkacgdid), + "ADPIBEKJGDC_LJBLDFEIONG" => Some(Self::Ljbldfeiong), + "ADPIBEKJGDC_EINPINHJJHE" => Some(Self::Einpinhjjhe), + "ADPIBEKJGDC_KFOLFGBBAHI" => Some(Self::Kfolfgbbahi), + "ADPIBEKJGDC_HNOAKMJEHDJ" => Some(Self::Hnoakmjehdj), + "ADPIBEKJGDC_AOIEKDDJGCM" => Some(Self::Aoiekddjgcm), + "ADPIBEKJGDC_GKKNILJGNCG" => Some(Self::Gkkniljgncg), + "ADPIBEKJGDC_JFBPCAFMCGI" => Some(Self::Jfbpcafmcgi), + "ADPIBEKJGDC_FMIBKMMLHLP" => Some(Self::Fmibkmmlhlp), + "ADPIBEKJGDC_MNDFHNBKAKF" => Some(Self::Mndfhnbkakf), + "ADPIBEKJGDC_AGGCFBHDLFL" => Some(Self::Aggcfbhdlfl), + "ADPIBEKJGDC_FLKHEMAAIPH" => Some(Self::Flkhemaaiph), + "ADPIBEKJGDC_AEBLMDNGPHO" => Some(Self::Aeblmdngpho), + "ADPIBEKJGDC_JPOPKIIFDAE" => Some(Self::Jpopkiifdae), + "ADPIBEKJGDC_JFDIHLJEAJN" => Some(Self::Jfdihljeajn), + "ADPIBEKJGDC_MBEFNKBEPNP" => Some(Self::Mbefnkbepnp), + "ADPIBEKJGDC_HBEFCHNKLAM" => Some(Self::Hbefchnklam), + "ADPIBEKJGDC_DHOBEMHALCM" => Some(Self::Dhobemhalcm), + "ADPIBEKJGDC_DFIHJMEDJGI" => Some(Self::Dfihjmedjgi), + "ADPIBEKJGDC_CJMHDJKCKKG" => Some(Self::Cjmhdjkckkg), + "ADPIBEKJGDC_DKIINKMCIIN" => Some(Self::Dkiinkmciin), + "ADPIBEKJGDC_ADGHEEJHDDM" => Some(Self::Adgheejhddm), + "ADPIBEKJGDC_AAOOLMHDDKM" => Some(Self::Aaoolmhddkm), + "ADPIBEKJGDC_EBJPOPBOCPP" => Some(Self::Ebjpopbocpp), + "ADPIBEKJGDC_EDCABOEKKID" => Some(Self::Edcaboekkid), + "ADPIBEKJGDC_HINCKCCBLHC" => Some(Self::Hinckccblhc), + "ADPIBEKJGDC_ILBIKJLFPLM" => Some(Self::Ilbikjlfplm), + "ADPIBEKJGDC_PAJLGPKNMLN" => Some(Self::Pajlgpknmln), + "ADPIBEKJGDC_CPBEBGGGPPP" => Some(Self::Cpbebgggppp), + "ADPIBEKJGDC_DJMLDOGOEIH" => Some(Self::Djmldogoeih), + "ADPIBEKJGDC_IDPIBJCLJIP" => Some(Self::Idpibjcljip), + "ADPIBEKJGDC_GGAOIBJCLOK" => Some(Self::Ggaoibjclok), + "ADPIBEKJGDC_BJEINAJIHLF" => Some(Self::Bjeinajihlf), + "ADPIBEKJGDC_PBKBBBGDFGH" => Some(Self::Pbkbbbgdfgh), + "ADPIBEKJGDC_EPEJAPBOCCM" => Some(Self::Epejapboccm), + "ADPIBEKJGDC_EMBDHLKADBK" => Some(Self::Embdhlkadbk), + "ADPIBEKJGDC_POPOLOPGNHA" => Some(Self::Popolopgnha), + "ADPIBEKJGDC_KDNKEFLLCPM" => Some(Self::Kdnkefllcpm), + "ADPIBEKJGDC_BFIKPKEKHBI" => Some(Self::Bfikpkekhbi), + "ADPIBEKJGDC_JLKGLEOJNFJ" => Some(Self::Jlkgleojnfj), + "ADPIBEKJGDC_MKHKGALJLPK" => Some(Self::Mkhkgaljlpk), + "ADPIBEKJGDC_EBELPKOBAEI" => Some(Self::Ebelpkobaei), + "ADPIBEKJGDC_OKBHLKDDOBC" => Some(Self::Okbhlkddobc), + "ADPIBEKJGDC_AIGCOLNJGPL" => Some(Self::Aigcolnjgpl), + "ADPIBEKJGDC_DHDMKHHPMCO" => Some(Self::Dhdmkhhpmco), + "ADPIBEKJGDC_JBFHFIFPPMH" => Some(Self::Jbfhfifppmh), + "ADPIBEKJGDC_JDGFPGOAPKJ" => Some(Self::Jdgfpgoapkj), + "ADPIBEKJGDC_CMCOGLOLBKB" => Some(Self::Cmcoglolbkb), + "ADPIBEKJGDC_IPIFKJLHOKH" => Some(Self::Ipifkjlhokh), + "ADPIBEKJGDC_MKMHEIADLJL" => Some(Self::Mkmheiadljl), + "ADPIBEKJGDC_MHNPKLEFMJA" => Some(Self::Mhnpklefmja), + "ADPIBEKJGDC_OIGPPFGPKGL" => Some(Self::Oigppfgpkgl), + "ADPIBEKJGDC_PLOJAHBFIOO" => Some(Self::Plojahbfioo), + "ADPIBEKJGDC_BMDOKGBDGKA" => Some(Self::Bmdokgbdgka), + "ADPIBEKJGDC_KHAFOKBLMKG" => Some(Self::Khafokblmkg), + "ADPIBEKJGDC_ABNMEKKFOAO" => Some(Self::Abnmekkfoao), + "ADPIBEKJGDC_BJDFEENEAHF" => Some(Self::Bjdfeeneahf), + "ADPIBEKJGDC_MEEKKENCMCD" => Some(Self::Meekkencmcd), + "ADPIBEKJGDC_EOFHAMMCBDM" => Some(Self::Eofhammcbdm), + "ADPIBEKJGDC_JFFJLGJIMAN" => Some(Self::Jffjlgjiman), + "ADPIBEKJGDC_ELJGKEBNCOL" => Some(Self::Eljgkebncol), + "ADPIBEKJGDC_JPLKJNJCOEM" => Some(Self::Jplkjnjcoem), + "ADPIBEKJGDC_IMGOICPGLII" => Some(Self::Imgoicpglii), + "ADPIBEKJGDC_GHICHPIJCEC" => Some(Self::Ghichpijcec), + "ADPIBEKJGDC_ANAGDJCFLCF" => Some(Self::Anagdjcflcf), + "ADPIBEKJGDC_EEDJGLEGFMJ" => Some(Self::Eedjglegfmj), + "ADPIBEKJGDC_FBEEKLJAKNJ" => Some(Self::Fbeekljaknj), + "ADPIBEKJGDC_MNCGDGFELDP" => Some(Self::Mncgdgfeldp), + "ADPIBEKJGDC_KEALNEOIPCO" => Some(Self::Kealneoipco), + "ADPIBEKJGDC_DFAOJBMKIND" => Some(Self::Dfaojbmkind), + "ADPIBEKJGDC_INAMJKPAGJL" => Some(Self::Inamjkpagjl), + "ADPIBEKJGDC_MLKENNBNLMC" => Some(Self::Mlkennbnlmc), + "ADPIBEKJGDC_KIFJGDDONMB" => Some(Self::Kifjgddonmb), + "ADPIBEKJGDC_LPMCALCGLDA" => Some(Self::Lpmcalcglda), + "ADPIBEKJGDC_FPBEPNHLJGH" => Some(Self::Fpbepnhljgh), + "ADPIBEKJGDC_JFNJHDDBCHO" => Some(Self::Jfnjhddbcho), + "ADPIBEKJGDC_DBKKEMNBFMJ" => Some(Self::Dbkkemnbfmj), + "ADPIBEKJGDC_NILMCDHFOHA" => Some(Self::Nilmcdhfoha), + "ADPIBEKJGDC_ADGHIFHKEMB" => Some(Self::Adghifhkemb), + "ADPIBEKJGDC_NAIMKBINHHP" => Some(Self::Naimkbinhhp), + "ADPIBEKJGDC_GIOPKHECAMA" => Some(Self::Giopkhecama), + "ADPIBEKJGDC_DKIEDHHEOIO" => Some(Self::Dkiedhheoio), + "ADPIBEKJGDC_BNOCBPAKONN" => Some(Self::Bnocbpakonn), + "ADPIBEKJGDC_NGCNKDIJBCD" => Some(Self::Ngcnkdijbcd), + "ADPIBEKJGDC_CPHFJEJEPMB" => Some(Self::Cphfjejepmb), + "ADPIBEKJGDC_AMHFGLLAAHA" => Some(Self::Amhfgllaaha), + "ADPIBEKJGDC_DCGPJGFCEJH" => Some(Self::Dcgpjgfcejh), + "ADPIBEKJGDC_JEPOOAACOBD" => Some(Self::Jepooaacobd), + "ADPIBEKJGDC_DKFFOLNHGBH" => Some(Self::Dkffolnhgbh), + "ADPIBEKJGDC_KDPHADONGFA" => Some(Self::Kdphadongfa), + "ADPIBEKJGDC_NABPFGOKGID" => Some(Self::Nabpfgokgid), + "ADPIBEKJGDC_DOHOIPPAHFD" => Some(Self::Dohoippahfd), + "ADPIBEKJGDC_FEJHMIGJOID" => Some(Self::Fejhmigjoid), + "ADPIBEKJGDC_JGLDOIDPKEK" => Some(Self::Jgldoidpkek), + "ADPIBEKJGDC_MEGABLDLLBE" => Some(Self::Megabldllbe), + "ADPIBEKJGDC_BDPAENJNJOE" => Some(Self::Bdpaenjnjoe), + "ADPIBEKJGDC_GJGACEAEFKI" => Some(Self::Gjgaceaefki), + "ADPIBEKJGDC_KACJHFFFEHH" => Some(Self::Kacjhfffehh), + "ADPIBEKJGDC_HNDMNMOLALI" => Some(Self::Hndmnmolali), + "ADPIBEKJGDC_FABAPCCOFLP" => Some(Self::Fabapccoflp), + "ADPIBEKJGDC_KMHIIEMHCHH" => Some(Self::Kmhiiemhchh), + "ADPIBEKJGDC_IKDEPPEECPJ" => Some(Self::Ikdeppeecpj), + "ADPIBEKJGDC_BBCBDIGJEBF" => Some(Self::Bbcbdigjebf), + "ADPIBEKJGDC_HNLNAILMLNJ" => Some(Self::Hnlnailmlnj), + "ADPIBEKJGDC_BPHHACOLHKA" => Some(Self::Bphhacolhka), + "ADPIBEKJGDC_KKLJPBMJPKI" => Some(Self::Kkljpbmjpki), + "ADPIBEKJGDC_DAIENCLBFOF" => Some(Self::Daienclbfof), + "ADPIBEKJGDC_JINOJEOGBIG" => Some(Self::Jinojeogbig), + "ADPIBEKJGDC_OAJIDKCPCFM" => Some(Self::Oajidkcpcfm), + "ADPIBEKJGDC_KMOMFBKOPPL" => Some(Self::Kmomfbkoppl), + "ADPIBEKJGDC_CDHBKBBDFBO" => Some(Self::Cdhbkbbdfbo), + "ADPIBEKJGDC_MFCOJAEOJFN" => Some(Self::Mfcojaeojfn), + "ADPIBEKJGDC_PMDKCGOKOFE" => Some(Self::Pmdkcgokofe), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hdmafmfohjl { + Djomlaiengf = 0, + Khjegkcfjfa = 1, + Nbpibajkflf = 2, +} +impl Hdmafmfohjl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Djomlaiengf => "HDMAFMFOHJL_DJOMLAIENGF", + Self::Khjegkcfjfa => "HDMAFMFOHJL_KHJEGKCFJFA", + Self::Nbpibajkflf => "HDMAFMFOHJL_NBPIBAJKFLF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HDMAFMFOHJL_DJOMLAIENGF" => Some(Self::Djomlaiengf), + "HDMAFMFOHJL_KHJEGKCFJFA" => Some(Self::Khjegkcfjfa), + "HDMAFMFOHJL_NBPIBAJKFLF" => Some(Self::Nbpibajkflf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dklgniaakji { + HollowLightTypeNone = 0, + HollowLightTypeDefault = 1, + HollowLightTypeGhost = 2, + HollowLightTypeUnstable = 3, +} +impl Dklgniaakji { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowLightTypeNone => "DKLGNIAAKJI_HOLLOW_LIGHT_TYPE_NONE", + Self::HollowLightTypeDefault => "DKLGNIAAKJI_HOLLOW_LIGHT_TYPE_DEFAULT", + Self::HollowLightTypeGhost => "DKLGNIAAKJI_HOLLOW_LIGHT_TYPE_GHOST", + Self::HollowLightTypeUnstable => "DKLGNIAAKJI_HOLLOW_LIGHT_TYPE_UNSTABLE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DKLGNIAAKJI_HOLLOW_LIGHT_TYPE_NONE" => Some(Self::HollowLightTypeNone), + "DKLGNIAAKJI_HOLLOW_LIGHT_TYPE_DEFAULT" => Some(Self::HollowLightTypeDefault), + "DKLGNIAAKJI_HOLLOW_LIGHT_TYPE_GHOST" => Some(Self::HollowLightTypeGhost), + "DKLGNIAAKJI_HOLLOW_LIGHT_TYPE_UNSTABLE" => { + Some(Self::HollowLightTypeUnstable) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kpblnpfjlep { + Ahemmbnmfch = 0, + Fejiahfpcpm = 6602, +} +impl Kpblnpfjlep { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ahemmbnmfch => "KPBLNPFJLEP_AHEMMBNMFCH", + Self::Fejiahfpcpm => "KPBLNPFJLEP_FEJIAHFPCPM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KPBLNPFJLEP_AHEMMBNMFCH" => Some(Self::Ahemmbnmfch), + "KPBLNPFJLEP_FEJIAHFPCPM" => Some(Self::Fejiahfpcpm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Neejjbnihkh { + Fgdfnkbbnnf = 0, + Aeadfneagnb = 1, + Haplnkcdogc = 2, + Meafffejmic = 3, + Ocipeniimbo = 4, + Ponlnlnchpg = 5, +} +impl Neejjbnihkh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fgdfnkbbnnf => "NEEJJBNIHKH_FGDFNKBBNNF", + Self::Aeadfneagnb => "NEEJJBNIHKH_AEADFNEAGNB", + Self::Haplnkcdogc => "NEEJJBNIHKH_HAPLNKCDOGC", + Self::Meafffejmic => "NEEJJBNIHKH_MEAFFFEJMIC", + Self::Ocipeniimbo => "NEEJJBNIHKH_OCIPENIIMBO", + Self::Ponlnlnchpg => "NEEJJBNIHKH_PONLNLNCHPG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NEEJJBNIHKH_FGDFNKBBNNF" => Some(Self::Fgdfnkbbnnf), + "NEEJJBNIHKH_AEADFNEAGNB" => Some(Self::Aeadfneagnb), + "NEEJJBNIHKH_HAPLNKCDOGC" => Some(Self::Haplnkcdogc), + "NEEJJBNIHKH_MEAFFFEJMIC" => Some(Self::Meafffejmic), + "NEEJJBNIHKH_OCIPENIIMBO" => Some(Self::Ocipeniimbo), + "NEEJJBNIHKH_PONLNLNCHPG" => Some(Self::Ponlnlnchpg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Annhhkkmlhf { + Fhikgpgjobi = 0, + Nooabfonmah = 1, + Dkcjkoopfmk = 2, +} +impl Annhhkkmlhf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fhikgpgjobi => "ANNHHKKMLHF_FHIKGPGJOBI", + Self::Nooabfonmah => "ANNHHKKMLHF_NOOABFONMAH", + Self::Dkcjkoopfmk => "ANNHHKKMLHF_DKCJKOOPFMK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ANNHHKKMLHF_FHIKGPGJOBI" => Some(Self::Fhikgpgjobi), + "ANNHHKKMLHF_NOOABFONMAH" => Some(Self::Nooabfonmah), + "ANNHHKKMLHF_DKCJKOOPFMK" => Some(Self::Dkcjkoopfmk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ehijdfenjic { + Peogblconbk = 0, +} +impl Ehijdfenjic { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Peogblconbk => "EHIJDFENJIC_PEOGBLCONBK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EHIJDFENJIC_PEOGBLCONBK" => Some(Self::Peogblconbk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Eplbpplhnid { + Oighdogcjch = 0, + Nnghbpaonjo = 1, + Fmkeibjnomo = 2, +} +impl Eplbpplhnid { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Oighdogcjch => "EPLBPPLHNID_OIGHDOGCJCH", + Self::Nnghbpaonjo => "EPLBPPLHNID_NNGHBPAONJO", + Self::Fmkeibjnomo => "EPLBPPLHNID_FMKEIBJNOMO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EPLBPPLHNID_OIGHDOGCJCH" => Some(Self::Oighdogcjch), + "EPLBPPLHNID_NNGHBPAONJO" => Some(Self::Nnghbpaonjo), + "EPLBPPLHNID_FMKEIBJNOMO" => Some(Self::Fmkeibjnomo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Elbfmaaicom { + TypeOfSetListNone = 0, + TypeOfSetListInit = 1, + TypeOfSetListAppend = 2, + TypeOfSetListInsert = 3, + TypeOfSetListSort = 4, + TypeOfSetListUnique = 5, + TypeOfSetListRemove = 6, + TypeOfSetListModify = 7, +} +impl Elbfmaaicom { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::TypeOfSetListNone => "ELBFMAAICOM_TYPE_OF_SET_LIST_NONE", + Self::TypeOfSetListInit => "ELBFMAAICOM_TYPE_OF_SET_LIST_INIT", + Self::TypeOfSetListAppend => "ELBFMAAICOM_TYPE_OF_SET_LIST_APPEND", + Self::TypeOfSetListInsert => "ELBFMAAICOM_TYPE_OF_SET_LIST_INSERT", + Self::TypeOfSetListSort => "ELBFMAAICOM_TYPE_OF_SET_LIST_SORT", + Self::TypeOfSetListUnique => "ELBFMAAICOM_TYPE_OF_SET_LIST_UNIQUE", + Self::TypeOfSetListRemove => "ELBFMAAICOM_TYPE_OF_SET_LIST_REMOVE", + Self::TypeOfSetListModify => "ELBFMAAICOM_TYPE_OF_SET_LIST_MODIFY", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ELBFMAAICOM_TYPE_OF_SET_LIST_NONE" => Some(Self::TypeOfSetListNone), + "ELBFMAAICOM_TYPE_OF_SET_LIST_INIT" => Some(Self::TypeOfSetListInit), + "ELBFMAAICOM_TYPE_OF_SET_LIST_APPEND" => Some(Self::TypeOfSetListAppend), + "ELBFMAAICOM_TYPE_OF_SET_LIST_INSERT" => Some(Self::TypeOfSetListInsert), + "ELBFMAAICOM_TYPE_OF_SET_LIST_SORT" => Some(Self::TypeOfSetListSort), + "ELBFMAAICOM_TYPE_OF_SET_LIST_UNIQUE" => Some(Self::TypeOfSetListUnique), + "ELBFMAAICOM_TYPE_OF_SET_LIST_REMOVE" => Some(Self::TypeOfSetListRemove), + "ELBFMAAICOM_TYPE_OF_SET_LIST_MODIFY" => Some(Self::TypeOfSetListModify), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bbcfmceplfi { + Hdnpifdebgp = 0, + Jldgpiccnfa = 1, + Dejooakenjo = 2, + Alhbbofldnl = 3, +} +impl Bbcfmceplfi { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Hdnpifdebgp => "BBCFMCEPLFI_HDNPIFDEBGP", + Self::Jldgpiccnfa => "BBCFMCEPLFI_JLDGPICCNFA", + Self::Dejooakenjo => "BBCFMCEPLFI_DEJOOAKENJO", + Self::Alhbbofldnl => "BBCFMCEPLFI_ALHBBOFLDNL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BBCFMCEPLFI_HDNPIFDEBGP" => Some(Self::Hdnpifdebgp), + "BBCFMCEPLFI_JLDGPICCNFA" => Some(Self::Jldgpiccnfa), + "BBCFMCEPLFI_DEJOOAKENJO" => Some(Self::Dejooakenjo), + "BBCFMCEPLFI_ALHBBOFLDNL" => Some(Self::Alhbbofldnl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pjcjccmphhj { + Pioknjngpdi = 0, + Acdhlehpecc = 1, + Fpofglgfkbb = 2, +} +impl Pjcjccmphhj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pioknjngpdi => "PJCJCCMPHHJ_PIOKNJNGPDI", + Self::Acdhlehpecc => "PJCJCCMPHHJ_ACDHLEHPECC", + Self::Fpofglgfkbb => "PJCJCCMPHHJ_FPOFGLGFKBB", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PJCJCCMPHHJ_PIOKNJNGPDI" => Some(Self::Pioknjngpdi), + "PJCJCCMPHHJ_ACDHLEHPECC" => Some(Self::Acdhlehpecc), + "PJCJCCMPHHJ_FPOFGLGFKBB" => Some(Self::Fpofglgfkbb), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Feimaobhekc { + Nnaiajaemdf = 0, + Fjpbkbbbhmn = 1, + Khejelfajbl = 2, + Omjkjokkfpl = 3, + Honhdblncnf = 6, + Bailkbafjkn = 7, + Ejhhemeipnf = 8, + Ameneiinocb = 9, + Fipgedgacil = 10, + Lpcifjgcdem = 11, + Jlmidamihdp = 12, + Kginhhkeaid = 13, + Flnbbkpgpkd = 14, + Hlhcgjilbdl = 15, + Epmmoejpakn = 16, + Glhohofmmnn = 17, + Cmkmnmodeda = 18, +} +impl Feimaobhekc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nnaiajaemdf => "FEIMAOBHEKC_NNAIAJAEMDF", + Self::Fjpbkbbbhmn => "FEIMAOBHEKC_FJPBKBBBHMN", + Self::Khejelfajbl => "FEIMAOBHEKC_KHEJELFAJBL", + Self::Omjkjokkfpl => "FEIMAOBHEKC_OMJKJOKKFPL", + Self::Honhdblncnf => "FEIMAOBHEKC_HONHDBLNCNF", + Self::Bailkbafjkn => "FEIMAOBHEKC_BAILKBAFJKN", + Self::Ejhhemeipnf => "FEIMAOBHEKC_EJHHEMEIPNF", + Self::Ameneiinocb => "FEIMAOBHEKC_AMENEIINOCB", + Self::Fipgedgacil => "FEIMAOBHEKC_FIPGEDGACIL", + Self::Lpcifjgcdem => "FEIMAOBHEKC_LPCIFJGCDEM", + Self::Jlmidamihdp => "FEIMAOBHEKC_JLMIDAMIHDP", + Self::Kginhhkeaid => "FEIMAOBHEKC_KGINHHKEAID", + Self::Flnbbkpgpkd => "FEIMAOBHEKC_FLNBBKPGPKD", + Self::Hlhcgjilbdl => "FEIMAOBHEKC_HLHCGJILBDL", + Self::Epmmoejpakn => "FEIMAOBHEKC_EPMMOEJPAKN", + Self::Glhohofmmnn => "FEIMAOBHEKC_GLHOHOFMMNN", + Self::Cmkmnmodeda => "FEIMAOBHEKC_CMKMNMODEDA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FEIMAOBHEKC_NNAIAJAEMDF" => Some(Self::Nnaiajaemdf), + "FEIMAOBHEKC_FJPBKBBBHMN" => Some(Self::Fjpbkbbbhmn), + "FEIMAOBHEKC_KHEJELFAJBL" => Some(Self::Khejelfajbl), + "FEIMAOBHEKC_OMJKJOKKFPL" => Some(Self::Omjkjokkfpl), + "FEIMAOBHEKC_HONHDBLNCNF" => Some(Self::Honhdblncnf), + "FEIMAOBHEKC_BAILKBAFJKN" => Some(Self::Bailkbafjkn), + "FEIMAOBHEKC_EJHHEMEIPNF" => Some(Self::Ejhhemeipnf), + "FEIMAOBHEKC_AMENEIINOCB" => Some(Self::Ameneiinocb), + "FEIMAOBHEKC_FIPGEDGACIL" => Some(Self::Fipgedgacil), + "FEIMAOBHEKC_LPCIFJGCDEM" => Some(Self::Lpcifjgcdem), + "FEIMAOBHEKC_JLMIDAMIHDP" => Some(Self::Jlmidamihdp), + "FEIMAOBHEKC_KGINHHKEAID" => Some(Self::Kginhhkeaid), + "FEIMAOBHEKC_FLNBBKPGPKD" => Some(Self::Flnbbkpgpkd), + "FEIMAOBHEKC_HLHCGJILBDL" => Some(Self::Hlhcgjilbdl), + "FEIMAOBHEKC_EPMMOEJPAKN" => Some(Self::Epmmoejpakn), + "FEIMAOBHEKC_GLHOHOFMMNN" => Some(Self::Glhohofmmnn), + "FEIMAOBHEKC_CMKMNMODEDA" => Some(Self::Cmkmnmodeda), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hdapnnmodnj { + Dpdppbmnhhl = 0, + Ieeckaplckh = 1, + Gdimficccon = 2, + Econnhmmlip = 3, +} +impl Hdapnnmodnj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dpdppbmnhhl => "HDAPNNMODNJ_DPDPPBMNHHL", + Self::Ieeckaplckh => "HDAPNNMODNJ_IEECKAPLCKH", + Self::Gdimficccon => "HDAPNNMODNJ_GDIMFICCCON", + Self::Econnhmmlip => "HDAPNNMODNJ_ECONNHMMLIP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HDAPNNMODNJ_DPDPPBMNHHL" => Some(Self::Dpdppbmnhhl), + "HDAPNNMODNJ_IEECKAPLCKH" => Some(Self::Ieeckaplckh), + "HDAPNNMODNJ_GDIMFICCCON" => Some(Self::Gdimficccon), + "HDAPNNMODNJ_ECONNHMMLIP" => Some(Self::Econnhmmlip), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Penakdhljil { + Pgfmdgjaccc = 0, + Ogpjlcdmpkf = 1, + Efpdhjidgkj = 2, + Kimdjkbjhbj = 3, + Cpjldhocjgd = 4, + Ghbcaebekbg = 5, + Oooambncaio = 6, + Ekbmojeldhc = 7, + Eobgpcpbhif = 8, + Dpggnjnhpfi = 9, + Kkikhikejbe = 10, + Gghjpjbjfbo = 11, + Difkjjmgdln = 12, + Peffnfgbnff = 13, + Ilfaggkfajd = 14, + Fngfogcndol = 15, + Idaidkfbgpa = 16, +} +impl Penakdhljil { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pgfmdgjaccc => "PENAKDHLJIL_PGFMDGJACCC", + Self::Ogpjlcdmpkf => "PENAKDHLJIL_OGPJLCDMPKF", + Self::Efpdhjidgkj => "PENAKDHLJIL_EFPDHJIDGKJ", + Self::Kimdjkbjhbj => "PENAKDHLJIL_KIMDJKBJHBJ", + Self::Cpjldhocjgd => "PENAKDHLJIL_CPJLDHOCJGD", + Self::Ghbcaebekbg => "PENAKDHLJIL_GHBCAEBEKBG", + Self::Oooambncaio => "PENAKDHLJIL_OOOAMBNCAIO", + Self::Ekbmojeldhc => "PENAKDHLJIL_EKBMOJELDHC", + Self::Eobgpcpbhif => "PENAKDHLJIL_EOBGPCPBHIF", + Self::Dpggnjnhpfi => "PENAKDHLJIL_DPGGNJNHPFI", + Self::Kkikhikejbe => "PENAKDHLJIL_KKIKHIKEJBE", + Self::Gghjpjbjfbo => "PENAKDHLJIL_GGHJPJBJFBO", + Self::Difkjjmgdln => "PENAKDHLJIL_DIFKJJMGDLN", + Self::Peffnfgbnff => "PENAKDHLJIL_PEFFNFGBNFF", + Self::Ilfaggkfajd => "PENAKDHLJIL_ILFAGGKFAJD", + Self::Fngfogcndol => "PENAKDHLJIL_FNGFOGCNDOL", + Self::Idaidkfbgpa => "PENAKDHLJIL_IDAIDKFBGPA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PENAKDHLJIL_PGFMDGJACCC" => Some(Self::Pgfmdgjaccc), + "PENAKDHLJIL_OGPJLCDMPKF" => Some(Self::Ogpjlcdmpkf), + "PENAKDHLJIL_EFPDHJIDGKJ" => Some(Self::Efpdhjidgkj), + "PENAKDHLJIL_KIMDJKBJHBJ" => Some(Self::Kimdjkbjhbj), + "PENAKDHLJIL_CPJLDHOCJGD" => Some(Self::Cpjldhocjgd), + "PENAKDHLJIL_GHBCAEBEKBG" => Some(Self::Ghbcaebekbg), + "PENAKDHLJIL_OOOAMBNCAIO" => Some(Self::Oooambncaio), + "PENAKDHLJIL_EKBMOJELDHC" => Some(Self::Ekbmojeldhc), + "PENAKDHLJIL_EOBGPCPBHIF" => Some(Self::Eobgpcpbhif), + "PENAKDHLJIL_DPGGNJNHPFI" => Some(Self::Dpggnjnhpfi), + "PENAKDHLJIL_KKIKHIKEJBE" => Some(Self::Kkikhikejbe), + "PENAKDHLJIL_GGHJPJBJFBO" => Some(Self::Gghjpjbjfbo), + "PENAKDHLJIL_DIFKJJMGDLN" => Some(Self::Difkjjmgdln), + "PENAKDHLJIL_PEFFNFGBNFF" => Some(Self::Peffnfgbnff), + "PENAKDHLJIL_ILFAGGKFAJD" => Some(Self::Ilfaggkfajd), + "PENAKDHLJIL_FNGFOGCNDOL" => Some(Self::Fngfogcndol), + "PENAKDHLJIL_IDAIDKFBGPA" => Some(Self::Idaidkfbgpa), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jniilhfjmpl { + Pflkobemagm = 0, + Mafdpndobgg = 1, + Mpnknfbnamh = 2, + Cjbjhfoclaf = 3, + Nbhmhcebpgj = 4, + Ifpjcaihdkn = 5, +} +impl Jniilhfjmpl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pflkobemagm => "JNIILHFJMPL_PFLKOBEMAGM", + Self::Mafdpndobgg => "JNIILHFJMPL_MAFDPNDOBGG", + Self::Mpnknfbnamh => "JNIILHFJMPL_MPNKNFBNAMH", + Self::Cjbjhfoclaf => "JNIILHFJMPL_CJBJHFOCLAF", + Self::Nbhmhcebpgj => "JNIILHFJMPL_NBHMHCEBPGJ", + Self::Ifpjcaihdkn => "JNIILHFJMPL_IFPJCAIHDKN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JNIILHFJMPL_PFLKOBEMAGM" => Some(Self::Pflkobemagm), + "JNIILHFJMPL_MAFDPNDOBGG" => Some(Self::Mafdpndobgg), + "JNIILHFJMPL_MPNKNFBNAMH" => Some(Self::Mpnknfbnamh), + "JNIILHFJMPL_CJBJHFOCLAF" => Some(Self::Cjbjhfoclaf), + "JNIILHFJMPL_NBHMHCEBPGJ" => Some(Self::Nbhmhcebpgj), + "JNIILHFJMPL_IFPJCAIHDKN" => Some(Self::Ifpjcaihdkn), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Olkpipmfbkh { + Agoomgcjjob = 0, + Ddmdnknkiod = 1, + Gdnlakjadlm = 2, +} +impl Olkpipmfbkh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Agoomgcjjob => "OLKPIPMFBKH_AGOOMGCJJOB", + Self::Ddmdnknkiod => "OLKPIPMFBKH_DDMDNKNKIOD", + Self::Gdnlakjadlm => "OLKPIPMFBKH_GDNLAKJADLM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OLKPIPMFBKH_AGOOMGCJJOB" => Some(Self::Agoomgcjjob), + "OLKPIPMFBKH_DDMDNKNKIOD" => Some(Self::Ddmdnknkiod), + "OLKPIPMFBKH_GDNLAKJADLM" => Some(Self::Gdnlakjadlm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Npaeinmcdce { + Nkahmnbeagi = 0, + Dbknkkljnoc = 1, + Pfibedkenod = 2, + Jlnfjkfifik = 4, + Bojaigfdiep = 8, + Jhccheligdf = 16, + Agjicpengoc = 32, + Bplclcgkino = 64, + Jkpjllimhjn = 128, + Hpodibjofbe = 256, + Ehcnfcejfgh = 512, + Jogegeinbkj = 1024, + Kkabfckhbpe = 2048, + Cdlhnpniafm = 4096, + Mlpncmafjkk = 8192, + Kcooapdddkp = 16384, + Jpggihpjegb = 32768, + Abgnjadnode = 65536, + Lkocpimlajn = 131072, + Affjhphoecj = 262144, + Mfdjkiimloj = 524288, + Ccdikdlgkif = 1048576, + Cmmnoggfjpa = 2097152, + Oblocpakpml = 4194304, + Fanejemkblf = 8388608, + Icmgnpjkohb = 16777216, + Hhnjcjmblok = 33554432, +} +impl Npaeinmcdce { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nkahmnbeagi => "NPAEINMCDCE_NKAHMNBEAGI", + Self::Dbknkkljnoc => "NPAEINMCDCE_DBKNKKLJNOC", + Self::Pfibedkenod => "NPAEINMCDCE_PFIBEDKENOD", + Self::Jlnfjkfifik => "NPAEINMCDCE_JLNFJKFIFIK", + Self::Bojaigfdiep => "NPAEINMCDCE_BOJAIGFDIEP", + Self::Jhccheligdf => "NPAEINMCDCE_JHCCHELIGDF", + Self::Agjicpengoc => "NPAEINMCDCE_AGJICPENGOC", + Self::Bplclcgkino => "NPAEINMCDCE_BPLCLCGKINO", + Self::Jkpjllimhjn => "NPAEINMCDCE_JKPJLLIMHJN", + Self::Hpodibjofbe => "NPAEINMCDCE_HPODIBJOFBE", + Self::Ehcnfcejfgh => "NPAEINMCDCE_EHCNFCEJFGH", + Self::Jogegeinbkj => "NPAEINMCDCE_JOGEGEINBKJ", + Self::Kkabfckhbpe => "NPAEINMCDCE_KKABFCKHBPE", + Self::Cdlhnpniafm => "NPAEINMCDCE_CDLHNPNIAFM", + Self::Mlpncmafjkk => "NPAEINMCDCE_MLPNCMAFJKK", + Self::Kcooapdddkp => "NPAEINMCDCE_KCOOAPDDDKP", + Self::Jpggihpjegb => "NPAEINMCDCE_JPGGIHPJEGB", + Self::Abgnjadnode => "NPAEINMCDCE_ABGNJADNODE", + Self::Lkocpimlajn => "NPAEINMCDCE_LKOCPIMLAJN", + Self::Affjhphoecj => "NPAEINMCDCE_AFFJHPHOECJ", + Self::Mfdjkiimloj => "NPAEINMCDCE_MFDJKIIMLOJ", + Self::Ccdikdlgkif => "NPAEINMCDCE_CCDIKDLGKIF", + Self::Cmmnoggfjpa => "NPAEINMCDCE_CMMNOGGFJPA", + Self::Oblocpakpml => "NPAEINMCDCE_OBLOCPAKPML", + Self::Fanejemkblf => "NPAEINMCDCE_FANEJEMKBLF", + Self::Icmgnpjkohb => "NPAEINMCDCE_ICMGNPJKOHB", + Self::Hhnjcjmblok => "NPAEINMCDCE_HHNJCJMBLOK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NPAEINMCDCE_NKAHMNBEAGI" => Some(Self::Nkahmnbeagi), + "NPAEINMCDCE_DBKNKKLJNOC" => Some(Self::Dbknkkljnoc), + "NPAEINMCDCE_PFIBEDKENOD" => Some(Self::Pfibedkenod), + "NPAEINMCDCE_JLNFJKFIFIK" => Some(Self::Jlnfjkfifik), + "NPAEINMCDCE_BOJAIGFDIEP" => Some(Self::Bojaigfdiep), + "NPAEINMCDCE_JHCCHELIGDF" => Some(Self::Jhccheligdf), + "NPAEINMCDCE_AGJICPENGOC" => Some(Self::Agjicpengoc), + "NPAEINMCDCE_BPLCLCGKINO" => Some(Self::Bplclcgkino), + "NPAEINMCDCE_JKPJLLIMHJN" => Some(Self::Jkpjllimhjn), + "NPAEINMCDCE_HPODIBJOFBE" => Some(Self::Hpodibjofbe), + "NPAEINMCDCE_EHCNFCEJFGH" => Some(Self::Ehcnfcejfgh), + "NPAEINMCDCE_JOGEGEINBKJ" => Some(Self::Jogegeinbkj), + "NPAEINMCDCE_KKABFCKHBPE" => Some(Self::Kkabfckhbpe), + "NPAEINMCDCE_CDLHNPNIAFM" => Some(Self::Cdlhnpniafm), + "NPAEINMCDCE_MLPNCMAFJKK" => Some(Self::Mlpncmafjkk), + "NPAEINMCDCE_KCOOAPDDDKP" => Some(Self::Kcooapdddkp), + "NPAEINMCDCE_JPGGIHPJEGB" => Some(Self::Jpggihpjegb), + "NPAEINMCDCE_ABGNJADNODE" => Some(Self::Abgnjadnode), + "NPAEINMCDCE_LKOCPIMLAJN" => Some(Self::Lkocpimlajn), + "NPAEINMCDCE_AFFJHPHOECJ" => Some(Self::Affjhphoecj), + "NPAEINMCDCE_MFDJKIIMLOJ" => Some(Self::Mfdjkiimloj), + "NPAEINMCDCE_CCDIKDLGKIF" => Some(Self::Ccdikdlgkif), + "NPAEINMCDCE_CMMNOGGFJPA" => Some(Self::Cmmnoggfjpa), + "NPAEINMCDCE_OBLOCPAKPML" => Some(Self::Oblocpakpml), + "NPAEINMCDCE_FANEJEMKBLF" => Some(Self::Fanejemkblf), + "NPAEINMCDCE_ICMGNPJKOHB" => Some(Self::Icmgnpjkohb), + "NPAEINMCDCE_HHNJCJMBLOK" => Some(Self::Hhnjcjmblok), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ccdkmgejhhc { + Daemiegnljg = 0, + Gpfbienmhje = 2, + Pnlamfaahha = 3, + Goefdlifkhi = 4, + Kocenelmack = 5, + Hlgbidhnjhg = 6, + Ncefebpfjdb = 7, + Ggmddflione = 8, + Hmjhmlgdken = 9, + Mljlblknncf = 10, + Njfnfiklfmj = 11, + Boedjllbcah = 12, + Bdoomimhjon = 16, + Fgaieekijhb = 17, + Onhegdjmjcn = 18, + Hjihbjfbfpg = 19, + Mfekfdknhob = 20, + Pleipadcibo = 21, + Clahdfkngmi = 22, + Mgeijbhjfco = 23, + Opdkleediph = 24, + Mmepeabaedn = 25, + Ojoogggakio = 26, + Bldlpmliiad = 28, + Jnplakjljbf = 29, + Fkmkgnojokn = 30, + Kigidengjdi = 31, + Pdeacnbimal = 32, + Dokfaeighjf = 33, + Bdnhcdompbp = 34, + Cceecomjfej = 35, + Inmeeokccok = 36, + Nakgfjkekce = 38, + Alaglaohjhn = 39, + Npkhnfblihd = 40, + Kclblinebec = 41, + Dekioaocjpo = 42, + Efngooongde = 43, + Gmobnpffokl = 45, + Kepebdpkaln = 46, + Pafgnbdmiip = 49, + Cpekifjehhc = 52, + Hdpijidcjag = 53, + Gbklndppjjn = 54, + Hglpnibidop = 55, + Gaaehgibmjl = 56, + Hadahhnjmhd = 57, + Pdhoehlkneg = 58, + Iphejicgcpc = 59, + Lngdhoimnil = 60, + Aakllldembc = 62, + Hogkaieakll = 63, + Femdgpmcfbg = 64, + Bgmohmoljjp = 67, + Pcnapciadbe = 68, + Jioocdelfke = 69, + Nibmfgpnclf = 70, + Ljnbkodbmfo = 73, + Lppdieahpaf = 74, + Gnohjfdiikb = 75, + Llnppalbkhm = 76, + Miccdkdmaga = 77, + Oejadljeflj = 78, + Iopeigdomhe = 79, + Cickmekiifo = 81, + Fgponndfmeg = 82, + Fpjheecnldl = 83, + Jfpkmhdlabn = 84, + Eepiepnicnp = 85, + Kgbfeenbpel = 86, + Bmedoajpnjc = 87, + Knplemaknmb = 88, + Ipnkpcchcnb = 89, + Hbhakcbclkn = 90, + Cfbobgnfmad = 91, + Gimgfhbgphg = 92, + Hdcamimfkfg = 93, + Fcifcbafadd = 94, + Ojfobmgmehe = 95, + Elfblfbeibd = 96, + Hndggddhmbd = 97, + Ecohpmnkecn = 98, + Jdjnlhnejio = 99, + Lhlapffimnl = 100, + Lnlmccopljn = 101, + Abinbblcodk = 103, + Ookaiaonfkp = 104, + Geaamgkjbjh = 105, + Efenlciomob = 106, + Kboiiiioimh = 107, + Hfehpaiepfa = 108, + Ekeiapabppe = 109, + Eijdcijomel = 110, + Ndmniodeeii = 112, + Plpammcklip = 113, + Hfjndbnljpm = 114, + Degfakjmmfe = 115, + Fagfmcjfkkf = 116, + Gnhomhkamkm = 117, + Eelomckjbhb = 118, + Jaiippjhjfo = 119, + Cikghcfhkef = 120, + Dnadibkeldk = 121, + Pgbbecjkbcm = 122, + Dlnaomjpcdl = 123, + Emebopammbl = 124, + Ongobgpmlpp = 125, + Jdimhkohdcg = 126, + Cedlhacjcec = 127, + Gghlnofglki = 128, + Ehhibomidik = 129, + Jllocgllhef = 130, + Jjhggbfbdhk = 131, + Aabkiaiihla = 132, + Dfemfcceajp = 133, + Hdhljbapeee = 134, + Lapbghjioee = 135, + Fgbhdoklpde = 136, + Gdngcmngpac = 137, + Gafmcmeofjb = 138, + Mehokodbejl = 139, + Idgbockoeeb = 140, + Ccadeggbjfp = 141, + Lnncnhbomdf = 142, + Pfhgefmcjgk = 143, + Copcmkiebpf = 144, + Fglelpdjndc = 145, + Bmhknlalmdm = 146, + Pcekichikmm = 147, + Jhlfdcccijn = 148, + Geifpgjajfc = 149, + Pnnilianoak = 150, + Bcofleefkjf = 151, + Phmalljmobe = 152, + Hlcgoegclim = 153, + Bfdeoacfolc = 154, + Hifcjehahlp = 155, + Lfjdcedopfe = 156, + Cjphgppnlld = 157, + Nkkpdgpklog = 158, + Aielaoehmbd = 159, + Cjccjkcbomc = 160, + Kcngdgpiddo = 161, + Klocnamiknn = 162, + Fmcaemampej = 163, + Pooolhbkakn = 164, + Hobdmambmkb = 165, + Nfnjdhnlagp = 166, + Bnodkffmmnh = 167, + Nbmpgeooela = 168, + Oplbehdbmcd = 169, + Okmfbnndfbf = 170, + Pehkoihiemo = 171, + Dhfkinkpmpo = 172, + Nehdkchoide = 173, + Annhcanfnbn = 174, + Kfliaoaigbf = 175, + Bilibapfbho = 176, + Mlpdnaojbfi = 177, + Mgmkojdaopf = 178, + Hpacieneloe = 179, + Bcmahiknhbg = 180, + Anikfpgifho = 181, + Fielljhfbjf = 182, + Jkmkgplhhlb = 183, + Aafdfaipmfo = 184, + Ncjlldlllld = 185, + Epebipneoeh = 187, + Ijlaojgknfi = 188, + Klihgeammof = 189, + Jpaaikbkekf = 190, + Jnkiifjgngo = 191, + Gggdeffobef = 192, + Dplifhcnhep = 193, + Mckappllnmi = 194, + Kemkjkdebgj = 195, + Nfoidgphifm = 196, + Enoolpcndkb = 197, + Kgafedoemia = 198, + Bejbnhgmojk = 199, + Gedkhlbkpam = 200, + Fjekgfbbokb = 201, + Eklfeemiimj = 202, + Lpfddgbhflo = 203, + Emglnjfcjhl = 204, + Ofkkeodibfb = 206, + Mdbdapckklk = 207, + Nmmhggkifhp = 208, + Okbngjaaehi = 209, + Lgiiclakaih = 210, + Cjgkcacffnd = 211, + Ppngnhblalb = 213, + Kaenbandcek = 214, + Opoblafjbki = 215, + Ihmlkfcmelg = 216, + Jnbdekpdcao = 217, +} +impl Ccdkmgejhhc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Daemiegnljg => "CCDKMGEJHHC_DAEMIEGNLJG", + Self::Gpfbienmhje => "CCDKMGEJHHC_GPFBIENMHJE", + Self::Pnlamfaahha => "CCDKMGEJHHC_PNLAMFAAHHA", + Self::Goefdlifkhi => "CCDKMGEJHHC_GOEFDLIFKHI", + Self::Kocenelmack => "CCDKMGEJHHC_KOCENELMACK", + Self::Hlgbidhnjhg => "CCDKMGEJHHC_HLGBIDHNJHG", + Self::Ncefebpfjdb => "CCDKMGEJHHC_NCEFEBPFJDB", + Self::Ggmddflione => "CCDKMGEJHHC_GGMDDFLIONE", + Self::Hmjhmlgdken => "CCDKMGEJHHC_HMJHMLGDKEN", + Self::Mljlblknncf => "CCDKMGEJHHC_MLJLBLKNNCF", + Self::Njfnfiklfmj => "CCDKMGEJHHC_NJFNFIKLFMJ", + Self::Boedjllbcah => "CCDKMGEJHHC_BOEDJLLBCAH", + Self::Bdoomimhjon => "CCDKMGEJHHC_BDOOMIMHJON", + Self::Fgaieekijhb => "CCDKMGEJHHC_FGAIEEKIJHB", + Self::Onhegdjmjcn => "CCDKMGEJHHC_ONHEGDJMJCN", + Self::Hjihbjfbfpg => "CCDKMGEJHHC_HJIHBJFBFPG", + Self::Mfekfdknhob => "CCDKMGEJHHC_MFEKFDKNHOB", + Self::Pleipadcibo => "CCDKMGEJHHC_PLEIPADCIBO", + Self::Clahdfkngmi => "CCDKMGEJHHC_CLAHDFKNGMI", + Self::Mgeijbhjfco => "CCDKMGEJHHC_MGEIJBHJFCO", + Self::Opdkleediph => "CCDKMGEJHHC_OPDKLEEDIPH", + Self::Mmepeabaedn => "CCDKMGEJHHC_MMEPEABAEDN", + Self::Ojoogggakio => "CCDKMGEJHHC_OJOOGGGAKIO", + Self::Bldlpmliiad => "CCDKMGEJHHC_BLDLPMLIIAD", + Self::Jnplakjljbf => "CCDKMGEJHHC_JNPLAKJLJBF", + Self::Fkmkgnojokn => "CCDKMGEJHHC_FKMKGNOJOKN", + Self::Kigidengjdi => "CCDKMGEJHHC_KIGIDENGJDI", + Self::Pdeacnbimal => "CCDKMGEJHHC_PDEACNBIMAL", + Self::Dokfaeighjf => "CCDKMGEJHHC_DOKFAEIGHJF", + Self::Bdnhcdompbp => "CCDKMGEJHHC_BDNHCDOMPBP", + Self::Cceecomjfej => "CCDKMGEJHHC_CCEECOMJFEJ", + Self::Inmeeokccok => "CCDKMGEJHHC_INMEEOKCCOK", + Self::Nakgfjkekce => "CCDKMGEJHHC_NAKGFJKEKCE", + Self::Alaglaohjhn => "CCDKMGEJHHC_ALAGLAOHJHN", + Self::Npkhnfblihd => "CCDKMGEJHHC_NPKHNFBLIHD", + Self::Kclblinebec => "CCDKMGEJHHC_KCLBLINEBEC", + Self::Dekioaocjpo => "CCDKMGEJHHC_DEKIOAOCJPO", + Self::Efngooongde => "CCDKMGEJHHC_EFNGOOONGDE", + Self::Gmobnpffokl => "CCDKMGEJHHC_GMOBNPFFOKL", + Self::Kepebdpkaln => "CCDKMGEJHHC_KEPEBDPKALN", + Self::Pafgnbdmiip => "CCDKMGEJHHC_PAFGNBDMIIP", + Self::Cpekifjehhc => "CCDKMGEJHHC_CPEKIFJEHHC", + Self::Hdpijidcjag => "CCDKMGEJHHC_HDPIJIDCJAG", + Self::Gbklndppjjn => "CCDKMGEJHHC_GBKLNDPPJJN", + Self::Hglpnibidop => "CCDKMGEJHHC_HGLPNIBIDOP", + Self::Gaaehgibmjl => "CCDKMGEJHHC_GAAEHGIBMJL", + Self::Hadahhnjmhd => "CCDKMGEJHHC_HADAHHNJMHD", + Self::Pdhoehlkneg => "CCDKMGEJHHC_PDHOEHLKNEG", + Self::Iphejicgcpc => "CCDKMGEJHHC_IPHEJICGCPC", + Self::Lngdhoimnil => "CCDKMGEJHHC_LNGDHOIMNIL", + Self::Aakllldembc => "CCDKMGEJHHC_AAKLLLDEMBC", + Self::Hogkaieakll => "CCDKMGEJHHC_HOGKAIEAKLL", + Self::Femdgpmcfbg => "CCDKMGEJHHC_FEMDGPMCFBG", + Self::Bgmohmoljjp => "CCDKMGEJHHC_BGMOHMOLJJP", + Self::Pcnapciadbe => "CCDKMGEJHHC_PCNAPCIADBE", + Self::Jioocdelfke => "CCDKMGEJHHC_JIOOCDELFKE", + Self::Nibmfgpnclf => "CCDKMGEJHHC_NIBMFGPNCLF", + Self::Ljnbkodbmfo => "CCDKMGEJHHC_LJNBKODBMFO", + Self::Lppdieahpaf => "CCDKMGEJHHC_LPPDIEAHPAF", + Self::Gnohjfdiikb => "CCDKMGEJHHC_GNOHJFDIIKB", + Self::Llnppalbkhm => "CCDKMGEJHHC_LLNPPALBKHM", + Self::Miccdkdmaga => "CCDKMGEJHHC_MICCDKDMAGA", + Self::Oejadljeflj => "CCDKMGEJHHC_OEJADLJEFLJ", + Self::Iopeigdomhe => "CCDKMGEJHHC_IOPEIGDOMHE", + Self::Cickmekiifo => "CCDKMGEJHHC_CICKMEKIIFO", + Self::Fgponndfmeg => "CCDKMGEJHHC_FGPONNDFMEG", + Self::Fpjheecnldl => "CCDKMGEJHHC_FPJHEECNLDL", + Self::Jfpkmhdlabn => "CCDKMGEJHHC_JFPKMHDLABN", + Self::Eepiepnicnp => "CCDKMGEJHHC_EEPIEPNICNP", + Self::Kgbfeenbpel => "CCDKMGEJHHC_KGBFEENBPEL", + Self::Bmedoajpnjc => "CCDKMGEJHHC_BMEDOAJPNJC", + Self::Knplemaknmb => "CCDKMGEJHHC_KNPLEMAKNMB", + Self::Ipnkpcchcnb => "CCDKMGEJHHC_IPNKPCCHCNB", + Self::Hbhakcbclkn => "CCDKMGEJHHC_HBHAKCBCLKN", + Self::Cfbobgnfmad => "CCDKMGEJHHC_CFBOBGNFMAD", + Self::Gimgfhbgphg => "CCDKMGEJHHC_GIMGFHBGPHG", + Self::Hdcamimfkfg => "CCDKMGEJHHC_HDCAMIMFKFG", + Self::Fcifcbafadd => "CCDKMGEJHHC_FCIFCBAFADD", + Self::Ojfobmgmehe => "CCDKMGEJHHC_OJFOBMGMEHE", + Self::Elfblfbeibd => "CCDKMGEJHHC_ELFBLFBEIBD", + Self::Hndggddhmbd => "CCDKMGEJHHC_HNDGGDDHMBD", + Self::Ecohpmnkecn => "CCDKMGEJHHC_ECOHPMNKECN", + Self::Jdjnlhnejio => "CCDKMGEJHHC_JDJNLHNEJIO", + Self::Lhlapffimnl => "CCDKMGEJHHC_LHLAPFFIMNL", + Self::Lnlmccopljn => "CCDKMGEJHHC_LNLMCCOPLJN", + Self::Abinbblcodk => "CCDKMGEJHHC_ABINBBLCODK", + Self::Ookaiaonfkp => "CCDKMGEJHHC_OOKAIAONFKP", + Self::Geaamgkjbjh => "CCDKMGEJHHC_GEAAMGKJBJH", + Self::Efenlciomob => "CCDKMGEJHHC_EFENLCIOMOB", + Self::Kboiiiioimh => "CCDKMGEJHHC_KBOIIIIOIMH", + Self::Hfehpaiepfa => "CCDKMGEJHHC_HFEHPAIEPFA", + Self::Ekeiapabppe => "CCDKMGEJHHC_EKEIAPABPPE", + Self::Eijdcijomel => "CCDKMGEJHHC_EIJDCIJOMEL", + Self::Ndmniodeeii => "CCDKMGEJHHC_NDMNIODEEII", + Self::Plpammcklip => "CCDKMGEJHHC_PLPAMMCKLIP", + Self::Hfjndbnljpm => "CCDKMGEJHHC_HFJNDBNLJPM", + Self::Degfakjmmfe => "CCDKMGEJHHC_DEGFAKJMMFE", + Self::Fagfmcjfkkf => "CCDKMGEJHHC_FAGFMCJFKKF", + Self::Gnhomhkamkm => "CCDKMGEJHHC_GNHOMHKAMKM", + Self::Eelomckjbhb => "CCDKMGEJHHC_EELOMCKJBHB", + Self::Jaiippjhjfo => "CCDKMGEJHHC_JAIIPPJHJFO", + Self::Cikghcfhkef => "CCDKMGEJHHC_CIKGHCFHKEF", + Self::Dnadibkeldk => "CCDKMGEJHHC_DNADIBKELDK", + Self::Pgbbecjkbcm => "CCDKMGEJHHC_PGBBECJKBCM", + Self::Dlnaomjpcdl => "CCDKMGEJHHC_DLNAOMJPCDL", + Self::Emebopammbl => "CCDKMGEJHHC_EMEBOPAMMBL", + Self::Ongobgpmlpp => "CCDKMGEJHHC_ONGOBGPMLPP", + Self::Jdimhkohdcg => "CCDKMGEJHHC_JDIMHKOHDCG", + Self::Cedlhacjcec => "CCDKMGEJHHC_CEDLHACJCEC", + Self::Gghlnofglki => "CCDKMGEJHHC_GGHLNOFGLKI", + Self::Ehhibomidik => "CCDKMGEJHHC_EHHIBOMIDIK", + Self::Jllocgllhef => "CCDKMGEJHHC_JLLOCGLLHEF", + Self::Jjhggbfbdhk => "CCDKMGEJHHC_JJHGGBFBDHK", + Self::Aabkiaiihla => "CCDKMGEJHHC_AABKIAIIHLA", + Self::Dfemfcceajp => "CCDKMGEJHHC_DFEMFCCEAJP", + Self::Hdhljbapeee => "CCDKMGEJHHC_HDHLJBAPEEE", + Self::Lapbghjioee => "CCDKMGEJHHC_LAPBGHJIOEE", + Self::Fgbhdoklpde => "CCDKMGEJHHC_FGBHDOKLPDE", + Self::Gdngcmngpac => "CCDKMGEJHHC_GDNGCMNGPAC", + Self::Gafmcmeofjb => "CCDKMGEJHHC_GAFMCMEOFJB", + Self::Mehokodbejl => "CCDKMGEJHHC_MEHOKODBEJL", + Self::Idgbockoeeb => "CCDKMGEJHHC_IDGBOCKOEEB", + Self::Ccadeggbjfp => "CCDKMGEJHHC_CCADEGGBJFP", + Self::Lnncnhbomdf => "CCDKMGEJHHC_LNNCNHBOMDF", + Self::Pfhgefmcjgk => "CCDKMGEJHHC_PFHGEFMCJGK", + Self::Copcmkiebpf => "CCDKMGEJHHC_COPCMKIEBPF", + Self::Fglelpdjndc => "CCDKMGEJHHC_FGLELPDJNDC", + Self::Bmhknlalmdm => "CCDKMGEJHHC_BMHKNLALMDM", + Self::Pcekichikmm => "CCDKMGEJHHC_PCEKICHIKMM", + Self::Jhlfdcccijn => "CCDKMGEJHHC_JHLFDCCCIJN", + Self::Geifpgjajfc => "CCDKMGEJHHC_GEIFPGJAJFC", + Self::Pnnilianoak => "CCDKMGEJHHC_PNNILIANOAK", + Self::Bcofleefkjf => "CCDKMGEJHHC_BCOFLEEFKJF", + Self::Phmalljmobe => "CCDKMGEJHHC_PHMALLJMOBE", + Self::Hlcgoegclim => "CCDKMGEJHHC_HLCGOEGCLIM", + Self::Bfdeoacfolc => "CCDKMGEJHHC_BFDEOACFOLC", + Self::Hifcjehahlp => "CCDKMGEJHHC_HIFCJEHAHLP", + Self::Lfjdcedopfe => "CCDKMGEJHHC_LFJDCEDOPFE", + Self::Cjphgppnlld => "CCDKMGEJHHC_CJPHGPPNLLD", + Self::Nkkpdgpklog => "CCDKMGEJHHC_NKKPDGPKLOG", + Self::Aielaoehmbd => "CCDKMGEJHHC_AIELAOEHMBD", + Self::Cjccjkcbomc => "CCDKMGEJHHC_CJCCJKCBOMC", + Self::Kcngdgpiddo => "CCDKMGEJHHC_KCNGDGPIDDO", + Self::Klocnamiknn => "CCDKMGEJHHC_KLOCNAMIKNN", + Self::Fmcaemampej => "CCDKMGEJHHC_FMCAEMAMPEJ", + Self::Pooolhbkakn => "CCDKMGEJHHC_POOOLHBKAKN", + Self::Hobdmambmkb => "CCDKMGEJHHC_HOBDMAMBMKB", + Self::Nfnjdhnlagp => "CCDKMGEJHHC_NFNJDHNLAGP", + Self::Bnodkffmmnh => "CCDKMGEJHHC_BNODKFFMMNH", + Self::Nbmpgeooela => "CCDKMGEJHHC_NBMPGEOOELA", + Self::Oplbehdbmcd => "CCDKMGEJHHC_OPLBEHDBMCD", + Self::Okmfbnndfbf => "CCDKMGEJHHC_OKMFBNNDFBF", + Self::Pehkoihiemo => "CCDKMGEJHHC_PEHKOIHIEMO", + Self::Dhfkinkpmpo => "CCDKMGEJHHC_DHFKINKPMPO", + Self::Nehdkchoide => "CCDKMGEJHHC_NEHDKCHOIDE", + Self::Annhcanfnbn => "CCDKMGEJHHC_ANNHCANFNBN", + Self::Kfliaoaigbf => "CCDKMGEJHHC_KFLIAOAIGBF", + Self::Bilibapfbho => "CCDKMGEJHHC_BILIBAPFBHO", + Self::Mlpdnaojbfi => "CCDKMGEJHHC_MLPDNAOJBFI", + Self::Mgmkojdaopf => "CCDKMGEJHHC_MGMKOJDAOPF", + Self::Hpacieneloe => "CCDKMGEJHHC_HPACIENELOE", + Self::Bcmahiknhbg => "CCDKMGEJHHC_BCMAHIKNHBG", + Self::Anikfpgifho => "CCDKMGEJHHC_ANIKFPGIFHO", + Self::Fielljhfbjf => "CCDKMGEJHHC_FIELLJHFBJF", + Self::Jkmkgplhhlb => "CCDKMGEJHHC_JKMKGPLHHLB", + Self::Aafdfaipmfo => "CCDKMGEJHHC_AAFDFAIPMFO", + Self::Ncjlldlllld => "CCDKMGEJHHC_NCJLLDLLLLD", + Self::Epebipneoeh => "CCDKMGEJHHC_EPEBIPNEOEH", + Self::Ijlaojgknfi => "CCDKMGEJHHC_IJLAOJGKNFI", + Self::Klihgeammof => "CCDKMGEJHHC_KLIHGEAMMOF", + Self::Jpaaikbkekf => "CCDKMGEJHHC_JPAAIKBKEKF", + Self::Jnkiifjgngo => "CCDKMGEJHHC_JNKIIFJGNGO", + Self::Gggdeffobef => "CCDKMGEJHHC_GGGDEFFOBEF", + Self::Dplifhcnhep => "CCDKMGEJHHC_DPLIFHCNHEP", + Self::Mckappllnmi => "CCDKMGEJHHC_MCKAPPLLNMI", + Self::Kemkjkdebgj => "CCDKMGEJHHC_KEMKJKDEBGJ", + Self::Nfoidgphifm => "CCDKMGEJHHC_NFOIDGPHIFM", + Self::Enoolpcndkb => "CCDKMGEJHHC_ENOOLPCNDKB", + Self::Kgafedoemia => "CCDKMGEJHHC_KGAFEDOEMIA", + Self::Bejbnhgmojk => "CCDKMGEJHHC_BEJBNHGMOJK", + Self::Gedkhlbkpam => "CCDKMGEJHHC_GEDKHLBKPAM", + Self::Fjekgfbbokb => "CCDKMGEJHHC_FJEKGFBBOKB", + Self::Eklfeemiimj => "CCDKMGEJHHC_EKLFEEMIIMJ", + Self::Lpfddgbhflo => "CCDKMGEJHHC_LPFDDGBHFLO", + Self::Emglnjfcjhl => "CCDKMGEJHHC_EMGLNJFCJHL", + Self::Ofkkeodibfb => "CCDKMGEJHHC_OFKKEODIBFB", + Self::Mdbdapckklk => "CCDKMGEJHHC_MDBDAPCKKLK", + Self::Nmmhggkifhp => "CCDKMGEJHHC_NMMHGGKIFHP", + Self::Okbngjaaehi => "CCDKMGEJHHC_OKBNGJAAEHI", + Self::Lgiiclakaih => "CCDKMGEJHHC_LGIICLAKAIH", + Self::Cjgkcacffnd => "CCDKMGEJHHC_CJGKCACFFND", + Self::Ppngnhblalb => "CCDKMGEJHHC_PPNGNHBLALB", + Self::Kaenbandcek => "CCDKMGEJHHC_KAENBANDCEK", + Self::Opoblafjbki => "CCDKMGEJHHC_OPOBLAFJBKI", + Self::Ihmlkfcmelg => "CCDKMGEJHHC_IHMLKFCMELG", + Self::Jnbdekpdcao => "CCDKMGEJHHC_JNBDEKPDCAO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CCDKMGEJHHC_DAEMIEGNLJG" => Some(Self::Daemiegnljg), + "CCDKMGEJHHC_GPFBIENMHJE" => Some(Self::Gpfbienmhje), + "CCDKMGEJHHC_PNLAMFAAHHA" => Some(Self::Pnlamfaahha), + "CCDKMGEJHHC_GOEFDLIFKHI" => Some(Self::Goefdlifkhi), + "CCDKMGEJHHC_KOCENELMACK" => Some(Self::Kocenelmack), + "CCDKMGEJHHC_HLGBIDHNJHG" => Some(Self::Hlgbidhnjhg), + "CCDKMGEJHHC_NCEFEBPFJDB" => Some(Self::Ncefebpfjdb), + "CCDKMGEJHHC_GGMDDFLIONE" => Some(Self::Ggmddflione), + "CCDKMGEJHHC_HMJHMLGDKEN" => Some(Self::Hmjhmlgdken), + "CCDKMGEJHHC_MLJLBLKNNCF" => Some(Self::Mljlblknncf), + "CCDKMGEJHHC_NJFNFIKLFMJ" => Some(Self::Njfnfiklfmj), + "CCDKMGEJHHC_BOEDJLLBCAH" => Some(Self::Boedjllbcah), + "CCDKMGEJHHC_BDOOMIMHJON" => Some(Self::Bdoomimhjon), + "CCDKMGEJHHC_FGAIEEKIJHB" => Some(Self::Fgaieekijhb), + "CCDKMGEJHHC_ONHEGDJMJCN" => Some(Self::Onhegdjmjcn), + "CCDKMGEJHHC_HJIHBJFBFPG" => Some(Self::Hjihbjfbfpg), + "CCDKMGEJHHC_MFEKFDKNHOB" => Some(Self::Mfekfdknhob), + "CCDKMGEJHHC_PLEIPADCIBO" => Some(Self::Pleipadcibo), + "CCDKMGEJHHC_CLAHDFKNGMI" => Some(Self::Clahdfkngmi), + "CCDKMGEJHHC_MGEIJBHJFCO" => Some(Self::Mgeijbhjfco), + "CCDKMGEJHHC_OPDKLEEDIPH" => Some(Self::Opdkleediph), + "CCDKMGEJHHC_MMEPEABAEDN" => Some(Self::Mmepeabaedn), + "CCDKMGEJHHC_OJOOGGGAKIO" => Some(Self::Ojoogggakio), + "CCDKMGEJHHC_BLDLPMLIIAD" => Some(Self::Bldlpmliiad), + "CCDKMGEJHHC_JNPLAKJLJBF" => Some(Self::Jnplakjljbf), + "CCDKMGEJHHC_FKMKGNOJOKN" => Some(Self::Fkmkgnojokn), + "CCDKMGEJHHC_KIGIDENGJDI" => Some(Self::Kigidengjdi), + "CCDKMGEJHHC_PDEACNBIMAL" => Some(Self::Pdeacnbimal), + "CCDKMGEJHHC_DOKFAEIGHJF" => Some(Self::Dokfaeighjf), + "CCDKMGEJHHC_BDNHCDOMPBP" => Some(Self::Bdnhcdompbp), + "CCDKMGEJHHC_CCEECOMJFEJ" => Some(Self::Cceecomjfej), + "CCDKMGEJHHC_INMEEOKCCOK" => Some(Self::Inmeeokccok), + "CCDKMGEJHHC_NAKGFJKEKCE" => Some(Self::Nakgfjkekce), + "CCDKMGEJHHC_ALAGLAOHJHN" => Some(Self::Alaglaohjhn), + "CCDKMGEJHHC_NPKHNFBLIHD" => Some(Self::Npkhnfblihd), + "CCDKMGEJHHC_KCLBLINEBEC" => Some(Self::Kclblinebec), + "CCDKMGEJHHC_DEKIOAOCJPO" => Some(Self::Dekioaocjpo), + "CCDKMGEJHHC_EFNGOOONGDE" => Some(Self::Efngooongde), + "CCDKMGEJHHC_GMOBNPFFOKL" => Some(Self::Gmobnpffokl), + "CCDKMGEJHHC_KEPEBDPKALN" => Some(Self::Kepebdpkaln), + "CCDKMGEJHHC_PAFGNBDMIIP" => Some(Self::Pafgnbdmiip), + "CCDKMGEJHHC_CPEKIFJEHHC" => Some(Self::Cpekifjehhc), + "CCDKMGEJHHC_HDPIJIDCJAG" => Some(Self::Hdpijidcjag), + "CCDKMGEJHHC_GBKLNDPPJJN" => Some(Self::Gbklndppjjn), + "CCDKMGEJHHC_HGLPNIBIDOP" => Some(Self::Hglpnibidop), + "CCDKMGEJHHC_GAAEHGIBMJL" => Some(Self::Gaaehgibmjl), + "CCDKMGEJHHC_HADAHHNJMHD" => Some(Self::Hadahhnjmhd), + "CCDKMGEJHHC_PDHOEHLKNEG" => Some(Self::Pdhoehlkneg), + "CCDKMGEJHHC_IPHEJICGCPC" => Some(Self::Iphejicgcpc), + "CCDKMGEJHHC_LNGDHOIMNIL" => Some(Self::Lngdhoimnil), + "CCDKMGEJHHC_AAKLLLDEMBC" => Some(Self::Aakllldembc), + "CCDKMGEJHHC_HOGKAIEAKLL" => Some(Self::Hogkaieakll), + "CCDKMGEJHHC_FEMDGPMCFBG" => Some(Self::Femdgpmcfbg), + "CCDKMGEJHHC_BGMOHMOLJJP" => Some(Self::Bgmohmoljjp), + "CCDKMGEJHHC_PCNAPCIADBE" => Some(Self::Pcnapciadbe), + "CCDKMGEJHHC_JIOOCDELFKE" => Some(Self::Jioocdelfke), + "CCDKMGEJHHC_NIBMFGPNCLF" => Some(Self::Nibmfgpnclf), + "CCDKMGEJHHC_LJNBKODBMFO" => Some(Self::Ljnbkodbmfo), + "CCDKMGEJHHC_LPPDIEAHPAF" => Some(Self::Lppdieahpaf), + "CCDKMGEJHHC_GNOHJFDIIKB" => Some(Self::Gnohjfdiikb), + "CCDKMGEJHHC_LLNPPALBKHM" => Some(Self::Llnppalbkhm), + "CCDKMGEJHHC_MICCDKDMAGA" => Some(Self::Miccdkdmaga), + "CCDKMGEJHHC_OEJADLJEFLJ" => Some(Self::Oejadljeflj), + "CCDKMGEJHHC_IOPEIGDOMHE" => Some(Self::Iopeigdomhe), + "CCDKMGEJHHC_CICKMEKIIFO" => Some(Self::Cickmekiifo), + "CCDKMGEJHHC_FGPONNDFMEG" => Some(Self::Fgponndfmeg), + "CCDKMGEJHHC_FPJHEECNLDL" => Some(Self::Fpjheecnldl), + "CCDKMGEJHHC_JFPKMHDLABN" => Some(Self::Jfpkmhdlabn), + "CCDKMGEJHHC_EEPIEPNICNP" => Some(Self::Eepiepnicnp), + "CCDKMGEJHHC_KGBFEENBPEL" => Some(Self::Kgbfeenbpel), + "CCDKMGEJHHC_BMEDOAJPNJC" => Some(Self::Bmedoajpnjc), + "CCDKMGEJHHC_KNPLEMAKNMB" => Some(Self::Knplemaknmb), + "CCDKMGEJHHC_IPNKPCCHCNB" => Some(Self::Ipnkpcchcnb), + "CCDKMGEJHHC_HBHAKCBCLKN" => Some(Self::Hbhakcbclkn), + "CCDKMGEJHHC_CFBOBGNFMAD" => Some(Self::Cfbobgnfmad), + "CCDKMGEJHHC_GIMGFHBGPHG" => Some(Self::Gimgfhbgphg), + "CCDKMGEJHHC_HDCAMIMFKFG" => Some(Self::Hdcamimfkfg), + "CCDKMGEJHHC_FCIFCBAFADD" => Some(Self::Fcifcbafadd), + "CCDKMGEJHHC_OJFOBMGMEHE" => Some(Self::Ojfobmgmehe), + "CCDKMGEJHHC_ELFBLFBEIBD" => Some(Self::Elfblfbeibd), + "CCDKMGEJHHC_HNDGGDDHMBD" => Some(Self::Hndggddhmbd), + "CCDKMGEJHHC_ECOHPMNKECN" => Some(Self::Ecohpmnkecn), + "CCDKMGEJHHC_JDJNLHNEJIO" => Some(Self::Jdjnlhnejio), + "CCDKMGEJHHC_LHLAPFFIMNL" => Some(Self::Lhlapffimnl), + "CCDKMGEJHHC_LNLMCCOPLJN" => Some(Self::Lnlmccopljn), + "CCDKMGEJHHC_ABINBBLCODK" => Some(Self::Abinbblcodk), + "CCDKMGEJHHC_OOKAIAONFKP" => Some(Self::Ookaiaonfkp), + "CCDKMGEJHHC_GEAAMGKJBJH" => Some(Self::Geaamgkjbjh), + "CCDKMGEJHHC_EFENLCIOMOB" => Some(Self::Efenlciomob), + "CCDKMGEJHHC_KBOIIIIOIMH" => Some(Self::Kboiiiioimh), + "CCDKMGEJHHC_HFEHPAIEPFA" => Some(Self::Hfehpaiepfa), + "CCDKMGEJHHC_EKEIAPABPPE" => Some(Self::Ekeiapabppe), + "CCDKMGEJHHC_EIJDCIJOMEL" => Some(Self::Eijdcijomel), + "CCDKMGEJHHC_NDMNIODEEII" => Some(Self::Ndmniodeeii), + "CCDKMGEJHHC_PLPAMMCKLIP" => Some(Self::Plpammcklip), + "CCDKMGEJHHC_HFJNDBNLJPM" => Some(Self::Hfjndbnljpm), + "CCDKMGEJHHC_DEGFAKJMMFE" => Some(Self::Degfakjmmfe), + "CCDKMGEJHHC_FAGFMCJFKKF" => Some(Self::Fagfmcjfkkf), + "CCDKMGEJHHC_GNHOMHKAMKM" => Some(Self::Gnhomhkamkm), + "CCDKMGEJHHC_EELOMCKJBHB" => Some(Self::Eelomckjbhb), + "CCDKMGEJHHC_JAIIPPJHJFO" => Some(Self::Jaiippjhjfo), + "CCDKMGEJHHC_CIKGHCFHKEF" => Some(Self::Cikghcfhkef), + "CCDKMGEJHHC_DNADIBKELDK" => Some(Self::Dnadibkeldk), + "CCDKMGEJHHC_PGBBECJKBCM" => Some(Self::Pgbbecjkbcm), + "CCDKMGEJHHC_DLNAOMJPCDL" => Some(Self::Dlnaomjpcdl), + "CCDKMGEJHHC_EMEBOPAMMBL" => Some(Self::Emebopammbl), + "CCDKMGEJHHC_ONGOBGPMLPP" => Some(Self::Ongobgpmlpp), + "CCDKMGEJHHC_JDIMHKOHDCG" => Some(Self::Jdimhkohdcg), + "CCDKMGEJHHC_CEDLHACJCEC" => Some(Self::Cedlhacjcec), + "CCDKMGEJHHC_GGHLNOFGLKI" => Some(Self::Gghlnofglki), + "CCDKMGEJHHC_EHHIBOMIDIK" => Some(Self::Ehhibomidik), + "CCDKMGEJHHC_JLLOCGLLHEF" => Some(Self::Jllocgllhef), + "CCDKMGEJHHC_JJHGGBFBDHK" => Some(Self::Jjhggbfbdhk), + "CCDKMGEJHHC_AABKIAIIHLA" => Some(Self::Aabkiaiihla), + "CCDKMGEJHHC_DFEMFCCEAJP" => Some(Self::Dfemfcceajp), + "CCDKMGEJHHC_HDHLJBAPEEE" => Some(Self::Hdhljbapeee), + "CCDKMGEJHHC_LAPBGHJIOEE" => Some(Self::Lapbghjioee), + "CCDKMGEJHHC_FGBHDOKLPDE" => Some(Self::Fgbhdoklpde), + "CCDKMGEJHHC_GDNGCMNGPAC" => Some(Self::Gdngcmngpac), + "CCDKMGEJHHC_GAFMCMEOFJB" => Some(Self::Gafmcmeofjb), + "CCDKMGEJHHC_MEHOKODBEJL" => Some(Self::Mehokodbejl), + "CCDKMGEJHHC_IDGBOCKOEEB" => Some(Self::Idgbockoeeb), + "CCDKMGEJHHC_CCADEGGBJFP" => Some(Self::Ccadeggbjfp), + "CCDKMGEJHHC_LNNCNHBOMDF" => Some(Self::Lnncnhbomdf), + "CCDKMGEJHHC_PFHGEFMCJGK" => Some(Self::Pfhgefmcjgk), + "CCDKMGEJHHC_COPCMKIEBPF" => Some(Self::Copcmkiebpf), + "CCDKMGEJHHC_FGLELPDJNDC" => Some(Self::Fglelpdjndc), + "CCDKMGEJHHC_BMHKNLALMDM" => Some(Self::Bmhknlalmdm), + "CCDKMGEJHHC_PCEKICHIKMM" => Some(Self::Pcekichikmm), + "CCDKMGEJHHC_JHLFDCCCIJN" => Some(Self::Jhlfdcccijn), + "CCDKMGEJHHC_GEIFPGJAJFC" => Some(Self::Geifpgjajfc), + "CCDKMGEJHHC_PNNILIANOAK" => Some(Self::Pnnilianoak), + "CCDKMGEJHHC_BCOFLEEFKJF" => Some(Self::Bcofleefkjf), + "CCDKMGEJHHC_PHMALLJMOBE" => Some(Self::Phmalljmobe), + "CCDKMGEJHHC_HLCGOEGCLIM" => Some(Self::Hlcgoegclim), + "CCDKMGEJHHC_BFDEOACFOLC" => Some(Self::Bfdeoacfolc), + "CCDKMGEJHHC_HIFCJEHAHLP" => Some(Self::Hifcjehahlp), + "CCDKMGEJHHC_LFJDCEDOPFE" => Some(Self::Lfjdcedopfe), + "CCDKMGEJHHC_CJPHGPPNLLD" => Some(Self::Cjphgppnlld), + "CCDKMGEJHHC_NKKPDGPKLOG" => Some(Self::Nkkpdgpklog), + "CCDKMGEJHHC_AIELAOEHMBD" => Some(Self::Aielaoehmbd), + "CCDKMGEJHHC_CJCCJKCBOMC" => Some(Self::Cjccjkcbomc), + "CCDKMGEJHHC_KCNGDGPIDDO" => Some(Self::Kcngdgpiddo), + "CCDKMGEJHHC_KLOCNAMIKNN" => Some(Self::Klocnamiknn), + "CCDKMGEJHHC_FMCAEMAMPEJ" => Some(Self::Fmcaemampej), + "CCDKMGEJHHC_POOOLHBKAKN" => Some(Self::Pooolhbkakn), + "CCDKMGEJHHC_HOBDMAMBMKB" => Some(Self::Hobdmambmkb), + "CCDKMGEJHHC_NFNJDHNLAGP" => Some(Self::Nfnjdhnlagp), + "CCDKMGEJHHC_BNODKFFMMNH" => Some(Self::Bnodkffmmnh), + "CCDKMGEJHHC_NBMPGEOOELA" => Some(Self::Nbmpgeooela), + "CCDKMGEJHHC_OPLBEHDBMCD" => Some(Self::Oplbehdbmcd), + "CCDKMGEJHHC_OKMFBNNDFBF" => Some(Self::Okmfbnndfbf), + "CCDKMGEJHHC_PEHKOIHIEMO" => Some(Self::Pehkoihiemo), + "CCDKMGEJHHC_DHFKINKPMPO" => Some(Self::Dhfkinkpmpo), + "CCDKMGEJHHC_NEHDKCHOIDE" => Some(Self::Nehdkchoide), + "CCDKMGEJHHC_ANNHCANFNBN" => Some(Self::Annhcanfnbn), + "CCDKMGEJHHC_KFLIAOAIGBF" => Some(Self::Kfliaoaigbf), + "CCDKMGEJHHC_BILIBAPFBHO" => Some(Self::Bilibapfbho), + "CCDKMGEJHHC_MLPDNAOJBFI" => Some(Self::Mlpdnaojbfi), + "CCDKMGEJHHC_MGMKOJDAOPF" => Some(Self::Mgmkojdaopf), + "CCDKMGEJHHC_HPACIENELOE" => Some(Self::Hpacieneloe), + "CCDKMGEJHHC_BCMAHIKNHBG" => Some(Self::Bcmahiknhbg), + "CCDKMGEJHHC_ANIKFPGIFHO" => Some(Self::Anikfpgifho), + "CCDKMGEJHHC_FIELLJHFBJF" => Some(Self::Fielljhfbjf), + "CCDKMGEJHHC_JKMKGPLHHLB" => Some(Self::Jkmkgplhhlb), + "CCDKMGEJHHC_AAFDFAIPMFO" => Some(Self::Aafdfaipmfo), + "CCDKMGEJHHC_NCJLLDLLLLD" => Some(Self::Ncjlldlllld), + "CCDKMGEJHHC_EPEBIPNEOEH" => Some(Self::Epebipneoeh), + "CCDKMGEJHHC_IJLAOJGKNFI" => Some(Self::Ijlaojgknfi), + "CCDKMGEJHHC_KLIHGEAMMOF" => Some(Self::Klihgeammof), + "CCDKMGEJHHC_JPAAIKBKEKF" => Some(Self::Jpaaikbkekf), + "CCDKMGEJHHC_JNKIIFJGNGO" => Some(Self::Jnkiifjgngo), + "CCDKMGEJHHC_GGGDEFFOBEF" => Some(Self::Gggdeffobef), + "CCDKMGEJHHC_DPLIFHCNHEP" => Some(Self::Dplifhcnhep), + "CCDKMGEJHHC_MCKAPPLLNMI" => Some(Self::Mckappllnmi), + "CCDKMGEJHHC_KEMKJKDEBGJ" => Some(Self::Kemkjkdebgj), + "CCDKMGEJHHC_NFOIDGPHIFM" => Some(Self::Nfoidgphifm), + "CCDKMGEJHHC_ENOOLPCNDKB" => Some(Self::Enoolpcndkb), + "CCDKMGEJHHC_KGAFEDOEMIA" => Some(Self::Kgafedoemia), + "CCDKMGEJHHC_BEJBNHGMOJK" => Some(Self::Bejbnhgmojk), + "CCDKMGEJHHC_GEDKHLBKPAM" => Some(Self::Gedkhlbkpam), + "CCDKMGEJHHC_FJEKGFBBOKB" => Some(Self::Fjekgfbbokb), + "CCDKMGEJHHC_EKLFEEMIIMJ" => Some(Self::Eklfeemiimj), + "CCDKMGEJHHC_LPFDDGBHFLO" => Some(Self::Lpfddgbhflo), + "CCDKMGEJHHC_EMGLNJFCJHL" => Some(Self::Emglnjfcjhl), + "CCDKMGEJHHC_OFKKEODIBFB" => Some(Self::Ofkkeodibfb), + "CCDKMGEJHHC_MDBDAPCKKLK" => Some(Self::Mdbdapckklk), + "CCDKMGEJHHC_NMMHGGKIFHP" => Some(Self::Nmmhggkifhp), + "CCDKMGEJHHC_OKBNGJAAEHI" => Some(Self::Okbngjaaehi), + "CCDKMGEJHHC_LGIICLAKAIH" => Some(Self::Lgiiclakaih), + "CCDKMGEJHHC_CJGKCACFFND" => Some(Self::Cjgkcacffnd), + "CCDKMGEJHHC_PPNGNHBLALB" => Some(Self::Ppngnhblalb), + "CCDKMGEJHHC_KAENBANDCEK" => Some(Self::Kaenbandcek), + "CCDKMGEJHHC_OPOBLAFJBKI" => Some(Self::Opoblafjbki), + "CCDKMGEJHHC_IHMLKFCMELG" => Some(Self::Ihmlkfcmelg), + "CCDKMGEJHHC_JNBDEKPDCAO" => Some(Self::Jnbdekpdcao), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jgmojficolh { + Pmlgdjnfhgc = 0, + Dhilakjalkn = 1, + Ajcgifaikih = 2, +} +impl Jgmojficolh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pmlgdjnfhgc => "JGMOJFICOLH_PMLGDJNFHGC", + Self::Dhilakjalkn => "JGMOJFICOLH_DHILAKJALKN", + Self::Ajcgifaikih => "JGMOJFICOLH_AJCGIFAIKIH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JGMOJFICOLH_PMLGDJNFHGC" => Some(Self::Pmlgdjnfhgc), + "JGMOJFICOLH_DHILAKJALKN" => Some(Self::Dhilakjalkn), + "JGMOJFICOLH_AJCGIFAIKIH" => Some(Self::Ajcgifaikih), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fkcahdmnbmj { + None = 0, + Avatar = 7, + Monster = 8, + Gadget = 9, + Npc = 10, +} +impl Fkcahdmnbmj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::None => "FKCAHDMNBMJ_None", + Self::Avatar => "FKCAHDMNBMJ_Avatar", + Self::Monster => "FKCAHDMNBMJ_Monster", + Self::Gadget => "FKCAHDMNBMJ_Gadget", + Self::Npc => "FKCAHDMNBMJ_Npc", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FKCAHDMNBMJ_None" => Some(Self::None), + "FKCAHDMNBMJ_Avatar" => Some(Self::Avatar), + "FKCAHDMNBMJ_Monster" => Some(Self::Monster), + "FKCAHDMNBMJ_Gadget" => Some(Self::Gadget), + "FKCAHDMNBMJ_Npc" => Some(Self::Npc), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ibhamiflfej { + Nohkjllhfhd = 0, + Opejfheneja = 1, +} +impl Ibhamiflfej { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Nohkjllhfhd => "IBHAMIFLFEJ_NOHKJLLHFHD", + Self::Opejfheneja => "IBHAMIFLFEJ_OPEJFHENEJA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IBHAMIFLFEJ_NOHKJLLHFHD" => Some(Self::Nohkjllhfhd), + "IBHAMIFLFEJ_OPEJFHENEJA" => Some(Self::Opejfheneja), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Enkfbklhnoe { + Lenimfilhli = 0, + Kcaplnmhfpk = 1, +} +impl Enkfbklhnoe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Lenimfilhli => "ENKFBKLHNOE_LENIMFILHLI", + Self::Kcaplnmhfpk => "ENKFBKLHNOE_KCAPLNMHFPK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ENKFBKLHNOE_LENIMFILHLI" => Some(Self::Lenimfilhli), + "ENKFBKLHNOE_KCAPLNMHFPK" => Some(Self::Kcaplnmhfpk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jpnihhbgepd { + Greater = 0, + GreaterEqual = 1, + Equal = 2, + Less = 3, + LessEqual = 4, + NotEqual = 6, +} +impl Jpnihhbgepd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Greater => "JPNIHHBGEPD_GREATER", + Self::GreaterEqual => "JPNIHHBGEPD_GREATER_EQUAL", + Self::Equal => "JPNIHHBGEPD_EQUAL", + Self::Less => "JPNIHHBGEPD_LESS", + Self::LessEqual => "JPNIHHBGEPD_LESS_EQUAL", + Self::NotEqual => "JPNIHHBGEPD_NOT_EQUAL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JPNIHHBGEPD_GREATER" => Some(Self::Greater), + "JPNIHHBGEPD_GREATER_EQUAL" => Some(Self::GreaterEqual), + "JPNIHHBGEPD_EQUAL" => Some(Self::Equal), + "JPNIHHBGEPD_LESS" => Some(Self::Less), + "JPNIHHBGEPD_LESS_EQUAL" => Some(Self::LessEqual), + "JPNIHHBGEPD_NOT_EQUAL" => Some(Self::NotEqual), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Faibibdkgbb { + Igmmcdeehaa = 0, + Inbohmdleak = 1, + Modocfjnjmb = 2, + Klkdijpcpac = 3, +} +impl Faibibdkgbb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Igmmcdeehaa => "FAIBIBDKGBB_IGMMCDEEHAA", + Self::Inbohmdleak => "FAIBIBDKGBB_INBOHMDLEAK", + Self::Modocfjnjmb => "FAIBIBDKGBB_MODOCFJNJMB", + Self::Klkdijpcpac => "FAIBIBDKGBB_KLKDIJPCPAC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FAIBIBDKGBB_IGMMCDEEHAA" => Some(Self::Igmmcdeehaa), + "FAIBIBDKGBB_INBOHMDLEAK" => Some(Self::Inbohmdleak), + "FAIBIBDKGBB_MODOCFJNJMB" => Some(Self::Modocfjnjmb), + "FAIBIBDKGBB_KLKDIJPCPAC" => Some(Self::Klkdijpcpac), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fkmgibgjmmc { + ModifyTimeRewindTypeNone = 0, + ModifyTimeRewindTypeInsert = 1, + ModifyTimeRewindTypeRemove = 2, + ModifyTimeRewindTypeModify = 3, +} +impl Fkmgibgjmmc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ModifyTimeRewindTypeNone => "FKMGIBGJMMC_MODIFY_TIME_REWIND_TYPE_NONE", + Self::ModifyTimeRewindTypeInsert => { + "FKMGIBGJMMC_MODIFY_TIME_REWIND_TYPE_INSERT" + } + Self::ModifyTimeRewindTypeRemove => { + "FKMGIBGJMMC_MODIFY_TIME_REWIND_TYPE_REMOVE" + } + Self::ModifyTimeRewindTypeModify => { + "FKMGIBGJMMC_MODIFY_TIME_REWIND_TYPE_MODIFY" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FKMGIBGJMMC_MODIFY_TIME_REWIND_TYPE_NONE" => { + Some(Self::ModifyTimeRewindTypeNone) + } + "FKMGIBGJMMC_MODIFY_TIME_REWIND_TYPE_INSERT" => { + Some(Self::ModifyTimeRewindTypeInsert) + } + "FKMGIBGJMMC_MODIFY_TIME_REWIND_TYPE_REMOVE" => { + Some(Self::ModifyTimeRewindTypeRemove) + } + "FKMGIBGJMMC_MODIFY_TIME_REWIND_TYPE_MODIFY" => { + Some(Self::ModifyTimeRewindTypeModify) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bgeeolnaidf { + Gmghagpmhee = 0, + Nnphamfkcbe = 1, + Pealkacnloa = 2, + Ogbhhkohhmp = 3, + Dbjmfpombjp = 4, + Faclphajehg = 5, + Elnafpfcdnk = 6, + Behbgnfipcf = 7, + Calidpblndc = 8, + Offggniclih = 9, + Iejjgjoglka = 10, + Nenpiambhdl = 11, + Hhcejjfdmhm = 12, + Ojeopmgbgpj = 13, + Ocfbefnhddd = 14, + Beghmjlgcif = 15, + Gakigpmhdli = 16, + Nmghffoljmg = 17, + Icdfcgmnahe = 18, + Ipaakclbhfo = 19, + Cncfhajcmaf = 20, + Mgepkhlcjpp = 21, + Mfheonhdlhh = 22, + Dkiikahfiko = 100, +} +impl Bgeeolnaidf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gmghagpmhee => "BGEEOLNAIDF_GMGHAGPMHEE", + Self::Nnphamfkcbe => "BGEEOLNAIDF_NNPHAMFKCBE", + Self::Pealkacnloa => "BGEEOLNAIDF_PEALKACNLOA", + Self::Ogbhhkohhmp => "BGEEOLNAIDF_OGBHHKOHHMP", + Self::Dbjmfpombjp => "BGEEOLNAIDF_DBJMFPOMBJP", + Self::Faclphajehg => "BGEEOLNAIDF_FACLPHAJEHG", + Self::Elnafpfcdnk => "BGEEOLNAIDF_ELNAFPFCDNK", + Self::Behbgnfipcf => "BGEEOLNAIDF_BEHBGNFIPCF", + Self::Calidpblndc => "BGEEOLNAIDF_CALIDPBLNDC", + Self::Offggniclih => "BGEEOLNAIDF_OFFGGNICLIH", + Self::Iejjgjoglka => "BGEEOLNAIDF_IEJJGJOGLKA", + Self::Nenpiambhdl => "BGEEOLNAIDF_NENPIAMBHDL", + Self::Hhcejjfdmhm => "BGEEOLNAIDF_HHCEJJFDMHM", + Self::Ojeopmgbgpj => "BGEEOLNAIDF_OJEOPMGBGPJ", + Self::Ocfbefnhddd => "BGEEOLNAIDF_OCFBEFNHDDD", + Self::Beghmjlgcif => "BGEEOLNAIDF_BEGHMJLGCIF", + Self::Gakigpmhdli => "BGEEOLNAIDF_GAKIGPMHDLI", + Self::Nmghffoljmg => "BGEEOLNAIDF_NMGHFFOLJMG", + Self::Icdfcgmnahe => "BGEEOLNAIDF_ICDFCGMNAHE", + Self::Ipaakclbhfo => "BGEEOLNAIDF_IPAAKCLBHFO", + Self::Cncfhajcmaf => "BGEEOLNAIDF_CNCFHAJCMAF", + Self::Mgepkhlcjpp => "BGEEOLNAIDF_MGEPKHLCJPP", + Self::Mfheonhdlhh => "BGEEOLNAIDF_MFHEONHDLHH", + Self::Dkiikahfiko => "BGEEOLNAIDF_DKIIKAHFIKO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BGEEOLNAIDF_GMGHAGPMHEE" => Some(Self::Gmghagpmhee), + "BGEEOLNAIDF_NNPHAMFKCBE" => Some(Self::Nnphamfkcbe), + "BGEEOLNAIDF_PEALKACNLOA" => Some(Self::Pealkacnloa), + "BGEEOLNAIDF_OGBHHKOHHMP" => Some(Self::Ogbhhkohhmp), + "BGEEOLNAIDF_DBJMFPOMBJP" => Some(Self::Dbjmfpombjp), + "BGEEOLNAIDF_FACLPHAJEHG" => Some(Self::Faclphajehg), + "BGEEOLNAIDF_ELNAFPFCDNK" => Some(Self::Elnafpfcdnk), + "BGEEOLNAIDF_BEHBGNFIPCF" => Some(Self::Behbgnfipcf), + "BGEEOLNAIDF_CALIDPBLNDC" => Some(Self::Calidpblndc), + "BGEEOLNAIDF_OFFGGNICLIH" => Some(Self::Offggniclih), + "BGEEOLNAIDF_IEJJGJOGLKA" => Some(Self::Iejjgjoglka), + "BGEEOLNAIDF_NENPIAMBHDL" => Some(Self::Nenpiambhdl), + "BGEEOLNAIDF_HHCEJJFDMHM" => Some(Self::Hhcejjfdmhm), + "BGEEOLNAIDF_OJEOPMGBGPJ" => Some(Self::Ojeopmgbgpj), + "BGEEOLNAIDF_OCFBEFNHDDD" => Some(Self::Ocfbefnhddd), + "BGEEOLNAIDF_BEGHMJLGCIF" => Some(Self::Beghmjlgcif), + "BGEEOLNAIDF_GAKIGPMHDLI" => Some(Self::Gakigpmhdli), + "BGEEOLNAIDF_NMGHFFOLJMG" => Some(Self::Nmghffoljmg), + "BGEEOLNAIDF_ICDFCGMNAHE" => Some(Self::Icdfcgmnahe), + "BGEEOLNAIDF_IPAAKCLBHFO" => Some(Self::Ipaakclbhfo), + "BGEEOLNAIDF_CNCFHAJCMAF" => Some(Self::Cncfhajcmaf), + "BGEEOLNAIDF_MGEPKHLCJPP" => Some(Self::Mgepkhlcjpp), + "BGEEOLNAIDF_MFHEONHDLHH" => Some(Self::Mfheonhdlhh), + "BGEEOLNAIDF_DKIIKAHFIKO" => Some(Self::Dkiikahfiko), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lmaladpammc { + ActivityBubbleStateNone = 0, + ActivityBubbleStateProcess = 1, + ActivityBubbleStateReward = 2, + ActivityBubbleStateNew = 3, +} +impl Lmaladpammc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ActivityBubbleStateNone => "LMALADPAMMC_ACTIVITY_BUBBLE_STATE_NONE", + Self::ActivityBubbleStateProcess => { + "LMALADPAMMC_ACTIVITY_BUBBLE_STATE_PROCESS" + } + Self::ActivityBubbleStateReward => "LMALADPAMMC_ACTIVITY_BUBBLE_STATE_REWARD", + Self::ActivityBubbleStateNew => "LMALADPAMMC_ACTIVITY_BUBBLE_STATE_NEW", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LMALADPAMMC_ACTIVITY_BUBBLE_STATE_NONE" => { + Some(Self::ActivityBubbleStateNone) + } + "LMALADPAMMC_ACTIVITY_BUBBLE_STATE_PROCESS" => { + Some(Self::ActivityBubbleStateProcess) + } + "LMALADPAMMC_ACTIVITY_BUBBLE_STATE_REWARD" => { + Some(Self::ActivityBubbleStateReward) + } + "LMALADPAMMC_ACTIVITY_BUBBLE_STATE_NEW" => Some(Self::ActivityBubbleStateNew), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bnkfglmlmfh { + Bbndanfnmhg = 0, + Oakmmhdkkpd = 1, + Hpmnhjchlob = 2, + Pofbjcpphge = 3, +} +impl Bnkfglmlmfh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Bbndanfnmhg => "BNKFGLMLMFH_BBNDANFNMHG", + Self::Oakmmhdkkpd => "BNKFGLMLMFH_OAKMMHDKKPD", + Self::Hpmnhjchlob => "BNKFGLMLMFH_HPMNHJCHLOB", + Self::Pofbjcpphge => "BNKFGLMLMFH_POFBJCPPHGE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BNKFGLMLMFH_BBNDANFNMHG" => Some(Self::Bbndanfnmhg), + "BNKFGLMLMFH_OAKMMHDKKPD" => Some(Self::Oakmmhdkkpd), + "BNKFGLMLMFH_HPMNHJCHLOB" => Some(Self::Hpmnhjchlob), + "BNKFGLMLMFH_POFBJCPPHGE" => Some(Self::Pofbjcpphge), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dbmlaepgepa { + Mdigonljcck = 0, + Mmcngpehlbo = 1, + Gbjijillofd = 2, + Jmpdbafndej = 3, + Iklmanldama = 4, + Einlbifahbo = 5, +} +impl Dbmlaepgepa { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mdigonljcck => "DBMLAEPGEPA_MDIGONLJCCK", + Self::Mmcngpehlbo => "DBMLAEPGEPA_MMCNGPEHLBO", + Self::Gbjijillofd => "DBMLAEPGEPA_GBJIJILLOFD", + Self::Jmpdbafndej => "DBMLAEPGEPA_JMPDBAFNDEJ", + Self::Iklmanldama => "DBMLAEPGEPA_IKLMANLDAMA", + Self::Einlbifahbo => "DBMLAEPGEPA_EINLBIFAHBO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DBMLAEPGEPA_MDIGONLJCCK" => Some(Self::Mdigonljcck), + "DBMLAEPGEPA_MMCNGPEHLBO" => Some(Self::Mmcngpehlbo), + "DBMLAEPGEPA_GBJIJILLOFD" => Some(Self::Gbjijillofd), + "DBMLAEPGEPA_JMPDBAFNDEJ" => Some(Self::Jmpdbafndej), + "DBMLAEPGEPA_IKLMANLDAMA" => Some(Self::Iklmanldama), + "DBMLAEPGEPA_EINLBIFAHBO" => Some(Self::Einlbifahbo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Afbpjmnlncf { + TimeEventStatusLock = 0, + TimeEventStatusUnlock = 1, + TimeEventStatusEnded = 2, +} +impl Afbpjmnlncf { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::TimeEventStatusLock => "AFBPJMNLNCF_TIME_EVENT_STATUS_LOCK", + Self::TimeEventStatusUnlock => "AFBPJMNLNCF_TIME_EVENT_STATUS_UNLOCK", + Self::TimeEventStatusEnded => "AFBPJMNLNCF_TIME_EVENT_STATUS_ENDED", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AFBPJMNLNCF_TIME_EVENT_STATUS_LOCK" => Some(Self::TimeEventStatusLock), + "AFBPJMNLNCF_TIME_EVENT_STATUS_UNLOCK" => Some(Self::TimeEventStatusUnlock), + "AFBPJMNLNCF_TIME_EVENT_STATUS_ENDED" => Some(Self::TimeEventStatusEnded), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Efaapdmgihi { + Dbbgnhilnkg = 0, +} +impl Efaapdmgihi { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Dbbgnhilnkg => "EFAAPDMGIHI_DBBGNHILNKG", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EFAAPDMGIHI_DBBGNHILNKG" => Some(Self::Dbbgnhilnkg), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cdhjjnmanpn { + Ndeblmkameo = 0, + Cbgmhchckgh = 1, + Hnddcmbceba = 2, +} +impl Cdhjjnmanpn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ndeblmkameo => "CDHJJNMANPN_NDEBLMKAMEO", + Self::Cbgmhchckgh => "CDHJJNMANPN_CBGMHCHCKGH", + Self::Hnddcmbceba => "CDHJJNMANPN_HNDDCMBCEBA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CDHJJNMANPN_NDEBLMKAMEO" => Some(Self::Ndeblmkameo), + "CDHJJNMANPN_CBGMHCHCKGH" => Some(Self::Cbgmhchckgh), + "CDHJJNMANPN_HNDDCMBCEBA" => Some(Self::Hnddcmbceba), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pnldklokgnp { + Cgmcolbcljl = 0, +} +impl Pnldklokgnp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cgmcolbcljl => "PNLDKLOKGNP_CGMCOLBCLJL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PNLDKLOKGNP_CGMCOLBCLJL" => Some(Self::Cgmcolbcljl), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum AddAvatarPerformType { + Gmhofmapjpb = 0, + Fladfoahapa = 1, + Kbdmojcemgj = 2, +} +impl AddAvatarPerformType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Gmhofmapjpb => "AddAvatarPerformType_GMHOFMAPJPB", + Self::Fladfoahapa => "AddAvatarPerformType_FLADFOAHAPA", + Self::Kbdmojcemgj => "AddAvatarPerformType_KBDMOJCEMGJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AddAvatarPerformType_GMHOFMAPJPB" => Some(Self::Gmhofmapjpb), + "AddAvatarPerformType_FLADFOAHAPA" => Some(Self::Fladfoahapa), + "AddAvatarPerformType_KBDMOJCEMGJ" => Some(Self::Kbdmojcemgj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nppcheifbag { + ChessboardPerformModeNone = 0, + ChessboardPerformModeOpen = 1, + ChessboardPerformModeClose = 2, + ChessboardPerformModeBlock = 3, + ChessboardPerformModeUnblock = 4, +} +impl Nppcheifbag { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ChessboardPerformModeNone => "NPPCHEIFBAG_CHESSBOARD_PERFORM_MODE_NONE", + Self::ChessboardPerformModeOpen => "NPPCHEIFBAG_CHESSBOARD_PERFORM_MODE_OPEN", + Self::ChessboardPerformModeClose => { + "NPPCHEIFBAG_CHESSBOARD_PERFORM_MODE_CLOSE" + } + Self::ChessboardPerformModeBlock => { + "NPPCHEIFBAG_CHESSBOARD_PERFORM_MODE_BLOCK" + } + Self::ChessboardPerformModeUnblock => { + "NPPCHEIFBAG_CHESSBOARD_PERFORM_MODE_UNBLOCK" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NPPCHEIFBAG_CHESSBOARD_PERFORM_MODE_NONE" => { + Some(Self::ChessboardPerformModeNone) + } + "NPPCHEIFBAG_CHESSBOARD_PERFORM_MODE_OPEN" => { + Some(Self::ChessboardPerformModeOpen) + } + "NPPCHEIFBAG_CHESSBOARD_PERFORM_MODE_CLOSE" => { + Some(Self::ChessboardPerformModeClose) + } + "NPPCHEIFBAG_CHESSBOARD_PERFORM_MODE_BLOCK" => { + Some(Self::ChessboardPerformModeBlock) + } + "NPPCHEIFBAG_CHESSBOARD_PERFORM_MODE_UNBLOCK" => { + Some(Self::ChessboardPerformModeUnblock) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Acinfaajeel { + Damfjipembp = 0, + Bhabkmfbcii = 1, +} +impl Acinfaajeel { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Damfjipembp => "ACINFAAJEEL_DAMFJIPEMBP", + Self::Bhabkmfbcii => "ACINFAAJEEL_BHABKMFBCII", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ACINFAAJEEL_DAMFJIPEMBP" => Some(Self::Damfjipembp), + "ACINFAAJEEL_BHABKMFBCII" => Some(Self::Bhabkmfbcii), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hpjkkfjmbme { + Jffofnodjpl = 0, + Kclknomeioo = 10010, + Kbjlpghhdnk = 10012, +} +impl Hpjkkfjmbme { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Jffofnodjpl => "HPJKKFJMBME_JFFOFNODJPL", + Self::Kclknomeioo => "HPJKKFJMBME_KCLKNOMEIOO", + Self::Kbjlpghhdnk => "HPJKKFJMBME_KBJLPGHHDNK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HPJKKFJMBME_JFFOFNODJPL" => Some(Self::Jffofnodjpl), + "HPJKKFJMBME_KCLKNOMEIOO" => Some(Self::Kclknomeioo), + "HPJKKFJMBME_KBJLPGHHDNK" => Some(Self::Kbjlpghhdnk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kkaipocmkbc { + ByPremise = 0, + NotByPremise = 1, +} +impl Kkaipocmkbc { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ByPremise => "KKAIPOCMKBC_BY_PREMISE", + Self::NotByPremise => "KKAIPOCMKBC_NOT_BY_PREMISE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KKAIPOCMKBC_BY_PREMISE" => Some(Self::ByPremise), + "KKAIPOCMKBC_NOT_BY_PREMISE" => Some(Self::NotByPremise), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Klmlennfbfd { + Aiajplppigl = 0, + Amnfibhagcb = 1, + Fcnlfcndbja = 2, + Ikkffilnhmf = 3, +} +impl Klmlennfbfd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Aiajplppigl => "KLMLENNFBFD_AIAJPLPPIGL", + Self::Amnfibhagcb => "KLMLENNFBFD_AMNFIBHAGCB", + Self::Fcnlfcndbja => "KLMLENNFBFD_FCNLFCNDBJA", + Self::Ikkffilnhmf => "KLMLENNFBFD_IKKFFILNHMF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KLMLENNFBFD_AIAJPLPPIGL" => Some(Self::Aiajplppigl), + "KLMLENNFBFD_AMNFIBHAGCB" => Some(Self::Amnfibhagcb), + "KLMLENNFBFD_FCNLFCNDBJA" => Some(Self::Fcnlfcndbja), + "KLMLENNFBFD_IKKFFILNHMF" => Some(Self::Ikkffilnhmf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Macmammkbho { + Fgdmidolcbc = 0, + Ejdlnohbcno = 1, + Aafemcpglpm = 2, +} +impl Macmammkbho { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fgdmidolcbc => "MACMAMMKBHO_FGDMIDOLCBC", + Self::Ejdlnohbcno => "MACMAMMKBHO_EJDLNOHBCNO", + Self::Aafemcpglpm => "MACMAMMKBHO_AAFEMCPGLPM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MACMAMMKBHO_FGDMIDOLCBC" => Some(Self::Fgdmidolcbc), + "MACMAMMKBHO_EJDLNOHBCNO" => Some(Self::Ejdlnohbcno), + "MACMAMMKBHO_AAFEMCPGLPM" => Some(Self::Aafemcpglpm), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ipoaflcdggl { + Fdjelbibako = 0, + Hbofmponlid = 1, + Kibflkleamd = 2, + Fbhnmaeknmo = 3, + Ajllhdhkjba = 4, + Kmckkdnikpo = 5, + Geahnjlefhk = 6, + Infoogkfeld = 7, + Lfddloehbjd = 8, + Hieionlbhab = 100, + Ggkoelcopdn = 101, + Gcknlfahkgg = 102, + Ignfpmnfhig = 103, + Lpppdbfmdjm = 104, + Effbgmhbehd = 105, + Coddgknkmjk = 106, + Kciipdabcma = 107, + Loifopdeego = 108, + Fbpkjefcgne = 109, +} +impl Ipoaflcdggl { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Fdjelbibako => "IPOAFLCDGGL_FDJELBIBAKO", + Self::Hbofmponlid => "IPOAFLCDGGL_HBOFMPONLID", + Self::Kibflkleamd => "IPOAFLCDGGL_KIBFLKLEAMD", + Self::Fbhnmaeknmo => "IPOAFLCDGGL_FBHNMAEKNMO", + Self::Ajllhdhkjba => "IPOAFLCDGGL_AJLLHDHKJBA", + Self::Kmckkdnikpo => "IPOAFLCDGGL_KMCKKDNIKPO", + Self::Geahnjlefhk => "IPOAFLCDGGL_GEAHNJLEFHK", + Self::Infoogkfeld => "IPOAFLCDGGL_INFOOGKFELD", + Self::Lfddloehbjd => "IPOAFLCDGGL_LFDDLOEHBJD", + Self::Hieionlbhab => "IPOAFLCDGGL_HIEIONLBHAB", + Self::Ggkoelcopdn => "IPOAFLCDGGL_GGKOELCOPDN", + Self::Gcknlfahkgg => "IPOAFLCDGGL_GCKNLFAHKGG", + Self::Ignfpmnfhig => "IPOAFLCDGGL_IGNFPMNFHIG", + Self::Lpppdbfmdjm => "IPOAFLCDGGL_LPPPDBFMDJM", + Self::Effbgmhbehd => "IPOAFLCDGGL_EFFBGMHBEHD", + Self::Coddgknkmjk => "IPOAFLCDGGL_CODDGKNKMJK", + Self::Kciipdabcma => "IPOAFLCDGGL_KCIIPDABCMA", + Self::Loifopdeego => "IPOAFLCDGGL_LOIFOPDEEGO", + Self::Fbpkjefcgne => "IPOAFLCDGGL_FBPKJEFCGNE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IPOAFLCDGGL_FDJELBIBAKO" => Some(Self::Fdjelbibako), + "IPOAFLCDGGL_HBOFMPONLID" => Some(Self::Hbofmponlid), + "IPOAFLCDGGL_KIBFLKLEAMD" => Some(Self::Kibflkleamd), + "IPOAFLCDGGL_FBHNMAEKNMO" => Some(Self::Fbhnmaeknmo), + "IPOAFLCDGGL_AJLLHDHKJBA" => Some(Self::Ajllhdhkjba), + "IPOAFLCDGGL_KMCKKDNIKPO" => Some(Self::Kmckkdnikpo), + "IPOAFLCDGGL_GEAHNJLEFHK" => Some(Self::Geahnjlefhk), + "IPOAFLCDGGL_INFOOGKFELD" => Some(Self::Infoogkfeld), + "IPOAFLCDGGL_LFDDLOEHBJD" => Some(Self::Lfddloehbjd), + "IPOAFLCDGGL_HIEIONLBHAB" => Some(Self::Hieionlbhab), + "IPOAFLCDGGL_GGKOELCOPDN" => Some(Self::Ggkoelcopdn), + "IPOAFLCDGGL_GCKNLFAHKGG" => Some(Self::Gcknlfahkgg), + "IPOAFLCDGGL_IGNFPMNFHIG" => Some(Self::Ignfpmnfhig), + "IPOAFLCDGGL_LPPPDBFMDJM" => Some(Self::Lpppdbfmdjm), + "IPOAFLCDGGL_EFFBGMHBEHD" => Some(Self::Effbgmhbehd), + "IPOAFLCDGGL_CODDGKNKMJK" => Some(Self::Coddgknkmjk), + "IPOAFLCDGGL_KCIIPDABCMA" => Some(Self::Kciipdabcma), + "IPOAFLCDGGL_LOIFOPDEEGO" => Some(Self::Loifopdeego), + "IPOAFLCDGGL_FBPKJEFCGNE" => Some(Self::Fbpkjefcgne), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bcmfmclmcgo { + Pbkpnoafbhh = 0, +} +impl Bcmfmclmcgo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pbkpnoafbhh => "BCMFMCLMCGO_PBKPNOAFBHH", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BCMFMCLMCGO_PBKPNOAFBHH" => Some(Self::Pbkpnoafbhh), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Deflkildefh { + MphComponentTypeNone = 0, + MphIdComponent = 1, + MphPosComponent = 2, + MphPlayerComponent = 3, + MphMapComponent = 4, + MphGridComponent = 5, + MphGridStateComponent = 6, + MphSectionComponent = 7, +} +impl Deflkildefh { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::MphComponentTypeNone => "DEFLKILDEFH_MPH_COMPONENT_TYPE_NONE", + Self::MphIdComponent => "DEFLKILDEFH_MPH_ID_COMPONENT", + Self::MphPosComponent => "DEFLKILDEFH_MPH_POS_COMPONENT", + Self::MphPlayerComponent => "DEFLKILDEFH_MPH_PLAYER_COMPONENT", + Self::MphMapComponent => "DEFLKILDEFH_MPH_MAP_COMPONENT", + Self::MphGridComponent => "DEFLKILDEFH_MPH_GRID_COMPONENT", + Self::MphGridStateComponent => "DEFLKILDEFH_MPH_GRID_STATE_COMPONENT", + Self::MphSectionComponent => "DEFLKILDEFH_MPH_SECTION_COMPONENT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DEFLKILDEFH_MPH_COMPONENT_TYPE_NONE" => Some(Self::MphComponentTypeNone), + "DEFLKILDEFH_MPH_ID_COMPONENT" => Some(Self::MphIdComponent), + "DEFLKILDEFH_MPH_POS_COMPONENT" => Some(Self::MphPosComponent), + "DEFLKILDEFH_MPH_PLAYER_COMPONENT" => Some(Self::MphPlayerComponent), + "DEFLKILDEFH_MPH_MAP_COMPONENT" => Some(Self::MphMapComponent), + "DEFLKILDEFH_MPH_GRID_COMPONENT" => Some(Self::MphGridComponent), + "DEFLKILDEFH_MPH_GRID_STATE_COMPONENT" => Some(Self::MphGridStateComponent), + "DEFLKILDEFH_MPH_SECTION_COMPONENT" => Some(Self::MphSectionComponent), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pppgjlkcnkm { + Amoljlkkadf = 0, + Fifoopegmff = 1, + Ikbhflpbjem = 2, +} +impl Pppgjlkcnkm { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Amoljlkkadf => "PPPGJLKCNKM_AMOLJLKKADF", + Self::Fifoopegmff => "PPPGJLKCNKM_FIFOOPEGMFF", + Self::Ikbhflpbjem => "PPPGJLKCNKM_IKBHFLPBJEM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PPPGJLKCNKM_AMOLJLKKADF" => Some(Self::Amoljlkkadf), + "PPPGJLKCNKM_FIFOOPEGMFF" => Some(Self::Fifoopegmff), + "PPPGJLKCNKM_IKBHFLPBJEM" => Some(Self::Ikbhflpbjem), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Blpjlcobaoo { + Pndilihlnce = 0, + Eknhoabjpjo = 1, +} +impl Blpjlcobaoo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pndilihlnce => "BLPJLCOBAOO_PNDILIHLNCE", + Self::Eknhoabjpjo => "BLPJLCOBAOO_EKNHOABJPJO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BLPJLCOBAOO_PNDILIHLNCE" => Some(Self::Pndilihlnce), + "BLPJLCOBAOO_EKNHOABJPJO" => Some(Self::Eknhoabjpjo), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mjejehpehpe { + OptionsShowModeNormal = 0, + OptionsShowModeEvent = 1, + OptionsShowModeItem = 2, + OptionsShowModeCard = 3, + OptionsShowModeChallenge = 4, +} +impl Mjejehpehpe { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::OptionsShowModeNormal => "MJEJEHPEHPE_OPTIONS_SHOW_MODE_NORMAL", + Self::OptionsShowModeEvent => "MJEJEHPEHPE_OPTIONS_SHOW_MODE_EVENT", + Self::OptionsShowModeItem => "MJEJEHPEHPE_OPTIONS_SHOW_MODE_ITEM", + Self::OptionsShowModeCard => "MJEJEHPEHPE_OPTIONS_SHOW_MODE_CARD", + Self::OptionsShowModeChallenge => "MJEJEHPEHPE_OPTIONS_SHOW_MODE_CHALLENGE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MJEJEHPEHPE_OPTIONS_SHOW_MODE_NORMAL" => Some(Self::OptionsShowModeNormal), + "MJEJEHPEHPE_OPTIONS_SHOW_MODE_EVENT" => Some(Self::OptionsShowModeEvent), + "MJEJEHPEHPE_OPTIONS_SHOW_MODE_ITEM" => Some(Self::OptionsShowModeItem), + "MJEJEHPEHPE_OPTIONS_SHOW_MODE_CARD" => Some(Self::OptionsShowModeCard), + "MJEJEHPEHPE_OPTIONS_SHOW_MODE_CHALLENGE" => { + Some(Self::OptionsShowModeChallenge) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Klfinbnookg { + ConwayLifeGameLifeStateNone = 0, + ConwayLifeGameLifeStateLive = 1, + ConwayLifeGameLifeStateDie = 2, +} +impl Klfinbnookg { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ConwayLifeGameLifeStateNone => { + "KLFINBNOOKG_CONWAY_LIFE_GAME_LIFE_STATE_NONE" + } + Self::ConwayLifeGameLifeStateLive => { + "KLFINBNOOKG_CONWAY_LIFE_GAME_LIFE_STATE_LIVE" + } + Self::ConwayLifeGameLifeStateDie => { + "KLFINBNOOKG_CONWAY_LIFE_GAME_LIFE_STATE_DIE" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KLFINBNOOKG_CONWAY_LIFE_GAME_LIFE_STATE_NONE" => { + Some(Self::ConwayLifeGameLifeStateNone) + } + "KLFINBNOOKG_CONWAY_LIFE_GAME_LIFE_STATE_LIVE" => { + Some(Self::ConwayLifeGameLifeStateLive) + } + "KLFINBNOOKG_CONWAY_LIFE_GAME_LIFE_STATE_DIE" => { + Some(Self::ConwayLifeGameLifeStateDie) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oofenljhdpj { + BattleTagDefault = 0, + BattleTagNormal = 1, + BattleTagChallenge = 2, + BattleTagGoldenBuddy = 3, + BattleTagChallengeOccupy = 4, + BattleTagBonus = 5, + BattleTagNormalDoubleElite = 6, + BattleTagNormalEvolveElite = 7, + BattleTagNormalBigCheese = 8, + BattleTagNormalBossElite = 9, + BattleTagNormalBigCheeseElite = 10, + BattleTagNormalDoubleBoss = 11, + BattleTagNormalEvolveBoss = 12, +} +impl Oofenljhdpj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::BattleTagDefault => "OOFENLJHDPJ_BATTLE_TAG_DEFAULT", + Self::BattleTagNormal => "OOFENLJHDPJ_BATTLE_TAG_NORMAL", + Self::BattleTagChallenge => "OOFENLJHDPJ_BATTLE_TAG_CHALLENGE", + Self::BattleTagGoldenBuddy => "OOFENLJHDPJ_BATTLE_TAG_GOLDEN_BUDDY", + Self::BattleTagChallengeOccupy => "OOFENLJHDPJ_BATTLE_TAG_CHALLENGE_OCCUPY", + Self::BattleTagBonus => "OOFENLJHDPJ_BATTLE_TAG_BONUS", + Self::BattleTagNormalDoubleElite => { + "OOFENLJHDPJ_BATTLE_TAG_NORMAL_DOUBLE_ELITE" + } + Self::BattleTagNormalEvolveElite => { + "OOFENLJHDPJ_BATTLE_TAG_NORMAL_EVOLVE_ELITE" + } + Self::BattleTagNormalBigCheese => "OOFENLJHDPJ_BATTLE_TAG_NORMAL_BIG_CHEESE", + Self::BattleTagNormalBossElite => "OOFENLJHDPJ_BATTLE_TAG_NORMAL_BOSS_ELITE", + Self::BattleTagNormalBigCheeseElite => { + "OOFENLJHDPJ_BATTLE_TAG_NORMAL_BIG_CHEESE_ELITE" + } + Self::BattleTagNormalDoubleBoss => { + "OOFENLJHDPJ_BATTLE_TAG_NORMAL_DOUBLE_BOSS" + } + Self::BattleTagNormalEvolveBoss => { + "OOFENLJHDPJ_BATTLE_TAG_NORMAL_EVOLVE_BOSS" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OOFENLJHDPJ_BATTLE_TAG_DEFAULT" => Some(Self::BattleTagDefault), + "OOFENLJHDPJ_BATTLE_TAG_NORMAL" => Some(Self::BattleTagNormal), + "OOFENLJHDPJ_BATTLE_TAG_CHALLENGE" => Some(Self::BattleTagChallenge), + "OOFENLJHDPJ_BATTLE_TAG_GOLDEN_BUDDY" => Some(Self::BattleTagGoldenBuddy), + "OOFENLJHDPJ_BATTLE_TAG_CHALLENGE_OCCUPY" => { + Some(Self::BattleTagChallengeOccupy) + } + "OOFENLJHDPJ_BATTLE_TAG_BONUS" => Some(Self::BattleTagBonus), + "OOFENLJHDPJ_BATTLE_TAG_NORMAL_DOUBLE_ELITE" => { + Some(Self::BattleTagNormalDoubleElite) + } + "OOFENLJHDPJ_BATTLE_TAG_NORMAL_EVOLVE_ELITE" => { + Some(Self::BattleTagNormalEvolveElite) + } + "OOFENLJHDPJ_BATTLE_TAG_NORMAL_BIG_CHEESE" => { + Some(Self::BattleTagNormalBigCheese) + } + "OOFENLJHDPJ_BATTLE_TAG_NORMAL_BOSS_ELITE" => { + Some(Self::BattleTagNormalBossElite) + } + "OOFENLJHDPJ_BATTLE_TAG_NORMAL_BIG_CHEESE_ELITE" => { + Some(Self::BattleTagNormalBigCheeseElite) + } + "OOFENLJHDPJ_BATTLE_TAG_NORMAL_DOUBLE_BOSS" => { + Some(Self::BattleTagNormalDoubleBoss) + } + "OOFENLJHDPJ_BATTLE_TAG_NORMAL_EVOLVE_BOSS" => { + Some(Self::BattleTagNormalEvolveBoss) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Famllfdoenp { + Eichfngdhcl = 0, + Phfkdfagbfl = 1, + Mlhnhoohibp = 2, + Pcbfhkmepfj = 3, + Noijmggfene = 4, +} +impl Famllfdoenp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Eichfngdhcl => "FAMLLFDOENP_EICHFNGDHCL", + Self::Phfkdfagbfl => "FAMLLFDOENP_PHFKDFAGBFL", + Self::Mlhnhoohibp => "FAMLLFDOENP_MLHNHOOHIBP", + Self::Pcbfhkmepfj => "FAMLLFDOENP_PCBFHKMEPFJ", + Self::Noijmggfene => "FAMLLFDOENP_NOIJMGGFENE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FAMLLFDOENP_EICHFNGDHCL" => Some(Self::Eichfngdhcl), + "FAMLLFDOENP_PHFKDFAGBFL" => Some(Self::Phfkdfagbfl), + "FAMLLFDOENP_MLHNHOOHIBP" => Some(Self::Mlhnhoohibp), + "FAMLLFDOENP_PCBFHKMEPFJ" => Some(Self::Pcbfhkmepfj), + "FAMLLFDOENP_NOIJMGGFENE" => Some(Self::Noijmggfene), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fnmbilnfkjo { + HollowBattleEventTypeDefault = 0, + HollowBattleEventTypeNormal = 1, + HollowBattleEventTypeElite = 2, + HollowBattleEventTypeBoss = 3, + HollowBattleEventTypeLevelEnd = 4, + HollowBattleEventTypeLevelFin = 5, +} +impl Fnmbilnfkjo { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowBattleEventTypeDefault => { + "FNMBILNFKJO_HOLLOW_BATTLE_EVENT_TYPE_DEFAULT" + } + Self::HollowBattleEventTypeNormal => { + "FNMBILNFKJO_HOLLOW_BATTLE_EVENT_TYPE_NORMAL" + } + Self::HollowBattleEventTypeElite => { + "FNMBILNFKJO_HOLLOW_BATTLE_EVENT_TYPE_ELITE" + } + Self::HollowBattleEventTypeBoss => { + "FNMBILNFKJO_HOLLOW_BATTLE_EVENT_TYPE_BOSS" + } + Self::HollowBattleEventTypeLevelEnd => { + "FNMBILNFKJO_HOLLOW_BATTLE_EVENT_TYPE_LEVEL_END" + } + Self::HollowBattleEventTypeLevelFin => { + "FNMBILNFKJO_HOLLOW_BATTLE_EVENT_TYPE_LEVEL_FIN" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FNMBILNFKJO_HOLLOW_BATTLE_EVENT_TYPE_DEFAULT" => { + Some(Self::HollowBattleEventTypeDefault) + } + "FNMBILNFKJO_HOLLOW_BATTLE_EVENT_TYPE_NORMAL" => { + Some(Self::HollowBattleEventTypeNormal) + } + "FNMBILNFKJO_HOLLOW_BATTLE_EVENT_TYPE_ELITE" => { + Some(Self::HollowBattleEventTypeElite) + } + "FNMBILNFKJO_HOLLOW_BATTLE_EVENT_TYPE_BOSS" => { + Some(Self::HollowBattleEventTypeBoss) + } + "FNMBILNFKJO_HOLLOW_BATTLE_EVENT_TYPE_LEVEL_END" => { + Some(Self::HollowBattleEventTypeLevelEnd) + } + "FNMBILNFKJO_HOLLOW_BATTLE_EVENT_TYPE_LEVEL_FIN" => { + Some(Self::HollowBattleEventTypeLevelFin) + } + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bgoekjcooml { + RefreshAuto = 0, + RefreshTrue = 1, + RefreshFalse = 2, +} +impl Bgoekjcooml { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::RefreshAuto => "BGOEKJCOOML_REFRESH_AUTO", + Self::RefreshTrue => "BGOEKJCOOML_REFRESH_TRUE", + Self::RefreshFalse => "BGOEKJCOOML_REFRESH_FALSE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BGOEKJCOOML_REFRESH_AUTO" => Some(Self::RefreshAuto), + "BGOEKJCOOML_REFRESH_TRUE" => Some(Self::RefreshTrue), + "BGOEKJCOOML_REFRESH_FALSE" => Some(Self::RefreshFalse), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iejkegfekng { + Cahfcppoibd = 0, + Ehfgjfdbcoj = 1, + Namhegbalgo = 2, + Ennpdiminaj = 3, + Dgnlalafjlm = 4, + Jfaedeakpgf = 5, + Iokdibmjigj = 6, +} +impl Iejkegfekng { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Cahfcppoibd => "IEJKEGFEKNG_CAHFCPPOIBD", + Self::Ehfgjfdbcoj => "IEJKEGFEKNG_EHFGJFDBCOJ", + Self::Namhegbalgo => "IEJKEGFEKNG_NAMHEGBALGO", + Self::Ennpdiminaj => "IEJKEGFEKNG_ENNPDIMINAJ", + Self::Dgnlalafjlm => "IEJKEGFEKNG_DGNLALAFJLM", + Self::Jfaedeakpgf => "IEJKEGFEKNG_JFAEDEAKPGF", + Self::Iokdibmjigj => "IEJKEGFEKNG_IOKDIBMJIGJ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IEJKEGFEKNG_CAHFCPPOIBD" => Some(Self::Cahfcppoibd), + "IEJKEGFEKNG_EHFGJFDBCOJ" => Some(Self::Ehfgjfdbcoj), + "IEJKEGFEKNG_NAMHEGBALGO" => Some(Self::Namhegbalgo), + "IEJKEGFEKNG_ENNPDIMINAJ" => Some(Self::Ennpdiminaj), + "IEJKEGFEKNG_DGNLALAFJLM" => Some(Self::Dgnlalafjlm), + "IEJKEGFEKNG_JFAEDEAKPGF" => Some(Self::Jfaedeakpgf), + "IEJKEGFEKNG_IOKDIBMJIGJ" => Some(Self::Iokdibmjigj), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Amidaphfcao { + Abapaacjfhb = 0, + Cdgbhmanlid = 1, + Gllpgombnnp = 2, +} +impl Amidaphfcao { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Abapaacjfhb => "AMIDAPHFCAO_ABAPAACJFHB", + Self::Cdgbhmanlid => "AMIDAPHFCAO_CDGBHMANLID", + Self::Gllpgombnnp => "AMIDAPHFCAO_GLLPGOMBNNP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AMIDAPHFCAO_ABAPAACJFHB" => Some(Self::Abapaacjfhb), + "AMIDAPHFCAO_CDGBHMANLID" => Some(Self::Cdgbhmanlid), + "AMIDAPHFCAO_GLLPGOMBNNP" => Some(Self::Gllpgombnnp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bahlemdifco { + RepairIconTypeNone = 0, + RepairIconTypeTb = 3, + RepairIconTypeRt = 5, + RepairIconTypeBr = 6, + RepairIconTypeBrt = 7, + RepairIconTypeTl = 9, + RepairIconTypeLb = 10, + RepairIconTypeTlb = 11, + RepairIconTypeLr = 12, + RepairIconTypeTlr = 13, + RepairIconTypeLbr = 14, + RepairIconTypeFull = 15, +} +impl Bahlemdifco { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::RepairIconTypeNone => "BAHLEMDIFCO_REPAIR_ICON_TYPE_NONE", + Self::RepairIconTypeTb => "BAHLEMDIFCO_REPAIR_ICON_TYPE_TB", + Self::RepairIconTypeRt => "BAHLEMDIFCO_REPAIR_ICON_TYPE_RT", + Self::RepairIconTypeBr => "BAHLEMDIFCO_REPAIR_ICON_TYPE_BR", + Self::RepairIconTypeBrt => "BAHLEMDIFCO_REPAIR_ICON_TYPE_BRT", + Self::RepairIconTypeTl => "BAHLEMDIFCO_REPAIR_ICON_TYPE_TL", + Self::RepairIconTypeLb => "BAHLEMDIFCO_REPAIR_ICON_TYPE_LB", + Self::RepairIconTypeTlb => "BAHLEMDIFCO_REPAIR_ICON_TYPE_TLB", + Self::RepairIconTypeLr => "BAHLEMDIFCO_REPAIR_ICON_TYPE_LR", + Self::RepairIconTypeTlr => "BAHLEMDIFCO_REPAIR_ICON_TYPE_TLR", + Self::RepairIconTypeLbr => "BAHLEMDIFCO_REPAIR_ICON_TYPE_LBR", + Self::RepairIconTypeFull => "BAHLEMDIFCO_REPAIR_ICON_TYPE_FULL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BAHLEMDIFCO_REPAIR_ICON_TYPE_NONE" => Some(Self::RepairIconTypeNone), + "BAHLEMDIFCO_REPAIR_ICON_TYPE_TB" => Some(Self::RepairIconTypeTb), + "BAHLEMDIFCO_REPAIR_ICON_TYPE_RT" => Some(Self::RepairIconTypeRt), + "BAHLEMDIFCO_REPAIR_ICON_TYPE_BR" => Some(Self::RepairIconTypeBr), + "BAHLEMDIFCO_REPAIR_ICON_TYPE_BRT" => Some(Self::RepairIconTypeBrt), + "BAHLEMDIFCO_REPAIR_ICON_TYPE_TL" => Some(Self::RepairIconTypeTl), + "BAHLEMDIFCO_REPAIR_ICON_TYPE_LB" => Some(Self::RepairIconTypeLb), + "BAHLEMDIFCO_REPAIR_ICON_TYPE_TLB" => Some(Self::RepairIconTypeTlb), + "BAHLEMDIFCO_REPAIR_ICON_TYPE_LR" => Some(Self::RepairIconTypeLr), + "BAHLEMDIFCO_REPAIR_ICON_TYPE_TLR" => Some(Self::RepairIconTypeTlr), + "BAHLEMDIFCO_REPAIR_ICON_TYPE_LBR" => Some(Self::RepairIconTypeLbr), + "BAHLEMDIFCO_REPAIR_ICON_TYPE_FULL" => Some(Self::RepairIconTypeFull), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum TimePeriodType { + TimePeriodTypeNone = 0, + Morning = 1, + Afternoon = 2, + Evening = 3, + Night = 4, + Now = 99, +} +impl TimePeriodType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::TimePeriodTypeNone => "TimePeriodType_TIME_PERIOD_TYPE_NONE", + Self::Morning => "TimePeriodType_MORNING", + Self::Afternoon => "TimePeriodType_AFTERNOON", + Self::Evening => "TimePeriodType_EVENING", + Self::Night => "TimePeriodType_NIGHT", + Self::Now => "TimePeriodType_NOW", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "TimePeriodType_TIME_PERIOD_TYPE_NONE" => Some(Self::TimePeriodTypeNone), + "TimePeriodType_MORNING" => Some(Self::Morning), + "TimePeriodType_AFTERNOON" => Some(Self::Afternoon), + "TimePeriodType_EVENING" => Some(Self::Evening), + "TimePeriodType_NIGHT" => Some(Self::Night), + "TimePeriodType_NOW" => Some(Self::Now), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hhaiaeholnp { + ToBigTv = 0, + ToNormalTv = 1, +} +impl Hhaiaeholnp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ToBigTv => "HHAIAEHOLNP_TO_BIG_TV", + Self::ToNormalTv => "HHAIAEHOLNP_TO_NORMAL_TV", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HHAIAEHOLNP_TO_BIG_TV" => Some(Self::ToBigTv), + "HHAIAEHOLNP_TO_NORMAL_TV" => Some(Self::ToNormalTv), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ignegjpoggj { + Mcllfpgpfhk = 0, +} +impl Ignegjpoggj { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Mcllfpgpfhk => "IGNEGJPOGGJ_MCLLFPGPFHK", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IGNEGJPOGGJ_MCLLFPGPFHK" => Some(Self::Mcllfpgpfhk), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Meadahndghd { + Pclfjeaeckd = 0, + Jhlgehhifff = 1, + Lcpfnobgkhf = 2, + Oofggonfkjg = 3, + Onlcpjhojha = 4, +} +impl Meadahndghd { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Pclfjeaeckd => "MEADAHNDGHD_PCLFJEAECKD", + Self::Jhlgehhifff => "MEADAHNDGHD_JHLGEHHIFFF", + Self::Lcpfnobgkhf => "MEADAHNDGHD_LCPFNOBGKHF", + Self::Oofggonfkjg => "MEADAHNDGHD_OOFGGONFKJG", + Self::Onlcpjhojha => "MEADAHNDGHD_ONLCPJHOJHA", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MEADAHNDGHD_PCLFJEAECKD" => Some(Self::Pclfjeaeckd), + "MEADAHNDGHD_JHLGEHHIFFF" => Some(Self::Jhlgehhifff), + "MEADAHNDGHD_LCPFNOBGKHF" => Some(Self::Lcpfnobgkhf), + "MEADAHNDGHD_OOFGGONFKJG" => Some(Self::Oofggonfkjg), + "MEADAHNDGHD_ONLCPJHOJHA" => Some(Self::Onlcpjhojha), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gbmddbianaa { + HollowGameUiTypeDefault = 0, + HollowGameUiTypeActivityHacker = 1, + HollowGameUiTypeBless = 2, +} +impl Gbmddbianaa { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::HollowGameUiTypeDefault => "GBMDDBIANAA_HOLLOW_GAME_UI_TYPE_DEFAULT", + Self::HollowGameUiTypeActivityHacker => { + "GBMDDBIANAA_HOLLOW_GAME_UI_TYPE_ACTIVITY_HACKER" + } + Self::HollowGameUiTypeBless => "GBMDDBIANAA_HOLLOW_GAME_UI_TYPE_BLESS", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GBMDDBIANAA_HOLLOW_GAME_UI_TYPE_DEFAULT" => { + Some(Self::HollowGameUiTypeDefault) + } + "GBMDDBIANAA_HOLLOW_GAME_UI_TYPE_ACTIVITY_HACKER" => { + Some(Self::HollowGameUiTypeActivityHacker) + } + "GBMDDBIANAA_HOLLOW_GAME_UI_TYPE_BLESS" => Some(Self::HollowGameUiTypeBless), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kmpfpppkfjn { + ModifyStackOrderUp = 0, + ModifyStackOrderDown = 1, + ModifyStackOrderTop = 2, + ModifyStackOrderBottom = 3, + ModifyStackOrderList = 4, +} +impl Kmpfpppkfjn { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::ModifyStackOrderUp => "KMPFPPPKFJN_MODIFY_STACK_ORDER_UP", + Self::ModifyStackOrderDown => "KMPFPPPKFJN_MODIFY_STACK_ORDER_DOWN", + Self::ModifyStackOrderTop => "KMPFPPPKFJN_MODIFY_STACK_ORDER_TOP", + Self::ModifyStackOrderBottom => "KMPFPPPKFJN_MODIFY_STACK_ORDER_BOTTOM", + Self::ModifyStackOrderList => "KMPFPPPKFJN_MODIFY_STACK_ORDER_LIST", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KMPFPPPKFJN_MODIFY_STACK_ORDER_UP" => Some(Self::ModifyStackOrderUp), + "KMPFPPPKFJN_MODIFY_STACK_ORDER_DOWN" => Some(Self::ModifyStackOrderDown), + "KMPFPPPKFJN_MODIFY_STACK_ORDER_TOP" => Some(Self::ModifyStackOrderTop), + "KMPFPPPKFJN_MODIFY_STACK_ORDER_BOTTOM" => Some(Self::ModifyStackOrderBottom), + "KMPFPPPKFJN_MODIFY_STACK_ORDER_LIST" => Some(Self::ModifyStackOrderList), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Blfjnmjhnmp { + Ofbfcahndjc = 0, + Eildgnbgjkp = 1, + Ekabfmnlbld = 2, +} +impl Blfjnmjhnmp { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ofbfcahndjc => "BLFJNMJHNMP_OFBFCAHNDJC", + Self::Eildgnbgjkp => "BLFJNMJHNMP_EILDGNBGJKP", + Self::Ekabfmnlbld => "BLFJNMJHNMP_EKABFMNLBLD", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BLFJNMJHNMP_OFBFCAHNDJC" => Some(Self::Ofbfcahndjc), + "BLFJNMJHNMP_EILDGNBGJKP" => Some(Self::Eildgnbgjkp), + "BLFJNMJHNMP_EKABFMNLBLD" => Some(Self::Ekabfmnlbld), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iegcobdoojb { + None = 0, + MiniGameParam = 1, + ActGameParam = 2, + HollowParam = 3, +} +impl Iegcobdoojb { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::None => "IEGCOBDOOJB_None", + Self::MiniGameParam => "IEGCOBDOOJB_MiniGameParam", + Self::ActGameParam => "IEGCOBDOOJB_ActGameParam", + Self::HollowParam => "IEGCOBDOOJB_HollowParam", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IEGCOBDOOJB_None" => Some(Self::None), + "IEGCOBDOOJB_MiniGameParam" => Some(Self::MiniGameParam), + "IEGCOBDOOJB_ActGameParam" => Some(Self::ActGameParam), + "IEGCOBDOOJB_HollowParam" => Some(Self::HollowParam), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Caelfonignk { + Ecciokmahkf = 0, +} +impl Caelfonignk { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ecciokmahkf => "CAELFONIGNK_ECCIOKMAHKF", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CAELFONIGNK_ECCIOKMAHKF" => Some(Self::Ecciokmahkf), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ifjapkdimle { + Ncbichmdjoc = 0, + Jmpnejljomi = 1, +} +impl Ifjapkdimle { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Ncbichmdjoc => "IFJAPKDIMLE_NCBICHMDJOC", + Self::Jmpnejljomi => "IFJAPKDIMLE_JMPNEJLJOMI", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IFJAPKDIMLE_NCBICHMDJOC" => Some(Self::Ncbichmdjoc), + "IFJAPKDIMLE_JMPNEJLJOMI" => Some(Self::Jmpnejljomi), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pjjdclljkog { + Okhlkgdnioh = 0, + Egammojifca = 1, + Manaelpjoil = 2, + Mbbppmbjfcp = 3, +} +impl Pjjdclljkog { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Okhlkgdnioh => "PJJDCLLJKOG_OKHLKGDNIOH", + Self::Egammojifca => "PJJDCLLJKOG_EGAMMOJIFCA", + Self::Manaelpjoil => "PJJDCLLJKOG_MANAELPJOIL", + Self::Mbbppmbjfcp => "PJJDCLLJKOG_MBBPPMBJFCP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PJJDCLLJKOG_OKHLKGDNIOH" => Some(Self::Okhlkgdnioh), + "PJJDCLLJKOG_EGAMMOJIFCA" => Some(Self::Egammojifca), + "PJJDCLLJKOG_MANAELPJOIL" => Some(Self::Manaelpjoil), + "PJJDCLLJKOG_MBBPPMBJFCP" => Some(Self::Mbbppmbjfcp), + _ => None, + } + } +} +#[derive(yanagi_proto_derive::CmdID)] +#[derive(yanagi_proto_derive::XorFields)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum NodeState { + NodeStateAll = 0, + Locked = 1, + Unlocked = 2, + Finished = 3, + ShowEvent = 4, + Door = 5, + Brighten = 6, + Guide = 7, + Target = 8, + BrightenOnlyVisible = 9, + Unstable = 10, + Empty = 11, + LockedWithStamina = 14, + UnEmpty = 15, +} +impl NodeState { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::NodeStateAll => "NodeState_NODE_STATE_ALL", + Self::Locked => "NodeState_LOCKED", + Self::Unlocked => "NodeState_UNLOCKED", + Self::Finished => "NodeState_FINISHED", + Self::ShowEvent => "NodeState_SHOW_EVENT", + Self::Door => "NodeState_DOOR", + Self::Brighten => "NodeState_BRIGHTEN", + Self::Guide => "NodeState_GUIDE", + Self::Target => "NodeState_TARGET", + Self::BrightenOnlyVisible => "NodeState_BRIGHTEN_ONLY_VISIBLE", + Self::Unstable => "NodeState_UNSTABLE", + Self::Empty => "NodeState_EMPTY", + Self::LockedWithStamina => "NodeState_LOCKED_WITH_STAMINA", + Self::UnEmpty => "NodeState_UN_EMPTY", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NodeState_NODE_STATE_ALL" => Some(Self::NodeStateAll), + "NodeState_LOCKED" => Some(Self::Locked), + "NodeState_UNLOCKED" => Some(Self::Unlocked), + "NodeState_FINISHED" => Some(Self::Finished), + "NodeState_SHOW_EVENT" => Some(Self::ShowEvent), + "NodeState_DOOR" => Some(Self::Door), + "NodeState_BRIGHTEN" => Some(Self::Brighten), + "NodeState_GUIDE" => Some(Self::Guide), + "NodeState_TARGET" => Some(Self::Target), + "NodeState_BRIGHTEN_ONLY_VISIBLE" => Some(Self::BrightenOnlyVisible), + "NodeState_UNSTABLE" => Some(Self::Unstable), + "NodeState_EMPTY" => Some(Self::Empty), + "NodeState_LOCKED_WITH_STAMINA" => Some(Self::LockedWithStamina), + "NodeState_UN_EMPTY" => Some(Self::UnEmpty), + _ => None, + } + } +} \ No newline at end of file diff --git a/crates/yanagi-proto/out/proto_conversion.rs b/crates/yanagi-proto/out/proto_conversion.rs new file mode 100644 index 0000000..fca702c --- /dev/null +++ b/crates/yanagi-proto/out/proto_conversion.rs @@ -0,0 +1,3493 @@ +#[allow(unused)] +impl From<::protocol::RpcGetAbyssRewardDataArg> for GetAbyssRewardDataCsReq { + fn from(value: ::protocol::RpcGetAbyssRewardDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetAbyssRewardDataArg { + fn from(value: GetAbyssRewardDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::CampIdleData> for CampIdleData { + fn from(value: ::protocol::CampIdleData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::CampIdleData { + fn from(value: CampIdleData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetExplorationDataArg> for GetExplorationDataCsReq { + fn from(value: ::protocol::RpcGetExplorationDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetExplorationDataArg { + fn from(value: GetExplorationDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::BattleRewardInfo> for BattleRewardInfo { + fn from(value: ::protocol::BattleRewardInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::BattleRewardInfo { + fn from(value: BattleRewardInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcBeginTrainingCourseBattleArg> +for BeginTrainingCourseBattleCsReq { + fn from(value: ::protocol::RpcBeginTrainingCourseBattleArg) -> Self { + Self { + quest_id: value.quest_id.into(), + avatars: value.avatars.into_iter().map(|v| v.into()).collect(), + buddy_id: value.buddy_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From +for ::protocol::RpcBeginTrainingCourseBattleArg { + fn from(value: BeginTrainingCourseBattleCsReq) -> Self { + Self { + quest_id: value.quest_id.into(), + avatars: value.avatars.into_iter().map(|v| v.into()).collect(), + buddy_id: value.buddy_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcSavePosInMainCityArg> for SavePosInMainCityCsReq { + fn from(value: ::protocol::RpcSavePosInMainCityArg) -> Self { + Self { + position: Some(value.position.into()), + section_id: value.section_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcSavePosInMainCityArg { + fn from(value: SavePosInMainCityCsReq) -> Self { + Self { + position: value.position.map(|v| v.into()).unwrap_or_default(), + section_id: value.section_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::EquipWishlistPlan> for EquipWishlistPlan { + fn from(value: ::protocol::EquipWishlistPlan) -> Self { + Self { + plan_type: value.plan_type.into(), + wish_weapon_id_list: value + .wish_weapon_id_list + .into_iter() + .map(|v| v.into()) + .collect(), + wish_equip_id_list: value + .wish_equip_id_list + .into_iter() + .map(|v| v.into()) + .collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::EquipWishlistPlan { + fn from(value: EquipWishlistPlan) -> Self { + Self { + plan_type: value.plan_type.into(), + wish_weapon_id_list: value + .wish_weapon_id_list + .into_iter() + .map(|v| v.into()) + .collect(), + wish_equip_id_list: value + .wish_equip_id_list + .into_iter() + .map(|v| v.into()) + .collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetVhsStoreInfoArg> for GetVhsStoreInfoCsReq { + fn from(value: ::protocol::RpcGetVhsStoreInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetVhsStoreInfoArg { + fn from(value: GetVhsStoreInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetVideoUsmKeyDataRet> for GetVideoUsmKeyDataScRsp { + fn from(value: ::protocol::RpcGetVideoUsmKeyDataRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetVideoUsmKeyDataRet { + fn from(value: GetVideoUsmKeyDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetPlayerMailsRet> for GetPlayerMailsScRsp { + fn from(value: ::protocol::RpcGetPlayerMailsRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetPlayerMailsRet { + fn from(value: GetPlayerMailsScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetAbyssInfoArg> for GetAbyssInfoCsReq { + fn from(value: ::protocol::RpcGetAbyssInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetAbyssInfoArg { + fn from(value: GetAbyssInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetPrivateMessageDataArg> for GetPrivateMessageDataCsReq { + fn from(value: ::protocol::RpcGetPrivateMessageDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetPrivateMessageDataArg { + fn from(value: GetPrivateMessageDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::NewsStandData> for NewsStandData { + fn from(value: ::protocol::NewsStandData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::NewsStandData { + fn from(value: NewsStandData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetNewsStandDataArg> for GetNewsStandDataCsReq { + fn from(value: ::protocol::RpcGetNewsStandDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetNewsStandDataArg { + fn from(value: GetNewsStandDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetVideoUsmKeyDataArg> for GetVideoUsmKeyDataCsReq { + fn from(value: ::protocol::RpcGetVideoUsmKeyDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetVideoUsmKeyDataArg { + fn from(value: GetVideoUsmKeyDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetPlayerBasicInfoArg> for GetPlayerBasicInfoCsReq { + fn from(value: ::protocol::RpcGetPlayerBasicInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetPlayerBasicInfoArg { + fn from(value: GetPlayerBasicInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetServerTimestampRet> for GetServerTimestampScRsp { + fn from(value: ::protocol::RpcGetServerTimestampRet) -> Self { + Self { + retcode: value.retcode.into(), + timestamp: value.timestamp.into(), + utc_offset: value.utc_offset.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetServerTimestampRet { + fn from(value: GetServerTimestampScRsp) -> Self { + Self { + retcode: value.retcode.into(), + timestamp: value.timestamp.into(), + utc_offset: value.utc_offset.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetAuthkeyArg> for GetAuthkeyCsReq { + fn from(value: ::protocol::RpcGetAuthkeyArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetAuthkeyArg { + fn from(value: GetAuthkeyCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetWishlistDataRet> for GetWishlistDataScRsp { + fn from(value: ::protocol::RpcGetWishlistDataRet) -> Self { + Self { + retcode: value.retcode.into(), + wishlist_plan_list: value + .wishlist_plan_list + .into_iter() + .map(|v| v.into()) + .collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetWishlistDataRet { + fn from(value: GetWishlistDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + wishlist_plan_list: value + .wishlist_plan_list + .into_iter() + .map(|v| v.into()) + .collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetRamenDataArg> for GetRamenDataCsReq { + fn from(value: ::protocol::RpcGetRamenDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetRamenDataArg { + fn from(value: GetRamenDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetQuestDataRet> for GetQuestDataScRsp { + fn from(value: ::protocol::RpcGetQuestDataRet) -> Self { + Self { + quest_type: value.quest_type.into(), + quest_data: Some(value.quest_data.into()), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetQuestDataRet { + fn from(value: GetQuestDataScRsp) -> Self { + Self { + quest_type: value.quest_type.into(), + quest_data: value.quest_data.map(|v| v.into()).unwrap_or_default(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetTrashbinHermitDataRet> for GetTrashbinHermitDataScRsp { + fn from(value: ::protocol::RpcGetTrashbinHermitDataRet) -> Self { + Self { + trashbin_hermit_data: Some(value.trashbin_hermit_data.into()), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetTrashbinHermitDataRet { + fn from(value: GetTrashbinHermitDataScRsp) -> Self { + Self { + trashbin_hermit_data: value + .trashbin_hermit_data + .map(|v| v.into()) + .unwrap_or_default(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetFairyInfoArg> for GetFairyInfoCsReq { + fn from(value: ::protocol::RpcGetFairyInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetFairyInfoArg { + fn from(value: GetFairyInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetCampIdleDataRet> for GetCampIdleDataScRsp { + fn from(value: ::protocol::RpcGetCampIdleDataRet) -> Self { + Self { + retcode: value.retcode.into(), + camp_idle_data: Some(value.camp_idle_data.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetCampIdleDataRet { + fn from(value: GetCampIdleDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + camp_idle_data: value.camp_idle_data.map(|v| v.into()).unwrap_or_default(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcInteractWithUnitRet> for InteractWithUnitScRsp { + fn from(value: ::protocol::RpcInteractWithUnitRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcInteractWithUnitRet { + fn from(value: InteractWithUnitScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetCollectMapArg> for GetCollectMapCsReq { + fn from(value: ::protocol::RpcGetCollectMapArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetCollectMapArg { + fn from(value: GetCollectMapCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcInteractWithClientEntityArg> for InteractWithClientEntityCsReq { + fn from(value: ::protocol::RpcInteractWithClientEntityArg) -> Self { + Self { + interaction: value.interaction.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcInteractWithClientEntityArg { + fn from(value: InteractWithClientEntityCsReq) -> Self { + Self { + interaction: value.interaction.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcModMainCityAvatarRet> for ModMainCityAvatarScRsp { + fn from(value: ::protocol::RpcModMainCityAvatarRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcModMainCityAvatarRet { + fn from(value: ModMainCityAvatarScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RamenData> for RamenData { + fn from(value: ::protocol::RamenData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RamenData { + fn from(value: RamenData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetShoppingMallInfoArg> for GetShoppingMallInfoCsReq { + fn from(value: ::protocol::RpcGetShoppingMallInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetShoppingMallInfoArg { + fn from(value: GetShoppingMallInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetTipsInfoArg> for GetTipsInfoCsReq { + fn from(value: ::protocol::RpcGetTipsInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetTipsInfoArg { + fn from(value: GetTipsInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::ClientSystemsInfo> for ClientSystemsInfo { + fn from(value: ::protocol::ClientSystemsInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::ClientSystemsInfo { + fn from(value: ClientSystemsInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetActivityDataRet> for GetActivityDataScRsp { + fn from(value: ::protocol::RpcGetActivityDataRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetActivityDataRet { + fn from(value: GetActivityDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetYorozuyaInfoArg> for GetYorozuyaInfoCsReq { + fn from(value: ::protocol::RpcGetYorozuyaInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetYorozuyaInfoArg { + fn from(value: GetYorozuyaInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcReportUiLayoutPlatformArg> for ReportUiLayoutPlatformCsReq { + fn from(value: ::protocol::RpcReportUiLayoutPlatformArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcReportUiLayoutPlatformArg { + fn from(value: ReportUiLayoutPlatformCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcBattleReportArg> for BattleReportCsReq { + fn from(value: ::protocol::RpcBattleReportArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcBattleReportArg { + fn from(value: BattleReportCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetDisplayCaseDataArg> for GetDisplayCaseDataCsReq { + fn from(value: ::protocol::RpcGetDisplayCaseDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetDisplayCaseDataArg { + fn from(value: GetDisplayCaseDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcRunEventGraphRet> for RunEventGraphScRsp { + fn from(value: ::protocol::RpcRunEventGraphRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcRunEventGraphRet { + fn from(value: RunEventGraphScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcLeaveCurDungeonArg> for LeaveCurDungeonCsReq { + fn from(value: ::protocol::RpcLeaveCurDungeonArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcLeaveCurDungeonArg { + fn from(value: LeaveCurDungeonCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::PtcUpdateEventGraphArg> for UpdateEventGraphScNotify { + fn from(value: ::protocol::PtcUpdateEventGraphArg) -> Self { + Self { + is_event_success: value.is_event_success.into(), + event_graph_uid: value.event_graph_uid.into(), + event_graph_owner_uid: value.event_graph_owner_uid.into(), + tag: value.tag.into(), + npc_interaction: value.npc_interaction.into(), + owner_type: value.owner_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::PtcUpdateEventGraphArg { + fn from(value: UpdateEventGraphScNotify) -> Self { + Self { + is_event_success: value.is_event_success.into(), + event_graph_uid: value.event_graph_uid.into(), + event_graph_owner_uid: value.event_graph_owner_uid.into(), + tag: value.tag.into(), + npc_interaction: value.npc_interaction.into(), + owner_type: value.owner_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetBattlePassDataArg> for GetBattlePassDataCsReq { + fn from(value: ::protocol::RpcGetBattlePassDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetBattlePassDataArg { + fn from(value: GetBattlePassDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetClientSystemsInfoRet> for GetClientSystemsInfoScRsp { + fn from(value: ::protocol::RpcGetClientSystemsInfoRet) -> Self { + Self { + info: Some(value.info.into()), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetClientSystemsInfoRet { + fn from(value: GetClientSystemsInfoScRsp) -> Self { + Self { + info: value.info.map(|v| v.into()).unwrap_or_default(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetMiniscapeEntrustDataRet> for GetMiniscapeEntrustDataScRsp { + fn from(value: ::protocol::RpcGetMiniscapeEntrustDataRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetMiniscapeEntrustDataRet { + fn from(value: GetMiniscapeEntrustDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcEndBattleRet> for EndBattleScRsp { + fn from(value: ::protocol::RpcEndBattleRet) -> Self { + Self { + battle_reward: Some(value.battle_reward.into()), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcEndBattleRet { + fn from(value: EndBattleScRsp) -> Self { + Self { + battle_reward: value.battle_reward.map(|v| v.into()).unwrap_or_default(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetArchiveInfoArg> for GetArchiveInfoCsReq { + fn from(value: ::protocol::RpcGetArchiveInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetArchiveInfoArg { + fn from(value: GetArchiveInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetRamenDataRet> for GetRamenDataScRsp { + fn from(value: ::protocol::RpcGetRamenDataRet) -> Self { + Self { + ramen_data: Some(value.ramen_data.into()), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetRamenDataRet { + fn from(value: GetRamenDataScRsp) -> Self { + Self { + ramen_data: value.ramen_data.map(|v| v.into()).unwrap_or_default(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetDailyChallengeInfoArg> for GetDailyChallengeInfoCsReq { + fn from(value: ::protocol::RpcGetDailyChallengeInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetDailyChallengeInfoArg { + fn from(value: GetDailyChallengeInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetBattlePassDataRet> for GetBattlePassDataScRsp { + fn from(value: ::protocol::RpcGetBattlePassDataRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetBattlePassDataRet { + fn from(value: GetBattlePassDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcRunEventGraphArg> for RunEventGraphCsReq { + fn from(value: ::protocol::RpcRunEventGraphArg) -> Self { + Self { + owner_type: value.owner_type.into(), + section_id: value.section_id.into(), + event_graph_uid: value.event_graph_uid.into(), + owner_id: value.owner_id.into(), + tag: value.tag.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcRunEventGraphArg { + fn from(value: RunEventGraphCsReq) -> Self { + Self { + owner_type: value.owner_type.into(), + section_id: value.section_id.into(), + event_graph_uid: value.event_graph_uid.into(), + owner_id: value.owner_id.into(), + tag: value.tag.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetJourneyInfoArg> for GetJourneyInfoCsReq { + fn from(value: ::protocol::RpcGetJourneyInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetJourneyInfoArg { + fn from(value: GetJourneyInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::Transform> for Transform { + fn from(value: ::protocol::Transform) -> Self { + Self { + position: value.position.into_iter().map(|v| v.into()).collect(), + rotation: value.rotation.into_iter().map(|v| v.into()).collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::Transform { + fn from(value: Transform) -> Self { + Self { + position: value.position.into_iter().map(|v| v.into()).collect(), + rotation: value.rotation.into_iter().map(|v| v.into()).collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetTipsInfoRet> for GetTipsInfoScRsp { + fn from(value: ::protocol::RpcGetTipsInfoRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetTipsInfoRet { + fn from(value: GetTipsInfoScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetMainCityRevivalDataArg> for GetMainCityRevivalDataCsReq { + fn from(value: ::protocol::RpcGetMainCityRevivalDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetMainCityRevivalDataArg { + fn from(value: GetMainCityRevivalDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetDisplayCaseDataRet> for GetDisplayCaseDataScRsp { + fn from(value: ::protocol::RpcGetDisplayCaseDataRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetDisplayCaseDataRet { + fn from(value: GetDisplayCaseDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetWishlistDataArg> for GetWishlistDataCsReq { + fn from(value: ::protocol::RpcGetWishlistDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetWishlistDataArg { + fn from(value: GetWishlistDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::FightSceneInfo> for FightSceneInfo { + fn from(value: ::protocol::FightSceneInfo) -> Self { + Self { + level_perform_info: Some(value.level_perform_info.into()), + end_hollow: value.end_hollow.into(), + level_reward_info: Some(value.level_reward_info.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::FightSceneInfo { + fn from(value: FightSceneInfo) -> Self { + Self { + level_perform_info: value + .level_perform_info + .map(|v| v.into()) + .unwrap_or_default(), + end_hollow: value.end_hollow.into(), + level_reward_info: value + .level_reward_info + .map(|v| v.into()) + .unwrap_or_default(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcCheckYorozuyaInfoRefreshArg> for CheckYorozuyaInfoRefreshCsReq { + fn from(value: ::protocol::RpcCheckYorozuyaInfoRefreshArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcCheckYorozuyaInfoRefreshArg { + fn from(value: CheckYorozuyaInfoRefreshCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::AvatarInfo> for AvatarInfo { + fn from(value: ::protocol::AvatarInfo) -> Self { + Self { + template_id: value.template_id.into(), + level: value.level.into(), + first_get_time: value.first_get_time.into(), + exp: value.exp.into(), + skill_type_level: value + .skill_type_level + .into_iter() + .map(|v| v.into()) + .collect(), + rank: value.rank.into(), + talent_switch_list: value + .talent_switch_list + .into_iter() + .map(|v| v.into()) + .collect(), + star: value.star.into(), + unlocked_talent_num: value.unlocked_talent_num.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::AvatarInfo { + fn from(value: AvatarInfo) -> Self { + Self { + template_id: value.template_id.into(), + level: value.level.into(), + first_get_time: value.first_get_time.into(), + exp: value.exp.into(), + skill_type_level: value + .skill_type_level + .into_iter() + .map(|v| v.into()) + .collect(), + rank: value.rank.into(), + talent_switch_list: value + .talent_switch_list + .into_iter() + .map(|v| v.into()) + .collect(), + star: value.star.into(), + unlocked_talent_num: value.unlocked_talent_num.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::AvatarUnitInfo> for AvatarUnitInfo { + fn from(value: ::protocol::AvatarUnitInfo) -> Self { + Self { + avatar_id: value.avatar_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::AvatarUnitInfo { + fn from(value: AvatarUnitInfo) -> Self { + Self { + avatar_id: value.avatar_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetWeaponDataArg> for GetWeaponDataCsReq { + fn from(value: ::protocol::RpcGetWeaponDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetWeaponDataArg { + fn from(value: GetWeaponDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetChatEmojiListArg> for GetChatEmojiListCsReq { + fn from(value: ::protocol::RpcGetChatEmojiListArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetChatEmojiListArg { + fn from(value: GetChatEmojiListCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::JourneyInfo> for JourneyInfo { + fn from(value: ::protocol::JourneyInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::JourneyInfo { + fn from(value: JourneyInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcModMainCityAvatarArg> for ModMainCityAvatarCsReq { + fn from(value: ::protocol::RpcModMainCityAvatarArg) -> Self { + Self { + main_city_avatar_id: value.main_city_avatar_id.into(), + player_avatar_id: value.player_avatar_id.into(), + avatar_id: value.avatar_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcModMainCityAvatarArg { + fn from(value: ModMainCityAvatarCsReq) -> Self { + Self { + main_city_avatar_id: value.main_city_avatar_id.into(), + player_avatar_id: value.player_avatar_id.into(), + avatar_id: value.avatar_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetCafeDataArg> for GetCafeDataCsReq { + fn from(value: ::protocol::RpcGetCafeDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetCafeDataArg { + fn from(value: GetCafeDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetAvatarDataArg> for GetAvatarDataCsReq { + fn from(value: ::protocol::RpcGetAvatarDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetAvatarDataArg { + fn from(value: GetAvatarDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetBabelTowerDataArg> for GetBabelTowerDataCsReq { + fn from(value: ::protocol::RpcGetBabelTowerDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetBabelTowerDataArg { + fn from(value: GetBabelTowerDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::PtcEnterSceneArg> for EnterSceneScNotify { + fn from(value: ::protocol::PtcEnterSceneArg) -> Self { + Self { + scene_info: Some(value.scene_info.into()), + dungeon_info: value.dungeon_info.map(|v| v.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::PtcEnterSceneArg { + fn from(value: EnterSceneScNotify) -> Self { + Self { + scene_info: value.scene_info.map(|v| v.into()).unwrap_or_default(), + dungeon_info: value.dungeon_info.map(|v| v.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetBuddyDataArg> for GetBuddyDataCsReq { + fn from(value: ::protocol::RpcGetBuddyDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetBuddyDataArg { + fn from(value: GetBuddyDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcPlayerOperationArg> for PlayerOperationCsReq { + fn from(value: ::protocol::RpcPlayerOperationArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcPlayerOperationArg { + fn from(value: PlayerOperationCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::PtcPlayerSyncArg> for PlayerSyncScNotify { + fn from(value: ::protocol::PtcPlayerSyncArg) -> Self { + Self { + basic_info: value.basic_info.map(|v| v.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::PtcPlayerSyncArg { + fn from(value: PlayerSyncScNotify) -> Self { + Self { + basic_info: value.basic_info.map(|v| v.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::PtcHallRefreshArg> for HallRefreshScNotify { + fn from(value: ::protocol::PtcHallRefreshArg) -> Self { + Self { + time_of_day: value.time_of_day.into(), + main_city_objects_state: value + .main_city_objects_state + .into_iter() + .map(|(k, v)| (k.into(), v.into())) + .collect(), + bgm_id: value.bgm_id.into(), + section_id: value.section_id.into(), + refresh_immediately: value.refresh_immediately.into(), + player_avatar_id: value.player_avatar_id.into(), + main_city_avatar_id: value.main_city_avatar_id.into(), + day_of_week: value.day_of_week.into(), + scene_unit_list: value + .scene_unit_list + .into_iter() + .map(|v| v.into()) + .collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::PtcHallRefreshArg { + fn from(value: HallRefreshScNotify) -> Self { + Self { + time_of_day: value.time_of_day.into(), + main_city_objects_state: value + .main_city_objects_state + .into_iter() + .map(|(k, v)| (k.into(), v.into())) + .collect(), + bgm_id: value.bgm_id.into(), + section_id: value.section_id.into(), + refresh_immediately: value.refresh_immediately.into(), + player_avatar_id: value.player_avatar_id.into(), + main_city_avatar_id: value.main_city_avatar_id.into(), + day_of_week: value.day_of_week.into(), + scene_unit_list: value + .scene_unit_list + .into_iter() + .map(|v| v.into()) + .collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetArchiveInfoRet> for GetArchiveInfoScRsp { + fn from(value: ::protocol::RpcGetArchiveInfoRet) -> Self { + Self { + archive_info: Some(value.archive_info.into()), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetArchiveInfoRet { + fn from(value: GetArchiveInfoScRsp) -> Self { + Self { + archive_info: value.archive_info.map(|v| v.into()).unwrap_or_default(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcPlayerLoginRet> for PlayerLoginScRsp { + fn from(value: ::protocol::RpcPlayerLoginRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcPlayerLoginRet { + fn from(value: PlayerLoginScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcPlayerLoginArg> for PlayerLoginCsReq { + fn from(value: ::protocol::RpcPlayerLoginArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcPlayerLoginArg { + fn from(value: PlayerLoginCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetYorozuyaInfoRet> for GetYorozuyaInfoScRsp { + fn from(value: ::protocol::RpcGetYorozuyaInfoRet) -> Self { + Self { + retcode: value.retcode.into(), + yorozuya_info: Some(value.yorozuya_info.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetYorozuyaInfoRet { + fn from(value: GetYorozuyaInfoScRsp) -> Self { + Self { + retcode: value.retcode.into(), + yorozuya_info: value.yorozuya_info.map(|v| v.into()).unwrap_or_default(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetJourneyInfoRet> for GetJourneyInfoScRsp { + fn from(value: ::protocol::RpcGetJourneyInfoRet) -> Self { + Self { + retcode: value.retcode.into(), + info: Some(value.info.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetJourneyInfoRet { + fn from(value: GetJourneyInfoScRsp) -> Self { + Self { + retcode: value.retcode.into(), + info: value.info.map(|v| v.into()).unwrap_or_default(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetClientSystemsInfoArg> for GetClientSystemsInfoCsReq { + fn from(value: ::protocol::RpcGetClientSystemsInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetClientSystemsInfoArg { + fn from(value: GetClientSystemsInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetAbyssInfoRet> for GetAbyssInfoScRsp { + fn from(value: ::protocol::RpcGetAbyssInfoRet) -> Self { + Self { + retcode: value.retcode.into(), + abyss_info: Some(value.abyss_info.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetAbyssInfoRet { + fn from(value: GetAbyssInfoScRsp) -> Self { + Self { + retcode: value.retcode.into(), + abyss_info: value.abyss_info.map(|v| v.into()).unwrap_or_default(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetNewsStandDataRet> for GetNewsStandDataScRsp { + fn from(value: ::protocol::RpcGetNewsStandDataRet) -> Self { + Self { + retcode: value.retcode.into(), + news_stand_data: Some(value.news_stand_data.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetNewsStandDataRet { + fn from(value: GetNewsStandDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + news_stand_data: value.news_stand_data.map(|v| v.into()).unwrap_or_default(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcRefreshSectionRet> for RefreshSectionScRsp { + fn from(value: ::protocol::RpcRefreshSectionRet) -> Self { + Self { + retcode: value.retcode.into(), + refresh_status: value.refresh_status.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcRefreshSectionRet { + fn from(value: RefreshSectionScRsp) -> Self { + Self { + retcode: value.retcode.into(), + refresh_status: value.refresh_status.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::LevelRewardInfo> for LevelRewardInfo { + fn from(value: ::protocol::LevelRewardInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::LevelRewardInfo { + fn from(value: LevelRewardInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcRefreshSectionArg> for RefreshSectionCsReq { + fn from(value: ::protocol::RpcRefreshSectionArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcRefreshSectionArg { + fn from(value: RefreshSectionCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::FairyInfo> for FairyInfo { + fn from(value: ::protocol::FairyInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::FairyInfo { + fn from(value: FairyInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::TrashbinHermitData> for TrashbinHermitData { + fn from(value: ::protocol::TrashbinHermitData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::TrashbinHermitData { + fn from(value: TrashbinHermitData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcPlayerTransactionArg> for PlayerTransactionCsReq { + fn from(value: ::protocol::RpcPlayerTransactionArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcPlayerTransactionArg { + fn from(value: PlayerTransactionCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::ActionInfo> for ActionInfo { + fn from(value: ::protocol::ActionInfo) -> Self { + Self { + body: value.body.into_iter().map(|v| v.into()).collect(), + action_type: value.action_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::ActionInfo { + fn from(value: ActionInfo) -> Self { + Self { + body: value.body.into_iter().map(|v| v.into()).collect(), + action_type: value.action_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetAbyssArpeggioDataArg> for GetAbyssArpeggioDataCsReq { + fn from(value: ::protocol::RpcGetAbyssArpeggioDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetAbyssArpeggioDataArg { + fn from(value: GetAbyssArpeggioDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetEmbattlesDataArg> for GetEmbattlesDataCsReq { + fn from(value: ::protocol::RpcGetEmbattlesDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetEmbattlesDataArg { + fn from(value: GetEmbattlesDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::SceneUnitProtocolInfo> for SceneUnitProtocolInfo { + fn from(value: ::protocol::SceneUnitProtocolInfo) -> Self { + Self { + npc_id: value.npc_id.into(), + is_interactable: value.is_interactable.into(), + interacts_info: value + .interacts_info + .into_iter() + .map(|(k, v)| (k.into(), v.into())) + .collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::SceneUnitProtocolInfo { + fn from(value: SceneUnitProtocolInfo) -> Self { + Self { + npc_id: value.npc_id.into(), + is_interactable: value.is_interactable.into(), + interacts_info: value + .interacts_info + .into_iter() + .map(|(k, v)| (k.into(), v.into())) + .collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::AutoRecoveryInfo> for AutoRecoveryInfo { + fn from(value: ::protocol::AutoRecoveryInfo) -> Self { + Self { + last_recovery_timestamp: value.last_recovery_timestamp.into(), + buy_times: value.buy_times.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::AutoRecoveryInfo { + fn from(value: AutoRecoveryInfo) -> Self { + Self { + last_recovery_timestamp: value.last_recovery_timestamp.into(), + buy_times: value.buy_times.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetCharacterQuestListArg> for GetCharacterQuestListCsReq { + fn from(value: ::protocol::RpcGetCharacterQuestListArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetCharacterQuestListArg { + fn from(value: GetCharacterQuestListCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::EquipInfo> for EquipInfo { + fn from(value: ::protocol::EquipInfo) -> Self { + Self { + uid: value.uid.into(), + template_id: value.template_id.into(), + exp: value.exp.into(), + lock: value.lock.into(), + level: value.level.into(), + star: value.star.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::EquipInfo { + fn from(value: EquipInfo) -> Self { + Self { + uid: value.uid.into(), + template_id: value.template_id.into(), + exp: value.exp.into(), + lock: value.lock.into(), + level: value.level.into(), + star: value.star.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::GachaData> for GachaData { + fn from(value: ::protocol::GachaData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::GachaData { + fn from(value: GachaData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetMonthCardRewardListArg> for GetMonthCardRewardListCsReq { + fn from(value: ::protocol::RpcGetMonthCardRewardListArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetMonthCardRewardListArg { + fn from(value: GetMonthCardRewardListCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcEnterSectionCompleteRet> for EnterSectionCompleteScRsp { + fn from(value: ::protocol::RpcEnterSectionCompleteRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcEnterSectionCompleteRet { + fn from(value: EnterSectionCompleteScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::LevelPerformInfo> for LevelPerformInfo { + fn from(value: ::protocol::LevelPerformInfo) -> Self { + Self { + weather: value.weather.into(), + time: value.time.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::LevelPerformInfo { + fn from(value: LevelPerformInfo) -> Self { + Self { + weather: value.weather.into(), + time: value.time.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetHadalZoneDataArg> for GetHadalZoneDataCsReq { + fn from(value: ::protocol::RpcGetHadalZoneDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetHadalZoneDataArg { + fn from(value: GetHadalZoneDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetAbyssArpeggioDataRet> for GetAbyssArpeggioDataScRsp { + fn from(value: ::protocol::RpcGetAbyssArpeggioDataRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetAbyssArpeggioDataRet { + fn from(value: GetAbyssArpeggioDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetGachaDataRet> for GetGachaDataScRsp { + fn from(value: ::protocol::RpcGetGachaDataRet) -> Self { + Self { + gacha_data: Some(value.gacha_data.into()), + retcode: value.retcode.into(), + gacha_type: value.gacha_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetGachaDataRet { + fn from(value: GetGachaDataScRsp) -> Self { + Self { + gacha_data: value.gacha_data.map(|v| v.into()).unwrap_or_default(), + retcode: value.retcode.into(), + gacha_type: value.gacha_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::PlayerBasicInfo> for PlayerBasicInfo { + fn from(value: ::protocol::PlayerBasicInfo) -> Self { + Self { + level: value.level.into(), + last_enter_world_timestamp: value.last_enter_world_timestamp.into(), + player_avatar_id: value.player_avatar_id.into(), + main_city_avatar_id: value.main_city_avatar_id.into(), + avatar_id: value.avatar_id.into(), + nick_name: value.nick_name.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::PlayerBasicInfo { + fn from(value: PlayerBasicInfo) -> Self { + Self { + level: value.level.into(), + last_enter_world_timestamp: value.last_enter_world_timestamp.into(), + player_avatar_id: value.player_avatar_id.into(), + main_city_avatar_id: value.main_city_avatar_id.into(), + avatar_id: value.avatar_id.into(), + nick_name: value.nick_name.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::AvatarWishlistPlan> for AvatarWishlistPlan { + fn from(value: ::protocol::AvatarWishlistPlan) -> Self { + Self { + plan_type: value.plan_type.into(), + avatar_plan_param1: value.avatar_plan_param1.into(), + avatar_plan_param2: value.avatar_plan_param2.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::AvatarWishlistPlan { + fn from(value: AvatarWishlistPlan) -> Self { + Self { + plan_type: value.plan_type.into(), + avatar_plan_param1: value.avatar_plan_param1.into(), + avatar_plan_param2: value.avatar_plan_param2.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetWorkbenchInfoArg> for GetWorkbenchInfoCsReq { + fn from(value: ::protocol::RpcGetWorkbenchInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetWorkbenchInfoArg { + fn from(value: GetWorkbenchInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::WishlistPlanInfo> for WishlistPlanInfo { + fn from(value: ::protocol::WishlistPlanInfo) -> Self { + Self { + avatar_id: value.avatar_id.into(), + avatar_wishlist_plan: value.avatar_wishlist_plan.map(|v| v.into()), + equip_wishlist_plan: value.equip_wishlist_plan.map(|v| v.into()), + skill_wishlist_plan: value.skill_wishlist_plan.map(|v| v.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::WishlistPlanInfo { + fn from(value: WishlistPlanInfo) -> Self { + Self { + avatar_id: value.avatar_id.into(), + avatar_wishlist_plan: value.avatar_wishlist_plan.map(|v| v.into()), + equip_wishlist_plan: value.equip_wishlist_plan.map(|v| v.into()), + skill_wishlist_plan: value.skill_wishlist_plan.map(|v| v.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetTrashbinHermitDataArg> for GetTrashbinHermitDataCsReq { + fn from(value: ::protocol::RpcGetTrashbinHermitDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetTrashbinHermitDataArg { + fn from(value: GetTrashbinHermitDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::CafeData> for CafeData { + fn from(value: ::protocol::CafeData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::CafeData { + fn from(value: CafeData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcReportEmbattleInfoArg> for ReportEmbattleInfoCsReq { + fn from(value: ::protocol::RpcReportEmbattleInfoArg) -> Self { + Self { + avatar_list: value.avatar_list.into_iter().map(|v| v.into()).collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcReportEmbattleInfoArg { + fn from(value: ReportEmbattleInfoCsReq) -> Self { + Self { + avatar_list: value.avatar_list.into_iter().map(|v| v.into()).collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetMiniscapeEntrustDataArg> for GetMiniscapeEntrustDataCsReq { + fn from(value: ::protocol::RpcGetMiniscapeEntrustDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetMiniscapeEntrustDataArg { + fn from(value: GetMiniscapeEntrustDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcEnterSectionArg> for EnterSectionCsReq { + fn from(value: ::protocol::RpcEnterSectionArg) -> Self { + Self { + section_id: value.section_id.into(), + transform_id: value.transform_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcEnterSectionArg { + fn from(value: EnterSectionCsReq) -> Self { + Self { + section_id: value.section_id.into(), + transform_id: value.transform_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::AvatarSkillInfo> for AvatarSkillInfo { + fn from(value: ::protocol::AvatarSkillInfo) -> Self { + Self { + skill_type: value.skill_type.into(), + level: value.level.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::AvatarSkillInfo { + fn from(value: AvatarSkillInfo) -> Self { + Self { + skill_type: value.skill_type.into(), + level: value.level.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetResourceDataArg> for GetResourceDataCsReq { + fn from(value: ::protocol::RpcGetResourceDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetResourceDataArg { + fn from(value: GetResourceDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetRoleCardDataArg> for GetRoleCardDataCsReq { + fn from(value: ::protocol::RpcGetRoleCardDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetRoleCardDataArg { + fn from(value: GetRoleCardDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetWeaponDataRet> for GetWeaponDataScRsp { + fn from(value: ::protocol::RpcGetWeaponDataRet) -> Self { + Self { + retcode: value.retcode.into(), + weapon_list: value.weapon_list.into_iter().map(|v| v.into()).collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetWeaponDataRet { + fn from(value: GetWeaponDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + weapon_list: value.weapon_list.into_iter().map(|v| v.into()).collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetPhotoWallDataArg> for GetPhotoWallDataCsReq { + fn from(value: ::protocol::RpcGetPhotoWallDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetPhotoWallDataArg { + fn from(value: GetPhotoWallDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::PtcSyncEventInfoArg> for SyncEventInfoScNotify { + fn from(value: ::protocol::PtcSyncEventInfoArg) -> Self { + Self { + npc_interaction: value.npc_interaction.into(), + action_list: value.action_list.into_iter().map(|v| v.into()).collect(), + tag: value.tag.into(), + owner_id: value.owner_id.into(), + owner_type: value.owner_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::PtcSyncEventInfoArg { + fn from(value: SyncEventInfoScNotify) -> Self { + Self { + npc_interaction: value.npc_interaction.into(), + action_list: value.action_list.into_iter().map(|v| v.into()).collect(), + tag: value.tag.into(), + owner_id: value.owner_id.into(), + owner_type: value.owner_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::DungeonInfo> for DungeonInfo { + fn from(value: ::protocol::DungeonInfo) -> Self { + Self { + dungeon_equip_info: Some(value.dungeon_equip_info.into()), + quest_id: value.quest_id.into(), + avatar_list: value.avatar_list.into_iter().map(|v| v.into()).collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::DungeonInfo { + fn from(value: DungeonInfo) -> Self { + Self { + dungeon_equip_info: value + .dungeon_equip_info + .map(|v| v.into()) + .unwrap_or_default(), + quest_id: value.quest_id.into(), + avatar_list: value.avatar_list.into_iter().map(|v| v.into()).collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetPlayerBasicInfoRet> for GetPlayerBasicInfoScRsp { + fn from(value: ::protocol::RpcGetPlayerBasicInfoRet) -> Self { + Self { + retcode: value.retcode.into(), + basic_info: Some(value.basic_info.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetPlayerBasicInfoRet { + fn from(value: GetPlayerBasicInfoScRsp) -> Self { + Self { + retcode: value.retcode.into(), + basic_info: value.basic_info.map(|v| v.into()).unwrap_or_default(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetPhotoWallDataRet> for GetPhotoWallDataScRsp { + fn from(value: ::protocol::RpcGetPhotoWallDataRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetPhotoWallDataRet { + fn from(value: GetPhotoWallDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::DungeonEquipInfo> for DungeonEquipInfo { + fn from(value: ::protocol::DungeonEquipInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::DungeonEquipInfo { + fn from(value: DungeonEquipInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::ResourceInfo> for ResourceInfo { + fn from(value: ::protocol::ResourceInfo) -> Self { + Self { + template_id: value.template_id.into(), + count: value.count.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::ResourceInfo { + fn from(value: ResourceInfo) -> Self { + Self { + template_id: value.template_id.into(), + count: value.count.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetGachaDataArg> for GetGachaDataCsReq { + fn from(value: ::protocol::RpcGetGachaDataArg) -> Self { + Self { + gacha_type: value.gacha_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetGachaDataArg { + fn from(value: GetGachaDataCsReq) -> Self { + Self { + gacha_type: value.gacha_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RewardBuffData> for RewardBuffData { + fn from(value: ::protocol::RewardBuffData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RewardBuffData { + fn from(value: RewardBuffData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetAuthkeyRet> for GetAuthkeyScRsp { + fn from(value: ::protocol::RpcGetAuthkeyRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetAuthkeyRet { + fn from(value: GetAuthkeyScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::VideotapeInfo> for VideotapeInfo { + fn from(value: ::protocol::VideotapeInfo) -> Self { + Self { + finished: value.finished.into(), + archive_file_id: value.archive_file_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::VideotapeInfo { + fn from(value: VideotapeInfo) -> Self { + Self { + finished: value.finished.into(), + archive_file_id: value.archive_file_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetArcadeDataArg> for GetArcadeDataCsReq { + fn from(value: ::protocol::RpcGetArcadeDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetArcadeDataArg { + fn from(value: GetArcadeDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetMainCityRevivalDataRet> for GetMainCityRevivalDataScRsp { + fn from(value: ::protocol::RpcGetMainCityRevivalDataRet) -> Self { + Self { + retcode: value.retcode.into(), + main_city_revival: Some(value.main_city_revival.into()), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetMainCityRevivalDataRet { + fn from(value: GetMainCityRevivalDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + main_city_revival: value + .main_city_revival + .map(|v| v.into()) + .unwrap_or_default(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetCafeDataRet> for GetCafeDataScRsp { + fn from(value: ::protocol::RpcGetCafeDataRet) -> Self { + Self { + cafe_data: Some(value.cafe_data.into()), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetCafeDataRet { + fn from(value: GetCafeDataScRsp) -> Self { + Self { + cafe_data: value.cafe_data.map(|v| v.into()).unwrap_or_default(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetFairyInfoRet> for GetFairyInfoScRsp { + fn from(value: ::protocol::RpcGetFairyInfoRet) -> Self { + Self { + info: Some(value.info.into()), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetFairyInfoRet { + fn from(value: GetFairyInfoScRsp) -> Self { + Self { + info: value.info.map(|v| v.into()).unwrap_or_default(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcEnterSectionCompleteArg> for EnterSectionCompleteCsReq { + fn from(value: ::protocol::RpcEnterSectionCompleteArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcEnterSectionCompleteArg { + fn from(value: EnterSectionCompleteCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetCampIdleDataArg> for GetCampIdleDataCsReq { + fn from(value: ::protocol::RpcGetCampIdleDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetCampIdleDataArg { + fn from(value: GetCampIdleDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetPlayerMailsArg> for GetPlayerMailsCsReq { + fn from(value: ::protocol::RpcGetPlayerMailsArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetPlayerMailsArg { + fn from(value: GetPlayerMailsCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcEndBattleArg> for EndBattleCsReq { + fn from(value: ::protocol::RpcEndBattleArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcEndBattleArg { + fn from(value: EndBattleCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::SkillWishlistPlan> for SkillWishlistPlan { + fn from(value: ::protocol::SkillWishlistPlan) -> Self { + Self { + plan_type: value.plan_type.into(), + wish_skill_id_list: value + .wish_skill_id_list + .into_iter() + .map(|v| v.into()) + .collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::SkillWishlistPlan { + fn from(value: SkillWishlistPlan) -> Self { + Self { + plan_type: value.plan_type.into(), + wish_skill_id_list: value + .wish_skill_id_list + .into_iter() + .map(|v| v.into()) + .collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcInteractWithUnitArg> for InteractWithUnitCsReq { + fn from(value: ::protocol::RpcInteractWithUnitArg) -> Self { + Self { + unit_tag: value.unit_tag.into(), + r#type: value.r#type.into(), + interaction: value.interaction.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcInteractWithUnitArg { + fn from(value: InteractWithUnitCsReq) -> Self { + Self { + unit_tag: value.unit_tag.into(), + r#type: value.r#type.into(), + interaction: value.interaction.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::HallSceneInfo> for HallSceneInfo { + fn from(value: ::protocol::HallSceneInfo) -> Self { + Self { + time_of_day: value.time_of_day.into(), + section_id: value.section_id.into(), + position: value.position.map(|v| v.into()), + bgm_id: value.bgm_id.into(), + camera_y: value.camera_y.into(), + main_city_avatar_id: value.main_city_avatar_id.into(), + day_of_week: value.day_of_week.into(), + main_city_objects_state: value + .main_city_objects_state + .into_iter() + .map(|(k, v)| (k.into(), v.into())) + .collect(), + scene_unit_list: value + .scene_unit_list + .into_iter() + .map(|v| v.into()) + .collect(), + transform_id: value.transform_id.into(), + player_avatar_id: value.player_avatar_id.into(), + camera_x: value.camera_x.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::HallSceneInfo { + fn from(value: HallSceneInfo) -> Self { + Self { + time_of_day: value.time_of_day.into(), + section_id: value.section_id.into(), + position: value.position.map(|v| v.into()), + bgm_id: value.bgm_id.into(), + camera_y: value.camera_y.into(), + main_city_avatar_id: value.main_city_avatar_id.into(), + day_of_week: value.day_of_week.into(), + main_city_objects_state: value + .main_city_objects_state + .into_iter() + .map(|(k, v)| (k.into(), v.into())) + .collect(), + scene_unit_list: value + .scene_unit_list + .into_iter() + .map(|v| v.into()) + .collect(), + transform_id: value.transform_id.into(), + player_avatar_id: value.player_avatar_id.into(), + camera_x: value.camera_x.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetFashionStoreInfoArg> for GetFashionStoreInfoCsReq { + fn from(value: ::protocol::RpcGetFashionStoreInfoArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetFashionStoreInfoArg { + fn from(value: GetFashionStoreInfoCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::AbyssInfo> for AbyssInfo { + fn from(value: ::protocol::AbyssInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::AbyssInfo { + fn from(value: AbyssInfo) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetFriendListArg> for GetFriendListCsReq { + fn from(value: ::protocol::RpcGetFriendListArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetFriendListArg { + fn from(value: GetFriendListCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::QuestData> for QuestData { + fn from(value: ::protocol::QuestData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::QuestData { + fn from(value: QuestData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetActivityDataArg> for GetActivityDataCsReq { + fn from(value: ::protocol::RpcGetActivityDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetActivityDataArg { + fn from(value: GetActivityDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetRechargeItemListArg> for GetRechargeItemListCsReq { + fn from(value: ::protocol::RpcGetRechargeItemListArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetRechargeItemListArg { + fn from(value: GetRechargeItemListCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetServerTimestampArg> for GetServerTimestampCsReq { + fn from(value: ::protocol::RpcGetServerTimestampArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetServerTimestampArg { + fn from(value: GetServerTimestampCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetRewardBuffDataRet> for GetRewardBuffDataScRsp { + fn from(value: ::protocol::RpcGetRewardBuffDataRet) -> Self { + Self { + info: Some(value.info.into()), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetRewardBuffDataRet { + fn from(value: GetRewardBuffDataScRsp) -> Self { + Self { + info: value.info.map(|v| v.into()).unwrap_or_default(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::MainCityRevivalData> for MainCityRevivalData { + fn from(value: ::protocol::MainCityRevivalData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::MainCityRevivalData { + fn from(value: MainCityRevivalData) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcSceneTransitionArg> for SceneTransitionCsReq { + fn from(value: ::protocol::RpcSceneTransitionArg) -> Self { + Self { + section_id: value.section_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcSceneTransitionArg { + fn from(value: SceneTransitionCsReq) -> Self { + Self { + section_id: value.section_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcModTimeArg> for ModTimeCsReq { + fn from(value: ::protocol::RpcModTimeArg) -> Self { + Self { + time_period: value.time_period.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcModTimeArg { + fn from(value: ModTimeCsReq) -> Self { + Self { + time_period: value.time_period.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::InteractInfo> for InteractInfo { + fn from(value: ::protocol::InteractInfo) -> Self { + Self { + interact_id: value.interact_id.into(), + participators: value + .participators + .into_iter() + .map(|(k, v)| (k.into(), v.into())) + .collect(), + interact_target_list: value + .interact_target_list + .into_iter() + .map(|v| v.into()) + .collect(), + scale_w: value.scale_w.into(), + scale_x: value.scale_x.into(), + scale_r: value.scale_r.into(), + scale_y: value.scale_y.into(), + name: value.name.into(), + scale_z: value.scale_z.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::InteractInfo { + fn from(value: InteractInfo) -> Self { + Self { + interact_id: value.interact_id.into(), + participators: value + .participators + .into_iter() + .map(|(k, v)| (k.into(), v.into())) + .collect(), + interact_target_list: value + .interact_target_list + .into_iter() + .map(|v| v.into()) + .collect(), + scale_w: value.scale_w.into(), + scale_x: value.scale_x.into(), + scale_r: value.scale_r.into(), + scale_y: value.scale_y.into(), + name: value.name.into(), + scale_z: value.scale_z.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetEquipDataRet> for GetEquipDataScRsp { + fn from(value: ::protocol::RpcGetEquipDataRet) -> Self { + Self { + equip_list: value.equip_list.into_iter().map(|v| v.into()).collect(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetEquipDataRet { + fn from(value: GetEquipDataScRsp) -> Self { + Self { + equip_list: value.equip_list.into_iter().map(|v| v.into()).collect(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::PtcAddAvatarArg> for AddAvatarScNotify { + fn from(value: ::protocol::PtcAddAvatarArg) -> Self { + Self { + perform_type: value.perform_type.into(), + avatar_id: value.avatar_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::PtcAddAvatarArg { + fn from(value: AddAvatarScNotify) -> Self { + Self { + perform_type: value.perform_type.into(), + avatar_id: value.avatar_id.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetEquipDataArg> for GetEquipDataCsReq { + fn from(value: ::protocol::RpcGetEquipDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetEquipDataArg { + fn from(value: GetEquipDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcSavePlayerSystemSettingArg> for SavePlayerSystemSettingCsReq { + fn from(value: ::protocol::RpcSavePlayerSystemSettingArg) -> Self { + Self { + r#type: value.r#type.into(), + params: value.params.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcSavePlayerSystemSettingArg { + fn from(value: SavePlayerSystemSettingCsReq) -> Self { + Self { + r#type: value.r#type.into(), + params: value.params.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::YorozuyaInfo> for YorozuyaInfo { + fn from(value: ::protocol::YorozuyaInfo) -> Self { + Self { + unlock_hollow_id_list: value + .unlock_hollow_id_list + .into_iter() + .map(|v| v.into()) + .collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::YorozuyaInfo { + fn from(value: YorozuyaInfo) -> Self { + Self { + unlock_hollow_id_list: value + .unlock_hollow_id_list + .into_iter() + .map(|v| v.into()) + .collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetAvatarDataRet> for GetAvatarDataScRsp { + fn from(value: ::protocol::RpcGetAvatarDataRet) -> Self { + Self { + retcode: value.retcode.into(), + avatar_list: value.avatar_list.into_iter().map(|v| v.into()).collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetAvatarDataRet { + fn from(value: GetAvatarDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + avatar_list: value.avatar_list.into_iter().map(|v| v.into()).collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::WeaponInfo> for WeaponInfo { + fn from(value: ::protocol::WeaponInfo) -> Self { + Self { + level: value.level.into(), + refine_level: value.refine_level.into(), + star: value.star.into(), + template_id: value.template_id.into(), + exp: value.exp.into(), + uid: value.uid.into(), + lock: value.lock.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::WeaponInfo { + fn from(value: WeaponInfo) -> Self { + Self { + level: value.level.into(), + refine_level: value.refine_level.into(), + star: value.star.into(), + template_id: value.template_id.into(), + exp: value.exp.into(), + uid: value.uid.into(), + lock: value.lock.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetBuddyDataRet> for GetBuddyDataScRsp { + fn from(value: ::protocol::RpcGetBuddyDataRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetBuddyDataRet { + fn from(value: GetBuddyDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcEnterWorldRet> for EnterWorldScRsp { + fn from(value: ::protocol::RpcEnterWorldRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcEnterWorldRet { + fn from(value: EnterWorldScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetRewardBuffDataArg> for GetRewardBuffDataCsReq { + fn from(value: ::protocol::RpcGetRewardBuffDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetRewardBuffDataArg { + fn from(value: GetRewardBuffDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetWebActivityDataRet> for GetWebActivityDataScRsp { + fn from(value: ::protocol::RpcGetWebActivityDataRet) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetWebActivityDataRet { + fn from(value: GetWebActivityDataScRsp) -> Self { + Self { + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::SceneInfo> for SceneInfo { + fn from(value: ::protocol::SceneInfo) -> Self { + Self { + hall_scene_info: value.hall_scene_info.map(|v| v.into()), + fight_scene_info: value.fight_scene_info.map(|v| v.into()), + event_id: value.event_id.into(), + local_play_type: value.local_play_type.into(), + scene_type: value.scene_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::SceneInfo { + fn from(value: SceneInfo) -> Self { + Self { + hall_scene_info: value.hall_scene_info.map(|v| v.into()), + fight_scene_info: value.fight_scene_info.map(|v| v.into()), + event_id: value.event_id.into(), + local_play_type: value.local_play_type.into(), + scene_type: value.scene_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcEnterWorldArg> for EnterWorldCsReq { + fn from(value: ::protocol::RpcEnterWorldArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcEnterWorldArg { + fn from(value: EnterWorldCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetQuestDataArg> for GetQuestDataCsReq { + fn from(value: ::protocol::RpcGetQuestDataArg) -> Self { + Self { + quest_type: value.quest_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetQuestDataArg { + fn from(value: GetQuestDataCsReq) -> Self { + Self { + quest_type: value.quest_type.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetResourceDataRet> for GetResourceDataScRsp { + fn from(value: ::protocol::RpcGetResourceDataRet) -> Self { + Self { + auto_recovery_info: value + .auto_recovery_info + .into_iter() + .map(|(k, v)| (k.into(), v.into())) + .collect(), + resource_list: value.resource_list.into_iter().map(|v| v.into()).collect(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetResourceDataRet { + fn from(value: GetResourceDataScRsp) -> Self { + Self { + auto_recovery_info: value + .auto_recovery_info + .into_iter() + .map(|(k, v)| (k.into(), v.into())) + .collect(), + resource_list: value.resource_list.into_iter().map(|v| v.into()).collect(), + retcode: value.retcode.into(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From<::protocol::RpcGetWebActivityDataArg> for GetWebActivityDataCsReq { + fn from(value: ::protocol::RpcGetWebActivityDataArg) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From for ::protocol::RpcGetWebActivityDataArg { + fn from(value: GetWebActivityDataCsReq) -> Self { + Self { ..Default::default() } + } +} +#[allow(unused)] +impl From<::protocol::ArchiveInfo> for ArchiveInfo { + fn from(value: ::protocol::ArchiveInfo) -> Self { + Self { + hollow_archive_id_list: value + .hollow_archive_id_list + .into_iter() + .map(|v| v.into()) + .collect(), + videotaps_info: value.videotaps_info.into_iter().map(|v| v.into()).collect(), + ..Default::default() + } + } +} +#[allow(unused)] +impl From for ::protocol::ArchiveInfo { + fn from(value: ArchiveInfo) -> Self { + Self { + hollow_archive_id_list: value + .hollow_archive_id_list + .into_iter() + .map(|v| v.into()) + .collect(), + videotaps_info: value.videotaps_info.into_iter().map(|v| v.into()).collect(), + ..Default::default() + } + } +} +#[macro_export] +macro_rules! decode_and_forward_proto { + ( + $cmd_id:expr, $buf:expr, $session:expr, $point:expr, $addr:expr, + $middlewares:expr, $timeout:expr + ) => { + match $cmd_id { GetAbyssRewardDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetAbyssRewardDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetAbyssRewardDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetAbyssRewardDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetExplorationDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetExplorationDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetExplorationDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetExplorationDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, BeginTrainingCourseBattleCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::BeginTrainingCourseBattleCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcBeginTrainingCourseBattleArg::from(packet.body); let rpc_ret : + ::protocol::RpcBeginTrainingCourseBattleRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, SavePosInMainCityCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::SavePosInMainCityCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcSavePosInMainCityArg::from(packet.body); let rpc_ret : + ::protocol::RpcSavePosInMainCityRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetVhsStoreInfoCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetVhsStoreInfoCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetVhsStoreInfoArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetVhsStoreInfoRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetAbyssInfoCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetAbyssInfoCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetAbyssInfoArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetAbyssInfoRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetAbyssInfoScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetPrivateMessageDataCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetPrivateMessageDataCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcGetPrivateMessageDataArg::from(packet.body); let rpc_ret + : ::protocol::RpcGetPrivateMessageDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetNewsStandDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetNewsStandDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetNewsStandDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetNewsStandDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetNewsStandDataScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, GetVideoUsmKeyDataCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetVideoUsmKeyDataCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcGetVideoUsmKeyDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetVideoUsmKeyDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetVideoUsmKeyDataScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, GetPlayerBasicInfoCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetPlayerBasicInfoCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcGetPlayerBasicInfoArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetPlayerBasicInfoRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetPlayerBasicInfoScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, GetAuthkeyCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetAuthkeyCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetAuthkeyArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetAuthkeyRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetAuthkeyScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetRamenDataCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetRamenDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetRamenDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetRamenDataRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetRamenDataScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetFairyInfoCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetFairyInfoCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetFairyInfoArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetFairyInfoRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetFairyInfoScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetCollectMapCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetCollectMapCsReq > ::decode($buf) ?; let rpc_arg + = ::protocol::RpcGetCollectMapArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetCollectMapRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); }, + InteractWithClientEntityCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::InteractWithClientEntityCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcInteractWithClientEntityArg::from(packet.body); let rpc_ret : + ::protocol::RpcInteractWithClientEntityRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetShoppingMallInfoCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetShoppingMallInfoCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetShoppingMallInfoArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetShoppingMallInfoRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetTipsInfoCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetTipsInfoCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetTipsInfoArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetTipsInfoRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetTipsInfoScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetYorozuyaInfoCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetYorozuyaInfoCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcGetYorozuyaInfoArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetYorozuyaInfoRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetYorozuyaInfoScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, ReportUiLayoutPlatformCsReq::CMD_ID => { let + packet = NetPacket:: < ::yanagi_proto::ReportUiLayoutPlatformCsReq > + ::decode($buf) ?; let rpc_arg = + ::protocol::RpcReportUiLayoutPlatformArg::from(packet.body); let rpc_ret : + ::protocol::RpcReportUiLayoutPlatformRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, BattleReportCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::BattleReportCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcBattleReportArg::from(packet.body); let rpc_ret : + ::protocol::RpcBattleReportRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); }, + GetDisplayCaseDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetDisplayCaseDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetDisplayCaseDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetDisplayCaseDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetDisplayCaseDataScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, LeaveCurDungeonCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::LeaveCurDungeonCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcLeaveCurDungeonArg::from(packet.body); let rpc_ret : + ::protocol::RpcLeaveCurDungeonRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetBattlePassDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetBattlePassDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetBattlePassDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetBattlePassDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetBattlePassDataScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, GetArchiveInfoCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetArchiveInfoCsReq > ::decode($buf) ?; let rpc_arg + = ::protocol::RpcGetArchiveInfoArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetArchiveInfoRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetArchiveInfoScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, GetDailyChallengeInfoCsReq::CMD_ID => { let + packet = NetPacket:: < ::yanagi_proto::GetDailyChallengeInfoCsReq > + ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetDailyChallengeInfoArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetDailyChallengeInfoRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, RunEventGraphCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::RunEventGraphCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcRunEventGraphArg::from(packet.body); let rpc_ret : + ::protocol::RpcRunEventGraphRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::RunEventGraphScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetJourneyInfoCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetJourneyInfoCsReq > ::decode($buf) ?; let rpc_arg + = ::protocol::RpcGetJourneyInfoArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetJourneyInfoRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetJourneyInfoScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, GetMainCityRevivalDataCsReq::CMD_ID => { let + packet = NetPacket:: < ::yanagi_proto::GetMainCityRevivalDataCsReq > + ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetMainCityRevivalDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetMainCityRevivalDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetMainCityRevivalDataScRsp::from(rpc_ret); $session + .send_rsp(packet.head.packet_id, proto_rsp); }, GetWishlistDataCsReq::CMD_ID => { + let packet = NetPacket:: < ::yanagi_proto::GetWishlistDataCsReq > ::decode($buf) + ?; let rpc_arg = ::protocol::RpcGetWishlistDataArg::from(packet.body); let + rpc_ret : ::protocol::RpcGetWishlistDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetWishlistDataScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, CheckYorozuyaInfoRefreshCsReq::CMD_ID => { let + packet = NetPacket:: < ::yanagi_proto::CheckYorozuyaInfoRefreshCsReq > + ::decode($buf) ?; let rpc_arg = + ::protocol::RpcCheckYorozuyaInfoRefreshArg::from(packet.body); let rpc_ret : + ::protocol::RpcCheckYorozuyaInfoRefreshRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetWeaponDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetWeaponDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetWeaponDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetWeaponDataRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetWeaponDataScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetChatEmojiListCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetChatEmojiListCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcGetChatEmojiListArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetChatEmojiListRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, ModMainCityAvatarCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::ModMainCityAvatarCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcModMainCityAvatarArg::from(packet.body); let rpc_ret : + ::protocol::RpcModMainCityAvatarRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::ModMainCityAvatarScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, GetCafeDataCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetCafeDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetCafeDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetCafeDataRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetCafeDataScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetAvatarDataCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetAvatarDataCsReq > ::decode($buf) ?; let rpc_arg + = ::protocol::RpcGetAvatarDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetAvatarDataRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetAvatarDataScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetBabelTowerDataCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetBabelTowerDataCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcGetBabelTowerDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetBabelTowerDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetBuddyDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetBuddyDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetBuddyDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetBuddyDataRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetBuddyDataScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, PlayerOperationCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::PlayerOperationCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcPlayerOperationArg::from(packet.body); let rpc_ret : + ::protocol::RpcPlayerOperationRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, PlayerLoginCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::PlayerLoginCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcPlayerLoginArg::from(packet.body); let rpc_ret : + ::protocol::RpcPlayerLoginRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::PlayerLoginScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetClientSystemsInfoCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetClientSystemsInfoCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcGetClientSystemsInfoArg::from(packet.body); let rpc_ret + : ::protocol::RpcGetClientSystemsInfoRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetClientSystemsInfoScRsp::from(rpc_ret); $session + .send_rsp(packet.head.packet_id, proto_rsp); }, RefreshSectionCsReq::CMD_ID => { + let packet = NetPacket:: < ::yanagi_proto::RefreshSectionCsReq > ::decode($buf) + ?; let rpc_arg = ::protocol::RpcRefreshSectionArg::from(packet.body); let rpc_ret + : ::protocol::RpcRefreshSectionRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::RefreshSectionScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, PlayerTransactionCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::PlayerTransactionCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcPlayerTransactionArg::from(packet.body); let rpc_ret : + ::protocol::RpcPlayerTransactionRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetAbyssArpeggioDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetAbyssArpeggioDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetAbyssArpeggioDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetAbyssArpeggioDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetAbyssArpeggioDataScRsp::from(rpc_ret); $session + .send_rsp(packet.head.packet_id, proto_rsp); }, GetEmbattlesDataCsReq::CMD_ID => + { let packet = NetPacket:: < ::yanagi_proto::GetEmbattlesDataCsReq > + ::decode($buf) ?; let rpc_arg = ::protocol::RpcGetEmbattlesDataArg::from(packet + .body); let rpc_ret : ::protocol::RpcGetEmbattlesDataRet = $point + .call_rpc($addr, rpc_arg, $middlewares, $timeout). await ?; $session + .send_null_rsp(packet.head.packet_id); }, GetCharacterQuestListCsReq::CMD_ID => { + let packet = NetPacket:: < ::yanagi_proto::GetCharacterQuestListCsReq > + ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetCharacterQuestListArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetCharacterQuestListRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetMonthCardRewardListCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetMonthCardRewardListCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetMonthCardRewardListArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetMonthCardRewardListRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetHadalZoneDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetHadalZoneDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetHadalZoneDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetHadalZoneDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetWorkbenchInfoCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetWorkbenchInfoCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetWorkbenchInfoArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetWorkbenchInfoRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetTrashbinHermitDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetTrashbinHermitDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetTrashbinHermitDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetTrashbinHermitDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetTrashbinHermitDataScRsp::from(rpc_ret); $session + .send_rsp(packet.head.packet_id, proto_rsp); }, ReportEmbattleInfoCsReq::CMD_ID + => { let packet = NetPacket:: < ::yanagi_proto::ReportEmbattleInfoCsReq > + ::decode($buf) ?; let rpc_arg = ::protocol::RpcReportEmbattleInfoArg::from(packet + .body); let rpc_ret : ::protocol::RpcReportEmbattleInfoRet = $point + .call_rpc($addr, rpc_arg, $middlewares, $timeout). await ?; $session + .send_null_rsp(packet.head.packet_id); }, GetMiniscapeEntrustDataCsReq::CMD_ID => + { let packet = NetPacket:: < ::yanagi_proto::GetMiniscapeEntrustDataCsReq > + ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetMiniscapeEntrustDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetMiniscapeEntrustDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetMiniscapeEntrustDataScRsp::from(rpc_ret); $session + .send_rsp(packet.head.packet_id, proto_rsp); }, EnterSectionCsReq::CMD_ID => { + let packet = NetPacket:: < ::yanagi_proto::EnterSectionCsReq > ::decode($buf) ?; + let rpc_arg = ::protocol::RpcEnterSectionArg::from(packet.body); let rpc_ret : + ::protocol::RpcEnterSectionRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); }, + GetResourceDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetResourceDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetResourceDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetResourceDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetResourceDataScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, GetRoleCardDataCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetRoleCardDataCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcGetRoleCardDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetRoleCardDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetPhotoWallDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetPhotoWallDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetPhotoWallDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetPhotoWallDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetPhotoWallDataScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, GetGachaDataCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetGachaDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetGachaDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetGachaDataRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetGachaDataScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetArcadeDataCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetArcadeDataCsReq > ::decode($buf) ?; let rpc_arg + = ::protocol::RpcGetArcadeDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetArcadeDataRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); }, + EnterSectionCompleteCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::EnterSectionCompleteCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcEnterSectionCompleteArg::from(packet.body); let rpc_ret : + ::protocol::RpcEnterSectionCompleteRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::EnterSectionCompleteScRsp::from(rpc_ret); $session + .send_rsp(packet.head.packet_id, proto_rsp); }, GetCampIdleDataCsReq::CMD_ID => { + let packet = NetPacket:: < ::yanagi_proto::GetCampIdleDataCsReq > ::decode($buf) + ?; let rpc_arg = ::protocol::RpcGetCampIdleDataArg::from(packet.body); let + rpc_ret : ::protocol::RpcGetCampIdleDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetCampIdleDataScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, GetPlayerMailsCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetPlayerMailsCsReq > ::decode($buf) ?; let rpc_arg + = ::protocol::RpcGetPlayerMailsArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetPlayerMailsRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetPlayerMailsScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, EndBattleCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::EndBattleCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcEndBattleArg::from(packet.body); let rpc_ret : + ::protocol::RpcEndBattleRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::EndBattleScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, InteractWithUnitCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::InteractWithUnitCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcInteractWithUnitArg::from(packet.body); let rpc_ret : + ::protocol::RpcInteractWithUnitRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::InteractWithUnitScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, GetFashionStoreInfoCsReq::CMD_ID => { let packet + = NetPacket:: < ::yanagi_proto::GetFashionStoreInfoCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcGetFashionStoreInfoArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetFashionStoreInfoRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetFriendListCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetFriendListCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetFriendListArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetFriendListRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); }, + GetActivityDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetActivityDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetActivityDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetActivityDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetActivityDataScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, GetRechargeItemListCsReq::CMD_ID => { let packet + = NetPacket:: < ::yanagi_proto::GetRechargeItemListCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcGetRechargeItemListArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetRechargeItemListRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, GetServerTimestampCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetServerTimestampCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetServerTimestampArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetServerTimestampRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetServerTimestampScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, SceneTransitionCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::SceneTransitionCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcSceneTransitionArg::from(packet.body); let rpc_ret : + ::protocol::RpcSceneTransitionRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); + }, ModTimeCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::ModTimeCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcModTimeArg::from(packet.body); let rpc_ret : + ::protocol::RpcModTimeRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; $session .send_null_rsp(packet.head.packet_id); }, + GetEquipDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetEquipDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetEquipDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetEquipDataRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetEquipDataScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, SavePlayerSystemSettingCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::SavePlayerSystemSettingCsReq > ::decode($buf) ?; + let rpc_arg = ::protocol::RpcSavePlayerSystemSettingArg::from(packet.body); let + rpc_ret : ::protocol::RpcSavePlayerSystemSettingRet = $point .call_rpc($addr, + rpc_arg, $middlewares, $timeout). await ?; $session .send_null_rsp(packet.head + .packet_id); }, GetRewardBuffDataCsReq::CMD_ID => { let packet = NetPacket:: < + ::yanagi_proto::GetRewardBuffDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetRewardBuffDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetRewardBuffDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetRewardBuffDataScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, EnterWorldCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::EnterWorldCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcEnterWorldArg::from(packet.body); let rpc_ret : + ::protocol::RpcEnterWorldRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::EnterWorldScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetQuestDataCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetQuestDataCsReq > ::decode($buf) ?; let rpc_arg = + ::protocol::RpcGetQuestDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetQuestDataRet = $point .call_rpc($addr, rpc_arg, $middlewares, + $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetQuestDataScRsp::from(rpc_ret); $session .send_rsp(packet.head + .packet_id, proto_rsp); }, GetWebActivityDataCsReq::CMD_ID => { let packet = + NetPacket:: < ::yanagi_proto::GetWebActivityDataCsReq > ::decode($buf) ?; let + rpc_arg = ::protocol::RpcGetWebActivityDataArg::from(packet.body); let rpc_ret : + ::protocol::RpcGetWebActivityDataRet = $point .call_rpc($addr, rpc_arg, + $middlewares, $timeout). await ?; let proto_rsp = + ::yanagi_proto::GetWebActivityDataScRsp::from(rpc_ret); $session .send_rsp(packet + .head.packet_id, proto_rsp); }, _ => ::tracing::warn!("unknown cmd_id: {}", + $cmd_id), } + }; +} +#[macro_export] +macro_rules! impl_qwer_to_proto_match { + ($process_proto_message:ident) => { + match qwer.get_protocol_id() { ::protocol::RpcGetAbyssRewardDataArg::PROTOCOL_ID + => $process_proto_message (GetAbyssRewardDataCsReq::from(qwer)), + ::protocol::RpcGetExplorationDataArg::PROTOCOL_ID => $process_proto_message + (GetExplorationDataCsReq::from(qwer)), + ::protocol::RpcBeginTrainingCourseBattleArg::PROTOCOL_ID => + $process_proto_message (BeginTrainingCourseBattleCsReq::from(qwer)), + ::protocol::RpcSavePosInMainCityArg::PROTOCOL_ID => $process_proto_message + (SavePosInMainCityCsReq::from(qwer)), + ::protocol::RpcGetVhsStoreInfoArg::PROTOCOL_ID => $process_proto_message + (GetVhsStoreInfoCsReq::from(qwer)), ::protocol::RpcGetAbyssInfoArg::PROTOCOL_ID + => $process_proto_message (GetAbyssInfoCsReq::from(qwer)), + ::protocol::RpcGetPrivateMessageDataArg::PROTOCOL_ID => $process_proto_message + (GetPrivateMessageDataCsReq::from(qwer)), + ::protocol::RpcGetNewsStandDataArg::PROTOCOL_ID => $process_proto_message + (GetNewsStandDataCsReq::from(qwer)), + ::protocol::RpcGetVideoUsmKeyDataArg::PROTOCOL_ID => $process_proto_message + (GetVideoUsmKeyDataCsReq::from(qwer)), + ::protocol::RpcGetPlayerBasicInfoArg::PROTOCOL_ID => $process_proto_message + (GetPlayerBasicInfoCsReq::from(qwer)), ::protocol::RpcGetAuthkeyArg::PROTOCOL_ID + => $process_proto_message (GetAuthkeyCsReq::from(qwer)), + ::protocol::RpcGetRamenDataArg::PROTOCOL_ID => $process_proto_message + (GetRamenDataCsReq::from(qwer)), ::protocol::RpcGetFairyInfoArg::PROTOCOL_ID => + $process_proto_message (GetFairyInfoCsReq::from(qwer)), + ::protocol::RpcGetCollectMapArg::PROTOCOL_ID => $process_proto_message + (GetCollectMapCsReq::from(qwer)), + ::protocol::RpcInteractWithClientEntityArg::PROTOCOL_ID => $process_proto_message + (InteractWithClientEntityCsReq::from(qwer)), + ::protocol::RpcGetShoppingMallInfoArg::PROTOCOL_ID => $process_proto_message + (GetShoppingMallInfoCsReq::from(qwer)), + ::protocol::RpcGetTipsInfoArg::PROTOCOL_ID => $process_proto_message + (GetTipsInfoCsReq::from(qwer)), ::protocol::RpcGetYorozuyaInfoArg::PROTOCOL_ID => + $process_proto_message (GetYorozuyaInfoCsReq::from(qwer)), + ::protocol::RpcReportUiLayoutPlatformArg::PROTOCOL_ID => $process_proto_message + (ReportUiLayoutPlatformCsReq::from(qwer)), + ::protocol::RpcBattleReportArg::PROTOCOL_ID => $process_proto_message + (BattleReportCsReq::from(qwer)), + ::protocol::RpcGetDisplayCaseDataArg::PROTOCOL_ID => $process_proto_message + (GetDisplayCaseDataCsReq::from(qwer)), + ::protocol::RpcLeaveCurDungeonArg::PROTOCOL_ID => $process_proto_message + (LeaveCurDungeonCsReq::from(qwer)), + ::protocol::PtcUpdateEventGraphArg::PROTOCOL_ID => $process_proto_message + (UpdateEventGraphScNotify::from(qwer)), + ::protocol::RpcGetBattlePassDataArg::PROTOCOL_ID => $process_proto_message + (GetBattlePassDataCsReq::from(qwer)), + ::protocol::RpcGetArchiveInfoArg::PROTOCOL_ID => $process_proto_message + (GetArchiveInfoCsReq::from(qwer)), + ::protocol::RpcGetDailyChallengeInfoArg::PROTOCOL_ID => $process_proto_message + (GetDailyChallengeInfoCsReq::from(qwer)), + ::protocol::RpcRunEventGraphArg::PROTOCOL_ID => $process_proto_message + (RunEventGraphCsReq::from(qwer)), ::protocol::RpcGetJourneyInfoArg::PROTOCOL_ID + => $process_proto_message (GetJourneyInfoCsReq::from(qwer)), + ::protocol::RpcGetMainCityRevivalDataArg::PROTOCOL_ID => $process_proto_message + (GetMainCityRevivalDataCsReq::from(qwer)), + ::protocol::RpcGetWishlistDataArg::PROTOCOL_ID => $process_proto_message + (GetWishlistDataCsReq::from(qwer)), + ::protocol::RpcCheckYorozuyaInfoRefreshArg::PROTOCOL_ID => $process_proto_message + (CheckYorozuyaInfoRefreshCsReq::from(qwer)), + ::protocol::RpcGetWeaponDataArg::PROTOCOL_ID => $process_proto_message + (GetWeaponDataCsReq::from(qwer)), ::protocol::RpcGetChatEmojiListArg::PROTOCOL_ID + => $process_proto_message (GetChatEmojiListCsReq::from(qwer)), + ::protocol::RpcModMainCityAvatarArg::PROTOCOL_ID => $process_proto_message + (ModMainCityAvatarCsReq::from(qwer)), ::protocol::RpcGetCafeDataArg::PROTOCOL_ID + => $process_proto_message (GetCafeDataCsReq::from(qwer)), + ::protocol::RpcGetAvatarDataArg::PROTOCOL_ID => $process_proto_message + (GetAvatarDataCsReq::from(qwer)), + ::protocol::RpcGetBabelTowerDataArg::PROTOCOL_ID => $process_proto_message + (GetBabelTowerDataCsReq::from(qwer)), ::protocol::PtcEnterSceneArg::PROTOCOL_ID + => $process_proto_message (EnterSceneScNotify::from(qwer)), + ::protocol::RpcGetBuddyDataArg::PROTOCOL_ID => $process_proto_message + (GetBuddyDataCsReq::from(qwer)), ::protocol::RpcPlayerOperationArg::PROTOCOL_ID + => $process_proto_message (PlayerOperationCsReq::from(qwer)), + ::protocol::PtcPlayerSyncArg::PROTOCOL_ID => $process_proto_message + (PlayerSyncScNotify::from(qwer)), ::protocol::PtcHallRefreshArg::PROTOCOL_ID => + $process_proto_message (HallRefreshScNotify::from(qwer)), + ::protocol::RpcPlayerLoginArg::PROTOCOL_ID => $process_proto_message + (PlayerLoginCsReq::from(qwer)), + ::protocol::RpcGetClientSystemsInfoArg::PROTOCOL_ID => $process_proto_message + (GetClientSystemsInfoCsReq::from(qwer)), + ::protocol::RpcRefreshSectionArg::PROTOCOL_ID => $process_proto_message + (RefreshSectionCsReq::from(qwer)), + ::protocol::RpcPlayerTransactionArg::PROTOCOL_ID => $process_proto_message + (PlayerTransactionCsReq::from(qwer)), + ::protocol::RpcGetAbyssArpeggioDataArg::PROTOCOL_ID => $process_proto_message + (GetAbyssArpeggioDataCsReq::from(qwer)), + ::protocol::RpcGetEmbattlesDataArg::PROTOCOL_ID => $process_proto_message + (GetEmbattlesDataCsReq::from(qwer)), + ::protocol::RpcGetCharacterQuestListArg::PROTOCOL_ID => $process_proto_message + (GetCharacterQuestListCsReq::from(qwer)), + ::protocol::RpcGetMonthCardRewardListArg::PROTOCOL_ID => $process_proto_message + (GetMonthCardRewardListCsReq::from(qwer)), + ::protocol::RpcGetHadalZoneDataArg::PROTOCOL_ID => $process_proto_message + (GetHadalZoneDataCsReq::from(qwer)), + ::protocol::RpcGetWorkbenchInfoArg::PROTOCOL_ID => $process_proto_message + (GetWorkbenchInfoCsReq::from(qwer)), + ::protocol::RpcGetTrashbinHermitDataArg::PROTOCOL_ID => $process_proto_message + (GetTrashbinHermitDataCsReq::from(qwer)), + ::protocol::RpcReportEmbattleInfoArg::PROTOCOL_ID => $process_proto_message + (ReportEmbattleInfoCsReq::from(qwer)), + ::protocol::RpcGetMiniscapeEntrustDataArg::PROTOCOL_ID => $process_proto_message + (GetMiniscapeEntrustDataCsReq::from(qwer)), + ::protocol::RpcEnterSectionArg::PROTOCOL_ID => $process_proto_message + (EnterSectionCsReq::from(qwer)), ::protocol::RpcGetResourceDataArg::PROTOCOL_ID + => $process_proto_message (GetResourceDataCsReq::from(qwer)), + ::protocol::RpcGetRoleCardDataArg::PROTOCOL_ID => $process_proto_message + (GetRoleCardDataCsReq::from(qwer)), + ::protocol::RpcGetPhotoWallDataArg::PROTOCOL_ID => $process_proto_message + (GetPhotoWallDataCsReq::from(qwer)), ::protocol::PtcSyncEventInfoArg::PROTOCOL_ID + => $process_proto_message (SyncEventInfoScNotify::from(qwer)), + ::protocol::RpcGetGachaDataArg::PROTOCOL_ID => $process_proto_message + (GetGachaDataCsReq::from(qwer)), ::protocol::RpcGetArcadeDataArg::PROTOCOL_ID => + $process_proto_message (GetArcadeDataCsReq::from(qwer)), + ::protocol::RpcEnterSectionCompleteArg::PROTOCOL_ID => $process_proto_message + (EnterSectionCompleteCsReq::from(qwer)), + ::protocol::RpcGetCampIdleDataArg::PROTOCOL_ID => $process_proto_message + (GetCampIdleDataCsReq::from(qwer)), ::protocol::RpcGetPlayerMailsArg::PROTOCOL_ID + => $process_proto_message (GetPlayerMailsCsReq::from(qwer)), + ::protocol::RpcEndBattleArg::PROTOCOL_ID => $process_proto_message + (EndBattleCsReq::from(qwer)), ::protocol::RpcInteractWithUnitArg::PROTOCOL_ID => + $process_proto_message (InteractWithUnitCsReq::from(qwer)), + ::protocol::RpcGetFashionStoreInfoArg::PROTOCOL_ID => $process_proto_message + (GetFashionStoreInfoCsReq::from(qwer)), + ::protocol::RpcGetFriendListArg::PROTOCOL_ID => $process_proto_message + (GetFriendListCsReq::from(qwer)), ::protocol::RpcGetActivityDataArg::PROTOCOL_ID + => $process_proto_message (GetActivityDataCsReq::from(qwer)), + ::protocol::RpcGetRechargeItemListArg::PROTOCOL_ID => $process_proto_message + (GetRechargeItemListCsReq::from(qwer)), + ::protocol::RpcGetServerTimestampArg::PROTOCOL_ID => $process_proto_message + (GetServerTimestampCsReq::from(qwer)), + ::protocol::RpcSceneTransitionArg::PROTOCOL_ID => $process_proto_message + (SceneTransitionCsReq::from(qwer)), ::protocol::RpcModTimeArg::PROTOCOL_ID => + $process_proto_message (ModTimeCsReq::from(qwer)), + ::protocol::PtcAddAvatarArg::PROTOCOL_ID => $process_proto_message + (AddAvatarScNotify::from(qwer)), ::protocol::RpcGetEquipDataArg::PROTOCOL_ID => + $process_proto_message (GetEquipDataCsReq::from(qwer)), + ::protocol::RpcSavePlayerSystemSettingArg::PROTOCOL_ID => $process_proto_message + (SavePlayerSystemSettingCsReq::from(qwer)), + ::protocol::RpcGetRewardBuffDataArg::PROTOCOL_ID => $process_proto_message + (GetRewardBuffDataCsReq::from(qwer)), ::protocol::RpcEnterWorldArg::PROTOCOL_ID + => $process_proto_message (EnterWorldCsReq::from(qwer)), + ::protocol::RpcGetQuestDataArg::PROTOCOL_ID => $process_proto_message + (GetQuestDataCsReq::from(qwer)), + ::protocol::RpcGetWebActivityDataArg::PROTOCOL_ID => $process_proto_message + (GetWebActivityDataCsReq::from(qwer)), _ => (), } + }; +} +#[macro_export] +macro_rules! register_ptc_handlers { + ($point:ident, $conv:ident, $tx:ident) => { + $point .register_rpc_recv(::protocol::PtcUpdateEventGraphArg::PROTOCOL_ID, move | + ctx | async move { let _ = $tx .get().unwrap().send(Input::Notify($conv, ctx)). + await; }); $point .register_rpc_recv(::protocol::PtcEnterSceneArg::PROTOCOL_ID, + move | ctx | async move { let _ = $tx .get().unwrap().send(Input::Notify($conv, + ctx)). await; }); $point + .register_rpc_recv(::protocol::PtcPlayerSyncArg::PROTOCOL_ID, move | ctx | async + move { let _ = $tx .get().unwrap().send(Input::Notify($conv, ctx)). await; }); + $point .register_rpc_recv(::protocol::PtcHallRefreshArg::PROTOCOL_ID, move | ctx + | async move { let _ = $tx .get().unwrap().send(Input::Notify($conv, ctx)). + await; }); $point + .register_rpc_recv(::protocol::PtcSyncEventInfoArg::PROTOCOL_ID, move | ctx | + async move { let _ = $tx .get().unwrap().send(Input::Notify($conv, ctx)). await; + }); $point .register_rpc_recv(::protocol::PtcAddAvatarArg::PROTOCOL_ID, move | + ctx | async move { let _ = $tx .get().unwrap().send(Input::Notify($conv, ctx)). + await; }); + }; +} +#[macro_export] +macro_rules! forward_as_notify { + ($session:ident, $ctx:ident) => { + match $ctx .protocol_id { ::protocol::PtcUpdateEventGraphArg::PROTOCOL_ID => { + $session .notify(::yanagi_proto::UpdateEventGraphScNotify::from($ctx .get_arg:: < + ::protocol::PtcUpdateEventGraphArg > ().unwrap(),)); }, + ::protocol::PtcEnterSceneArg::PROTOCOL_ID => { $session + .notify(::yanagi_proto::EnterSceneScNotify::from($ctx .get_arg:: < + ::protocol::PtcEnterSceneArg > ().unwrap(),)); }, + ::protocol::PtcPlayerSyncArg::PROTOCOL_ID => { $session + .notify(::yanagi_proto::PlayerSyncScNotify::from($ctx .get_arg:: < + ::protocol::PtcPlayerSyncArg > ().unwrap(),)); }, + ::protocol::PtcHallRefreshArg::PROTOCOL_ID => { $session + .notify(::yanagi_proto::HallRefreshScNotify::from($ctx .get_arg:: < + ::protocol::PtcHallRefreshArg > ().unwrap(),)); }, + ::protocol::PtcSyncEventInfoArg::PROTOCOL_ID => { $session + .notify(::yanagi_proto::SyncEventInfoScNotify::from($ctx .get_arg:: < + ::protocol::PtcSyncEventInfoArg > ().unwrap(),)); }, + ::protocol::PtcAddAvatarArg::PROTOCOL_ID => { $session + .notify(::yanagi_proto::AddAvatarScNotify::from($ctx .get_arg:: < + ::protocol::PtcAddAvatarArg > ().unwrap(),)); }, _ => (), } + }; +} diff --git a/crates/yanagi-proto/src/lib.rs b/crates/yanagi-proto/src/lib.rs new file mode 100644 index 0000000..5ea0aec --- /dev/null +++ b/crates/yanagi-proto/src/lib.rs @@ -0,0 +1,75 @@ +pub use prost::DecodeError as ProtobufDecodeError; +pub use prost::Message as Protobuf; +use std::collections::HashMap; +use std::fmt::Debug; +pub use yanagi_proto_derive::XorFields; + +pub trait XorFields { + fn xor_fields(&mut self); +} + +pub trait CmdID { + const CMD_ID: u16; + + fn get_cmd_id(&self) -> u16 { + Self::CMD_ID + } +} + +pub trait NapMessage: prost::Message + XorFields + CmdID + Default + Sized {} +impl NapMessage for T {} + +include!("../out/_.rs"); +include!("../out/proto_conversion.rs"); + +// "repeated bytes" +impl XorFields for Vec> { + fn xor_fields(&mut self) {} +} + +impl XorFields for Vec +where + T: XorFields, +{ + fn xor_fields(&mut self) { + for item in self.iter_mut() { + item.xor_fields(); + } + } +} + +impl XorFields for HashMap +where + V: XorFields, +{ + fn xor_fields(&mut self) { + for value in self.values_mut() { + value.xor_fields(); + } + } +} + +impl XorFields for Option +where + T: XorFields, +{ + fn xor_fields(&mut self) { + if let Some(value) = self.as_mut() { + value.xor_fields(); + } + } +} + +impl XorFields for Box +where + T: XorFields, +{ + #[allow(unconditional_recursion)] + fn xor_fields(&mut self) { + (*self).xor_fields(); + } +} + +#[derive(prost::Message, yanagi_proto_derive::XorFields, yanagi_proto_derive::CmdID)] +#[cmdid(1890)] +pub struct NullMessage {} diff --git a/crates/yanagi-proto/yanagi-proto-derive/Cargo.toml b/crates/yanagi-proto/yanagi-proto-derive/Cargo.toml new file mode 100644 index 0000000..477fefd --- /dev/null +++ b/crates/yanagi-proto/yanagi-proto-derive/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "yanagi-proto-derive" +version = "0.1.0" +edition = "2021" + +[dependencies] +syn = "2.0.53" +quote = "1.0.35" +proc-macro2 = "1.0.79" + +[lib] +proc-macro = true diff --git a/crates/yanagi-proto/yanagi-proto-derive/src/lib.rs b/crates/yanagi-proto/yanagi-proto-derive/src/lib.rs new file mode 100644 index 0000000..165b3a1 --- /dev/null +++ b/crates/yanagi-proto/yanagi-proto-derive/src/lib.rs @@ -0,0 +1,127 @@ +use proc_macro::TokenStream; +use quote::{quote, ToTokens}; +use syn::{ + parse_macro_input, Data, DeriveInput, Field, Fields, GenericArgument, Meta, MetaList, Path, + PathArguments, Type, TypePath, +}; + +#[must_use] +fn get_type_name(path: &Path) -> String { + path.segments.last().unwrap().ident.to_string() +} + +#[must_use] +fn extract_field_type(field: &Field) -> String { + match &field.ty { + Type::Path(TypePath { path, .. }) => { + let last_segment = path.segments.last().unwrap(); + match &last_segment.arguments { + PathArguments::AngleBracketed(args) => { + if let Some(GenericArgument::Type(Type::Path(TypePath { path, .. }))) = + args.args.last() + { + get_type_name(path) + } else { + get_type_name(path) + } + } + _ => get_type_name(path), + } + } + _ => panic!("Unsupported field type"), + } +} + +#[proc_macro_derive(XorFields, attributes(xor))] +pub fn xor_fields_derive(input: TokenStream) -> TokenStream { + let input = parse_macro_input!(input as DeriveInput); + let struct_name = input.ident; + + let fields = match input.data { + Data::Struct(data) => match data.fields { + Fields::Named(fields) => fields.named, + _ => panic!("XorFields only supports structs with named fields"), + }, + Data::Enum(_) => { + let expanded = quote! { + impl crate::XorFields for #struct_name { + fn xor_fields(&mut self) { + } + } + }; + + return TokenStream::from(expanded); + } + _ => panic!("XorFields only supports structs"), + }; + + let field_xors = fields.iter().map(|field| { + let field_name = field.ident.as_ref().unwrap(); + let field_ty = extract_field_type(field); + let xor_attr = field.attrs.iter().find(|attr| attr.path().is_ident("xor")); + + xor_attr.map_or_else( + || { + if field_ty.chars().next().unwrap().is_uppercase() + && field_ty != "String" + && field_ty != "Any" + { + quote! { + self.#field_name.xor_fields(); + } + } else { + quote! {} + } + }, + |attr| match attr.meta { + Meta::List(MetaList { ref tokens, .. }) => { + let xor_value = tokens.into_token_stream(); + if xor_value.to_string() != "0" { + quote! { + if self.#field_name != 0 { + self.#field_name ^= #xor_value; + } + } + } else { + quote! {} + } + } + _ => panic!("Invalid xor attribute value"), + }, + ) + }); + + let expanded = quote! { + impl crate::XorFields for #struct_name { + fn xor_fields(&mut self) { + #(#field_xors)* + } + } + }; + + TokenStream::from(expanded) +} + +#[proc_macro_derive(CmdID, attributes(cmdid))] +pub fn cmd_id_derive(input: TokenStream) -> TokenStream { + let input = parse_macro_input!(input as DeriveInput); + let struct_name = input.ident; + + let id = match input + .attrs + .iter() + .find(|attr| attr.path().is_ident("cmdid")) + { + Some(attr) => match attr.meta { + Meta::List(MetaList { ref tokens, .. }) => tokens.into_token_stream(), + _ => panic!("Invalid cmdid attribute value"), + }, + _ => 0u16.into_token_stream(), + }; + + TokenStream::from(quote! { + impl crate::CmdID for #struct_name { + const CMD_ID: u16 = #id; + } + }) +} diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000..88da93c Binary files /dev/null and b/screenshot.png differ