// This file is @generated by prost-build.
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmmnfdnljmd {
    #[prost(uint32, tag = "1")]
    pub hbapccegnme: u32,
    #[prost(uint32, tag = "2")]
    pub gpjggknoafd: u32,
    #[prost(oneof = "mmmnfdnljmd::Ilaakomcali", tags = "101, 102, 103, 104")]
    pub ilaakomcali: ::core::option::Option<mmmnfdnljmd::Ilaakomcali>,
}
/// Nested message and enum types in `MMMNFDNLJMD`.
pub mod mmmnfdnljmd {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ilaakomcali {
        #[prost(message, tag = "101")]
        Jfoamfdllgh(super::Ljnpgkdojho),
        #[prost(message, tag = "102")]
        Kancdecploa(super::Bpnmjchednl),
        #[prost(message, tag = "103")]
        Mocbdogakao(super::Foopingafeg),
        #[prost(message, tag = "104")]
        Adojkmbhpoo(super::Ofilkjclegi),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hcjjoofkcjh {
    #[prost(uint32, tag = "1")]
    pub lpdbpkkadgg: u32,
    #[prost(int32, tag = "2")]
    pub homgcfjpblk: i32,
    #[prost(int32, tag = "3")]
    pub cjjblmkjapa: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lngmdmipckl {
    #[prost(uint32, tag = "1")]
    pub lpdbpkkadgg: u32,
    #[prost(uint32, tag = "2")]
    pub jojahiafnlk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cccnhoeccmd {
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    #[prost(uint32, tag = "2")]
    pub banelelnlkb: u32,
    #[prost(uint32, tag = "3")]
    pub skill_id: u32,
    #[prost(int32, tag = "4")]
    pub display_value: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Noobbihjkma {
    #[prost(int32, tag = "1")]
    pub mflekhhpieo: i32,
    #[prost(int32, tag = "2")]
    pub majlgjcfgja: i32,
    #[prost(int32, tag = "3")]
    pub iolcflofagf: i32,
    #[prost(int32, tag = "4")]
    pub ameiimfkbfa: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljnpgkdojho {
    #[prost(uint32, tag = "1")]
    pub endjgmlkpbp: u32,
    #[prost(uint64, tag = "2")]
    pub dbadlnfopao: u64,
    #[prost(uint32, tag = "3")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "4")]
    pub nlibkabfgcc: u32,
    #[prost(message, repeated, tag = "5")]
    pub biecgfimcfb: ::prost::alloc::vec::Vec<Hcjjoofkcjh>,
    #[prost(uint32, tag = "6")]
    pub rank: u32,
    #[prost(uint64, tag = "7")]
    pub ekldpalnldc: u64,
    #[prost(message, repeated, tag = "8")]
    pub fffgfcphbpn: ::prost::alloc::vec::Vec<Hcjjoofkcjh>,
    #[prost(uint32, tag = "9")]
    pub jblmgnpmadm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpnmjchednl {
    #[prost(uint32, tag = "1")]
    pub endjgmlkpbp: u32,
    #[prost(uint64, tag = "2")]
    pub dbadlnfopao: u64,
    #[prost(uint32, tag = "3")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "4")]
    pub nlibkabfgcc: u32,
    #[prost(message, repeated, tag = "5")]
    pub biecgfimcfb: ::prost::alloc::vec::Vec<Hcjjoofkcjh>,
    #[prost(uint32, tag = "6")]
    pub rank: u32,
    #[prost(uint64, tag = "7")]
    pub ekldpalnldc: u64,
    #[prost(message, repeated, tag = "8")]
    pub fffgfcphbpn: ::prost::alloc::vec::Vec<Hcjjoofkcjh>,
    #[prost(uint32, tag = "9")]
    pub jblmgnpmadm: u32,
    #[prost(uint32, tag = "10")]
    pub imbclfcbodj: u32,
    #[prost(int32, tag = "11")]
    pub score: i32,
    #[prost(int32, tag = "12")]
    pub npjeecedpok: i32,
    #[prost(message, repeated, tag = "13")]
    pub pceaecmkdeh: ::prost::alloc::vec::Vec<Lngmdmipckl>,
    #[prost(uint32, tag = "14")]
    pub ifnmbngifph: u32,
    #[prost(uint32, tag = "15")]
    pub iehjgombpbi: u32,
    #[prost(uint32, tag = "16")]
    pub iphafkfgnao: u32,
    #[prost(uint32, tag = "17")]
    pub lbpfeclgefc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Foopingafeg {
    #[prost(uint32, tag = "1")]
    pub endjgmlkpbp: u32,
    #[prost(uint64, tag = "2")]
    pub dbadlnfopao: u64,
    #[prost(uint32, tag = "3")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "4")]
    pub nlibkabfgcc: u32,
    #[prost(uint32, tag = "5")]
    pub ighlabggije: u32,
    #[prost(uint32, tag = "6")]
    pub lpdbpkkadgg: u32,
    #[prost(bool, tag = "7")]
    pub hgbbkgnepfb: bool,
    #[prost(message, repeated, tag = "8")]
    pub feopfholkbm: ::prost::alloc::vec::Vec<Hcjjoofkcjh>,
    #[prost(uint32, tag = "9")]
    pub rank: u32,
    #[prost(message, repeated, tag = "10")]
    pub cndckakkmcg: ::prost::alloc::vec::Vec<Hcjjoofkcjh>,
    #[prost(uint32, tag = "11")]
    pub jblmgnpmadm: u32,
    #[prost(message, repeated, tag = "12")]
    pub skill_info: ::prost::alloc::vec::Vec<Cccnhoeccmd>,
    #[prost(message, repeated, tag = "13")]
    pub kbgajgeomgl: ::prost::alloc::vec::Vec<Noobbihjkma>,
    #[prost(message, repeated, tag = "14")]
    pub lelhcfoeoco: ::prost::alloc::vec::Vec<Hcjjoofkcjh>,
    #[prost(message, repeated, tag = "15")]
    pub imjekfdhing: ::prost::alloc::vec::Vec<Hcjjoofkcjh>,
    #[prost(uint32, tag = "16")]
    pub djnmhmpkkkb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofilkjclegi {
    #[prost(uint32, tag = "1")]
    pub endjgmlkpbp: u32,
    #[prost(uint64, tag = "2")]
    pub dbadlnfopao: u64,
    #[prost(uint32, tag = "3")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "4")]
    pub nlibkabfgcc: u32,
    #[prost(bool, tag = "5")]
    pub nleaijhapap: bool,
    #[prost(uint32, tag = "6")]
    pub ighlabggije: u32,
    #[prost(uint32, tag = "7")]
    pub rank: u32,
    #[prost(uint64, tag = "8")]
    pub ekldpalnldc: u64,
    #[prost(uint32, tag = "9")]
    pub jblmgnpmadm: u32,
    #[prost(uint32, tag = "10")]
    pub cboiiacbakf: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub djnmhmpkkkb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerBasicInfo {
    #[prost(string, tag = "1")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    #[prost(uint32, tag = "4")]
    pub stamina: u32,
    #[prost(uint32, tag = "5")]
    pub mcoin: u32,
    #[prost(uint32, tag = "6")]
    pub hcoin: u32,
    #[prost(uint32, tag = "7")]
    pub scoin: u32,
    #[prost(uint32, tag = "8")]
    pub world_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpBarInfo {
    #[prost(uint32, tag = "1")]
    pub cur_sp: u32,
    #[prost(uint32, tag = "2")]
    pub max_sp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BlackInfo {
    #[prost(int64, tag = "1")]
    pub begin_time: i64,
    #[prost(int64, tag = "2")]
    pub end_time: i64,
    #[prost(uint32, tag = "3")]
    pub jfciibecncm: u32,
    #[prost(uint32, tag = "4")]
    pub ccabdcplmpj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bpdfjaaeofo {
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oilpiacennh {
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub index: u32,
    #[prost(uint32, tag = "5")]
    pub ggdiibcdobb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VersionCount {
    #[prost(uint32, tag = "1")]
    pub version: u32,
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientDownloadData {
    #[prost(uint32, tag = "1")]
    pub version: u32,
    #[prost(int64, tag = "2")]
    pub time: i64,
    #[prost(bytes = "vec", tag = "3")]
    pub data: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "4")]
    pub haehhcpoapp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjDownloadData {
    #[prost(bytes = "vec", tag = "1")]
    pub bidjpeimllf: ::prost::alloc::vec::Vec<u8>,
    #[prost(message, optional, tag = "2")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
    #[prost(message, repeated, tag = "3")]
    pub download_data_list: ::prost::alloc::vec::Vec<ClientDownloadData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientUploadData {
    #[prost(string, tag = "1")]
    pub eamajgpcgfd: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureSwitchParam {
    #[prost(uint32, repeated, tag = "1")]
    pub param_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureSwitchInfo {
    #[prost(enumeration = "FeatureSwitchType", tag = "1")]
    pub r#type: i32,
    #[prost(message, repeated, tag = "2")]
    pub switch_list: ::prost::alloc::vec::Vec<FeatureSwitchParam>,
    #[prost(bool, tag = "3")]
    pub is_all_closed: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgfkicdcflj {
    #[prost(string, tag = "1")]
    pub fdkgfdicmfd: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub mdjcaoagcko: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub gioohoomjho: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub fbmllnkcfen: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub dgoohibaoee: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub fkbamboodkj: ::prost::alloc::string::String,
    #[prost(string, tag = "7")]
    pub jkhhedmnjlc: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Occhnefhgne {
    #[prost(int32, tag = "28")]
    pub ejieagflged: i32,
    #[prost(int32, tag = "29")]
    pub ldbfaikmifi: i32,
    #[prost(int32, tag = "30")]
    pub pkflgkphoed: i32,
    #[prost(int32, tag = "31")]
    pub akdclaepfej: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReplayInfo {
    #[prost(uint64, tag = "1")]
    pub dknpkjmahcm: u64,
    #[prost(enumeration = "ReplayType", tag = "2")]
    pub replay_type: i32,
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    #[prost(string, tag = "5")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "6")]
    pub head_icon: u32,
    #[prost(string, tag = "7")]
    pub replay_name: ::prost::alloc::string::String,
    #[prost(uint64, tag = "8")]
    pub sent_time: u64,
    #[prost(uint32, tag = "9")]
    pub afehlmfibmd: u32,
    #[prost(uint32, tag = "10")]
    pub cmpbkbbkaoa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PunkLordBattleAvatar {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "2")]
    pub avatar_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleRecord {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub damage_hp: u32,
    #[prost(bool, tag = "3")]
    pub is_final_hit: bool,
    #[prost(uint32, tag = "4")]
    pub over_kill_damage_hp: u32,
    #[prost(string, tag = "5")]
    pub battle_replay_key: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<PunkLordBattleAvatar>,
    #[prost(uint32, tag = "7")]
    pub assist_score: u32,
    #[prost(uint32, tag = "8")]
    pub damage_score: u32,
    #[prost(uint32, tag = "9")]
    pub final_hit_score: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleRecordList {
    #[prost(message, repeated, tag = "1")]
    pub battle_record_list: ::prost::alloc::vec::Vec<PunkLordBattleRecord>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PunkLordMonsterKey {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PunkLordMonsterBasicInfo {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    #[prost(uint32, tag = "3")]
    pub config_id: u32,
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    #[prost(int64, tag = "5")]
    pub sent_time: i64,
    #[prost(uint32, tag = "6")]
    pub left_hp: u32,
    #[prost(uint32, tag = "7")]
    pub pjdcnahgahc: u32,
    #[prost(enumeration = "PunkLordShareType", tag = "8")]
    pub share_type: i32,
    #[prost(bool, tag = "9")]
    pub ppboceckcah: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleReplay {
    #[prost(string, tag = "1")]
    pub battle_replay_key: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "2")]
    pub replay_info: ::core::option::Option<ReplayInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ildhfmhbknc {
    #[prost(uint64, tag = "1")]
    pub infhikbljla: u64,
    #[prost(uint32, tag = "2")]
    pub fight_game_mode: u32,
    #[prost(uint32, tag = "3")]
    pub ahbemdlggeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lkapfhahnem {
    #[prost(uint32, tag = "1")]
    pub module_id: u32,
    #[prost(uint32, tag = "2")]
    pub lghokgabgck: u32,
    #[prost(uint64, tag = "3")]
    pub cfdanmomhpi: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pedlphdbnaf {
    #[prost(oneof = "pedlphdbnaf::Gahlglnkafc", tags = "101, 102")]
    pub gahlglnkafc: ::core::option::Option<pedlphdbnaf::Gahlglnkafc>,
}
/// Nested message and enum types in `PEDLPHDBNAF`.
pub mod pedlphdbnaf {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Gahlglnkafc {
        #[prost(message, tag = "101")]
        Lfcphajcekf(super::Ildhfmhbknc),
        #[prost(message, tag = "102")]
        Celmkolbjnn(super::Lkapfhahnem),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegionEntry {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub title: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub dispatch_url: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub env_type: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub display_name: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub msg: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DispatchRegionData {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(string, tag = "2")]
    pub msg: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub top_sever_region_name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "4")]
    pub region_list: ::prost::alloc::vec::Vec<RegionEntry>,
    #[prost(string, tag = "5")]
    pub stop_desc: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicFilterPlanSettings {
    #[prost(uint32, tag = "1")]
    pub rarity_bitset: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub relic_set_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub body_main_property_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub foot_main_property_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub sphere_main_property_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub rope_main_property_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "7")]
    pub is_include_filter_sub_property: bool,
    #[prost(uint32, tag = "8")]
    pub sub_property_num: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub sub_property_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub head_main_property_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub hand_main_property_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleOp {
    #[prost(uint32, tag = "1")]
    pub turn_counter: u32,
    #[prost(uint32, tag = "2")]
    pub state: u32,
    #[prost(uint32, tag = "3")]
    pub action_entity_id: u32,
    #[prost(uint32, tag = "4")]
    pub target_entity_id: u32,
    #[prost(uint32, tag = "5")]
    pub op_type: u32,
    #[prost(uint32, tag = "6")]
    pub skill_index: u32,
    #[prost(uint32, tag = "7")]
    pub operation_counter: u32,
    #[prost(string, tag = "8")]
    pub nplieiphcbf: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleEquipment {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    #[prost(uint32, tag = "4")]
    pub rank: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRelic {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub main_affix_id: u32,
    #[prost(message, repeated, tag = "4")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "5")]
    pub unique_id: u32,
    #[prost(uint32, tag = "6")]
    pub relic_id: u32,
    #[prost(uint32, tag = "7")]
    pub slot: u32,
    #[prost(uint32, tag = "8")]
    pub jlkmncoidlg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarSkillTree {
    #[prost(uint32, tag = "1")]
    pub point_id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicAffix {
    #[prost(uint32, tag = "1")]
    pub affix_id: u32,
    #[prost(uint32, tag = "2")]
    pub cnt: u32,
    #[prost(uint32, tag = "3")]
    pub step: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjhebccbana {
    #[prost(bool, tag = "1")]
    pub ljpadncgloc: bool,
    #[prost(uint32, repeated, tag = "2")]
    pub dddhnaklmhf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub jgjcdmjimnn: u32,
    #[prost(uint32, tag = "4")]
    pub pofmkdabehd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleAvatar {
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub rank: u32,
    #[prost(uint32, tag = "5")]
    pub index: u32,
    #[prost(message, repeated, tag = "6")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(message, repeated, tag = "7")]
    pub equipment_list: ::prost::alloc::vec::Vec<BattleEquipment>,
    #[prost(uint32, tag = "8")]
    pub hp: u32,
    #[prost(uint32, tag = "10")]
    pub promotion: u32,
    #[prost(message, repeated, tag = "11")]
    pub relic_list: ::prost::alloc::vec::Vec<BattleRelic>,
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
    #[prost(uint32, tag = "13")]
    pub assist_uid: u32,
    #[prost(message, optional, tag = "15")]
    pub ecifjlakhcl: ::core::option::Option<Bjhebccbana>,
    #[prost(message, optional, tag = "16")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    #[prost(uint32, tag = "17")]
    pub gmobaocefce: u32,
    #[prost(message, repeated, tag = "18")]
    pub imjjkbjoohj: ::prost::alloc::vec::Vec<AvatarSkillTree>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleMonsterParam {
    #[prost(uint32, tag = "1")]
    pub hard_level_group: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub elite_group: u32,
    #[prost(uint32, tag = "4")]
    pub dneampllfme: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleMonster {
    #[prost(uint32, tag = "1")]
    pub monster_id: u32,
    #[prost(uint32, tag = "2")]
    pub cur_hp: u32,
    #[prost(uint32, tag = "3")]
    pub max_hp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleMonsterWave {
    #[prost(message, repeated, tag = "1")]
    pub monster_list: ::prost::alloc::vec::Vec<BattleMonster>,
    #[prost(message, optional, tag = "2")]
    pub wave_param: ::core::option::Option<BattleMonsterParam>,
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    #[prost(uint32, tag = "4")]
    pub wave_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleBuff {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub owner_id: u32,
    #[prost(uint32, tag = "4")]
    pub wave_flag: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub target_index_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(map = "string, float", tag = "6")]
    pub dynamic_values: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Illcdmocldo {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub hfaljihkecn: u32,
    #[prost(uint32, tag = "3")]
    pub laejdghmkdb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ljgiaglfhhc {
    #[prost(uint32, tag = "1")]
    pub fenmmmkoocf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Enflfbdaoij {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub hfaljihkecn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gmgjcihdfma {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleTarget {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub progress: u32,
    #[prost(uint32, tag = "3")]
    pub total_progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleTargetList {
    #[prost(message, repeated, tag = "1")]
    pub battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleLineup {
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    #[prost(message, repeated, tag = "2")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<BattleMonsterWave>,
    #[prost(message, repeated, tag = "3")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
    #[prost(map = "uint32, message", tag = "9")]
    pub battle_target_info: ::std::collections::HashMap<u32, BattleTargetList>,
    #[prost(message, optional, tag = "10")]
    pub ajgpjglpmio: ::core::option::Option<Ljgiaglfhhc>,
    #[prost(message, repeated, tag = "11")]
    pub ejcljldendm: ::prost::alloc::vec::Vec<BattleAvatar>,
    #[prost(message, optional, tag = "12")]
    pub jpgifchjdlk: ::core::option::Option<EvolveBuildBattleInfo>,
    #[prost(message, optional, tag = "13")]
    pub mfkjokajjmj: ::core::option::Option<Gieibeacbao>,
    #[prost(message, optional, tag = "14")]
    pub rogue_magic_battle_info: ::core::option::Option<RogueMagicBattleInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gieibeacbao {
    #[prost(map = "uint32, uint32", tag = "1")]
    pub gccjdhkhmnk: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "2")]
    pub fpbnipmhanh: u32,
    #[prost(uint32, tag = "3")]
    pub aagiancieeg: u32,
    #[prost(uint32, tag = "4")]
    pub elpfomlcobm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkiakjmeaml {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub index: u32,
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub passive_skill: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "AetherdivideSpiritLineupType", tag = "5")]
    pub r#type: i32,
    #[prost(message, optional, tag = "6")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pndfmbjfgim {
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<Pkiakjmeaml>,
    #[prost(message, repeated, tag = "2")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<BattleMonsterWave>,
    #[prost(message, repeated, tag = "3")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientTurnSnapshot {
    #[prost(uint32, tag = "1")]
    pub turn_counter: u32,
    #[prost(uint32, tag = "2")]
    pub dnapmnemhbo: u32,
    #[prost(uint32, tag = "3")]
    pub ibjfafabgbk: u32,
    #[prost(message, repeated, tag = "4")]
    pub cdafgdbmajn: ::prost::alloc::vec::Vec<CharacterSnapshot>,
    #[prost(message, repeated, tag = "5")]
    pub kflnkebbonk: ::prost::alloc::vec::Vec<Elcpgninpin>,
    #[prost(uint32, tag = "6")]
    pub jeinbmlfcbp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GamecoreConfig {
    #[prost(bool, tag = "1")]
    pub fkmdhibfomh: bool,
    #[prost(uint32, tag = "2")]
    pub kpebbgcmmip: u32,
    #[prost(bool, tag = "3")]
    pub is_auto_fight: bool,
    #[prost(string, tag = "4")]
    pub fhidoicafol: ::prost::alloc::string::String,
    #[prost(bool, tag = "5")]
    pub lkfdpdldmib: bool,
    #[prost(bool, tag = "6")]
    pub mnalpnfnmio: bool,
    #[prost(uint32, tag = "7")]
    pub ggfcojflkbp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleBuffMsg {
    #[prost(uint32, repeated, tag = "1")]
    pub bought_miracle_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub ejhflinciaf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub ofnapbilngg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub hejhnakohlm: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dkflaljdifl {
    #[prost(uint32, tag = "1")]
    pub mbbchgenggl: u32,
    #[prost(uint32, tag = "2")]
    pub hfcdphchfgk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbmcfoliolo {
    #[prost(bool, tag = "1")]
    pub cdnojcacelj: bool,
    #[prost(map = "string, message", tag = "2")]
    pub haneginlani: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        Dkflaljdifl,
    >,
    #[prost(bytes = "vec", tag = "3")]
    pub cjkmgenojbe: ::prost::alloc::vec::Vec<u8>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Miaidaildkm {
    #[prost(message, repeated, tag = "1")]
    pub eeflghcobml: ::prost::alloc::vec::Vec<ClientTurnSnapshot>,
    #[prost(string, tag = "2")]
    pub kgbhehhfmpi: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub debug_extra_info: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "4")]
    pub hlagimenbjg: ::prost::alloc::vec::Vec<BattleReplayStringHash>,
    #[prost(uint32, tag = "5")]
    pub plane_id: u32,
    #[prost(uint32, tag = "6")]
    pub floor_id: u32,
    #[prost(uint32, tag = "7")]
    pub ebhlfaeglcd: u32,
    #[prost(uint32, tag = "8")]
    pub bnjmmlkofcp: u32,
    #[prost(message, optional, tag = "9")]
    pub edhbgdeicnc: ::core::option::Option<Mbmcfoliolo>,
    #[prost(uint32, tag = "10")]
    pub bbnaefbaplg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ialpdfglbml {
    #[prost(uint32, tag = "1")]
    pub version: u32,
    #[prost(uint32, tag = "2")]
    pub logic_random_seed: u32,
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    #[prost(message, optional, tag = "4")]
    pub lineup: ::core::option::Option<BattleLineup>,
    #[prost(message, repeated, tag = "5")]
    pub op_list: ::prost::alloc::vec::Vec<BattleOp>,
    #[prost(bytes = "vec", tag = "6")]
    pub turn_snapshot_hash: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "7")]
    pub maze_plane_id: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub extra_ability_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "9")]
    pub is_ai_consider_ultra_skill: bool,
    #[prost(enumeration = "BattleCheckStrategyType", tag = "10")]
    pub check_strategy: i32,
    #[prost(enumeration = "BattleModuleType", tag = "11")]
    pub battle_module_type: i32,
    #[prost(message, repeated, tag = "12")]
    pub event_battle_info_list: ::prost::alloc::vec::Vec<BattleEventBattleInfo>,
    #[prost(uint32, tag = "14")]
    pub rounds_limit: u32,
    #[prost(message, optional, tag = "15")]
    pub config: ::core::option::Option<GamecoreConfig>,
    #[prost(bytes = "vec", tag = "16")]
    pub game_core_log_encode: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "17")]
    pub cost_time: u32,
    #[prost(uint32, tag = "18")]
    pub wave_count: u32,
    #[prost(message, optional, tag = "19")]
    pub gmpcfgedhki: ::core::option::Option<Pndfmbjfgim>,
    #[prost(message, optional, tag = "100")]
    pub bnmiiahadjh: ::core::option::Option<Miaidaildkm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleReplayStringHash {
    #[prost(int32, tag = "1")]
    pub hash: i32,
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarProperty {
    #[prost(double, tag = "1")]
    pub max_hp: f64,
    #[prost(double, tag = "2")]
    pub attack: f64,
    #[prost(double, tag = "3")]
    pub defence: f64,
    #[prost(double, tag = "4")]
    pub speed: f64,
    #[prost(double, tag = "5")]
    pub left_hp: f64,
    #[prost(double, tag = "6")]
    pub left_sp: f64,
    #[prost(double, tag = "7")]
    pub max_sp: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EquipmentProperty {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    #[prost(uint32, tag = "4")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AttackDamageProperty {
    #[prost(string, tag = "1")]
    pub attack_type: ::prost::alloc::string::String,
    #[prost(double, tag = "2")]
    pub damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SkillUseProperty {
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
    #[prost(string, tag = "2")]
    pub skill_type: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub skill_level: u32,
    #[prost(uint32, tag = "4")]
    pub skill_use_count: u32,
    #[prost(uint32, tag = "5")]
    pub ifejkalhopi: u32,
    #[prost(uint32, tag = "6")]
    pub jhdhlcncdnc: u32,
    #[prost(uint32, tag = "7")]
    pub hoafnnijoom: u32,
    #[prost(uint32, tag = "8")]
    pub mdeadclnjcj: u32,
    #[prost(uint32, tag = "9")]
    pub ohnppjemkde: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gaagehabinm {
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
    #[prost(double, tag = "2")]
    pub hgflpenkiii: f64,
    #[prost(uint32, repeated, tag = "3")]
    pub battle_target_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(double, tag = "4")]
    pub damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpAddSource {
    #[prost(string, tag = "1")]
    pub source: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub sp_add: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AbilityUseStt {
    #[prost(string, tag = "1")]
    pub fkhhobbfmeh: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub count: u32,
    #[prost(double, tag = "3")]
    pub total_damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarBattleInfo {
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub avatar_level: u32,
    #[prost(uint32, tag = "4")]
    pub avatar_rank: u32,
    #[prost(uint32, tag = "5")]
    pub avatar_promotion: u32,
    #[prost(message, optional, tag = "6")]
    pub avatar_status: ::core::option::Option<AvatarProperty>,
    #[prost(message, repeated, tag = "7")]
    pub avatar_skill: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(message, repeated, tag = "8")]
    pub avatar_equipment: ::prost::alloc::vec::Vec<EquipmentProperty>,
    #[prost(uint32, tag = "9")]
    pub total_turns: u32,
    #[prost(double, tag = "10")]
    pub total_damage: f64,
    #[prost(double, tag = "11")]
    pub total_heal: f64,
    #[prost(double, tag = "12")]
    pub total_damage_taken: f64,
    #[prost(double, tag = "13")]
    pub total_hp_recover: f64,
    #[prost(double, tag = "14")]
    pub maceeaaeemc: f64,
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
    #[prost(uint32, tag = "16")]
    pub stage_type: u32,
    #[prost(double, tag = "17")]
    pub lankmapidbd: f64,
    #[prost(message, repeated, tag = "18")]
    pub attack_damage_type: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "19")]
    pub attack_type_break_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "20")]
    pub attack_type_max_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "21")]
    pub skill_times: ::prost::alloc::vec::Vec<SkillUseProperty>,
    #[prost(double, tag = "22")]
    pub delay_cumulate: f64,
    #[prost(uint32, tag = "23")]
    pub total_sp_add: u32,
    #[prost(message, repeated, tag = "24")]
    pub sp_add_source_list: ::prost::alloc::vec::Vec<SpAddSource>,
    #[prost(uint32, tag = "25")]
    pub total_bp_cost: u32,
    #[prost(uint32, tag = "26")]
    pub die_times: u32,
    #[prost(uint32, tag = "27")]
    pub revive_times: u32,
    #[prost(uint32, tag = "28")]
    pub break_times: u32,
    #[prost(uint32, tag = "29")]
    pub extra_turns: u32,
    #[prost(double, tag = "30")]
    pub total_shield: f64,
    #[prost(double, tag = "31")]
    pub total_shield_taken: f64,
    #[prost(double, tag = "32")]
    pub total_shield_damage: f64,
    #[prost(message, optional, tag = "33")]
    pub initial_status: ::core::option::Option<AvatarProperty>,
    #[prost(message, repeated, tag = "34")]
    pub relics: ::prost::alloc::vec::Vec<BattleRelic>,
    #[prost(uint32, tag = "35")]
    pub assist_uid: u32,
    #[prost(message, repeated, tag = "36")]
    pub aadgflpbpdf: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(double, tag = "37")]
    pub fpfbmimbbhj: f64,
    #[prost(double, tag = "38")]
    pub ggpjohnocpc: f64,
    #[prost(double, tag = "39")]
    pub lackcjhhimk: f64,
    #[prost(double, tag = "40")]
    pub fmodlgobnpe: f64,
    #[prost(message, repeated, tag = "41")]
    pub lhkabnickjn: ::prost::alloc::vec::Vec<AbilityUseStt>,
    #[prost(uint32, tag = "42")]
    pub ncjhdjjdjnl: u32,
    #[prost(uint32, tag = "43")]
    pub lkmgdiadopb: u32,
    #[prost(double, tag = "44")]
    pub iblgmcipckm: f64,
    #[prost(double, tag = "45")]
    pub hacjdjigmgp: f64,
    #[prost(double, tag = "46")]
    pub imdjahajgcf: f64,
    #[prost(double, tag = "47")]
    pub jdolkdbiclj: f64,
    #[prost(double, tag = "48")]
    pub caccoddcjhi: f64,
    #[prost(uint32, tag = "49")]
    pub lldmlohbflo: u32,
    #[prost(uint32, tag = "50")]
    pub chnikkcibeg: u32,
    #[prost(uint32, tag = "51")]
    pub lbnjhhhlpmo: u32,
    #[prost(double, tag = "52")]
    pub pdlilfichil: f64,
    #[prost(uint32, tag = "53")]
    pub pmklphjiohc: u32,
    #[prost(uint32, tag = "54")]
    pub mpfaenekfdc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonsterProperty {
    #[prost(double, tag = "1")]
    pub max_hp: f64,
    #[prost(double, tag = "2")]
    pub attack: f64,
    #[prost(double, tag = "3")]
    pub defence: f64,
    #[prost(double, tag = "4")]
    pub shield: f64,
    #[prost(double, tag = "5")]
    pub speed: f64,
    #[prost(double, tag = "6")]
    pub left_hp: f64,
    #[prost(double, tag = "7")]
    pub enter_battle_hp: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonsterPhaseStt {
    #[prost(uint32, tag = "1")]
    pub ndbojandnjn: u32,
    #[prost(double, tag = "2")]
    pub mmcphlpecdj: f64,
    #[prost(uint32, tag = "3")]
    pub doiadgdbohf: u32,
    #[prost(uint32, tag = "4")]
    pub break_times: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonsterBattleInfo {
    #[prost(uint32, tag = "1")]
    pub entity_id: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    #[prost(uint32, tag = "3")]
    pub oakilfgdacj: u32,
    #[prost(uint32, tag = "4")]
    pub bfpaoanbjon: u32,
    #[prost(message, optional, tag = "5")]
    pub nkcmcmhafaf: ::core::option::Option<MonsterProperty>,
    #[prost(uint32, tag = "6")]
    pub total_turns: u32,
    #[prost(double, tag = "7")]
    pub total_damage: f64,
    #[prost(double, tag = "8")]
    pub total_heal: f64,
    #[prost(double, tag = "9")]
    pub total_damage_taken: f64,
    #[prost(double, tag = "10")]
    pub akgfcpfaolp: f64,
    #[prost(double, tag = "11")]
    pub total_hp_recover: f64,
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
    #[prost(uint32, tag = "13")]
    pub battle_id: u32,
    #[prost(uint32, tag = "14")]
    pub jbcdlfjjjdg: u32,
    #[prost(message, repeated, tag = "15")]
    pub attack_damage_type: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "16")]
    pub skill_times: ::prost::alloc::vec::Vec<SkillUseProperty>,
    #[prost(uint32, tag = "17")]
    pub stage_type: u32,
    #[prost(double, tag = "18")]
    pub acofippjkbi: f64,
    #[prost(double, tag = "19")]
    pub delay_cumulate: f64,
    #[prost(enumeration = "DeathSource", tag = "20")]
    pub fiedknkiebh: i32,
    #[prost(uint32, tag = "21")]
    pub wave: u32,
    #[prost(int32, tag = "22")]
    pub jhaogjjdbhl: i32,
    #[prost(uint32, tag = "23")]
    pub phase: u32,
    #[prost(uint32, tag = "24")]
    pub dcmohecbolk: u32,
    #[prost(enumeration = "Agbpcblfnol", tag = "25")]
    pub jedahlgbiem: i32,
    #[prost(message, repeated, tag = "26")]
    pub skill_info: ::prost::alloc::vec::Vec<Gaagehabinm>,
    #[prost(uint32, tag = "27")]
    pub lanfclolbof: u32,
    #[prost(message, repeated, tag = "28")]
    pub kfgjbiljgdp: ::prost::alloc::vec::Vec<MonsterPhaseStt>,
    #[prost(uint32, tag = "29")]
    pub fpkoniklica: u32,
    #[prost(uint32, tag = "30")]
    pub jeemgaeifae: u32,
    #[prost(enumeration = "Hembndjafda", tag = "31")]
    pub hbofdajjjme: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleEventInitedData {
    #[prost(message, optional, tag = "2")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleEventBattleInfo {
    #[prost(uint32, tag = "1")]
    pub battle_event_id: u32,
    #[prost(message, optional, tag = "2")]
    pub status: ::core::option::Option<BattleEventInitedData>,
    #[prost(message, repeated, tag = "3")]
    pub skill_info: ::prost::alloc::vec::Vec<Gaagehabinm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ScoreInfo {
    #[prost(uint32, tag = "1")]
    pub fjjdfpkgopc: u32,
    #[prost(uint32, tag = "2")]
    pub score: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibffajohkmo {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub leickpdifog: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub source: u32,
    #[prost(double, tag = "4")]
    pub damage: f64,
    #[prost(uint32, repeated, tag = "5")]
    pub dikkhpfkapf: ::prost::alloc::vec::Vec<u32>,
    #[prost(int32, tag = "6")]
    pub eoofimegmfb: i32,
    #[prost(double, tag = "7")]
    pub bkjeampnank: f64,
    #[prost(uint32, tag = "8")]
    pub blfhkgpmndk: u32,
    #[prost(uint32, tag = "9")]
    pub wave: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kkmpkjpggcl {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(int32, tag = "2")]
    pub abapdfgjnme: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cnpnnijglfi {
    #[prost(uint32, tag = "1")]
    pub dpdnnmbcpoi: u32,
    #[prost(uint32, tag = "2")]
    pub dbeljgbkbpa: u32,
    #[prost(uint32, tag = "3")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iiiphjimnid {
    #[prost(uint32, tag = "1")]
    pub ndbojandnjn: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    #[prost(message, repeated, tag = "3")]
    pub nglpbhmlehn: ::prost::alloc::vec::Vec<Kkmpkjpggcl>,
    #[prost(uint32, tag = "4")]
    pub hgflpenkiii: u32,
    #[prost(message, repeated, tag = "5")]
    pub akkggpadaoo: ::prost::alloc::vec::Vec<Cnpnnijglfi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mmndjamebml {
    #[prost(enumeration = "Oedifangclh", tag = "1")]
    pub slot: i32,
    #[prost(uint32, tag = "2")]
    pub ocpppkddiml: u32,
    #[prost(uint32, tag = "3")]
    pub display_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kpkkkjpjcpc {
    #[prost(uint32, tag = "1")]
    pub lidgjndgbkm: u32,
    #[prost(uint32, tag = "2")]
    pub oaabadfkcoa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Meoifioaecf {
    #[prost(uint32, tag = "1")]
    pub jjccjjinlfl: u32,
    #[prost(bool, tag = "2")]
    pub locked: bool,
    #[prost(message, optional, tag = "3")]
    pub kacalgioedb: ::core::option::Option<Kpkkkjpjcpc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildCardInfo {
    #[prost(uint32, tag = "1")]
    pub card_id: u32,
    #[prost(double, tag = "2")]
    pub param: f64,
    #[prost(bool, tag = "3")]
    pub is_enable: bool,
    #[prost(double, repeated, tag = "4")]
    pub param_list: ::prost::alloc::vec::Vec<f64>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildGearDamageInfo {
    #[prost(uint32, tag = "1")]
    pub gear_id: u32,
    #[prost(double, tag = "2")]
    pub damage: f64,
    #[prost(double, tag = "3")]
    pub hp_damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgifednkhon {
    #[prost(uint32, repeated, tag = "1")]
    pub dakijnbfkob: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub fjjobaemehp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjkibjlobkd {
    #[prost(uint32, tag = "1")]
    pub wave: u32,
    #[prost(uint32, tag = "2")]
    pub score: u32,
    #[prost(uint32, tag = "3")]
    pub dchiolbfkjn: u32,
    #[prost(message, repeated, tag = "4")]
    pub bhjkmhmoeak: ::prost::alloc::vec::Vec<Kpkkkjpjcpc>,
    #[prost(float, tag = "5")]
    pub hgflpenkiii: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dkookejchgo {
    #[prost(uint32, tag = "1")]
    pub chbjkkmiofd: u32,
    #[prost(double, tag = "2")]
    pub hgflpenkiii: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmnhmamhgai {
    #[prost(uint32, tag = "1")]
    pub icphoomndka: u32,
    #[prost(message, repeated, tag = "2")]
    pub enbjcpkgcol: ::prost::alloc::vec::Vec<Mjkibjlobkd>,
    #[prost(message, repeated, tag = "3")]
    pub oooglieooki: ::prost::alloc::vec::Vec<Dkookejchgo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Egdajhjplgi {
    #[prost(enumeration = "Bojgakmdpdl", tag = "1")]
    pub slot: i32,
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildBattleInfo {
    #[prost(uint32, tag = "1")]
    pub cur_level_id: u32,
    #[prost(uint32, tag = "2")]
    pub cur_period: u32,
    #[prost(uint32, tag = "3")]
    pub cur_coin: u32,
    #[prost(message, repeated, tag = "4")]
    pub weapon_slot_list: ::prost::alloc::vec::Vec<Meoifioaecf>,
    #[prost(message, repeated, tag = "5")]
    pub accessory_slot_list: ::prost::alloc::vec::Vec<Meoifioaecf>,
    #[prost(uint32, repeated, tag = "6")]
    pub ban_gear_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "7")]
    pub collection: ::core::option::Option<Lgifednkhon>,
    #[prost(uint32, repeated, tag = "8")]
    pub allowed_gear_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub cur_exp: u32,
    #[prost(uint32, tag = "10")]
    pub cur_reroll: u32,
    #[prost(uint32, tag = "11")]
    pub cur_treasure_miss_cnt: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub period_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub cur_gear_lost_cnt: u32,
    #[prost(uint32, tag = "14")]
    pub cur_wave: u32,
    #[prost(bool, tag = "15")]
    pub is_unlock_gear_reroll: bool,
    #[prost(bool, tag = "16")]
    pub is_unlock_gear_ban: bool,
    #[prost(message, repeated, tag = "17")]
    pub card_list: ::prost::alloc::vec::Vec<EvolveBuildCardInfo>,
    #[prost(message, repeated, tag = "18")]
    pub gear_damage_list: ::prost::alloc::vec::Vec<EvolveBuildGearDamageInfo>,
    #[prost(uint32, repeated, tag = "19")]
    pub stat_params: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "20")]
    pub is_giveup: bool,
    #[prost(uint32, tag = "21")]
    pub cur_unused_round_cnt: u32,
    #[prost(message, optional, tag = "22")]
    pub stat_log_info: ::core::option::Option<Pmnhmamhgai>,
    #[prost(uint32, tag = "23")]
    pub period_first_random_seed: u32,
    #[prost(uint32, tag = "24")]
    pub cur_card_reroll: u32,
    #[prost(uint32, repeated, tag = "25")]
    pub allowed_card_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "26")]
    pub func_list: ::prost::alloc::vec::Vec<Egdajhjplgi>,
    #[prost(uint32, tag = "27")]
    pub finished_story_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plpnlibmnio {
    #[prost(string, tag = "1")]
    pub phase: ::prost::alloc::string::String,
    #[prost(float, tag = "2")]
    pub dbdcnafoglf: f32,
    #[prost(float, tag = "3")]
    pub hdalbiancmf: f32,
    #[prost(uint32, tag = "4")]
    pub adjbbabehah: u32,
    #[prost(uint32, tag = "5")]
    pub pjbiaejecae: u32,
    #[prost(uint32, tag = "6")]
    pub kpnacghjalj: u32,
    #[prost(uint32, tag = "7")]
    pub fpjadbgohkm: u32,
    #[prost(uint32, tag = "8")]
    pub cjejofamdcd: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub bgjcedeahgm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub aagjcjiofpa: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chdonigoknm {
    #[prost(uint32, tag = "1")]
    pub heocpakcelm: u32,
    #[prost(uint32, tag = "2")]
    pub bghkbmfhmoj: u32,
    #[prost(uint32, tag = "3")]
    pub loollagmnlh: u32,
    #[prost(uint32, tag = "4")]
    pub hecjooobahc: u32,
    #[prost(uint32, tag = "5")]
    pub fkeaaipkpaa: u32,
    #[prost(uint32, tag = "6")]
    pub icleenhipoh: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub boss_buff_info: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "8")]
    pub odbonkcmdmp: ::prost::alloc::vec::Vec<Plpnlibmnio>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jffndobbnfb {
    #[prost(uint32, tag = "1")]
    pub wave: u32,
    #[prost(double, tag = "2")]
    pub hfihdddiljb: f64,
    #[prost(double, tag = "3")]
    pub khgclcllecl: f64,
    #[prost(uint32, tag = "4")]
    pub ffpmjfhncho: u32,
    #[prost(uint32, tag = "5")]
    pub gmmbgamhbkb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekbagmomecl {
    #[prost(string, tag = "1")]
    pub key: ::prost::alloc::string::String,
    #[prost(double, tag = "2")]
    pub value: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Plgjihifpag {
    #[prost(uint32, tag = "1")]
    pub egmebanhhnf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleRogueMagicRoundCount {
    #[prost(uint32, tag = "1")]
    pub gpojenhaiba: u32,
    #[prost(uint32, tag = "2")]
    pub kljklbmlefo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRogueMagicUnit {
    #[prost(uint32, tag = "1")]
    pub unit_id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(bool, tag = "3")]
    pub locked: bool,
    #[prost(uint32, tag = "4")]
    pub slot_id: u32,
    #[prost(map = "uint32, uint32", tag = "5")]
    pub counter_map: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRogueMagicScepter {
    #[prost(uint32, tag = "1")]
    pub scepter_id: u32,
    #[prost(message, repeated, tag = "2")]
    pub magic_list: ::prost::alloc::vec::Vec<BattleRogueMagicUnit>,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(map = "uint32, uint32", tag = "4")]
    pub trench_count: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRogueMagicData {
    #[prost(message, optional, tag = "1")]
    pub round_cnt: ::core::option::Option<BattleRogueMagicRoundCount>,
    #[prost(message, repeated, tag = "2")]
    pub battle_scepter_list: ::prost::alloc::vec::Vec<BattleRogueMagicScepter>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fkocboocdnl {
    #[prost(uint32, tag = "1")]
    pub poiiaiakilf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicBattleUnitInfo {
    #[prost(oneof = "rogue_magic_battle_unit_info::Item", tags = "1, 2")]
    pub item: ::core::option::Option<rogue_magic_battle_unit_info::Item>,
}
/// Nested message and enum types in `RogueMagicBattleUnitInfo`.
pub mod rogue_magic_battle_unit_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Item {
        #[prost(message, tag = "1")]
        BattleRogueMagicData(super::BattleRogueMagicData),
        #[prost(message, tag = "2")]
        Ennpjglcbem(super::Fkocboocdnl),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicBattleInfo {
    #[prost(message, optional, tag = "1")]
    pub scepter: ::core::option::Option<Plgjihifpag>,
    #[prost(message, optional, tag = "2")]
    pub player_detail_info: ::core::option::Option<RogueMagicBattleUnitInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ccccgjabbpm {
    #[prost(uint32, tag = "1")]
    pub scepter_id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(double, tag = "3")]
    pub total_damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aenpijcdbmh {
    #[prost(uint32, tag = "1")]
    pub klmcppbbooh: u32,
    #[prost(uint32, tag = "2")]
    pub kmoeadpmflg: u32,
    #[prost(message, repeated, tag = "3")]
    pub cicanokpnbm: ::prost::alloc::vec::Vec<Ccccgjabbpm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gbncgkdnmil {
    #[prost(uint32, tag = "1")]
    pub aenkmaoabmp: u32,
    #[prost(uint32, tag = "2")]
    pub mcdpiabdigi: u32,
    #[prost(double, tag = "3")]
    pub jnimloiohnh: f64,
    #[prost(double, tag = "4")]
    pub iejjjkfedah: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mbjhfpcjaln {
    #[prost(message, optional, tag = "1")]
    pub ehnnecghjal: ::core::option::Option<Gbncgkdnmil>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aigknhfanga {
    #[prost(message, optional, tag = "1")]
    pub eilaabldphm: ::core::option::Option<Aenpijcdbmh>,
    #[prost(message, optional, tag = "2")]
    pub inpkgdfmpea: ::core::option::Option<Mbjhfpcjaln>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lhlbianfohk {
    #[prost(uint32, tag = "1")]
    pub monster_id: u32,
    #[prost(uint32, tag = "2")]
    pub gmlfmpjpegg: u32,
    #[prost(uint32, tag = "3")]
    pub ffpmjfhncho: u32,
    #[prost(uint32, tag = "4")]
    pub gmmbgamhbkb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Llbmaphbogd {
    #[prost(uint32, tag = "1")]
    pub acpbmmmcjip: u32,
    #[prost(double, tag = "2")]
    pub kkancjaljpo: f64,
    #[prost(double, tag = "3")]
    pub mfjkflgpgko: f64,
    #[prost(uint32, tag = "4")]
    pub wave: u32,
    #[prost(uint32, tag = "5")]
    pub gmlfmpjpegg: u32,
    #[prost(double, tag = "6")]
    pub abmnlnnoklo: f64,
    #[prost(double, tag = "7")]
    pub ihbbekcoeae: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dpndlhgemei {
    #[prost(uint32, tag = "1")]
    pub imcpkldfdog: u32,
    #[prost(uint32, tag = "2")]
    pub ajgeofiiddh: u32,
    #[prost(double, tag = "3")]
    pub omoenbakmhj: f64,
    #[prost(uint32, tag = "4")]
    pub wave: u32,
    #[prost(uint32, tag = "5")]
    pub gmlfmpjpegg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpfcbladmbh {
    #[prost(message, repeated, tag = "1")]
    pub haafhkiagkm: ::prost::alloc::vec::Vec<Lhlbianfohk>,
    #[prost(message, repeated, tag = "2")]
    pub oeagamjdlma: ::prost::alloc::vec::Vec<Llbmaphbogd>,
    #[prost(message, repeated, tag = "3")]
    pub plennpagjll: ::prost::alloc::vec::Vec<Dpndlhgemei>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Baagnohehma {
    #[prost(message, optional, tag = "1")]
    pub oimbgaehdbi: ::core::option::Option<Cpfcbladmbh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mkeecchgigh {
    #[prost(uint32, tag = "1")]
    pub nmimbiopeki: u32,
    #[prost(double, tag = "2")]
    pub kkancjaljpo: f64,
    #[prost(double, tag = "3")]
    pub mfjkflgpgko: f64,
    #[prost(uint32, tag = "4")]
    pub fgmlckanian: u32,
    #[prost(uint32, tag = "5")]
    pub goaebjjpajo: u32,
    #[prost(uint32, tag = "6")]
    pub nilakidfhej: u32,
    #[prost(uint32, tag = "7")]
    pub pigndajgdgj: u32,
    #[prost(double, tag = "8")]
    pub abmnlnnoklo: f64,
    #[prost(uint32, tag = "9")]
    pub jbjmophgmfa: u32,
    #[prost(uint32, tag = "10")]
    pub pobibiloani: u32,
    #[prost(double, tag = "11")]
    pub ihbbekcoeae: f64,
    #[prost(uint32, tag = "12")]
    pub loollagmnlh: u32,
    #[prost(uint32, tag = "13")]
    pub fkeaaipkpaa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdmgoejbfgl {
    #[prost(uint32, tag = "1")]
    pub loollagmnlh: u32,
    #[prost(uint32, tag = "2")]
    pub fkeaaipkpaa: u32,
    #[prost(uint32, tag = "3")]
    pub akpmnjcggai: u32,
    #[prost(message, repeated, tag = "4")]
    pub oeagamjdlma: ::prost::alloc::vec::Vec<Mkeecchgigh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hanhnlneicm {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "2")]
    pub dpdnnmbcpoi: u32,
    #[prost(uint32, tag = "3")]
    pub total_turns: u32,
    #[prost(double, tag = "4")]
    pub fbcmjgmbjfc: f64,
    #[prost(message, repeated, tag = "5")]
    pub skill_times: ::prost::alloc::vec::Vec<SkillUseProperty>,
    #[prost(double, tag = "6")]
    pub total_damage: f64,
    #[prost(double, tag = "7")]
    pub lankmapidbd: f64,
    #[prost(message, repeated, tag = "8")]
    pub attack_damage_type: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "9")]
    pub attack_type_break_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "10")]
    pub attack_type_max_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(double, tag = "11")]
    pub total_damage_taken: f64,
    #[prost(double, tag = "12")]
    pub total_heal: f64,
    #[prost(double, tag = "13")]
    pub total_hp_recover: f64,
    #[prost(double, tag = "14")]
    pub total_shield: f64,
    #[prost(double, tag = "15")]
    pub total_shield_taken: f64,
    #[prost(double, tag = "16")]
    pub total_shield_damage: f64,
    #[prost(uint32, tag = "17")]
    pub break_times: u32,
    #[prost(uint32, tag = "18")]
    pub jeplcjkfomb: u32,
    #[prost(uint32, tag = "19")]
    pub ncjhdjjdjnl: u32,
    #[prost(uint32, tag = "20")]
    pub lkmgdiadopb: u32,
    #[prost(double, tag = "21")]
    pub iblgmcipckm: f64,
    #[prost(uint32, tag = "22")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pedjnpjkock {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "2")]
    pub ojeblmkkmgo: u32,
    #[prost(uint32, tag = "3")]
    pub iagenfadhlp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmcmohahopl {
    #[prost(message, repeated, tag = "1")]
    pub pccdmdfnjpd: ::prost::alloc::vec::Vec<Hanhnlneicm>,
    #[prost(uint32, tag = "2")]
    pub hkpbefflfeo: u32,
    #[prost(uint32, tag = "3")]
    pub dfnkmijebld: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleStatistics {
    #[prost(uint32, tag = "1")]
    pub angplnaledp: u32,
    #[prost(uint32, tag = "2")]
    pub khkfkdnbhpe: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub bfdobflljbe: u32,
    #[prost(double, tag = "5")]
    pub nnmdmpkccke: f64,
    #[prost(double, tag = "6")]
    pub bclnmidffoh: f64,
    #[prost(message, repeated, tag = "7")]
    pub akfkcpfabmk: ::prost::alloc::vec::Vec<AvatarBattleInfo>,
    #[prost(message, repeated, tag = "8")]
    pub jojfmjfoehb: ::prost::alloc::vec::Vec<MonsterBattleInfo>,
    #[prost(uint32, tag = "9")]
    pub lmkmfcdmfbi: u32,
    #[prost(uint32, tag = "10")]
    pub dnjidnnnmna: u32,
    #[prost(uint32, tag = "11")]
    pub hhhapgmlbjc: u32,
    #[prost(uint32, tag = "12")]
    pub kjmfjifdgpj: u32,
    #[prost(map = "string, float", tag = "13")]
    pub nbdekmakpkj: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
    #[prost(uint32, tag = "14")]
    pub kgecjkkpbdh: u32,
    #[prost(message, repeated, tag = "16")]
    pub ijolofbjinb: ::prost::alloc::vec::Vec<BattleEventBattleInfo>,
    #[prost(enumeration = "BattleEndReason", tag = "19")]
    pub hbgclmcgnfm: i32,
    #[prost(message, repeated, tag = "21")]
    pub glojpnlnhjh: ::prost::alloc::vec::Vec<Ibffajohkmo>,
    #[prost(int32, repeated, tag = "22")]
    pub iiccefcgpak: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, repeated, tag = "23")]
    pub ldgaanonmbk: ::prost::alloc::vec::Vec<Iiiphjimnid>,
    #[prost(message, repeated, tag = "26")]
    pub adbhgkpnikp: ::prost::alloc::vec::Vec<Mmndjamebml>,
    #[prost(message, repeated, tag = "27")]
    pub ecefbcnofkb: ::prost::alloc::vec::Vec<Gmkepcomhpn>,
    #[prost(map = "uint32, message", tag = "28")]
    pub battle_target_info: ::std::collections::HashMap<u32, BattleTargetList>,
    #[prost(message, repeated, tag = "29")]
    pub najlkhfllpg: ::prost::alloc::vec::Vec<Eagocahfgaf>,
    #[prost(message, optional, tag = "30")]
    pub jpgifchjdlk: ::core::option::Option<EvolveBuildBattleInfo>,
    #[prost(message, optional, tag = "31")]
    pub mnphnjkgpkl: ::core::option::Option<Chdonigoknm>,
    #[prost(bool, tag = "32")]
    pub leddodammno: bool,
    #[prost(message, repeated, tag = "33")]
    pub enbjcpkgcol: ::prost::alloc::vec::Vec<Jffndobbnfb>,
    #[prost(message, repeated, tag = "34")]
    pub ngoknfdmhmf: ::prost::alloc::vec::Vec<Ekbagmomecl>,
    #[prost(uint32, tag = "35")]
    pub dkoeadnamcj: u32,
    #[prost(message, optional, tag = "36")]
    pub idcgpakjfmd: ::core::option::Option<Aigknhfanga>,
    #[prost(message, optional, tag = "37")]
    pub billjjbfiol: ::core::option::Option<Baagnohehma>,
    #[prost(message, optional, tag = "38")]
    pub hmpgmiljapb: ::core::option::Option<Bdmgoejbfgl>,
    #[prost(message, optional, tag = "39")]
    pub nocigfllifg: ::core::option::Option<Nmcmohahopl>,
    #[prost(message, repeated, tag = "42")]
    pub okgcipahmei: ::prost::alloc::vec::Vec<Pedjnpjkock>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eagocahfgaf {
    #[prost(uint32, tag = "1")]
    pub oefeefglieb: u32,
    #[prost(uint32, tag = "2")]
    pub pbhphhmpaih: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gmkepcomhpn {
    #[prost(enumeration = "AetherdivideSpiritLineupType", tag = "1")]
    pub slot: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(message, optional, tag = "3")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dkojghahgaj {
    #[prost(uint32, tag = "1")]
    pub hciigmflpim: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ephilimkadk {
    #[prost(enumeration = "BattleCheckResultType", tag = "1")]
    pub retcode: i32,
    #[prost(enumeration = "BattleEndStatus", tag = "2")]
    pub end_status: i32,
    #[prost(message, optional, tag = "3")]
    pub stt: ::core::option::Option<BattleStatistics>,
    #[prost(bytes = "vec", tag = "4")]
    pub game_core_log_encode: ::prost::alloc::vec::Vec<u8>,
    #[prost(map = "string, uint32", tag = "5")]
    pub dgnmmingacj: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
    #[prost(uint32, tag = "6")]
    pub ndcmdokkphh: u32,
    #[prost(uint32, tag = "7")]
    pub mdlpcfcphdk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CharacterSnapshot {
    #[prost(uint32, tag = "1")]
    pub kpjddifefdd: u32,
    #[prost(uint64, repeated, tag = "2")]
    pub biappigpbog: ::prost::alloc::vec::Vec<u64>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elcpgninpin {
    #[prost(string, tag = "1")]
    pub cjilblkomak: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oodocmdlomf {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(string, tag = "3")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "4")]
    pub gfidnaanafh: u32,
    #[prost(enumeration = "PlatformType", tag = "5")]
    pub platform_type: i32,
    #[prost(string, tag = "6")]
    pub akcejfcfban: ::prost::alloc::string::String,
    #[prost(string, tag = "7")]
    pub bjellapogjn: ::prost::alloc::string::String,
    #[prost(uint64, tag = "8")]
    pub version: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iddlkhhlecg {
    #[prost(enumeration = "Hbpfdgnndef", tag = "1")]
    pub noiiaoidgeo: i32,
    #[prost(enumeration = "Edkfijacjgl", tag = "2")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Njfgjpcandi {
    #[prost(uint32, tag = "1")]
    pub bkmpfeocfib: u32,
    #[prost(bool, tag = "2")]
    pub cocongacifj: bool,
    #[prost(uint32, tag = "3")]
    pub jejkigabeek: u32,
    #[prost(uint32, tag = "4")]
    pub miafpfpmaca: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcmifobknen {
    #[prost(uint32, tag = "1")]
    pub mkfdpcckfnf: u32,
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub gnigohiaffi: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub score: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epeghcgcmhp {
    #[prost(string, repeated, tag = "1")]
    pub bhgghfjmmbm: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(bool, tag = "2")]
    pub fmopbfknlni: bool,
    #[prost(oneof = "epeghcgcmhp::Emahjgmlbnj", tags = "1001, 1002")]
    pub emahjgmlbnj: ::core::option::Option<epeghcgcmhp::Emahjgmlbnj>,
}
/// Nested message and enum types in `EPEGHCGCMHP`.
pub mod epeghcgcmhp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Emahjgmlbnj {
        #[prost(message, tag = "1001")]
        Dchdjallnec(super::Njfgjpcandi),
        #[prost(message, tag = "1002")]
        Embbhncjdpk(super::Lcmifobknen),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbbdiomifhd {
    #[prost(message, optional, tag = "1")]
    pub basic_info: ::core::option::Option<Oodocmdlomf>,
    #[prost(message, optional, tag = "2")]
    pub nckccokdkol: ::core::option::Option<Iddlkhhlecg>,
    #[prost(message, optional, tag = "3")]
    pub story_info: ::core::option::Option<Epeghcgcmhp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cdimemfjjfp {
    #[prost(uint32, tag = "1")]
    pub lmmgodphjne: u32,
    #[prost(uint32, tag = "2")]
    pub pgjccgnbbpi: u32,
    #[prost(uint32, tag = "3")]
    pub nnbhkcjcpio: u32,
    #[prost(uint32, tag = "4")]
    pub khbnjgpphoa: u32,
    #[prost(uint32, tag = "5")]
    pub agdceblfgkh: u32,
    #[prost(uint32, tag = "6")]
    pub dncpbbliopl: u32,
    #[prost(uint32, tag = "7")]
    pub lilifgbafkn: u32,
    #[prost(uint32, tag = "8")]
    pub mmiijhohoge: u32,
    #[prost(uint32, tag = "9")]
    pub iokfikhhang: u32,
    #[prost(uint32, tag = "10")]
    pub cilkfjblejg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ppggkmdaoea {
    #[prost(uint64, tag = "1")]
    pub lofamegpmbc: u64,
    #[prost(enumeration = "Noogdpkefkl", tag = "2")]
    pub gbahcdlhacn: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Biplkgdfafj {
    #[prost(uint64, tag = "1")]
    pub id: u64,
    #[prost(enumeration = "Noogdpkefkl", tag = "2")]
    pub pdmolplcflg: i32,
    #[prost(message, repeated, tag = "3")]
    pub iihpmlibbeb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
    #[prost(enumeration = "Khjpjangecp", tag = "4")]
    pub slot: i32,
    #[prost(uint64, tag = "5")]
    pub infhikbljla: u64,
    #[prost(uint64, tag = "6")]
    pub mlelajdljnl: u64,
    #[prost(uint32, tag = "7")]
    pub jbnenlhccbh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fonbbadfkbk {
    #[prost(uint32, tag = "6")]
    pub module_id: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub jlhoggdhmhg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub fdejbipgndl: u32,
    #[prost(uint32, tag = "12")]
    pub id: u32,
}
/// Obf: EDJAELBBBPL
#[derive(proto_derive::CmdID)]
#[cmdid(2695)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetLoginActivityCsReq {}
/// Obf: JHGDJDIOECM
#[derive(proto_derive::CmdID)]
#[cmdid(2632)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLoginActivityScRsp {
    #[prost(message, repeated, tag = "2")]
    pub kjcgmejfjfc: ::prost::alloc::vec::Vec<Fonbbadfkbk>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: HFNIJKDDACE
#[derive(proto_derive::CmdID)]
#[cmdid(2631)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeLoginActivityRewardCsReq {
    #[prost(uint32, tag = "2")]
    pub iafhepinjhl: u32,
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
/// Obf: BEEDJDOIKBI
#[derive(proto_derive::CmdID)]
#[cmdid(2640)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeLoginActivityRewardScRsp {
    #[prost(uint32, tag = "3")]
    pub iafhepinjhl: u32,
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(uint32, tag = "13")]
    pub module_id: u32,
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ActivityScheduleInfo {
    #[prost(uint32, tag = "6")]
    pub activity_id: u32,
    #[prost(uint32, tag = "10")]
    pub module_id: u32,
    #[prost(int64, tag = "9")]
    pub end_time: i64,
    #[prost(int64, tag = "12")]
    pub begin_time: i64,
}
/// Obf: LIPEJIELOMO
#[derive(proto_derive::CmdID)]
#[cmdid(2676)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetActivityScheduleConfigCsReq {}
/// Obf: KGDABKFEHJF
#[derive(proto_derive::CmdID)]
#[cmdid(2648)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActivityScheduleConfigScRsp {
    #[prost(message, repeated, tag = "13")]
    pub activity_schedule_list: ::prost::alloc::vec::Vec<ActivityScheduleInfo>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hmkikhbgbfp {
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
    #[prost(bool, tag = "15")]
    pub taken_reward: bool,
}
/// Obf: MJNHBKEGKJJ
#[derive(proto_derive::CmdID)]
#[cmdid(2654)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTrialActivityDataCsReq {}
/// Obf: ILDLCCMOHPI
#[derive(proto_derive::CmdID)]
#[cmdid(2699)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrialActivityDataScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub akbclhjhodd: u32,
    #[prost(message, repeated, tag = "5")]
    pub faglfbdceic: ::prost::alloc::vec::Vec<Hmkikhbgbfp>,
}
/// Obf: NCOLNMNCJBP
#[derive(proto_derive::CmdID)]
#[cmdid(2687)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrialActivityDataChangeScNotify {
    #[prost(message, optional, tag = "7")]
    pub gljbjhjmcfp: ::core::option::Option<Hmkikhbgbfp>,
}
/// Obf: LCBHEGHLNOO
#[derive(proto_derive::CmdID)]
#[cmdid(2608)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterTrialActivityStageCsReq {
    #[prost(uint32, tag = "13")]
    pub stage_id: u32,
}
/// Obf: PDCKDBHBAIM
#[derive(proto_derive::CmdID)]
#[cmdid(2635)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTrialActivityStageScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: GILJFKPFFPO
#[derive(proto_derive::CmdID)]
#[cmdid(2634)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeTrialActivityRewardCsReq {
    #[prost(uint32, tag = "13")]
    pub stage_id: u32,
}
/// Obf: NJLEPOIEAFL
#[derive(proto_derive::CmdID)]
#[cmdid(2668)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTrialActivityRewardScRsp {
    #[prost(uint32, tag = "6")]
    pub stage_id: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: GHJFHIPDLMD
#[derive(proto_derive::CmdID)]
#[cmdid(2601)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartTrialActivityCsReq {
    #[prost(uint32, tag = "2")]
    pub stage_id: u32,
}
/// Obf: HFCEGJOCPDN
#[derive(proto_derive::CmdID)]
#[cmdid(2653)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartTrialActivityScRsp {
    #[prost(uint32, tag = "2")]
    pub stage_id: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: CHLMPOPOLCE
#[derive(proto_derive::CmdID)]
#[cmdid(2636)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveTrialActivityCsReq {
    #[prost(uint32, tag = "6")]
    pub stage_id: u32,
}
/// Obf: DMENGGDAFCN
#[derive(proto_derive::CmdID)]
#[cmdid(2694)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveTrialActivityScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
}
/// Obf: NGCLEMHDAHG
#[derive(proto_derive::CmdID)]
#[cmdid(2627)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CurTrialActivityScNotify {
    #[prost(enumeration = "Pmidehdobhj", tag = "7")]
    pub status: i32,
    #[prost(uint32, tag = "6")]
    pub akbclhjhodd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bcekbnmnhoo {
    #[prost(bool, tag = "12")]
    pub is_taken_reward: bool,
    #[prost(uint32, tag = "4")]
    pub module_id: u32,
    #[prost(bool, tag = "11")]
    pub cbnffemdbkf: bool,
    #[prost(uint32, tag = "5")]
    pub pehofbbdnic: u32,
}
/// Obf: JKHHDAMCDPN
#[derive(proto_derive::CmdID)]
#[cmdid(2602)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMaterialSubmitActivityDataCsReq {}
/// Obf: MIMIBBEOEEO
#[derive(proto_derive::CmdID)]
#[cmdid(2639)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMaterialSubmitActivityDataScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "7")]
    pub nblhgehlodn: ::prost::alloc::vec::Vec<Bcekbnmnhoo>,
}
/// Obf: OHLPOJADNJA
#[derive(proto_derive::CmdID)]
#[cmdid(2643)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubmitMaterialSubmitActivityMaterialCsReq {
    #[prost(uint32, tag = "3")]
    pub pehofbbdnic: u32,
}
/// Obf: EAAKFJNFGKB
#[derive(proto_derive::CmdID)]
#[cmdid(2633)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubmitMaterialSubmitActivityMaterialScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub blaaoiaeiah: ::core::option::Option<Bcekbnmnhoo>,
}
/// Obf: BEKEMIDKBFF
#[derive(proto_derive::CmdID)]
#[cmdid(2642)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeMaterialSubmitActivityRewardCsReq {
    #[prost(uint32, tag = "12")]
    pub pehofbbdnic: u32,
}
/// Obf: BKGKKDKCKHF
#[derive(proto_derive::CmdID)]
#[cmdid(2677)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMaterialSubmitActivityRewardScRsp {
    #[prost(uint32, tag = "1")]
    pub pehofbbdnic: u32,
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: OHANJNJCEPG
#[derive(proto_derive::CmdID)]
#[cmdid(2674)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAvatarDeliverRewardActivityDataCsReq {}
/// Obf: OHMLBNLDMAC
#[derive(proto_derive::CmdID)]
#[cmdid(2690)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAvatarDeliverRewardActivityDataScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    #[prost(bool, tag = "5")]
    pub is_taken_reward: bool,
}
/// Obf: EKNDBKPMEDA
#[derive(proto_derive::CmdID)]
#[cmdid(2617)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarDeliverRewardChooseAvatarCsReq {
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
}
/// Obf: AACHMPNFJHN
#[derive(proto_derive::CmdID)]
#[cmdid(2669)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarDeliverRewardChooseAvatarScRsp {
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: ABMHBIAPENA
#[derive(proto_derive::CmdID)]
#[cmdid(2649)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarDeliverRewardTakeRewardCsReq {}
/// Obf: OLKPEIJAMPM
#[derive(proto_derive::CmdID)]
#[cmdid(2603)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarDeliverRewardTakeRewardScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: JHJJGMHMHEH
#[derive(proto_derive::CmdID)]
#[cmdid(1395)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterAdventureCsReq {
    #[prost(uint32, tag = "4")]
    pub map_id: u32,
}
/// Obf: IPOCHENBLOI
#[derive(proto_derive::CmdID)]
#[cmdid(1332)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterAdventureScRsp {
    #[prost(message, optional, tag = "2")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FarmStageGachaInfo {
    #[prost(int64, tag = "11")]
    pub end_time: i64,
    #[prost(uint32, tag = "4")]
    pub gacha_id: u32,
    #[prost(int64, tag = "5")]
    pub begin_time: i64,
}
/// Obf: HGGIMLCFBBI
#[derive(proto_derive::CmdID)]
#[cmdid(1331)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFarmStageGachaInfoCsReq {
    #[prost(uint32, repeated, tag = "9")]
    pub farm_stage_gacha_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HDCFNKHHELC
#[derive(proto_derive::CmdID)]
#[cmdid(1340)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFarmStageGachaInfoScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "4")]
    pub farm_stage_gacha_info_list: ::prost::alloc::vec::Vec<FarmStageGachaInfo>,
}
/// Obf: LGMLDHNBGKM
#[derive(proto_derive::CmdID)]
#[cmdid(1376)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuickStartCocoonStageCsReq {
    #[prost(uint32, tag = "10")]
    pub wave: u32,
    #[prost(uint32, tag = "13")]
    pub world_level: u32,
    #[prost(uint32, tag = "6")]
    pub cocoon_id: u32,
}
/// Obf: JPJCEMFPGMI
#[derive(proto_derive::CmdID)]
#[cmdid(1348)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuickStartCocoonStageScRsp {
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "11")]
    pub wave: u32,
    #[prost(uint32, tag = "4")]
    pub cocoon_id: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: MGOCDCOOKBM
#[derive(proto_derive::CmdID)]
#[cmdid(1371)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuickStartFarmElementCsReq {
    #[prost(uint32, tag = "1")]
    pub world_level: u32,
    #[prost(uint32, tag = "13")]
    pub jdanoknhnhl: u32,
}
/// Obf: LILJNDPJMGO
#[derive(proto_derive::CmdID)]
#[cmdid(1352)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuickStartFarmElementScRsp {
    #[prost(uint32, tag = "12")]
    pub jdanoknhnhl: u32,
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "11")]
    pub world_level: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: LAEAAHOIMHE
#[derive(proto_derive::CmdID)]
#[cmdid(1322)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CocoonSweepCsReq {
    #[prost(uint32, tag = "2")]
    pub world_level: u32,
    #[prost(uint32, tag = "10")]
    pub cocoon_id: u32,
}
/// Obf: MNDINDAANLM
#[derive(proto_derive::CmdID)]
#[cmdid(1356)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CocoonSweepScRsp {
    #[prost(message, optional, tag = "11")]
    pub nhanakjfeab: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "12")]
    pub jhmmoojpkha: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "3")]
    pub cocoon_id: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: BDNEKEEAGHG
#[derive(proto_derive::CmdID)]
#[cmdid(1372)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FarmElementSweepCsReq {
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
    #[prost(uint32, tag = "6")]
    pub jdanoknhnhl: u32,
}
/// Obf: CFIIHLKJDHO
#[derive(proto_derive::CmdID)]
#[cmdid(1385)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FarmElementSweepScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub jdanoknhnhl: u32,
    #[prost(message, optional, tag = "5")]
    pub jhmmoojpkha: ::core::option::Option<ItemList>,
}
/// Obf: GBMCHNAAPHJ
#[derive(proto_derive::CmdID)]
#[cmdid(4804)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterAetherDivideSceneCsReq {
    #[prost(uint32, tag = "6")]
    pub bdkngdocpgp: u32,
}
/// Obf: AGJOLICKDKI
#[derive(proto_derive::CmdID)]
#[cmdid(4846)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterAetherDivideSceneScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub bdkngdocpgp: u32,
}
/// Obf: CKMPKDBGMOO
#[derive(proto_derive::CmdID)]
#[cmdid(4802)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveAetherDivideSceneCsReq {}
/// Obf: NFEBDGBMPMN
#[derive(proto_derive::CmdID)]
#[cmdid(4837)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveAetherDivideSceneScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: IEMNKFBPDGA
#[derive(proto_derive::CmdID)]
#[cmdid(4836)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideSceneBattleCsReq {
    #[prost(uint32, tag = "1")]
    pub attacked_group_id: u32,
    #[prost(message, repeated, tag = "9")]
    pub assist_monster_wave_list: ::prost::alloc::vec::Vec<AssistMonsterWave>,
    #[prost(uint32, repeated, tag = "5")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub caster_id: u32,
    #[prost(uint32, tag = "4")]
    pub skill_index: u32,
}
/// Obf: ENAPGDHEMFD
#[derive(proto_derive::CmdID)]
#[cmdid(4817)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideSceneBattleScRsp {
    #[prost(uint32, tag = "7")]
    pub attacked_group_id: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub battle_info: ::core::option::Option<Bbdikgejbmp>,
}
/// Obf: BBPHCGMCLDE
#[derive(proto_derive::CmdID)]
#[cmdid(4827)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartAetherDivideChallengeBattleCsReq {
    #[prost(uint32, tag = "8")]
    pub knlbemfihnp: u32,
    #[prost(uint32, tag = "14")]
    pub challenge_id: u32,
}
/// Obf: CLDHFFGAAOA
#[derive(proto_derive::CmdID)]
#[cmdid(4815)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideChallengeBattleScRsp {
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<Bbdikgejbmp>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hffiajianhd {
    #[prost(uint32, tag = "14")]
    pub slot: u32,
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjilpebeool {
    #[prost(uint32, tag = "11")]
    pub promotion: u32,
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    #[prost(message, optional, tag = "5")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    #[prost(uint32, tag = "4")]
    pub offgcgdndil: u32,
    #[prost(uint32, tag = "7")]
    pub jdhchabclcc: u32,
    #[prost(message, repeated, tag = "10")]
    pub passive_skill: ::prost::alloc::vec::Vec<Hffiajianhd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhjlepefadf {
    #[prost(uint32, tag = "11")]
    pub slot: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub gphepenpccp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ibmcnafobnb {
    #[prost(uint32, tag = "12")]
    pub num: u32,
    #[prost(uint32, tag = "11")]
    pub ebcbklncmip: u32,
    #[prost(uint32, tag = "2")]
    pub item_id: u32,
}
/// Obf: FODLPLLGEJK
#[derive(proto_derive::CmdID)]
#[cmdid(4845)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAetherDivideInfoCsReq {}
/// Obf: FOAIHIJIJIL
#[derive(proto_derive::CmdID)]
#[cmdid(4807)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAetherDivideInfoScRsp {
    #[prost(message, repeated, tag = "6")]
    pub lineup_list: ::prost::alloc::vec::Vec<Jhjlepefadf>,
    #[prost(message, repeated, tag = "10")]
    pub skill_info_list: ::prost::alloc::vec::Vec<Ibmcnafobnb>,
    #[prost(uint32, tag = "1")]
    pub phlkdnghooa: u32,
    #[prost(uint32, tag = "14")]
    pub jdhlmhjbojm: u32,
    #[prost(uint32, tag = "9")]
    pub pfljggdaofm: u32,
    #[prost(message, repeated, tag = "4")]
    pub nlfihkicddo: ::prost::alloc::vec::Vec<Gjilpebeool>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub egemndnedip: u32,
    #[prost(uint32, tag = "2")]
    pub ibcipiidcol: u32,
}
/// Obf: KBKOKHBKJIN
#[derive(proto_derive::CmdID)]
#[cmdid(4850)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAetherDivideLineUpCsReq {
    #[prost(message, optional, tag = "13")]
    pub lineup: ::core::option::Option<Jhjlepefadf>,
}
/// Obf: IFHPLDIHDDI
#[derive(proto_derive::CmdID)]
#[cmdid(4840)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAetherDivideLineUpScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub lineup: ::core::option::Option<Jhjlepefadf>,
}
/// Obf: ILCFPIGENHF
#[derive(proto_derive::CmdID)]
#[cmdid(4820)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EquipAetherDividePassiveSkillCsReq {
    #[prost(uint32, tag = "2")]
    pub slot: u32,
    #[prost(uint32, tag = "9")]
    pub item_id: u32,
    #[prost(uint32, tag = "4")]
    pub offgcgdndil: u32,
}
/// Obf: DCCCBLEJJAH
#[derive(proto_derive::CmdID)]
#[cmdid(4844)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipAetherDividePassiveSkillScRsp {
    #[prost(message, optional, tag = "8")]
    pub pbgmmfomcke: ::core::option::Option<Ibmcnafobnb>,
    #[prost(message, optional, tag = "7")]
    pub bjmebepplei: ::core::option::Option<Gjilpebeool>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: MMOFLMJNLPA
#[derive(proto_derive::CmdID)]
#[cmdid(4832)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClearAetherDividePassiveSkillCsReq {
    #[prost(uint32, tag = "2")]
    pub offgcgdndil: u32,
    #[prost(uint32, tag = "13")]
    pub slot: u32,
}
/// Obf: CCMGFBKFGDL
#[derive(proto_derive::CmdID)]
#[cmdid(4823)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClearAetherDividePassiveSkillScRsp {
    #[prost(message, optional, tag = "8")]
    pub pbgmmfomcke: ::core::option::Option<Ibmcnafobnb>,
    #[prost(message, optional, tag = "13")]
    pub bjmebepplei: ::core::option::Option<Gjilpebeool>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: HKKBFELNEHG
#[derive(proto_derive::CmdID)]
#[cmdid(4829)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideSpiritExpUpCsReq {
    #[prost(uint32, tag = "1")]
    pub offgcgdndil: u32,
    #[prost(uint32, tag = "9")]
    pub jdhlmhjbojm: u32,
    #[prost(uint32, tag = "11")]
    pub kbmlajoaane: u32,
}
/// Obf: KPBKAKNMNED
#[derive(proto_derive::CmdID)]
#[cmdid(4834)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideSpiritExpUpScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub jdhlmhjbojm: u32,
    #[prost(message, optional, tag = "2")]
    pub bjmebepplei: ::core::option::Option<Gjilpebeool>,
}
/// Obf: CKELLMBLCAL
#[derive(proto_derive::CmdID)]
#[cmdid(4826)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchAetherDivideLineUpSlotCsReq {
    #[prost(uint32, tag = "7")]
    pub knlbemfihnp: u32,
}
/// Obf: FFCIBDGAMFN
#[derive(proto_derive::CmdID)]
#[cmdid(4822)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchAetherDivideLineUpSlotScRsp {
    #[prost(uint32, tag = "1")]
    pub knlbemfihnp: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: MFMDINOGOKE
#[derive(proto_derive::CmdID)]
#[cmdid(4816)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartAetherDivideStageBattleCsReq {
    #[prost(uint32, tag = "10")]
    pub event_id: u32,
}
/// Obf: MMCMFMJNHFD
#[derive(proto_derive::CmdID)]
#[cmdid(4842)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideStageBattleScRsp {
    #[prost(message, optional, tag = "15")]
    pub battle_info: ::core::option::Option<Bbdikgejbmp>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: PHJIPDDMMKB
#[derive(proto_derive::CmdID)]
#[cmdid(4813)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideLineupScNotify {
    #[prost(message, optional, tag = "5")]
    pub lineup: ::core::option::Option<Jhjlepefadf>,
}
/// Obf: BOMBCLHPBHP
#[derive(proto_derive::CmdID)]
#[cmdid(4818)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideSpiritInfoScNotify {
    #[prost(message, repeated, tag = "15")]
    pub mgegimbbajb: ::prost::alloc::vec::Vec<Gjilpebeool>,
    #[prost(uint32, tag = "11")]
    pub jdhlmhjbojm: u32,
    #[prost(message, optional, tag = "10")]
    pub bjmebepplei: ::core::option::Option<Gjilpebeool>,
}
/// Obf: HGNAHIANDOC
#[derive(proto_derive::CmdID)]
#[cmdid(4801)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAetherDivideChallengeInfoCsReq {}
/// Obf: FPIDHHNHPAB
#[derive(proto_derive::CmdID)]
#[cmdid(4805)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAetherDivideChallengeInfoScRsp {
    #[prost(uint32, tag = "13")]
    pub pcnnmjbjioc: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub bfdipgblmmo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "12")]
    pub gkhjkfcccgp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: JFOELNLGHKM
#[derive(proto_derive::CmdID)]
#[cmdid(4835)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideFinishChallengeScNotify {
    #[prost(uint32, tag = "4")]
    pub challenge_id: u32,
}
/// Obf: CEOKHNMHAON
#[derive(proto_derive::CmdID)]
#[cmdid(4839)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideTainerInfoScNotify {
    #[prost(uint32, tag = "11")]
    pub egemndnedip: u32,
}
/// Obf: CKLFIPMKMBM
#[derive(proto_derive::CmdID)]
#[cmdid(4811)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideSkillItemScNotify {
    #[prost(uint32, tag = "9")]
    pub num: u32,
    #[prost(uint32, tag = "5")]
    pub item_id: u32,
}
/// Obf: PLIGNAIDLND
#[derive(proto_derive::CmdID)]
#[cmdid(4806)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideRefreshEndlessCsReq {}
/// Obf: BOAPINGNNNN
#[derive(proto_derive::CmdID)]
#[cmdid(4821)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideRefreshEndlessScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub ibcipiidcol: u32,
}
/// Obf: PHJIOLOKLHE
#[derive(proto_derive::CmdID)]
#[cmdid(4849)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideRefreshEndlessScNotify {
    #[prost(uint32, tag = "5")]
    pub ibcipiidcol: u32,
}
/// Obf: JKNAPGCLALC
#[derive(proto_derive::CmdID)]
#[cmdid(4814)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideTakeChallengeRewardCsReq {
    #[prost(uint32, tag = "7")]
    pub challenge_id: u32,
}
/// Obf: IEGDPIEIGKF
#[derive(proto_derive::CmdID)]
#[cmdid(4808)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideTakeChallengeRewardScRsp {
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "9")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jongagachho {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Adoleofegok {
    #[prost(uint32, tag = "10")]
    pub poiiaiakilf: u32,
    #[prost(uint32, tag = "12")]
    pub map_id: u32,
}
/// Obf: OAJLGIONPGE
#[derive(proto_derive::CmdID)]
#[cmdid(4795)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAlleyInfoCsReq {
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub shop_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agademajimd {
    #[prost(message, repeated, tag = "10")]
    pub hnfojbcjamg: ::prost::alloc::vec::Vec<Njaoiggmeal>,
    #[prost(message, repeated, tag = "3")]
    pub fmjplhohbab: ::prost::alloc::vec::Vec<LogisticsScore>,
    #[prost(message, repeated, tag = "14")]
    pub immlphdnmol: ::prost::alloc::vec::Vec<Adoleofegok>,
    #[prost(uint32, repeated, tag = "12")]
    pub omngcijalfm: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FCFGLDOMNDJ
#[derive(proto_derive::CmdID)]
#[cmdid(4732)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAlleyInfoScRsp {
    #[prost(uint32, tag = "15")]
    pub nopodeimffb: u32,
    #[prost(message, optional, tag = "8")]
    pub bokolcpkejm: ::core::option::Option<Ecjmjjkjgop>,
    #[prost(message, repeated, tag = "12")]
    pub bjcmphlpknf: ::prost::alloc::vec::Vec<Hehaomiamgl>,
    #[prost(map = "uint32, uint32", tag = "9")]
    pub nplakeokekb: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub gefndeeikef: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub oedpopcohgb: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "11")]
    pub njgamccgadc: ::core::option::Option<Agademajimd>,
    #[prost(uint32, repeated, tag = "2")]
    pub glboemjjahd: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub level: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub klpngfnmipi: ::core::option::Option<Laiemcfacdk>,
    #[prost(uint32, tag = "10")]
    pub dbjhemippim: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kfaifhopnhh {
    #[prost(uint32, tag = "2")]
    pub bddldnejfkn: u32,
    #[prost(uint32, tag = "12")]
    pub iffppglafnb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgcanljikcp {
    #[prost(message, repeated, tag = "14")]
    pub kalfmcaghdo: ::prost::alloc::vec::Vec<Kfaifhopnhh>,
    #[prost(uint32, tag = "8")]
    pub goods_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyPlacingShip {
    #[prost(message, repeated, tag = "12")]
    pub goods_list: ::prost::alloc::vec::Vec<Kgcanljikcp>,
    #[prost(uint32, tag = "1")]
    pub ship_id: u32,
}
/// Obf: IEEAOPJGINP
#[derive(proto_derive::CmdID)]
#[cmdid(4716)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyPlacingGameCsReq {
    #[prost(uint32, tag = "10")]
    pub indeplofdec: u32,
    #[prost(uint32, tag = "13")]
    pub bclnmidffoh: u32,
    #[prost(uint32, tag = "2")]
    pub hlojkekipkf: u32,
    #[prost(uint32, tag = "6")]
    pub engdbiimaff: u32,
    #[prost(uint32, tag = "11")]
    pub bmnhhidhodd: u32,
    #[prost(uint32, tag = "4")]
    pub fjdabppandc: u32,
    #[prost(message, optional, tag = "15")]
    pub ejjodhjhham: ::core::option::Option<AlleyPlacingShip>,
    #[prost(uint32, tag = "5")]
    pub dhhjlchclaf: u32,
    #[prost(uint32, tag = "8")]
    pub keokdnikbda: u32,
}
/// Obf: BFMIPGGOELO
#[derive(proto_derive::CmdID)]
#[cmdid(4746)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AlleyPlacingGameScRsp {
    #[prost(uint32, tag = "14")]
    pub koficklljni: u32,
    #[prost(uint32, tag = "2")]
    pub event_id: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub khibbgphdmb: u32,
    #[prost(uint32, tag = "7")]
    pub elbbanddjci: u32,
    #[prost(uint32, tag = "1")]
    pub ilegfkgcmom: u32,
    #[prost(uint32, tag = "13")]
    pub kfboklhdjda: u32,
    #[prost(uint32, tag = "9")]
    pub pglgblkkida: u32,
}
/// Obf: ICABJGOKGHH
#[derive(proto_derive::CmdID)]
#[cmdid(4798)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActivityRaidPlacingGameCsReq {
    #[prost(message, optional, tag = "11")]
    pub ejjodhjhham: ::core::option::Option<AlleyPlacingShip>,
    #[prost(oneof = "activity_raid_placing_game_cs_req::Dgephknepbm", tags = "14, 1")]
    pub dgephknepbm: ::core::option::Option<
        activity_raid_placing_game_cs_req::Dgephknepbm,
    >,
}
/// Nested message and enum types in `ActivityRaidPlacingGameCsReq`.
pub mod activity_raid_placing_game_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Dgephknepbm {
        #[prost(uint32, tag = "14")]
        Cjemmdpiclj(u32),
        #[prost(uint32, tag = "1")]
        Fjdabppandc(u32),
    }
}
/// Obf: OLAFFEPAICB
#[derive(proto_derive::CmdID)]
#[cmdid(4764)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ActivityRaidPlacingGameScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(oneof = "activity_raid_placing_game_sc_rsp::Dgephknepbm", tags = "4, 13")]
    pub dgephknepbm: ::core::option::Option<
        activity_raid_placing_game_sc_rsp::Dgephknepbm,
    >,
}
/// Nested message and enum types in `ActivityRaidPlacingGameScRsp`.
pub mod activity_raid_placing_game_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Dgephknepbm {
        #[prost(uint32, tag = "4")]
        Cjemmdpiclj(u32),
        #[prost(uint32, tag = "13")]
        Fjdabppandc(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecjmjjkjgop {
    #[prost(uint32, tag = "3")]
    pub hdkdkjbdgcc: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub jdjcnbgoglp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "1")]
    pub fbeildajede: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub cpgajpckcdg: u32,
    #[prost(uint32, tag = "14")]
    pub jalhneidhgj: u32,
    #[prost(bool, tag = "7")]
    pub iichhokopgg: bool,
}
/// Obf: DFLHKJHDOCK
#[derive(proto_derive::CmdID)]
#[cmdid(4743)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyOrderChangedScNotify {
    #[prost(message, optional, tag = "1")]
    pub pphiadnkgaf: ::core::option::Option<Ecjmjjkjgop>,
}
/// Obf: EMCEPDLELHE
#[derive(proto_derive::CmdID)]
#[cmdid(4729)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AlleyShipUnlockScNotify {
    #[prost(uint32, tag = "14")]
    pub ejdfknmnale: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lllomacpcgb {
    #[prost(uint32, tag = "9")]
    pub lepacdhlbib: u32,
    #[prost(uint32, tag = "8")]
    pub shop_id: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub dgnkgdlillb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub behpabeeodh: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub cadhphlnoch: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub ppibbkhlmjc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub cakccbjohoi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njaoiggmeal {
    #[prost(message, repeated, tag = "15")]
    pub hofdbflcgkb: ::prost::alloc::vec::Vec<Lllomacpcgb>,
    #[prost(uint32, tag = "4")]
    pub bclnmidffoh: u32,
    #[prost(uint32, tag = "1")]
    pub map_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsScore {
    #[prost(uint32, tag = "7")]
    pub unlock_level: u32,
    #[prost(uint32, tag = "11")]
    pub max_score: u32,
    #[prost(uint32, tag = "12")]
    pub last_level: u32,
    #[prost(uint32, tag = "4")]
    pub last_max_score: u32,
    #[prost(uint32, tag = "5")]
    pub cur_score: u32,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub map_id: u32,
}
/// Obf: BAKNCHMDANL
#[derive(proto_derive::CmdID)]
#[cmdid(4731)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsGameCsReq {
    #[prost(message, repeated, tag = "12")]
    pub apmcphfmaeg: ::prost::alloc::vec::Vec<Njaoiggmeal>,
    #[prost(bool, tag = "2")]
    pub boblnbjmkca: bool,
}
/// Obf: ODAENPNMIHC
#[derive(proto_derive::CmdID)]
#[cmdid(4707)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsScoreRewardSyncInfoScNotify {
    #[prost(message, repeated, tag = "8")]
    pub fmjplhohbab: ::prost::alloc::vec::Vec<LogisticsScore>,
}
/// Obf: MECOFAJONFP
#[derive(proto_derive::CmdID)]
#[cmdid(4740)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsGameScRsp {
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "14")]
    pub fmjplhohbab: ::prost::alloc::vec::Vec<LogisticsScore>,
    #[prost(bool, tag = "2")]
    pub boblnbjmkca: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hehaomiamgl {
    #[prost(enumeration = "Bjlncfjoiaf", tag = "9")]
    pub state: i32,
    #[prost(uint32, tag = "4")]
    pub event_id: u32,
    #[prost(uint32, tag = "7")]
    pub ningbnbmkop: u32,
}
/// Obf: IIBMDIJBLOB
#[derive(proto_derive::CmdID)]
#[cmdid(4771)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartAlleyEventCsReq {
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
}
/// Obf: GCCCHNPFPLP
#[derive(proto_derive::CmdID)]
#[cmdid(4752)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartAlleyEventScRsp {
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: GBOOJMAOLDH
#[derive(proto_derive::CmdID)]
#[cmdid(4722)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AlleyEventChangeNotify {
    #[prost(message, optional, tag = "12")]
    pub nfldodiabcl: ::core::option::Option<Hehaomiamgl>,
    #[prost(uint32, tag = "1")]
    pub hcnldibeaca: u32,
}
/// Obf: PDPEIEHBKDN
#[derive(proto_derive::CmdID)]
#[cmdid(4756)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AlleyEventEffectNotify {
    #[prost(uint32, tag = "6")]
    pub lfilnmfdnig: u32,
}
/// Obf: GJLHOFGMAHJ
#[derive(proto_derive::CmdID)]
#[cmdid(4772)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakePrestigeRewardCsReq {
    #[prost(uint32, tag = "2")]
    pub level: u32,
}
/// Obf: FGNNNDKEEHB
#[derive(proto_derive::CmdID)]
#[cmdid(4785)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePrestigeRewardScRsp {
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub level: u32,
}
/// Obf: AGLOLFIPCDP
#[derive(proto_derive::CmdID)]
#[cmdid(4742)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PrestigeLevelUpCsReq {}
/// Obf: JEMEEDBIDOB
#[derive(proto_derive::CmdID)]
#[cmdid(4777)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PrestigeLevelUpScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
/// Obf: BNFGELHDPEE
#[derive(proto_derive::CmdID)]
#[cmdid(4758)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AlleyFundsScNotify {
    #[prost(uint32, tag = "8")]
    pub dbjhemippim: u32,
}
/// Obf: AIAANLBAGMD
#[derive(proto_derive::CmdID)]
#[cmdid(4763)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SaveLogisticsCsReq {
    #[prost(message, repeated, tag = "15")]
    pub apmcphfmaeg: ::prost::alloc::vec::Vec<Njaoiggmeal>,
}
/// Obf: HCDCIKFBLEP
#[derive(proto_derive::CmdID)]
#[cmdid(4711)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SaveLogisticsScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub apmcphfmaeg: ::prost::alloc::vec::Vec<Njaoiggmeal>,
}
/// Obf: FEMPLINBLJG
#[derive(proto_derive::CmdID)]
#[cmdid(4793)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsInfoScNotify {
    #[prost(message, optional, tag = "10")]
    pub njgamccgadc: ::core::option::Option<Agademajimd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Laiemcfacdk {
    #[prost(uint32, tag = "6")]
    pub alghcnajbmm: u32,
    #[prost(uint32, tag = "7")]
    pub pghckcpkgll: u32,
    #[prost(map = "uint32, uint32", tag = "10")]
    pub aahapcbilhc: ::std::collections::HashMap<u32, u32>,
}
/// Obf: DDNICGDDLCO
#[derive(proto_derive::CmdID)]
#[cmdid(4725)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyShipmentEventEffectsScNotify {
    #[prost(message, optional, tag = "8")]
    pub lgjkpjojblf: ::core::option::Option<Laiemcfacdk>,
}
/// Obf: NGMEMMOENFH
#[derive(proto_derive::CmdID)]
#[cmdid(4714)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetSaveLogisticsMapCsReq {}
/// Obf: FMCFCLGGHCE
#[derive(proto_derive::CmdID)]
#[cmdid(4784)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSaveLogisticsMapScRsp {
    #[prost(message, repeated, tag = "1")]
    pub hnfojbcjamg: ::prost::alloc::vec::Vec<Njaoiggmeal>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: CGHOCDCODMF
#[derive(proto_derive::CmdID)]
#[cmdid(4737)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyShipUsedCountScNotify {
    #[prost(map = "uint32, uint32", tag = "1")]
    pub nplakeokekb: ::std::collections::HashMap<u32, u32>,
}
/// Obf: IHIKFLJEIJD
#[derive(proto_derive::CmdID)]
#[cmdid(4730)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AlleyGuaranteedFundsCsReq {}
/// Obf: PKJNKFAGCBP
#[derive(proto_derive::CmdID)]
#[cmdid(4775)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AlleyGuaranteedFundsScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub clibobehndm: u32,
}
/// Obf: MDGBHHGPDAJ
#[derive(proto_derive::CmdID)]
#[cmdid(4751)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AlleyTakeEventRewardCsReq {
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
}
/// Obf: GBDLKBGCBAO
#[derive(proto_derive::CmdID)]
#[cmdid(4791)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyTakeEventRewardScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: PCMDHOMOLFB
#[derive(proto_derive::CmdID)]
#[cmdid(4724)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LogisticsDetonateStarSkiffCsReq {}
/// Obf: MGDIBDJAMII
#[derive(proto_derive::CmdID)]
#[cmdid(4757)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LogisticsDetonateStarSkiffScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicArchive {
    #[prost(uint32, tag = "3")]
    pub slot: u32,
    #[prost(uint32, tag = "6")]
    pub relic_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonsterArchive {
    #[prost(uint32, tag = "5")]
    pub num: u32,
    #[prost(uint32, tag = "14")]
    pub monster_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArchiveData {
    #[prost(message, repeated, tag = "9")]
    pub relic_list: ::prost::alloc::vec::Vec<RelicArchive>,
    #[prost(message, repeated, tag = "6")]
    pub archive_monster_id_list: ::prost::alloc::vec::Vec<MonsterArchive>,
    #[prost(uint32, repeated, tag = "2")]
    pub archive_missing_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "7")]
    pub archive_equipment_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "14")]
    pub archive_missing_equipment_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GBKFNMIJNJM
#[derive(proto_derive::CmdID)]
#[cmdid(2395)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetArchiveDataCsReq {}
/// Obf: ELKFLJKDFDB
#[derive(proto_derive::CmdID)]
#[cmdid(2332)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetArchiveDataScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub archive_data: ::core::option::Option<ArchiveData>,
}
/// Obf: NKDHENMJGDK
#[derive(proto_derive::CmdID)]
#[cmdid(2331)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetUpdatedArchiveDataCsReq {}
/// Obf: HGJNHMIDNNP
#[derive(proto_derive::CmdID)]
#[cmdid(2340)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUpdatedArchiveDataScRsp {
    #[prost(message, optional, tag = "8")]
    pub archive_data: ::core::option::Option<ArchiveData>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: FDBODLGODJN
#[derive(proto_derive::CmdID)]
#[cmdid(395)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAvatarDataCsReq {
    #[prost(bool, tag = "10")]
    pub is_get_all: bool,
    #[prost(uint32, repeated, tag = "11")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EquipRelic {
    #[prost(uint32, tag = "4")]
    pub slot: u32,
    #[prost(uint32, tag = "11")]
    pub relic_unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Avatar {
    #[prost(uint64, tag = "4")]
    pub first_met_timestamp: u64,
    #[prost(message, repeated, tag = "11")]
    pub equip_relic_list: ::prost::alloc::vec::Vec<EquipRelic>,
    #[prost(uint32, tag = "5")]
    pub dressed_skin_id: u32,
    #[prost(message, repeated, tag = "10")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(uint32, tag = "12")]
    pub equipment_unique_id: u32,
    #[prost(uint32, tag = "6")]
    pub rank: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub taken_rewards: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "2")]
    pub is_marked: bool,
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    #[prost(uint32, tag = "14")]
    pub promotion: u32,
    #[prost(uint32, tag = "3")]
    pub base_avatar_id: u32,
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
/// Obf: LLKPMKBOPAE
#[derive(proto_derive::CmdID)]
#[cmdid(332)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAvatarDataScRsp {
    #[prost(bool, tag = "14")]
    pub is_get_all: bool,
    #[prost(uint32, tag = "5")]
    pub jpnlpopmkej: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub owned_skin_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Bcmljcfoefm", repeated, tag = "1")]
    pub pnkcfealami: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, repeated, tag = "10")]
    pub avatar_list: ::prost::alloc::vec::Vec<Avatar>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: DJJKIIAHALC
#[derive(proto_derive::CmdID)]
#[cmdid(331)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarExpUpCsReq {
    #[prost(message, optional, tag = "6")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "5")]
    pub base_avatar_id: u32,
}
/// Obf: INHIJFMNOAO
#[derive(proto_derive::CmdID)]
#[cmdid(340)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarExpUpScRsp {
    #[prost(message, repeated, tag = "2")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: KFOMNLIPHKM
#[derive(proto_derive::CmdID)]
#[cmdid(376)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockSkilltreeCsReq {
    #[prost(message, repeated, tag = "3")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub point_id: u32,
}
/// Obf: GOFNEGEKNHK
#[derive(proto_derive::CmdID)]
#[cmdid(348)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockSkilltreeScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub point_id: u32,
    #[prost(uint32, tag = "8")]
    pub level: u32,
}
/// Obf: FMDODPOOBAK
#[derive(proto_derive::CmdID)]
#[cmdid(371)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteAvatarCsReq {
    #[prost(uint32, tag = "7")]
    pub base_avatar_id: u32,
    #[prost(message, repeated, tag = "9")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
}
/// Obf: NPAFCPEKNPG
#[derive(proto_derive::CmdID)]
#[cmdid(352)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PromoteAvatarScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: OKIHBJFFGHB
#[derive(proto_derive::CmdID)]
#[cmdid(322)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DressAvatarCsReq {
    #[prost(uint32, tag = "12")]
    pub equipment_unique_id: u32,
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
}
/// Obf: FIGIBBKEBBD
#[derive(proto_derive::CmdID)]
#[cmdid(356)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DressAvatarScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: GKOAAJMMEMA
#[derive(proto_derive::CmdID)]
#[cmdid(372)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeOffEquipmentCsReq {
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
}
/// Obf: MGEJBJLFBPC
#[derive(proto_derive::CmdID)]
#[cmdid(385)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeOffEquipmentScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: KAIMCKHIFHP
#[derive(proto_derive::CmdID)]
#[cmdid(316)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddAvatarScNotify {
    #[prost(enumeration = "AddAvatarSrc", tag = "14")]
    pub src: i32,
    #[prost(uint32, tag = "9")]
    pub base_avatar_id: u32,
    #[prost(bool, tag = "2")]
    pub is_new: bool,
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: EBPDFOPKBHC
#[derive(proto_derive::CmdID)]
#[cmdid(325)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddMultiPathAvatarScNotify {
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(bool, tag = "12")]
    pub is_new: bool,
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
}
/// Obf: OLCFHOGGKNC
#[derive(proto_derive::CmdID)]
#[cmdid(346)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RankUpAvatarCsReq {
    #[prost(message, optional, tag = "2")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "7")]
    pub rank: u32,
}
/// Obf: LLLGFJMKHHK
#[derive(proto_derive::CmdID)]
#[cmdid(383)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RankUpAvatarScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicParam {
    #[prost(uint32, tag = "11")]
    pub slot: u32,
    #[prost(uint32, tag = "13")]
    pub relic_unique_id: u32,
}
/// Obf: CAMOJCCLNCE
#[derive(proto_derive::CmdID)]
#[cmdid(360)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressRelicAvatarCsReq {
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    #[prost(message, repeated, tag = "8")]
    pub param_list: ::prost::alloc::vec::Vec<RelicParam>,
}
/// Obf: ADPAIPLCFIC
#[derive(proto_derive::CmdID)]
#[cmdid(302)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DressRelicAvatarScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: DDPFFOPJHHM
#[derive(proto_derive::CmdID)]
#[cmdid(339)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffRelicCsReq {
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub slot_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HEENELCHMKP
#[derive(proto_derive::CmdID)]
#[cmdid(343)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeOffRelicScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: EMAJLDJJNLL
#[derive(proto_derive::CmdID)]
#[cmdid(333)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakePromotionRewardCsReq {
    #[prost(uint32, tag = "11")]
    pub promotion: u32,
    #[prost(uint32, tag = "10")]
    pub base_avatar_id: u32,
}
/// Obf: HDEAAFNFGCM
#[derive(proto_derive::CmdID)]
#[cmdid(342)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePromotionRewardScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub reward_list: ::core::option::Option<ItemList>,
}
/// Obf: PHEMPEFMECP
#[derive(proto_derive::CmdID)]
#[cmdid(377)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DressAvatarSkinCsReq {
    #[prost(uint32, tag = "15")]
    pub skin_id: u32,
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
}
/// Obf: MEKBMEPIDHM
#[derive(proto_derive::CmdID)]
#[cmdid(358)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DressAvatarSkinScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: HJBAMOJDEEM
#[derive(proto_derive::CmdID)]
#[cmdid(321)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeOffAvatarSkinCsReq {
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
}
/// Obf: ABOODONGNHG
#[derive(proto_derive::CmdID)]
#[cmdid(329)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeOffAvatarSkinScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: CFBNAMCDBCC
#[derive(proto_derive::CmdID)]
#[cmdid(363)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockAvatarSkinScNotify {
    #[prost(uint32, tag = "1")]
    pub skin_id: u32,
}
/// Obf: HNEPFBPJKLI
#[derive(proto_derive::CmdID)]
#[cmdid(311)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkAvatarCsReq {
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
    #[prost(bool, tag = "3")]
    pub is_marked: bool,
}
/// Obf: NGPKIPOGOHO
#[derive(proto_derive::CmdID)]
#[cmdid(393)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkAvatarScRsp {
    #[prost(bool, tag = "9")]
    pub is_marked: bool,
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: BFCKHJIDMJO
#[derive(proto_derive::CmdID)]
#[cmdid(314)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGrowthTargetAvatarCsReq {
    #[prost(uint32, tag = "14")]
    pub idnmeknhlpo: u32,
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
    #[prost(enumeration = "Bcmljcfoefm", repeated, tag = "1")]
    pub ejbjbocoinb: ::prost::alloc::vec::Vec<i32>,
    #[prost(enumeration = "Gifjdobiiik", tag = "3")]
    pub source: i32,
}
/// Obf: CEICLCJFPDI
#[derive(proto_derive::CmdID)]
#[cmdid(384)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGrowthTargetAvatarScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(enumeration = "Bcmljcfoefm", repeated, tag = "5")]
    pub ejbjbocoinb: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, tag = "14")]
    pub ncbkpdngohj: u32,
    #[prost(uint32, tag = "9")]
    pub jpnlpopmkej: u32,
}
/// Obf: MLGLOKGPPEG
#[derive(proto_derive::CmdID)]
#[cmdid(337)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GrowthTargetAvatarChangedScNotify {
    #[prost(uint32, tag = "8")]
    pub jpnlpopmkej: u32,
    #[prost(enumeration = "Bcmljcfoefm", repeated, tag = "15")]
    pub ejbjbocoinb: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: NKLEGHEBAKI
#[derive(proto_derive::CmdID)]
#[cmdid(330)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPreAvatarGrowthInfoCsReq {
    #[prost(uint32, tag = "1")]
    pub kjaeojbjojd: u32,
}
/// Obf: GEFENNPHDME
#[derive(proto_derive::CmdID)]
#[cmdid(375)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPreAvatarGrowthInfoScRsp {
    #[prost(uint32, tag = "10")]
    pub flaagnapdhp: u32,
    #[prost(string, tag = "1911")]
    pub ebppbpmhdhi: ::prost::alloc::string::String,
    #[prost(uint32, tag = "13")]
    pub jjmkeadciag: u32,
    #[prost(uint32, tag = "4")]
    pub aekfjkenphn: u32,
    #[prost(uint32, tag = "7")]
    pub phibnkmiogp: u32,
    #[prost(uint32, tag = "12")]
    pub lkkamllafae: u32,
    #[prost(uint32, tag = "6")]
    pub fojcckacdhh: u32,
    #[prost(uint32, tag = "8")]
    pub hdnikcblkil: u32,
    #[prost(uint32, tag = "5")]
    pub lijcngohkhf: u32,
    #[prost(uint32, tag = "14")]
    pub pmmcfgmplba: u32,
    #[prost(uint32, tag = "9")]
    pub kjaeojbjojd: u32,
    #[prost(uint32, tag = "221")]
    pub dggnnbcjocc: u32,
    #[prost(string, tag = "1269")]
    pub kpjhbeilaip: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1")]
    pub dlapkbddbbc: u32,
    #[prost(uint32, tag = "1486")]
    pub kiejacmogan: u32,
    #[prost(uint32, tag = "11")]
    pub dbijfkobkkh: u32,
    #[prost(string, tag = "508")]
    pub oanpnfjjfhg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "15")]
    pub egddnpeonkc: u32,
    #[prost(string, tag = "426")]
    pub mkhldlfonkn: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub ihokhlfhocc: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oppgljbhkll {
    #[prost(uint32, tag = "13")]
    pub slot: u32,
    #[prost(uint32, tag = "14")]
    pub kjaeojbjojd: u32,
    #[prost(uint32, tag = "3")]
    pub module_id: u32,
}
/// Obf: MMAJMOJIGGD
#[derive(proto_derive::CmdID)]
#[cmdid(351)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPreAvatarListCsReq {}
/// Obf: KMLPBEILMGK
#[derive(proto_derive::CmdID)]
#[cmdid(391)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPreAvatarListScRsp {
    #[prost(message, repeated, tag = "7")]
    pub jmjgmdhnpen: ::prost::alloc::vec::Vec<Oppgljbhkll>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: BAOHDDGLEIA
#[derive(proto_derive::CmdID)]
#[cmdid(195)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PveBattleResultCsReq {
    #[prost(bool, tag = "2")]
    pub is_ai_consider_ultra_skill: bool,
    #[prost(uint32, tag = "1")]
    pub jcjfgojfege: u32,
    #[prost(message, optional, tag = "7")]
    pub stt: ::core::option::Option<BattleStatistics>,
    #[prost(enumeration = "BattleEndStatus", tag = "5")]
    pub end_status: i32,
    #[prost(map = "string, uint32", tag = "6")]
    pub hpekekipjlf: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
    #[prost(uint32, tag = "10")]
    pub bclnmidffoh: u32,
    #[prost(uint32, tag = "13")]
    pub stage_id: u32,
    #[prost(uint32, tag = "4")]
    pub battle_id: u32,
    #[prost(message, repeated, tag = "11")]
    pub op_list: ::prost::alloc::vec::Vec<BattleOp>,
    #[prost(bytes = "vec", tag = "8")]
    pub turn_snapshot_hash: ::prost::alloc::vec::Vec<u8>,
    #[prost(bool, tag = "15")]
    pub is_auto_fight: bool,
    #[prost(uint32, tag = "9")]
    pub cost_time: u32,
    #[prost(string, tag = "12")]
    pub debug_extra_info: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub client_res_version: u32,
    #[prost(bool, tag = "14")]
    pub gjgkagfpagm: bool,
}
/// Obf: PFAIJOHBNCF
#[derive(proto_derive::CmdID)]
#[cmdid(132)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PveBattleResultScRsp {
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
    #[prost(uint32, tag = "2")]
    pub klodelecmci: u32,
    #[prost(uint32, tag = "14")]
    pub ndcmdokkphh: u32,
    #[prost(enumeration = "BattleEndStatus", tag = "8")]
    pub end_status: i32,
    #[prost(message, optional, tag = "1")]
    pub jhmmoojpkha: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "1637")]
    pub nbhlifpblmf: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "11")]
    pub stage_id: u32,
    #[prost(bool, tag = "9")]
    pub check_identical: bool,
    #[prost(string, tag = "6")]
    pub bin_version: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub nhanakjfeab: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "5")]
    pub battle_id: u32,
    #[prost(uint32, tag = "10")]
    pub ggmpfnkofkd: u32,
    #[prost(string, tag = "7")]
    pub res_version: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "4")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    #[prost(message, optional, tag = "1649")]
    pub kjchgehdlno: ::core::option::Option<Mbkocmmicpg>,
    #[prost(message, optional, tag = "13")]
    pub drop_data: ::core::option::Option<ItemList>,
}
/// Obf: FJPLPFNKKKF
#[derive(proto_derive::CmdID)]
#[cmdid(131)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitBattleCsReq {
    #[prost(message, optional, tag = "1")]
    pub stt: ::core::option::Option<BattleStatistics>,
    #[prost(enumeration = "Lipekjfjmnm", tag = "7")]
    pub nikhbkchhjg: i32,
}
/// Obf: PLOAKKONHKL
#[derive(proto_derive::CmdID)]
#[cmdid(140)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitBattleScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: KJLJOBFCGDD
#[derive(proto_derive::CmdID)]
#[cmdid(176)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCurBattleInfoCsReq {}
/// Obf: LHAFGCJCLFJ
#[derive(proto_derive::CmdID)]
#[cmdid(148)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurBattleInfoScRsp {
    #[prost(message, optional, tag = "11")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(message, optional, tag = "7")]
    pub pbphjbafgbb: ::core::option::Option<Bbdikgejbmp>,
    #[prost(uint32, tag = "13")]
    pub ibpjkffflng: u32,
    #[prost(enumeration = "BattleEndStatus", tag = "5")]
    pub hddndocnefo: i32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: OJMPHGKIIOC
#[derive(proto_derive::CmdID)]
#[cmdid(171)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncClientResVersionCsReq {
    #[prost(uint32, tag = "10")]
    pub client_res_version: u32,
}
/// Obf: GHIJAKBMJFH
#[derive(proto_derive::CmdID)]
#[cmdid(152)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncClientResVersionScRsp {
    #[prost(uint32, tag = "8")]
    pub client_res_version: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: HEFKLAHHJPD
#[derive(proto_derive::CmdID)]
#[cmdid(122)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitBattleScNotify {}
/// Obf: EBKCKNCFAKC
#[derive(proto_derive::CmdID)]
#[cmdid(156)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleLogReportCsReq {}
/// Obf: CGGHCMBCGBG
#[derive(proto_derive::CmdID)]
#[cmdid(172)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleLogReportScRsp {
    #[prost(bool, tag = "4")]
    pub lcgbacgbknc: bool,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: INAKOOFBIBC
#[derive(proto_derive::CmdID)]
#[cmdid(185)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ServerSimulateBattleFinishScNotify {}
/// Obf: BKPKHGCNLAM
#[derive(proto_derive::CmdID)]
#[cmdid(116)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReBattleAfterBattleLoseCsNotify {
    #[prost(bool, tag = "4")]
    pub pmjahilblfl: bool,
}
/// Obf: JADANENHLEF
#[derive(proto_derive::CmdID)]
#[cmdid(146)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RebattleByClientCsNotify {
    #[prost(enumeration = "Lipekjfjmnm", tag = "8")]
    pub nikhbkchhjg: i32,
    #[prost(message, optional, tag = "10")]
    pub stt: ::core::option::Option<BattleStatistics>,
}
/// Obf: EEHPKOFBGJI
#[derive(proto_derive::CmdID)]
#[cmdid(5795)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBattleCollegeDataCsReq {}
/// Obf: EDOBBBIOGOM
#[derive(proto_derive::CmdID)]
#[cmdid(5732)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBattleCollegeDataScRsp {
    #[prost(uint32, tag = "11")]
    pub mamhojmfjof: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub finished_college_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CPLJOBGDALK
#[derive(proto_derive::CmdID)]
#[cmdid(5731)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleCollegeDataChangeScNotify {
    #[prost(uint32, repeated, tag = "12")]
    pub finished_college_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "6")]
    pub mamhojmfjof: u32,
}
/// Obf: MNBLONDLDJD
#[derive(proto_derive::CmdID)]
#[cmdid(5740)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartBattleCollegeCsReq {
    #[prost(uint32, tag = "9")]
    pub id: u32,
}
/// Obf: MOPKNCIPMMP
#[derive(proto_derive::CmdID)]
#[cmdid(5776)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartBattleCollegeScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
/// Obf: LCGKPCGHILI
#[derive(proto_derive::CmdID)]
#[cmdid(3095)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattlePassInfoNotify {
    #[prost(uint64, tag = "9")]
    pub ljoekefkpko: u64,
    #[prost(uint32, tag = "4")]
    pub exp: u32,
    #[prost(uint64, tag = "2")]
    pub inbockjglbo: u64,
    #[prost(uint32, tag = "13")]
    pub ljflflimkad: u32,
    #[prost(uint64, tag = "15")]
    pub cphiiockhpi: u64,
    #[prost(uint64, tag = "7")]
    pub nkaoknmholh: u64,
    #[prost(uint32, tag = "6")]
    pub level: u32,
    #[prost(uint64, tag = "8")]
    pub fdkkikganck: u64,
    #[prost(uint32, tag = "5")]
    pub edbmnmdjbko: u32,
    #[prost(enumeration = "BpTierType", tag = "10")]
    pub bp_tier_type: i32,
    #[prost(uint64, tag = "1")]
    pub hkeoaaccbpl: u64,
    #[prost(uint64, tag = "12")]
    pub ekgopldjoii: u64,
    #[prost(uint64, tag = "11")]
    pub cbjklleohdc: u64,
}
/// Obf: EBLMPDFIFGF
#[derive(proto_derive::CmdID)]
#[cmdid(3040)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeBpRewardCsReq {
    #[prost(enumeration = "BpRewardType", tag = "1")]
    pub slot: i32,
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub optional_reward_id: u32,
}
/// Obf: DCNCOIBPBJD
#[derive(proto_derive::CmdID)]
#[cmdid(3076)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBpRewardScRsp {
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: BPNKPCIPOOB
#[derive(proto_derive::CmdID)]
#[cmdid(3048)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BuyBpLevelCsReq {
    #[prost(uint32, tag = "5")]
    pub ldnjeacfbje: u32,
}
/// Obf: GFEGGMHOBLN
#[derive(proto_derive::CmdID)]
#[cmdid(3071)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BuyBpLevelScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OptionalReward {
    #[prost(uint32, tag = "4")]
    pub optional_reward_id: u32,
    #[prost(uint32, tag = "1")]
    pub level: u32,
}
/// Obf: CILPIOAHNIB
#[derive(proto_derive::CmdID)]
#[cmdid(3052)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllRewardCsReq {
    #[prost(message, repeated, tag = "15")]
    pub modoofjoiao: ::prost::alloc::vec::Vec<OptionalReward>,
}
/// Obf: BOJPKOEHOCI
#[derive(proto_derive::CmdID)]
#[cmdid(3022)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllRewardScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: PGPCBBCOBHG
#[derive(proto_derive::CmdID)]
#[cmdid(4854)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBenefitActivityInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LuckyKoiInfo {
    #[prost(string, tag = "10")]
    pub uid_str: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub name_str: ::prost::alloc::string::String,
    #[prost(uint32, tag = "11")]
    pub head_icon: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fecadlcjfic {
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(message, optional, tag = "10")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojfaklfikcj {
    #[prost(uint64, tag = "5")]
    pub pjpmlcdhebl: u64,
    #[prost(uint64, tag = "14")]
    pub end_time: u64,
    #[prost(message, repeated, tag = "13")]
    pub pfeaniahfpc: ::prost::alloc::vec::Vec<Fecadlcjfic>,
    #[prost(message, repeated, tag = "3")]
    pub nkjpgkmlhnk: ::prost::alloc::vec::Vec<LuckyKoiInfo>,
    #[prost(uint32, tag = "7")]
    pub iigmeobdmje: u32,
    #[prost(uint64, tag = "9")]
    pub begin_time: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mogacgjehae {
    #[prost(message, optional, tag = "10")]
    pub config: ::core::option::Option<Ojfaklfikcj>,
    #[prost(uint32, tag = "7")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub colbgejelgi: u32,
    #[prost(uint32, tag = "4")]
    pub status: u32,
}
/// Obf: LPELGNPNFLO
#[derive(proto_derive::CmdID)]
#[cmdid(4896)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBenefitActivityInfoScRsp {
    #[prost(message, repeated, tag = "3")]
    pub fmkcnmcailn: ::prost::alloc::vec::Vec<Mogacgjehae>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(bool, tag = "5")]
    pub ofnginbodlp: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lflogadlema {
    #[prost(uint32, tag = "8")]
    pub colbgejelgi: u32,
    #[prost(bool, tag = "7")]
    pub einfbgkendh: bool,
}
/// Obf: BJJDECAGCII
#[derive(proto_derive::CmdID)]
#[cmdid(4852)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBenefitActivityRewardCsReq {
    #[prost(bool, tag = "7")]
    pub bfbpcbnpfph: bool,
    #[prost(message, repeated, tag = "6")]
    pub param_list: ::prost::alloc::vec::Vec<Lflogadlema>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmgdhfiobef {
    #[prost(bool, tag = "8")]
    pub einfbgkendh: bool,
    #[prost(uint32, tag = "12")]
    pub colbgejelgi: u32,
    #[prost(message, optional, tag = "2")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Obf: FEDPIHJNBHF
#[derive(proto_derive::CmdID)]
#[cmdid(4887)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBenefitActivityRewardScRsp {
    #[prost(message, repeated, tag = "4")]
    pub param_list: ::prost::alloc::vec::Vec<Cmgdhfiobef>,
    #[prost(message, optional, tag = "12")]
    pub ckekcconjgb: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: NBAMKPBNEMA
#[derive(proto_derive::CmdID)]
#[cmdid(4886)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct JoinBenefitActivityCsReq {
    #[prost(uint32, tag = "4")]
    pub colbgejelgi: u32,
}
/// Obf: PMMCAMJGHKD
#[derive(proto_derive::CmdID)]
#[cmdid(4867)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct JoinBenefitActivityScRsp {
    #[prost(uint32, tag = "13")]
    pub colbgejelgi: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ijkjjdhlklb {
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "15")]
    pub avatar_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcihijlomga {
    #[prost(uint32, tag = "13")]
    pub hjmglemjhkg: u32,
    #[prost(uint32, tag = "3")]
    pub hnpeappmgaa: u32,
    #[prost(message, repeated, tag = "6")]
    pub mdlachdkmph: ::prost::alloc::vec::Vec<Ijkjjdhlklb>,
    #[prost(uint32, tag = "14")]
    pub cpgoipicpjf: u32,
    #[prost(uint32, tag = "8")]
    pub llfofpndafg: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub hlibijfhhpg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub naalcbmbpgc: u32,
    #[prost(uint32, tag = "15")]
    pub challenge_id: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "1")]
    pub aplknjegbkf: bool,
}
/// Obf: BNABKPINGGB
#[derive(proto_derive::CmdID)]
#[cmdid(4295)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBoxingClubInfoCsReq {}
/// Obf: BHDCDGAPHGH
#[derive(proto_derive::CmdID)]
#[cmdid(4232)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBoxingClubInfoScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "4")]
    pub challenge_list: ::prost::alloc::vec::Vec<Fcihijlomga>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gneibbpoaab {
    #[prost(enumeration = "AvatarType", tag = "3")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
}
/// Obf: MPBJBFHDDJG
#[derive(proto_derive::CmdID)]
#[cmdid(4231)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchBoxingClubOpponentCsReq {
    #[prost(message, repeated, tag = "13")]
    pub mdlachdkmph: ::prost::alloc::vec::Vec<Gneibbpoaab>,
    #[prost(uint32, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub challenge_id: u32,
}
/// Obf: NGBFMHIJBIJ
#[derive(proto_derive::CmdID)]
#[cmdid(4240)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchBoxingClubOpponentScRsp {
    #[prost(message, optional, tag = "3")]
    pub dddikpnnble: ::core::option::Option<Fcihijlomga>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: ACIMGINPANN
#[derive(proto_derive::CmdID)]
#[cmdid(4272)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubResonanceCsReq {
    #[prost(uint32, tag = "15")]
    pub llfofpndafg: u32,
    #[prost(uint32, tag = "7")]
    pub challenge_id: u32,
}
/// Obf: ADIJJGADDHF
#[derive(proto_derive::CmdID)]
#[cmdid(4285)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubResonanceScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub dddikpnnble: ::core::option::Option<Fcihijlomga>,
}
/// Obf: JNJKBCNNKGB
#[derive(proto_derive::CmdID)]
#[cmdid(4216)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetBoxingClubResonanceLineupCsReq {
    #[prost(uint32, tag = "12")]
    pub challenge_id: u32,
    #[prost(message, repeated, tag = "14")]
    pub mdlachdkmph: ::prost::alloc::vec::Vec<Gneibbpoaab>,
}
/// Obf: JHGHHPBOCHK
#[derive(proto_derive::CmdID)]
#[cmdid(4246)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetBoxingClubResonanceLineupScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub dddikpnnble: ::core::option::Option<Fcihijlomga>,
}
/// Obf: NGNGPMKLFAK
#[derive(proto_derive::CmdID)]
#[cmdid(4283)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubStageOptionalBuffCsReq {
    #[prost(uint32, tag = "2")]
    pub fmgmaiegofp: u32,
    #[prost(uint32, tag = "12")]
    pub challenge_id: u32,
}
/// Obf: JBJPGCDOCJC
#[derive(proto_derive::CmdID)]
#[cmdid(4260)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubStageOptionalBuffScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub dddikpnnble: ::core::option::Option<Fcihijlomga>,
}
/// Obf: IBNNGGAGIPD
#[derive(proto_derive::CmdID)]
#[cmdid(4276)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartBoxingClubBattleCsReq {
    #[prost(uint32, tag = "3")]
    pub challenge_id: u32,
}
/// Obf: CKFFILONDHI
#[derive(proto_derive::CmdID)]
#[cmdid(4248)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartBoxingClubBattleScRsp {
    #[prost(uint32, tag = "2")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: IGPNNOGBAFH
#[derive(proto_derive::CmdID)]
#[cmdid(4271)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GiveUpBoxingClubChallengeCsReq {
    #[prost(uint32, tag = "2")]
    pub challenge_id: u32,
    #[prost(bool, tag = "4")]
    pub pcpdfjhdjcc: bool,
}
/// Obf: LAPAICIPAHE
#[derive(proto_derive::CmdID)]
#[cmdid(4252)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GiveUpBoxingClubChallengeScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub dddikpnnble: ::core::option::Option<Fcihijlomga>,
}
/// Obf: JBENHLGKAOM
#[derive(proto_derive::CmdID)]
#[cmdid(4222)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoxingClubRewardScNotify {
    #[prost(uint32, tag = "1")]
    pub naalcbmbpgc: u32,
    #[prost(bool, tag = "3")]
    pub is_win: bool,
    #[prost(uint32, tag = "12")]
    pub challenge_id: u32,
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: BLPFDJGEHMF
#[derive(proto_derive::CmdID)]
#[cmdid(4256)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoxingClubChallengeUpdateScNotify {
    #[prost(message, optional, tag = "5")]
    pub dddikpnnble: ::core::option::Option<Fcihijlomga>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Challenge {
    #[prost(bool, tag = "7")]
    pub kfdaicilnmb: bool,
    #[prost(message, optional, tag = "12")]
    pub story_info: ::core::option::Option<ChallengeBossExtraInfo>,
    #[prost(uint32, tag = "4")]
    pub attempts: u32,
    #[prost(uint32, tag = "15")]
    pub score: u32,
    #[prost(uint32, tag = "11")]
    pub stars: u32,
    #[prost(uint32, tag = "8")]
    pub score_two: u32,
    #[prost(uint32, tag = "10")]
    pub taken_reward: u32,
    #[prost(uint32, tag = "2")]
    pub challenge_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeReward {
    #[prost(uint64, tag = "15")]
    pub taken_challenge_reward: u64,
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeHistoryMaxLevel {
    #[prost(uint32, tag = "3")]
    pub ordering_index: u32,
    #[prost(uint32, tag = "7")]
    pub level: u32,
}
/// Obf: BKGDNIMPOKJ
#[derive(proto_derive::CmdID)]
#[cmdid(1795)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChallengeCsReq {}
/// Obf: KAMDAMIGPGL
#[derive(proto_derive::CmdID)]
#[cmdid(1732)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeScRsp {
    #[prost(message, repeated, tag = "11")]
    pub challenge_reward_list: ::prost::alloc::vec::Vec<ChallengeReward>,
    #[prost(uint32, tag = "4")]
    pub lpljmkpblif: u32,
    #[prost(message, repeated, tag = "10")]
    pub challenge_list: ::prost::alloc::vec::Vec<Challenge>,
    #[prost(message, repeated, tag = "5")]
    pub max_level_list: ::prost::alloc::vec::Vec<ChallengeHistoryMaxLevel>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartChallengeStoryBuffInfo {
    #[prost(uint32, tag = "1")]
    pub buff_two: u32,
    #[prost(uint32, tag = "14")]
    pub buff_one: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartChallengeBossBuffInfo {
    #[prost(uint32, tag = "3")]
    pub buff_one: u32,
    #[prost(uint32, tag = "11")]
    pub buff_two: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartChallengeStoryInfo {
    #[prost(oneof = "start_challenge_story_info::Buff", tags = "13, 4")]
    pub buff: ::core::option::Option<start_challenge_story_info::Buff>,
}
/// Nested message and enum types in `StartChallengeStoryInfo`.
pub mod start_challenge_story_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "13")]
        StoryBuffInfo(super::StartChallengeStoryBuffInfo),
        #[prost(message, tag = "4")]
        BossBuffInfo(super::StartChallengeBossBuffInfo),
    }
}
/// Obf: HJMBNPPOMNE
#[derive(proto_derive::CmdID)]
#[cmdid(1731)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeCsReq {
    #[prost(uint32, repeated, tag = "1")]
    pub first_lineup_ids: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub second_lineup_ids: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub challenge_id: u32,
    #[prost(message, optional, tag = "10")]
    pub story_info: ::core::option::Option<StartChallengeStoryInfo>,
}
/// Obf: NLLMMAHMCEA
#[derive(proto_derive::CmdID)]
#[cmdid(1740)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeScRsp {
    #[prost(message, optional, tag = "9")]
    pub story_info: ::core::option::Option<ChallengeBossExtraInfo>,
    #[prost(message, optional, tag = "13")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, repeated, tag = "10")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub challenge_info: ::core::option::Option<ChallengeInfo>,
}
/// Obf: FICKCKBMKOB
#[derive(proto_derive::CmdID)]
#[cmdid(1743)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartPartialChallengeCsReq {
    #[prost(bool, tag = "3")]
    pub is_first_half: bool,
    #[prost(uint32, tag = "10")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "8")]
    pub buff_id: u32,
}
/// Obf: MMPPOEFOALC
#[derive(proto_derive::CmdID)]
#[cmdid(1733)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartPartialChallengeScRsp {
    #[prost(message, optional, tag = "4")]
    pub challenge_info: ::core::option::Option<ChallengeInfo>,
    #[prost(message, optional, tag = "8")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: EFDLMFKDMKF
#[derive(proto_derive::CmdID)]
#[cmdid(1776)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveChallengeCsReq {}
/// Obf: CFJBOKIKIEN
#[derive(proto_derive::CmdID)]
#[cmdid(1748)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveChallengeScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: IMMJAEDHHIA
#[derive(proto_derive::CmdID)]
#[cmdid(1771)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeSettleNotify {
    #[prost(uint32, tag = "3")]
    pub challenge_score: u32,
    #[prost(message, optional, tag = "4")]
    pub challenge_info: ::core::option::Option<ChallengeInfo>,
    #[prost(uint32, tag = "10")]
    pub score_two: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub hahaeifmlbm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "12")]
    pub lpljmkpblif: u32,
    #[prost(uint32, tag = "11")]
    pub stars: u32,
    #[prost(message, optional, tag = "6")]
    pub max_level: ::core::option::Option<ChallengeHistoryMaxLevel>,
    #[prost(bool, tag = "8")]
    pub is_win: bool,
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct KillMonsterInfo {
    #[prost(uint32, tag = "1")]
    pub kill_num: u32,
    #[prost(uint32, tag = "13")]
    pub monster_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStoryBuffInfo {
    #[prost(uint32, repeated, tag = "14")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossBuffInfo {
    #[prost(uint32, repeated, tag = "5")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub kbhnhbbahhf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStoryInfo {
    #[prost(oneof = "challenge_story_info::Buff", tags = "6, 2")]
    pub buff: ::core::option::Option<challenge_story_info::Buff>,
}
/// Nested message and enum types in `ChallengeStoryInfo`.
pub mod challenge_story_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "6")]
        StoryBuffs(super::ChallengeStoryBuffInfo),
        #[prost(message, tag = "2")]
        BossBuffs(super::ChallengeBossBuffInfo),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeInfo {
    #[prost(enumeration = "ChallengeStatus", tag = "10")]
    pub status: i32,
    #[prost(uint32, tag = "9")]
    pub round_count: u32,
    #[prost(message, optional, tag = "2")]
    pub story_info: ::core::option::Option<ChallengeStoryInfo>,
    #[prost(uint32, tag = "1")]
    pub denbnlilgij: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "5")]
    pub extra_lineup_type: i32,
    #[prost(uint32, tag = "8")]
    pub challenge_id: u32,
    #[prost(message, repeated, tag = "15")]
    pub archive_monster_id_list: ::prost::alloc::vec::Vec<KillMonsterInfo>,
    #[prost(uint32, tag = "14")]
    pub score_two: u32,
    #[prost(uint32, tag = "13")]
    pub score: u32,
}
/// Obf: GLABHAOJNNK
#[derive(proto_derive::CmdID)]
#[cmdid(1756)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCurChallengeCsReq {}
/// Obf: PDAIAOMIFCG
#[derive(proto_derive::CmdID)]
#[cmdid(1772)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurChallengeScRsp {
    #[prost(message, repeated, tag = "1")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub challenge_info: ::core::option::Option<ChallengeInfo>,
}
/// Obf: PDJJKPKEHIG
#[derive(proto_derive::CmdID)]
#[cmdid(1785)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeLineupNotify {
    #[prost(enumeration = "ExtraLineupType", tag = "11")]
    pub extra_lineup_type: i32,
}
/// Obf: EAKKAPGCAEJ
#[derive(proto_derive::CmdID)]
#[cmdid(1783)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeChallengeRewardCsReq {
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
}
/// Obf: OINBAGIIMKJ
#[derive(proto_derive::CmdID)]
#[cmdid(1760)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengeRewardScRsp {
    #[prost(message, repeated, tag = "14")]
    pub taken_reward_list: ::prost::alloc::vec::Vec<TakenChallengeRewardInfo>,
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakenChallengeRewardInfo {
    #[prost(uint32, tag = "8")]
    pub star_count: u32,
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeMemoryStats {
    #[prost(uint32, tag = "9")]
    pub attempts: u32,
    #[prost(message, optional, tag = "8")]
    pub clear_info: ::core::option::Option<ChallengeMemoryClearInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStoryStats {
    #[prost(uint32, tag = "1")]
    pub attempts: u32,
    #[prost(message, optional, tag = "10")]
    pub clear_info: ::core::option::Option<ChallengeStoryClearInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossStats {
    #[prost(uint32, tag = "9")]
    pub attempts: u32,
    #[prost(message, optional, tag = "7")]
    pub clear_info: ::core::option::Option<ChallengeBossClearInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeMemoryClearInfo {
    #[prost(uint32, tag = "6")]
    pub round_count: u32,
    #[prost(uint32, tag = "11")]
    pub highest_difficulty: u32,
    #[prost(message, repeated, tag = "1")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineup>,
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStoryClearInfo {
    #[prost(uint32, tag = "6")]
    pub buff_two: u32,
    #[prost(uint32, tag = "1")]
    pub buff_one: u32,
    #[prost(uint32, tag = "7")]
    pub level: u32,
    #[prost(uint32, tag = "8")]
    pub score: u32,
    #[prost(message, repeated, tag = "3")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineup>,
    #[prost(uint32, tag = "2")]
    pub highest_difficulty: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossClearInfo {
    #[prost(message, repeated, tag = "10")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineup>,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "15")]
    pub score: u32,
    #[prost(uint32, tag = "4")]
    pub highest_difficulty: u32,
    #[prost(uint32, tag = "1")]
    pub buff_one: u32,
    #[prost(uint32, tag = "6")]
    pub buff_two: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeLineup {
    #[prost(message, repeated, tag = "14")]
    pub avatar_list: ::prost::alloc::vec::Vec<ChallengeLineupMember>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeLineupMember {
    #[prost(uint32, tag = "7")]
    pub ggdiibcdobb: u32,
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub id: u32,
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "6")]
    pub index: u32,
}
/// Obf: NCPOHOIHIDC
#[derive(proto_derive::CmdID)]
#[cmdid(1702)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChallengeGroupStatisticsCsReq {
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
}
/// Obf: PADOFDJLIFE
#[derive(proto_derive::CmdID)]
#[cmdid(1739)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeGroupStatisticsScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
    #[prost(
        oneof = "get_challenge_group_statistics_sc_rsp::ChallengeType",
        tags = "2, 8, 13"
    )]
    pub challenge_type: ::core::option::Option<
        get_challenge_group_statistics_sc_rsp::ChallengeType,
    >,
}
/// Nested message and enum types in `GetChallengeGroupStatisticsScRsp`.
pub mod get_challenge_group_statistics_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum ChallengeType {
        #[prost(message, tag = "2")]
        MemoryStats(super::ChallengeMemoryStats),
        #[prost(message, tag = "8")]
        StoryStats(super::ChallengeStoryStats),
        #[prost(message, tag = "13")]
        BossStats(super::ChallengeBossStats),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeBossStageInfo {
    #[prost(uint32, tag = "9")]
    pub buff_id: u32,
    #[prost(uint32, tag = "13")]
    pub stage_score: u32,
    #[prost(bool, tag = "11")]
    pub is_win: bool,
    #[prost(bool, tag = "7")]
    pub meelgndnomn: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeBossEquipment {
    #[prost(uint32, tag = "7")]
    pub level: u32,
    #[prost(uint32, tag = "2")]
    pub unique_id: u32,
    #[prost(uint32, tag = "10")]
    pub rank: u32,
    #[prost(uint32, tag = "6")]
    pub tid: u32,
    #[prost(uint32, tag = "12")]
    pub promotion: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossRelic {
    #[prost(message, repeated, tag = "11")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "12")]
    pub unique_id: u32,
    #[prost(uint32, tag = "7")]
    pub main_affix_id: u32,
    #[prost(uint32, tag = "6")]
    pub tid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossRelicList {
    #[prost(map = "uint32, message", tag = "10")]
    pub equipped_relic_map: ::std::collections::HashMap<u32, ChallengeBossRelic>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossInfo {
    #[prost(bool, tag = "4")]
    pub ncbdnpgpeai: bool,
    #[prost(message, optional, tag = "2")]
    pub second_node: ::core::option::Option<ChallengeBossStageInfo>,
    #[prost(uint32, repeated, tag = "13")]
    pub second_lineup_ids: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub first_lineup_ids: ::prost::alloc::vec::Vec<u32>,
    #[prost(map = "uint32, message", tag = "12")]
    pub used_equipment_map: ::std::collections::HashMap<u32, ChallengeBossEquipment>,
    #[prost(message, optional, tag = "8")]
    pub first_node: ::core::option::Option<ChallengeBossStageInfo>,
    #[prost(map = "uint32, message", tag = "10")]
    pub used_relic_map: ::std::collections::HashMap<u32, ChallengeBossRelicList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossExtraInfo {
    #[prost(oneof = "challenge_boss_extra_info::Buff", tags = "4")]
    pub buff: ::core::option::Option<challenge_boss_extra_info::Buff>,
}
/// Nested message and enum types in `ChallengeBossExtraInfo`.
pub mod challenge_boss_extra_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "4")]
        BossBuffInfo(super::ChallengeBossInfo),
    }
}
/// Obf: HJFFBHBBADC
#[derive(proto_derive::CmdID)]
#[cmdid(1777)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RestartChallengePhaseCsReq {}
/// Obf: CHAJPMIBFLH
#[derive(proto_derive::CmdID)]
#[cmdid(1758)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestartChallengePhaseScRsp {
    #[prost(message, optional, tag = "4")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: BPLCLIOADHE
#[derive(proto_derive::CmdID)]
#[cmdid(1721)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterChallengeNextPhaseCsReq {}
/// Obf: JKPDIFEIBBF
#[derive(proto_derive::CmdID)]
#[cmdid(1729)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterChallengeNextPhaseScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: BAGDAHEKNJA
#[derive(proto_derive::CmdID)]
#[cmdid(1763)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossPhaseSettleNotify {
    #[prost(uint32, tag = "5")]
    pub fcmagjblgoj: u32,
    #[prost(uint32, tag = "2")]
    pub phase: u32,
    #[prost(uint32, tag = "13")]
    pub score_two: u32,
    #[prost(message, repeated, tag = "9")]
    pub challenge_battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
    #[prost(uint32, tag = "7")]
    pub stars: u32,
    #[prost(uint32, tag = "10")]
    pub challenge_score: u32,
    #[prost(uint32, tag = "15")]
    pub challenge_id: u32,
    #[prost(bool, tag = "6")]
    pub is_win: bool,
    #[prost(bool, tag = "8")]
    pub ilhafbkckog: bool,
    #[prost(bool, tag = "3")]
    pub njbfdiakfhn: bool,
}
/// Obf: GLHAAABCBBI
#[derive(proto_derive::CmdID)]
#[cmdid(3995)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SendMsgCsReq {
    #[prost(string, tag = "6")]
    pub text: ::prost::alloc::string::String,
    #[prost(enumeration = "ChatType", tag = "13")]
    pub chat_type: i32,
    #[prost(enumeration = "MsgType", tag = "3")]
    pub msg_type: i32,
    #[prost(message, optional, tag = "9")]
    pub hnbepabnbng: ::core::option::Option<Pedlphdbnaf>,
    #[prost(uint32, tag = "8")]
    pub emote: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub to_uid_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BDMDFGCCAFJ
#[derive(proto_derive::CmdID)]
#[cmdid(3932)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SendMsgScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint64, tag = "1")]
    pub end_time: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chat {
    #[prost(enumeration = "MsgType", tag = "6")]
    pub msg_type: i32,
    #[prost(uint32, tag = "1")]
    pub sender_uid: u32,
    #[prost(string, tag = "15")]
    pub text: ::prost::alloc::string::String,
    #[prost(uint64, tag = "11")]
    pub sent_time: u64,
    #[prost(message, optional, tag = "5")]
    pub hnbepabnbng: ::core::option::Option<Pedlphdbnaf>,
    #[prost(uint32, tag = "14")]
    pub emote: u32,
}
/// Obf: OBDANOMEOCB
#[derive(proto_derive::CmdID)]
#[cmdid(3931)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RevcMsgScNotify {
    #[prost(string, tag = "12")]
    pub text: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "7")]
    pub hnbepabnbng: ::core::option::Option<Pedlphdbnaf>,
    #[prost(uint32, tag = "4")]
    pub emote: u32,
    #[prost(enumeration = "MsgType", tag = "10")]
    pub msg_type: i32,
    #[prost(uint32, tag = "14")]
    pub from_uid: u32,
    #[prost(uint32, tag = "1")]
    pub to_uid: u32,
    #[prost(enumeration = "ChatType", tag = "3")]
    pub chat_type: i32,
}
/// Obf: MCFHPBPGJHA
#[derive(proto_derive::CmdID)]
#[cmdid(3940)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrivateMsgOfflineUsersScNotify {
    #[prost(uint32, repeated, tag = "2")]
    pub aibfdnekjmg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FBNPMGMMBCB
#[derive(proto_derive::CmdID)]
#[cmdid(3976)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPrivateChatHistoryCsReq {
    #[prost(uint32, tag = "6")]
    pub to_uid: u32,
    #[prost(uint32, tag = "4")]
    pub from_uid: u32,
}
/// Obf: PBIHKCAJOJM
#[derive(proto_derive::CmdID)]
#[cmdid(3948)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPrivateChatHistoryScRsp {
    #[prost(message, repeated, tag = "15")]
    pub chat_list: ::prost::alloc::vec::Vec<Chat>,
    #[prost(uint32, tag = "9")]
    pub from_uid: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub to_uid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Onbgidncbob {
    #[prost(int64, tag = "10")]
    pub fflipihfaef: i64,
    #[prost(uint32, tag = "2")]
    pub to_uid: u32,
}
/// Obf: CCNBMJDHJKH
#[derive(proto_derive::CmdID)]
#[cmdid(3971)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChatFriendHistoryCsReq {}
/// Obf: OEPOODKIDLF
#[derive(proto_derive::CmdID)]
#[cmdid(3952)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChatFriendHistoryScRsp {
    #[prost(message, repeated, tag = "9")]
    pub iligpoleepj: ::prost::alloc::vec::Vec<Onbgidncbob>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: LMGLHEKDJAJ
#[derive(proto_derive::CmdID)]
#[cmdid(3922)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChatEmojiListCsReq {}
/// Obf: DMPOKADBKBK
#[derive(proto_derive::CmdID)]
#[cmdid(3956)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChatEmojiListScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub jepkimmipom: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HDDJNPMHDCJ
#[derive(proto_derive::CmdID)]
#[cmdid(3972)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkChatEmojiCsReq {
    #[prost(bool, tag = "3")]
    pub ncknkebngoh: bool,
    #[prost(uint32, tag = "8")]
    pub emote: u32,
}
/// Obf: ACJOGCJGFIN
#[derive(proto_derive::CmdID)]
#[cmdid(3985)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkChatEmojiScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(bool, tag = "3")]
    pub ncknkebngoh: bool,
    #[prost(uint32, tag = "2")]
    pub emote: u32,
}
/// Obf: HNKAMIGEFDP
#[derive(proto_derive::CmdID)]
#[cmdid(3916)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchMarkChatEmojiCsReq {
    #[prost(uint32, repeated, tag = "7")]
    pub gcjkopicjhd: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BBJKHANKCJN
#[derive(proto_derive::CmdID)]
#[cmdid(3946)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchMarkChatEmojiScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub gcjkopicjhd: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GBILEJOLHFD
#[derive(proto_derive::CmdID)]
#[cmdid(3983)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetLoginChatInfoCsReq {}
/// Obf: PHPIJGBLAMH
#[derive(proto_derive::CmdID)]
#[cmdid(3960)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLoginChatInfoScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub aibfdnekjmg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncciejolncf {
    #[prost(message, optional, tag = "12")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehanapnjfjd {
    #[prost(message, optional, tag = "5")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "13")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oaloinnaini {
    #[prost(uint32, repeated, tag = "1708")]
    pub ngdedlkngfg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub kpnakipljgb: u32,
    #[prost(message, optional, tag = "1702")]
    pub licobikoaao: ::core::option::Option<Kjehfkbjphd>,
    #[prost(uint32, tag = "14")]
    pub cjgonlaecko: u32,
    #[prost(uint32, tag = "4")]
    pub ciblonpnbfe: u32,
    #[prost(bool, tag = "263")]
    pub fneidjimjph: bool,
    #[prost(enumeration = "Aikblmohhjp", tag = "7")]
    pub bkknaegklcb: i32,
    #[prost(int32, tag = "1591")]
    pub jfipiifpmmb: i32,
    #[prost(uint32, tag = "9")]
    pub onlglocadgd: u32,
    #[prost(uint32, tag = "12")]
    pub hfmjdfpnncm: u32,
    #[prost(uint32, tag = "11")]
    pub pagpblafneh: u32,
    #[prost(uint32, tag = "8")]
    pub omcagfaahke: u32,
    #[prost(bool, tag = "6")]
    pub bnafeecpego: bool,
    #[prost(enumeration = "Nlmollcfcgb", tag = "3")]
    pub iccepgcifmg: i32,
    #[prost(message, optional, tag = "1462")]
    pub edphldegjlm: ::core::option::Option<Eendhpkpflp>,
    #[prost(message, optional, tag = "139")]
    pub boncmhigpfj: ::core::option::Option<Aekpjeldapd>,
    #[prost(uint32, tag = "1")]
    pub gofpdnoapbb: u32,
}
/// Obf: HPIOLDGGBMD
#[derive(proto_derive::CmdID)]
#[cmdid(5533)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueRollDiceCsReq {
    #[prost(uint32, tag = "9")]
    pub kchfjdajecm: u32,
}
/// Obf: NOGNCPJBEHK
#[derive(proto_derive::CmdID)]
#[cmdid(5426)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueRollDiceScRsp {
    #[prost(message, optional, tag = "6")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iaaefegdnlo {
    #[prost(uint32, tag = "13")]
    pub monster_id: u32,
    #[prost(uint32, tag = "6")]
    pub mldlfhjlhoc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmopbldhjmf {
    #[prost(message, repeated, tag = "6")]
    pub cdodefkbkpd: ::prost::alloc::vec::Vec<Iaaefegdnlo>,
    #[prost(bool, tag = "3")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, tag = "5")]
    pub endidlcdnni: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilhlpphldcg {
    #[prost(uint32, repeated, tag = "12")]
    pub gcnkifmgmce: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikhpeepogle {
    #[prost(message, optional, tag = "5")]
    pub hgimnjflklb: ::core::option::Option<Mmopbldhjmf>,
    #[prost(message, optional, tag = "1")]
    pub cjiakcaphjg: ::core::option::Option<Ilhlpphldcg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pihkdokdikf {
    #[prost(oneof = "pihkdokdikf::Ldmccmabllc", tags = "9, 14, 1")]
    pub ldmccmabllc: ::core::option::Option<pihkdokdikf::Ldmccmabllc>,
}
/// Nested message and enum types in `PIHKDOKDIKF`.
pub mod pihkdokdikf {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ldmccmabllc {
        #[prost(message, tag = "9")]
        Hgimnjflklb(super::Mmopbldhjmf),
        #[prost(message, tag = "14")]
        Cjiakcaphjg(super::Ilhlpphldcg),
        #[prost(message, tag = "1")]
        Iagebjbplfm(super::Ikhpeepogle),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mknhikdcjjg {
    #[prost(bool, tag = "8")]
    pub knbdpfeidnm: bool,
    #[prost(bool, tag = "15")]
    pub alifdhnigal: bool,
    #[prost(message, optional, tag = "14")]
    pub story_info: ::core::option::Option<Pihkdokdikf>,
    #[prost(uint32, tag = "3")]
    pub iigoemfhgll: u32,
    #[prost(uint32, tag = "10")]
    pub id: u32,
    #[prost(uint32, tag = "12")]
    pub room_id: u32,
    #[prost(uint32, tag = "2")]
    pub dknjlpihepj: u32,
    #[prost(uint32, tag = "13")]
    pub feknlhbagdd: u32,
    #[prost(enumeration = "Ogjbgonlhih", tag = "11")]
    pub hkcjgfephea: i32,
    #[prost(uint32, tag = "7")]
    pub gicooehhhig: u32,
    #[prost(enumeration = "Eieenafclll", tag = "6")]
    pub daajljcajob: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofphdlopiem {
    #[prost(uint32, tag = "4")]
    pub hdhiongofid: u32,
    #[prost(message, repeated, tag = "8")]
    pub iafbijekkpg: ::prost::alloc::vec::Vec<Mknhikdcjjg>,
    #[prost(uint32, tag = "15")]
    pub hlamiclgpee: u32,
    #[prost(uint32, tag = "6")]
    pub bmajdilbpob: u32,
    #[prost(uint32, tag = "12")]
    pub nghppegbpao: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Doiblcekfdg {
    #[prost(uint32, tag = "12")]
    pub hhcbjghkcpc: u32,
    #[prost(uint32, tag = "5")]
    pub room_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkckgeojfke {
    #[prost(uint32, tag = "10")]
    pub bdmlgepndfm: u32,
    #[prost(message, optional, tag = "14")]
    pub bohdminejno: ::core::option::Option<Eendhpkpflp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hajpalbodih {
    #[prost(uint32, repeated, tag = "5")]
    pub ingagmmhmjc: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "2")]
    pub mcknecfhdkg: ::prost::alloc::vec::Vec<Doiblcekfdg>,
    #[prost(message, optional, tag = "1")]
    pub anhjnbgielf: ::core::option::Option<Ofphdlopiem>,
    #[prost(message, optional, tag = "14")]
    pub cfekaolkhjg: ::core::option::Option<Kkckgeojfke>,
    #[prost(uint32, tag = "8")]
    pub aoeppibmggn: u32,
    #[prost(uint32, tag = "4")]
    pub pmgpokklkdd: u32,
    #[prost(enumeration = "Eieenafclll", tag = "13")]
    pub ccghbbbolmh: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afabkdefddg {
    #[prost(int32, tag = "10")]
    pub ocdnmhnnkgm: i32,
    #[prost(message, optional, tag = "4")]
    pub jmgkbhhigmk: ::core::option::Option<Hajpalbodih>,
    #[prost(int32, tag = "14")]
    pub ljffcnbpjdd: i32,
    #[prost(uint32, tag = "11")]
    pub ppjbgnbmkpm: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub cpbmapflplc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub id: u32,
    #[prost(uint32, tag = "7")]
    pub eehkfnkhnbi: u32,
    #[prost(uint32, tag = "9")]
    pub mhoijafgecp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Llbjabeocec {
    #[prost(uint32, tag = "12")]
    pub elappcmeloa: u32,
    #[prost(uint32, tag = "14")]
    pub mamhojmfjof: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgaldkkfblc {
    #[prost(message, repeated, tag = "5")]
    pub pjkdpobkkgb: ::prost::alloc::vec::Vec<Llbjabeocec>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjembcbcbkj {
    #[prost(message, optional, tag = "14")]
    pub hlagjpbaeml: ::core::option::Option<Pgaldkkfblc>,
    #[prost(int32, tag = "13")]
    pub icjabpgmacj: i32,
    #[prost(uint32, tag = "12")]
    pub amnbmjofjoo: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub fpchnblonlc: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "10")]
    pub bohdminejno: ::core::option::Option<Eendhpkpflp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Knlmliimohd {
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iegmfgpfadl {
    #[prost(message, repeated, tag = "2")]
    pub ajljgmilelp: ::prost::alloc::vec::Vec<Knlmliimohd>,
    #[prost(message, optional, tag = "6")]
    pub fpjckpnlnfm: ::core::option::Option<Ncciejolncf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkmlalbdpgo {
    #[prost(uint32, tag = "1")]
    pub lhcbbgimmdg: u32,
    #[prost(uint32, tag = "3")]
    pub fahihdjfohm: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub boonpdeobla: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "12")]
    pub fjkgkaekbkj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ocbcbidlllj {
    #[prost(int32, tag = "11")]
    pub odjpoenppob: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hijkilgjclp {
    #[prost(uint32, repeated, tag = "10")]
    pub dimhpbcpnlc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fflapkolhcm {
    #[prost(message, optional, tag = "4")]
    pub chmhpcngfao: ::core::option::Option<Cjembcbcbkj>,
    #[prost(message, optional, tag = "8")]
    pub lmgkmaoicgc: ::core::option::Option<Afabkdefddg>,
    #[prost(message, optional, tag = "2")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
    #[prost(message, optional, tag = "10")]
    pub aabchfbkpeg: ::core::option::Option<Bcllbmeedkp>,
    #[prost(message, optional, tag = "3")]
    pub opakjjmagph: ::core::option::Option<Imnpeajajjo>,
    #[prost(message, optional, tag = "9")]
    pub ibmioggkbfb: ::core::option::Option<Ocbcbidlllj>,
    #[prost(message, optional, tag = "15")]
    pub kndmeilhkej: ::core::option::Option<Kfpmaiaadmo>,
    #[prost(message, optional, tag = "5")]
    pub story_buff_info: ::core::option::Option<Hkmlalbdpgo>,
    #[prost(message, optional, tag = "14")]
    pub lgopnbhhhbg: ::core::option::Option<Kcacnhcadec>,
    #[prost(message, optional, tag = "11")]
    pub embagmmhipa: ::core::option::Option<Iegmfgpfadl>,
    #[prost(message, optional, tag = "1724")]
    pub fiocabcbnkb: ::core::option::Option<Hijkilgjclp>,
    #[prost(uint32, tag = "1")]
    pub bngfaignphe: u32,
    #[prost(message, optional, tag = "12")]
    pub eeppkmpajoh: ::core::option::Option<Nkidddpflje>,
    #[prost(message, repeated, tag = "7")]
    pub biphngcadde: ::prost::alloc::vec::Vec<Lgkgehhajje>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jacmenokjfm {
    #[prost(message, optional, tag = "9")]
    pub bbcpoebnanc: ::core::option::Option<Dffjcmlaicl>,
    #[prost(message, optional, tag = "1")]
    pub talent_info: ::core::option::Option<Lgeljhjomlo>,
    #[prost(message, optional, tag = "13")]
    pub fiocabcbnkb: ::core::option::Option<Afaghelicpd>,
    #[prost(uint32, repeated, tag = "5")]
    pub cpbmapflplc: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "2")]
    pub hlagjpbaeml: ::core::option::Option<Pgaldkkfblc>,
    #[prost(uint32, repeated, tag = "6")]
    pub cmnnlmcemcg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bipddejaadc {
    #[prost(message, repeated, tag = "14")]
    pub biphngcadde: ::prost::alloc::vec::Vec<Lgkgehhajje>,
    #[prost(uint32, tag = "3")]
    pub bngfaignphe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihnjghalkjb {
    #[prost(message, optional, tag = "15")]
    pub hlagjpbaeml: ::core::option::Option<Pgaldkkfblc>,
    #[prost(message, optional, tag = "11")]
    pub talent_info: ::core::option::Option<Lgeljhjomlo>,
    #[prost(message, optional, tag = "13")]
    pub fiocabcbnkb: ::core::option::Option<Afaghelicpd>,
    #[prost(uint32, repeated, tag = "3")]
    pub cmnnlmcemcg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "9")]
    pub cpbmapflplc: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "6")]
    pub bbcpoebnanc: ::core::option::Option<Dffjcmlaicl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ccodjoaholb {
    #[prost(uint32, tag = "320")]
    pub egpcibjiajd: u32,
    #[prost(message, optional, tag = "3")]
    pub anniaoidado: ::core::option::Option<LineupInfo>,
    #[prost(uint32, tag = "1")]
    pub dmbdnaicpfb: u32,
    #[prost(uint32, tag = "10")]
    pub fgomiplmeic: u32,
    #[prost(uint32, tag = "14")]
    pub plbcdiaadkd: u32,
    #[prost(uint32, tag = "1004")]
    pub bngfaignphe: u32,
    #[prost(message, optional, tag = "1807")]
    pub opakjjmagph: ::core::option::Option<Imnpeajajjo>,
    #[prost(enumeration = "Kfhlbkccaco", tag = "4")]
    pub gmolnjibnja: i32,
    #[prost(message, optional, tag = "7")]
    pub bgpeckfdeld: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1841")]
    pub opoimhhafjo: u32,
    #[prost(bool, tag = "5")]
    pub hlnfbgacnpo: bool,
    #[prost(uint32, tag = "2016")]
    pub abehkcjhceh: u32,
    #[prost(uint32, tag = "8")]
    pub blbbokogfda: u32,
    #[prost(uint32, tag = "2")]
    pub pbalfienefo: u32,
    #[prost(message, optional, tag = "12")]
    pub lgopnbhhhbg: ::core::option::Option<Gckblhadlgn>,
    #[prost(uint32, tag = "9")]
    pub ipojmmgoopj: u32,
    #[prost(uint32, tag = "811")]
    pub score: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub ojggmoopgil: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "6")]
    pub eeppkmpajoh: ::core::option::Option<Ajpfphkklpg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojleefjelap {
    #[prost(message, repeated, tag = "3")]
    pub iafbijekkpg: ::prost::alloc::vec::Vec<Mknhikdcjjg>,
    #[prost(uint32, tag = "9")]
    pub hbcmgiicjmk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lahjpfooheb {
    #[prost(uint32, tag = "13")]
    pub kenpckfonok: u32,
    #[prost(uint32, tag = "10")]
    pub fgomiplmeic: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dipmfomgcgl {
    #[prost(uint32, tag = "6")]
    pub fahihdjfohm: u32,
    #[prost(uint32, tag = "5")]
    pub cfibpmkaino: u32,
}
/// Obf: DFPMEHBDAFP
#[derive(proto_derive::CmdID)]
#[cmdid(5595)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryCsReq {}
/// Obf: FFICMOGJCGL
#[derive(proto_derive::CmdID)]
#[cmdid(5447)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryScRsp {
    #[prost(message, optional, tag = "1")]
    pub hndlhicdnpc: ::core::option::Option<Fflapkolhcm>,
    #[prost(message, optional, tag = "10")]
    pub blndmfgkpmj: ::core::option::Option<Jacmenokjfm>,
    #[prost(message, optional, tag = "15")]
    pub boikablfkec: ::core::option::Option<Ccodjoaholb>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub lagbgldlgcb: ::core::option::Option<Ihnjghalkjb>,
}
/// Obf: GFFNDENCOPM
#[derive(proto_derive::CmdID)]
#[cmdid(5472)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterCellCsReq {
    #[prost(uint32, tag = "11")]
    pub femgpnlfagc: u32,
    #[prost(uint32, tag = "4")]
    pub hhcbjghkcpc: u32,
}
/// Obf: FLGHAEAHAIE
#[derive(proto_derive::CmdID)]
#[cmdid(5518)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterCellScRsp {
    #[prost(message, optional, tag = "7")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub hhcbjghkcpc: u32,
    #[prost(message, optional, tag = "8")]
    pub hndlhicdnpc: ::core::option::Option<Fflapkolhcm>,
}
/// Obf: ADCOMLGAENP
#[derive(proto_derive::CmdID)]
#[cmdid(5414)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterCsReq {
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
/// Obf: DGLBNHHIPFH
#[derive(proto_derive::CmdID)]
#[cmdid(5457)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterScRsp {
    #[prost(message, optional, tag = "6")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub id: u32,
    #[prost(message, optional, tag = "2")]
    pub hndlhicdnpc: ::core::option::Option<Fflapkolhcm>,
}
/// Obf: MGMMCBBIKMO
#[derive(proto_derive::CmdID)]
#[cmdid(5573)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueLeaveCsReq {}
/// Obf: MFDMEODLBJI
#[derive(proto_derive::CmdID)]
#[cmdid(5531)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueLeaveScRsp {
    #[prost(message, optional, tag = "3")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub blndmfgkpmj: ::core::option::Option<Jacmenokjfm>,
    #[prost(message, optional, tag = "4")]
    pub chmhpcngfao: ::core::option::Option<Cjembcbcbkj>,
    #[prost(message, optional, tag = "5")]
    pub lagbgldlgcb: ::core::option::Option<Ihnjghalkjb>,
}
/// Obf: ODPOLCDMIHM
#[derive(proto_derive::CmdID)]
#[cmdid(5529)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueGiveUpCsReq {}
/// Obf: EFFDKLFNALG
#[derive(proto_derive::CmdID)]
#[cmdid(5436)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueGiveUpScRsp {
    #[prost(message, optional, tag = "5")]
    pub lagbgldlgcb: ::core::option::Option<Ihnjghalkjb>,
    #[prost(message, optional, tag = "2")]
    pub chmhpcngfao: ::core::option::Option<Cjembcbcbkj>,
    #[prost(message, optional, tag = "10")]
    pub blndmfgkpmj: ::core::option::Option<Jacmenokjfm>,
    #[prost(message, optional, tag = "14")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
    #[prost(message, optional, tag = "13")]
    pub boikablfkec: ::core::option::Option<Ccodjoaholb>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: OJEFOAPJBNN
#[derive(proto_derive::CmdID)]
#[cmdid(5471)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueStartCsReq {
    #[prost(uint32, tag = "3")]
    pub elappcmeloa: u32,
    #[prost(uint32, tag = "7")]
    pub dhndampbhpp: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub ahiibhkdfjb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "14")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub hjgndhlmmib: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub id: u32,
}
/// Obf: DCLBJGFLPGI
#[derive(proto_derive::CmdID)]
#[cmdid(5441)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueStartScRsp {
    #[prost(message, optional, tag = "7")]
    pub hndlhicdnpc: ::core::option::Option<Fflapkolhcm>,
    #[prost(message, optional, tag = "8")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
    #[prost(message, optional, tag = "9")]
    pub dbdgahblgbb: ::core::option::Option<Ojleefjelap>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: KKEIBLACBDH
#[derive(proto_derive::CmdID)]
#[cmdid(5578)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryAeonDimensionsCsReq {}
/// Obf: LKOPLOODPAL
#[derive(proto_derive::CmdID)]
#[cmdid(5413)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryAeonDimensionsScRsp {
    #[prost(message, optional, tag = "3")]
    pub hndlhicdnpc: ::core::option::Option<Pgaldkkfblc>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: MCMOFBLFAJA
#[derive(proto_derive::CmdID)]
#[cmdid(5486)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueChangeyAeonDimensionNotify {
    #[prost(message, optional, tag = "14")]
    pub hndlhicdnpc: ::core::option::Option<Llbjabeocec>,
}
/// Obf: FBOAJCKGDEN
#[derive(proto_derive::CmdID)]
#[cmdid(5528)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueSelectCellCsReq {
    #[prost(uint32, tag = "6")]
    pub femgpnlfagc: u32,
    #[prost(uint32, tag = "11")]
    pub hhcbjghkcpc: u32,
}
/// Obf: HMICABPCDCP
#[derive(proto_derive::CmdID)]
#[cmdid(5422)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSelectCellScRsp {
    #[prost(uint32, tag = "2")]
    pub femgpnlfagc: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub hhcbjghkcpc: u32,
    #[prost(message, optional, tag = "8")]
    pub kajafnpekaj: ::core::option::Option<Oiaolbgoaag>,
}
/// Obf: ILGKMJJPAAM
#[derive(proto_derive::CmdID)]
#[cmdid(5555)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueLayerAccountInfoNotify {
    #[prost(uint32, tag = "4")]
    pub pbalfienefo: u32,
    #[prost(message, optional, tag = "8")]
    pub boikablfkec: ::core::option::Option<Ccodjoaholb>,
    #[prost(uint32, tag = "9")]
    pub ppjbgnbmkpm: u32,
}
/// Obf: JOJNOKAGLPI
#[derive(proto_derive::CmdID)]
#[cmdid(5525)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChessRogueBuffEnhanceInfoCsReq {}
/// Obf: GPKDBFDBOBH
#[derive(proto_derive::CmdID)]
#[cmdid(5586)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueBuffEnhanceInfoScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub buff_enhance_info: ::core::option::Option<Ngpimhhelmm>,
}
/// Obf: NPEHJAHJEPA
#[derive(proto_derive::CmdID)]
#[cmdid(5551)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnhanceChessRogueBuffCsReq {
    #[prost(uint32, tag = "2")]
    pub ojeblmkkmgo: u32,
}
/// Obf: AFNJNBKBABB
#[derive(proto_derive::CmdID)]
#[cmdid(5419)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnhanceChessRogueBuffScRsp {
    #[prost(message, optional, tag = "3")]
    pub buff_enhance_info: ::core::option::Option<Ngpimhhelmm>,
    #[prost(message, optional, tag = "10")]
    pub anagcoddmom: ::core::option::Option<Ffamnkoaihf>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(bool, tag = "4")]
    pub is_success: bool,
}
/// Obf: JGHADCEKFGG
#[derive(proto_derive::CmdID)]
#[cmdid(5590)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRoguePickAvatarCsReq {
    #[prost(uint32, tag = "14")]
    pub prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FEPOEPBDPPM
#[derive(proto_derive::CmdID)]
#[cmdid(5568)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRoguePickAvatarScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub embagmmhipa: ::core::option::Option<Iegmfgpfadl>,
    #[prost(uint32, repeated, tag = "5")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DHDPCOIJBGJ
#[derive(proto_derive::CmdID)]
#[cmdid(5465)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueReviveAvatarCsReq {
    #[prost(uint32, tag = "6")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KEHIIMHCHLI
#[derive(proto_derive::CmdID)]
#[cmdid(5516)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueReviveAvatarScRsp {
    #[prost(message, optional, tag = "15")]
    pub fpjckpnlnfm: ::core::option::Option<Ncciejolncf>,
    #[prost(uint32, repeated, tag = "14")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: GOAMHGNKPJM
#[derive(proto_derive::CmdID)]
#[cmdid(5598)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateReviveInfoScNotify {
    #[prost(message, optional, tag = "2")]
    pub fpjckpnlnfm: ::core::option::Option<Ncciejolncf>,
}
/// Obf: CEMBPPNNHBN
#[derive(proto_derive::CmdID)]
#[cmdid(5484)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateMoneyInfoScNotify {
    #[prost(message, optional, tag = "15")]
    pub aabchfbkpeg: ::core::option::Option<Bcllbmeedkp>,
}
/// Obf: PFDMKAMINEM
#[derive(proto_derive::CmdID)]
#[cmdid(5514)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateDiceInfoScNotify {
    #[prost(message, optional, tag = "5")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
}
/// Obf: KCKJOLHPNEE
#[derive(proto_derive::CmdID)]
#[cmdid(5461)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateLevelBaseInfoScNotify {
    #[prost(enumeration = "Ibmlfggingp", tag = "13")]
    pub eehkfnkhnbi: i32,
    #[prost(enumeration = "Mmkdkdgfblh", tag = "15")]
    pub reason: i32,
}
/// Obf: HFINFFLLHOC
#[derive(proto_derive::CmdID)]
#[cmdid(5495)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateAllowedSelectCellScNotify {
    #[prost(uint32, tag = "6")]
    pub eamgahffeco: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub ingagmmhmjc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DMAGHPKHLBO
#[derive(proto_derive::CmdID)]
#[cmdid(5580)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateBoardScNotify {
    #[prost(message, optional, tag = "11")]
    pub dhdknmfmgbc: ::core::option::Option<Ofphdlopiem>,
}
/// Obf: BOLPCHMMDHM
#[derive(proto_derive::CmdID)]
#[cmdid(5574)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateAeonModifierValueScNotify {
    #[prost(uint32, tag = "13")]
    pub elappcmeloa: u32,
    #[prost(int32, tag = "6")]
    pub icjabpgmacj: i32,
}
/// Obf: ACIENOHKCOG
#[derive(proto_derive::CmdID)]
#[cmdid(5415)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateDicePassiveAccumulateValueScNotify {
    #[prost(int32, tag = "4")]
    pub cblaememmig: i32,
}
/// Obf: MLLPACPPJBB
#[derive(proto_derive::CmdID)]
#[cmdid(5418)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueSkipTeachingLevelCsReq {}
/// Obf: ChessRogueSkipTeachingLevelScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(5600)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSkipTeachingLevelScRsp {
    #[prost(message, optional, tag = "4")]
    pub skip_reward_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: OAPHEAMIIFF
#[derive(proto_derive::CmdID)]
#[cmdid(5527)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateUnlockLevelScNotify {
    #[prost(uint32, repeated, tag = "9")]
    pub cpbmapflplc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BIHDFJFHHMA
#[derive(proto_derive::CmdID)]
#[cmdid(5460)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterNextLayerCsReq {}
/// Obf: PFJHDBLEKHD
#[derive(proto_derive::CmdID)]
#[cmdid(5501)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterNextLayerScRsp {
    #[prost(message, optional, tag = "5")]
    pub dbdgahblgbb: ::core::option::Option<Ojleefjelap>,
    #[prost(message, optional, tag = "7")]
    pub rogue_info: ::core::option::Option<Fflapkolhcm>,
    #[prost(message, optional, tag = "11")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: APNIJKHIJDD
#[derive(proto_derive::CmdID)]
#[cmdid(5587)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueReRollDiceCsReq {
    #[prost(uint32, tag = "10")]
    pub kchfjdajecm: u32,
}
/// Obf: JBHIKPPOCBH
#[derive(proto_derive::CmdID)]
#[cmdid(5445)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueReRollDiceScRsp {
    #[prost(message, optional, tag = "10")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: CAEECAHOEOL
#[derive(proto_derive::CmdID)]
#[cmdid(5448)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueConfirmRollCsReq {
    #[prost(uint32, tag = "8")]
    pub kchfjdajecm: u32,
}
/// Obf: FDMLPJGLCLF
#[derive(proto_derive::CmdID)]
#[cmdid(5542)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueConfirmRollScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
}
/// Obf: KJNFLIGHDII
#[derive(proto_derive::CmdID)]
#[cmdid(5512)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueCheatRollCsReq {
    #[prost(uint32, tag = "8")]
    pub kchfjdajecm: u32,
    #[prost(uint32, tag = "13")]
    pub eooadpocphd: u32,
}
/// Obf: PENOIKKIHPB
#[derive(proto_derive::CmdID)]
#[cmdid(5473)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueCheatRollScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub nljoldmcgai: u32,
    #[prost(uint32, tag = "5")]
    pub eooadpocphd: u32,
    #[prost(message, optional, tag = "12")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
}
/// Obf: KMFHMGOABIP
#[derive(proto_derive::CmdID)]
#[cmdid(5547)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueGiveUpRollCsReq {}
/// Obf: OHJANOLOLLE
#[derive(proto_derive::CmdID)]
#[cmdid(5408)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueGiveUpRollScRsp {
    #[prost(message, optional, tag = "6")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub nkmjhejcolp: ::core::option::Option<ItemList>,
}
/// Obf: GDAIDHNKFCG
#[derive(proto_derive::CmdID)]
#[cmdid(5492)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueQuitCsReq {}
/// Obf: HFGHFCGANCF
#[derive(proto_derive::CmdID)]
#[cmdid(5521)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQuitScRsp {
    #[prost(message, optional, tag = "12")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub blndmfgkpmj: ::core::option::Option<Jacmenokjfm>,
    #[prost(message, optional, tag = "7")]
    pub chmhpcngfao: ::core::option::Option<Cjembcbcbkj>,
    #[prost(message, optional, tag = "15")]
    pub lagbgldlgcb: ::core::option::Option<Ihnjghalkjb>,
    #[prost(message, optional, tag = "3")]
    pub lmgkmaoicgc: ::core::option::Option<Afabkdefddg>,
    #[prost(message, optional, tag = "8")]
    pub boikablfkec: ::core::option::Option<Ccodjoaholb>,
}
/// Obf: GPJCDDBBMCB
#[derive(proto_derive::CmdID)]
#[cmdid(5490)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueCellUpdateNotify {
    #[prost(enumeration = "Aebjegdpong", tag = "1")]
    pub reason: i32,
    #[prost(message, repeated, tag = "13")]
    pub iafbijekkpg: ::prost::alloc::vec::Vec<Mknhikdcjjg>,
    #[prost(uint32, tag = "4")]
    pub eamgahffeco: u32,
    #[prost(enumeration = "Lgmdbcffjof", tag = "3")]
    pub dniibbhllnb: i32,
}
/// Obf: JGJNNDHAAIC
#[derive(proto_derive::CmdID)]
#[cmdid(5526)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueQuestFinishNotify {
    #[prost(uint32, tag = "2")]
    pub nnjccfeindo: u32,
    #[prost(uint32, tag = "3")]
    pub jlfabhhnhcm: u32,
}
/// Obf: AEHKPMIEHJI
#[derive(proto_derive::CmdID)]
#[cmdid(5570)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryInfoCsReq {}
/// Obf: CHNCADPNMIB
#[derive(proto_derive::CmdID)]
#[cmdid(5481)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryInfoScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "5")]
    pub idgiahopgaj: ::prost::alloc::vec::Vec<Lahjpfooheb>,
    #[prost(message, repeated, tag = "1")]
    pub mnhmekkhkna: ::prost::alloc::vec::Vec<Dipmfomgcgl>,
}
/// Obf: GGIDCJDDGGP
#[derive(proto_derive::CmdID)]
#[cmdid(5535)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectChessRogueSubStoryCsReq {
    #[prost(uint32, tag = "14")]
    pub fahihdjfohm: u32,
    #[prost(uint32, tag = "13")]
    pub ikmnamkjafa: u32,
    #[prost(uint32, tag = "5")]
    pub rogue_dialogue_event_id: u32,
    #[prost(uint32, tag = "1")]
    pub ifiijgngogp: u32,
}
/// Obf: IMHNNPFBGPI
#[derive(proto_derive::CmdID)]
#[cmdid(5496)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectChessRogueSubStoryScRsp {
    #[prost(uint32, tag = "7")]
    pub ifiijgngogp: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub ikmnamkjafa: u32,
    #[prost(uint32, tag = "15")]
    pub fahihdjfohm: u32,
    #[prost(uint32, tag = "12")]
    pub rogue_dialogue_event_id: u32,
}
/// Obf: GIEFBJHKBOK
#[derive(proto_derive::CmdID)]
#[cmdid(5520)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishChessRogueSubStoryCsReq {
    #[prost(uint32, tag = "1")]
    pub ikmnamkjafa: u32,
}
/// Obf: IEJBFANAEMO
#[derive(proto_derive::CmdID)]
#[cmdid(5504)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishChessRogueSubStoryScRsp {
    #[prost(uint32, tag = "4")]
    pub fgomiplmeic: u32,
    #[prost(uint32, tag = "11")]
    pub ikmnamkjafa: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: KGDAGPJHBMJ
#[derive(proto_derive::CmdID)]
#[cmdid(5468)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateActionPointScNotify {
    #[prost(int32, tag = "5")]
    pub ljffcnbpjdd: i32,
}
/// Obf: HFEOILGGHKA
#[derive(proto_derive::CmdID)]
#[cmdid(5585)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterChessRogueAeonRoomCsReq {}
/// Obf: PEDBKMGBGEK
#[derive(proto_derive::CmdID)]
#[cmdid(5417)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterChessRogueAeonRoomScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
}
/// Obf: CIHFECGBLCP
#[derive(proto_derive::CmdID)]
#[cmdid(5588)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryAeonTalkInfoCsReq {
    #[prost(uint32, tag = "12")]
    pub cdjecokfiof: u32,
}
/// Obf: NEHFFDDBJJP
#[derive(proto_derive::CmdID)]
#[cmdid(5449)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryAeonTalkInfoScRsp {
    #[prost(map = "uint32, uint32", tag = "7")]
    pub kjcbneindhl: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub cdjecokfiof: u32,
}
/// Obf: CNFKEJPJDCI
#[derive(proto_derive::CmdID)]
#[cmdid(5477)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncChessRogueMainStoryFinishScNotify {
    #[prost(uint32, tag = "1")]
    pub kenpckfonok: u32,
    #[prost(uint32, tag = "12")]
    pub fgomiplmeic: u32,
}
/// Obf: MJGHIBKOCAA
#[derive(proto_derive::CmdID)]
#[cmdid(5506)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncChessRogueNousValueScNotify {
    #[prost(message, optional, tag = "11")]
    pub ibmioggkbfb: ::core::option::Option<Ocbcbidlllj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gbeejnbebep {
    #[prost(uint32, tag = "12")]
    pub fgomiplmeic: u32,
    #[prost(enumeration = "Cdoegmdjgoc", tag = "14")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Diecddgebnb {
    #[prost(uint32, tag = "4")]
    pub ikmnamkjafa: u32,
}
/// Obf: CLNPFNGPJMM
#[derive(proto_derive::CmdID)]
#[cmdid(5474)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChessRogueNousStoryInfoCsReq {}
/// Obf: NLJCLCHNAFB
#[derive(proto_derive::CmdID)]
#[cmdid(5594)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueNousStoryInfoScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "1")]
    pub idgiahopgaj: ::prost::alloc::vec::Vec<Gbeejnbebep>,
    #[prost(message, repeated, tag = "8")]
    pub mnhmekkhkna: ::prost::alloc::vec::Vec<Diecddgebnb>,
}
/// Obf: CLNNAJGNMAF
#[derive(proto_derive::CmdID)]
#[cmdid(5497)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncChessRogueNousSubStoryScNotify {
    #[prost(uint32, tag = "7")]
    pub ikmnamkjafa: u32,
}
/// Obf: NGGNCMHBNPE
#[derive(proto_derive::CmdID)]
#[cmdid(5510)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncChessRogueNousMainStoryScNotify {
    #[prost(message, repeated, tag = "3")]
    pub idgiahopgaj: ::prost::alloc::vec::Vec<Gbeejnbebep>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imnpeajajjo {
    #[prost(uint32, repeated, tag = "8")]
    pub emllecgepck: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub fgomiplmeic: u32,
    #[prost(bool, tag = "6")]
    pub ffheeidbhea: bool,
    #[prost(uint32, tag = "5")]
    pub ikmnamkjafa: u32,
    #[prost(bool, tag = "13")]
    pub fjkgkaekbkj: bool,
    #[prost(uint32, repeated, tag = "11")]
    pub oblhboeolaf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "14")]
    pub ilmookbjhhc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub ffmdbdehheg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hngihjjiaco {
    #[prost(uint32, tag = "15")]
    pub slot_id: u32,
    #[prost(uint32, tag = "14")]
    pub eooadpocphd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjehfkbjphd {
    #[prost(uint32, tag = "7")]
    pub dhndampbhpp: u32,
    #[prost(uint32, tag = "15")]
    pub oabliofcofo: u32,
    #[prost(uint32, tag = "2")]
    pub hmkebdlflpg: u32,
    #[prost(message, repeated, tag = "11")]
    pub igbcacgfckb: ::prost::alloc::vec::Vec<Hngihjjiaco>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dffjcmlaicl {
    #[prost(enumeration = "Faohejiddhj", tag = "14")]
    pub hdmpbpoffdk: i32,
    #[prost(map = "uint32, bool", tag = "6")]
    pub nbcmaknlphg: ::std::collections::HashMap<u32, bool>,
    #[prost(message, repeated, tag = "9")]
    pub alehdaaohoe: ::prost::alloc::vec::Vec<Kjehfkbjphd>,
    #[prost(uint32, repeated, tag = "10")]
    pub jkmimlbajbl: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgeljhjomlo {
    #[prost(message, optional, tag = "5")]
    pub jmgipebloge: ::core::option::Option<RogueTalentInfoList>,
    #[prost(uint32, tag = "10")]
    pub pofmjblmbji: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afaghelicpd {
    #[prost(uint32, repeated, tag = "6")]
    pub gihdmhdadon: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GLIGOBEJCEE
#[derive(proto_derive::CmdID)]
#[cmdid(5571)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEditDiceCsReq {
    #[prost(message, optional, tag = "4")]
    pub bbcpoebnanc: ::core::option::Option<Kjehfkbjphd>,
}
/// Obf: CGHIHPAIEGL
#[derive(proto_derive::CmdID)]
#[cmdid(5557)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEditDiceScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub bbcpoebnanc: ::core::option::Option<Kjehfkbjphd>,
}
/// Obf: HPGJGJBCEEF
#[derive(proto_derive::CmdID)]
#[cmdid(5597)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousDiceUpdateNotify {
    #[prost(message, optional, tag = "5")]
    pub mbibkhkkefb: ::core::option::Option<Dffjcmlaicl>,
}
/// Obf: BLNHPBNMGND
#[derive(proto_derive::CmdID)]
#[cmdid(5538)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueNousDiceSurfaceUnlockNotify {
    #[prost(uint32, tag = "11")]
    pub caphiddhlfg: u32,
}
/// Obf: CKPGAINGLAN
#[derive(proto_derive::CmdID)]
#[cmdid(5505)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueNousGetRogueTalentInfoCsReq {}
/// Obf: FFFAADGCBIO
#[derive(proto_derive::CmdID)]
#[cmdid(5552)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousGetRogueTalentInfoScRsp {
    #[prost(uint32, tag = "8")]
    pub pofmjblmbji: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
}
/// Obf: GGLPHNHLGOA
#[derive(proto_derive::CmdID)]
#[cmdid(5433)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEnableRogueTalentCsReq {
    #[prost(uint32, tag = "14")]
    pub talent_id: u32,
}
/// Obf: EONJEJPDIBH
#[derive(proto_derive::CmdID)]
#[cmdid(5523)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEnableRogueTalentScRsp {
    #[prost(uint32, tag = "12")]
    pub pofmjblmbji: u32,
    #[prost(message, optional, tag = "2")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aacofikdcpl {
    #[prost(uint32, tag = "2")]
    pub ienpelbphdp: u32,
    #[prost(uint32, tag = "5")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odnnkbimefh {
    #[prost(message, repeated, tag = "6")]
    pub keedplpaclp: ::prost::alloc::vec::Vec<Aacofikdcpl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eadganmjipk {
    #[prost(uint32, repeated, tag = "5")]
    pub ibpfgebmilb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcnjdffcldg {
    #[prost(int32, tag = "15")]
    pub hp: i32,
    #[prost(bool, tag = "9")]
    pub jnboonpdoce: bool,
    #[prost(int32, tag = "10")]
    pub lkeblpijmgb: i32,
    #[prost(uint32, repeated, tag = "7")]
    pub oopkikmbbhh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(message, optional, tag = "3")]
    pub keedplpaclp: ::core::option::Option<Odnnkbimefh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mpjdibccohf {
    #[prost(uint32, repeated, tag = "5")]
    pub obcpgobaede: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub miaiopgiphh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Difpdplcigd {
    #[prost(uint32, tag = "7")]
    pub goneakbdgek: u32,
    #[prost(uint32, tag = "2")]
    pub jfpnmoonlnj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jmaanmpanhm {
    #[prost(uint32, tag = "4")]
    pub clpmibdfpjc: u32,
    #[prost(uint32, tag = "3")]
    pub noeimmhckpm: u32,
    #[prost(uint32, tag = "15")]
    pub nhjalpdbogn: u32,
    #[prost(uint32, tag = "7")]
    pub index: u32,
    #[prost(uint32, tag = "12")]
    pub fpaibldakli: u32,
    #[prost(uint32, tag = "14")]
    pub nkoffbmhapi: u32,
    #[prost(int32, tag = "9")]
    pub attack: i32,
    #[prost(int32, tag = "5")]
    pub hp: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Egdghfllmgn {
    #[prost(uint32, tag = "5")]
    pub lcjhgdjdeng: u32,
    #[prost(uint32, tag = "7")]
    pub total_turns: u32,
    #[prost(uint32, tag = "1")]
    pub cfijipchhgo: u32,
    #[prost(uint32, tag = "8")]
    pub bclnmidffoh: u32,
    #[prost(uint32, tag = "14")]
    pub total_damage: u32,
    #[prost(uint32, tag = "4")]
    pub khkfkdnbhpe: u32,
}
/// Obf: CHDKEPCOKNK
#[derive(proto_derive::CmdID)]
#[cmdid(8174)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraGetDataCsReq {}
/// Obf: DPLGEGIJCEF
#[derive(proto_derive::CmdID)]
#[cmdid(8173)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraGetDataScRsp {
    #[prost(uint32, repeated, tag = "8")]
    pub mfafnncjjng: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "301")]
    pub olldkajoajd: u32,
    #[prost(uint32, tag = "14")]
    pub bbbgkchnock: u32,
    #[prost(uint32, tag = "4")]
    pub eaiojcnlmng: u32,
    #[prost(enumeration = "Oapdmkkkeol", tag = "2")]
    pub bbmgiimecel: i32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "220")]
    pub cpbdbaidaeh: u32,
    #[prost(uint32, tag = "3")]
    pub lfkfocjfncj: u32,
    #[prost(uint32, tag = "1095")]
    pub kilpnhjbpdb: u32,
    #[prost(uint32, tag = "7")]
    pub cjekjhpibjl: u32,
    #[prost(message, repeated, tag = "13")]
    pub ncdaoblmhhp: ::prost::alloc::vec::Vec<Difpdplcigd>,
    #[prost(uint32, tag = "1")]
    pub ijeiommfpka: u32,
    #[prost(uint32, tag = "788")]
    pub cagaplnhabb: u32,
    #[prost(uint32, tag = "12")]
    pub cjkcnhclmgd: u32,
    #[prost(uint32, tag = "6")]
    pub jfpnmoonlnj: u32,
    #[prost(uint32, tag = "11")]
    pub gbemdnckkba: u32,
    #[prost(message, repeated, tag = "15")]
    pub kiimkaeajal: ::prost::alloc::vec::Vec<Jcnjdffcldg>,
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
}
/// Obf: NHENNNBHLCA
#[derive(proto_derive::CmdID)]
#[cmdid(8168)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraSetLineupCsReq {
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
}
/// Obf: IGCADEMMOKK
#[derive(proto_derive::CmdID)]
#[cmdid(8170)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraSetLineupScRsp {
    #[prost(message, optional, tag = "8")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: BKHCMDINFJN
#[derive(proto_derive::CmdID)]
#[cmdid(8164)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishRoundCsReq {
    #[prost(message, optional, tag = "14")]
    pub stt: ::core::option::Option<Egdghfllmgn>,
    #[prost(message, repeated, tag = "2")]
    pub opamaeijcoh: ::prost::alloc::vec::Vec<Jmaanmpanhm>,
    #[prost(bool, tag = "3")]
    pub molidikifgb: bool,
    #[prost(uint32, tag = "13")]
    pub hjoeamdlbpl: u32,
    #[prost(message, optional, tag = "1")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
    #[prost(map = "uint32, message", tag = "5")]
    pub mlbaljkcmcg: ::std::collections::HashMap<u32, Odnnkbimefh>,
    #[prost(uint32, repeated, tag = "15")]
    pub hgodgdeaajo: ::prost::alloc::vec::Vec<u32>,
    #[prost(map = "uint32, uint32", tag = "4")]
    pub bahhnmlhalj: ::std::collections::HashMap<u32, u32>,
    #[prost(enumeration = "Biakdfeljfm", tag = "8")]
    pub hbgclmcgnfm: i32,
}
/// Obf: MBPCAMJPKMA
#[derive(proto_derive::CmdID)]
#[cmdid(8162)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishRoundScRsp {
    #[prost(bool, tag = "2")]
    pub molidikifgb: bool,
    #[prost(uint32, repeated, tag = "12")]
    pub mfafnncjjng: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub jfpnmoonlnj: u32,
    #[prost(enumeration = "Biakdfeljfm", tag = "5")]
    pub hbgclmcgnfm: i32,
    #[prost(bool, tag = "13")]
    pub jieifdocohe: bool,
    #[prost(uint32, tag = "7")]
    pub eaiojcnlmng: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(map = "uint32, message", tag = "8")]
    pub nahpkppmdkk: ::std::collections::HashMap<u32, Odnnkbimefh>,
    #[prost(message, repeated, tag = "6")]
    pub goiakpgjlcb: ::prost::alloc::vec::Vec<Jcnjdffcldg>,
    #[prost(uint32, tag = "15")]
    pub ijeiommfpka: u32,
    #[prost(enumeration = "Oapdmkkkeol", tag = "9")]
    pub bbmgiimecel: i32,
    #[prost(uint32, tag = "10")]
    pub olldkajoajd: u32,
    #[prost(message, repeated, tag = "14")]
    pub ncdaoblmhhp: ::prost::alloc::vec::Vec<Difpdplcigd>,
    #[prost(map = "uint32, message", tag = "4")]
    pub ghkgcfclabf: ::std::collections::HashMap<u32, Eadganmjipk>,
    #[prost(uint32, tag = "11")]
    pub cjkcnhclmgd: u32,
}
/// Obf: AMCAGDKFNLA
#[derive(proto_derive::CmdID)]
#[cmdid(8180)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraStartEndlessCsReq {}
/// Obf: AIFMPIGKCGP
#[derive(proto_derive::CmdID)]
#[cmdid(8169)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraStartEndlessScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: IMAACGNDEDK
#[derive(proto_derive::CmdID)]
#[cmdid(8167)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishEndlessRoundCsReq {
    #[prost(uint32, tag = "13")]
    pub cpbdbaidaeh: u32,
    #[prost(message, optional, tag = "1")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
    #[prost(message, optional, tag = "15")]
    pub stt: ::core::option::Option<Egdghfllmgn>,
    #[prost(uint32, repeated, tag = "11")]
    pub hgodgdeaajo: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "14")]
    pub pahmagpfddj: bool,
    #[prost(message, repeated, tag = "2")]
    pub opamaeijcoh: ::prost::alloc::vec::Vec<Jmaanmpanhm>,
}
/// Obf: FKGECNEDFJB
#[derive(proto_derive::CmdID)]
#[cmdid(8163)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishEndlessRoundScRsp {
    #[prost(uint32, tag = "2")]
    pub lfkfocjfncj: u32,
    #[prost(message, repeated, tag = "15")]
    pub igagibnelck: ::prost::alloc::vec::Vec<Jcnjdffcldg>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub cpbdbaidaeh: u32,
    #[prost(uint32, tag = "8")]
    pub bbbgkchnock: u32,
    #[prost(uint32, tag = "14")]
    pub aebjngimhcj: u32,
    #[prost(bool, tag = "11")]
    pub pahmagpfddj: bool,
    #[prost(uint32, tag = "1")]
    pub gbemdnckkba: u32,
}
/// Obf: GIGMKHMONPI
#[derive(proto_derive::CmdID)]
#[cmdid(8165)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraQuitEndlessCsReq {}
/// Obf: HAPEJPNCICF
#[derive(proto_derive::CmdID)]
#[cmdid(8161)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraQuitEndlessScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: LCBCPIPHIMN
#[derive(proto_derive::CmdID)]
#[cmdid(8171)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDoFinalRoundCsReq {
    #[prost(bool, tag = "12")]
    pub pahmagpfddj: bool,
    #[prost(uint32, repeated, tag = "7")]
    pub hgodgdeaajo: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "3")]
    pub opamaeijcoh: ::prost::alloc::vec::Vec<Jmaanmpanhm>,
    #[prost(message, optional, tag = "14")]
    pub stt: ::core::option::Option<Egdghfllmgn>,
    #[prost(message, optional, tag = "1")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
    #[prost(uint32, tag = "9")]
    pub cpbdbaidaeh: u32,
}
/// Obf: CLKGPDAIAME
#[derive(proto_derive::CmdID)]
#[cmdid(8179)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDoFinalRoundScRsp {
    #[prost(uint32, tag = "12")]
    pub cpbdbaidaeh: u32,
    #[prost(message, repeated, tag = "2")]
    pub igagibnelck: ::prost::alloc::vec::Vec<Jcnjdffcldg>,
    #[prost(bool, tag = "5")]
    pub pahmagpfddj: bool,
    #[prost(message, repeated, tag = "9")]
    pub ncdaoblmhhp: ::prost::alloc::vec::Vec<Difpdplcigd>,
    #[prost(uint32, tag = "4")]
    pub jfpnmoonlnj: u32,
    #[prost(uint32, tag = "15")]
    pub olldkajoajd: u32,
    #[prost(uint32, tag = "8")]
    pub eaiojcnlmng: u32,
    #[prost(uint32, tag = "3")]
    pub index: u32,
    #[prost(uint32, tag = "6")]
    pub cagaplnhabb: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: HMLGEPFNKDJ
#[derive(proto_derive::CmdID)]
#[cmdid(8172)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraRoundWorkStartCsReq {
    #[prost(uint32, tag = "1")]
    pub flgjpheopaa: u32,
    #[prost(message, repeated, tag = "11")]
    pub opamaeijcoh: ::prost::alloc::vec::Vec<Jmaanmpanhm>,
    #[prost(uint32, tag = "15")]
    pub mdfeekikbmj: u32,
    #[prost(message, optional, tag = "4")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
}
/// Obf: MKGBDLADHNK
#[derive(proto_derive::CmdID)]
#[cmdid(8166)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraRoundWorkStartScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: PHNFMMBJABG
#[derive(proto_derive::CmdID)]
#[cmdid(7204)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkGetInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nlljbbcjiam {
    #[prost(uint32, repeated, tag = "11")]
    pub odogfhenjep: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub clkeoehplng: u32,
}
/// Obf: FFOPBLNLPGI
#[derive(proto_derive::CmdID)]
#[cmdid(7246)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkGetInfoScRsp {
    #[prost(uint32, repeated, tag = "8")]
    pub ibjpcofdlji: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub gfadcahlkfp: u32,
    #[prost(message, repeated, tag = "4")]
    pub bnfhfhefmem: ::prost::alloc::vec::Vec<Nlljbbcjiam>,
    #[prost(uint32, tag = "12")]
    pub ediajgcbpfo: u32,
    #[prost(uint32, tag = "11")]
    pub progress: u32,
}
/// Obf: POHKPBOBJEA
#[derive(proto_derive::CmdID)]
#[cmdid(7236)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkUnlockTalentCsReq {
    #[prost(uint32, tag = "7")]
    pub talent_id: u32,
}
/// Obf: EPOOLCKMMKB
#[derive(proto_derive::CmdID)]
#[cmdid(7217)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkUnlockTalentScRsp {
    #[prost(uint32, tag = "10")]
    pub talent_id: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: IKMEOFEDGFD
#[derive(proto_derive::CmdID)]
#[cmdid(7227)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkStartScriptCsReq {
    #[prost(uint32, repeated, tag = "2")]
    pub jmojeoalclo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub clkeoehplng: u32,
}
/// Obf: ELDBJPOGEIF
#[derive(proto_derive::CmdID)]
#[cmdid(7215)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkStartScriptScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub clkeoehplng: u32,
}
/// Obf: HMODIPBDAMG
#[derive(proto_derive::CmdID)]
#[cmdid(7243)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkGetOngoingScriptInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lnihjdaildj {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Accbigfanoa {
    #[prost(uint32, tag = "5")]
    pub card_id: u32,
    #[prost(uint32, tag = "9")]
    pub bjkhpadclhi: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub pneoolflnlk: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdckchpdmmi {
    #[prost(message, repeated, tag = "7")]
    pub card_data_list: ::prost::alloc::vec::Vec<Accbigfanoa>,
    #[prost(uint32, repeated, tag = "12")]
    pub pneoolflnlk: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnccfpoockh {
    #[prost(message, optional, tag = "12")]
    pub ancpcpcljed: ::core::option::Option<Hdckchpdmmi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Machndhamnm {
    #[prost(message, optional, tag = "7")]
    pub ancpcpcljed: ::core::option::Option<Hdckchpdmmi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifbdbdccopo {
    #[prost(message, optional, tag = "13")]
    pub ancpcpcljed: ::core::option::Option<Hdckchpdmmi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glijklooapa {
    #[prost(message, optional, tag = "14")]
    pub ancpcpcljed: ::core::option::Option<Hdckchpdmmi>,
    #[prost(uint32, tag = "8")]
    pub ecfagnkdaef: u32,
    #[prost(uint32, tag = "10")]
    pub gacha_random: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anbankmlclh {
    #[prost(message, optional, tag = "15")]
    pub ancpcpcljed: ::core::option::Option<Hdckchpdmmi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eppnkgolaap {
    #[prost(bool, tag = "14")]
    pub bgdoijphfdb: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkbbkojddpd {
    #[prost(uint32, tag = "11")]
    pub ahidjbjggpp: u32,
    #[prost(oneof = "lkbbkojddpd::Nkpnkgiahip", tags = "5, 3, 1, 15, 6, 13, 4, 12")]
    pub nkpnkgiahip: ::core::option::Option<lkbbkojddpd::Nkpnkgiahip>,
}
/// Nested message and enum types in `LKBBKOJDDPD`.
pub mod lkbbkojddpd {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nkpnkgiahip {
        #[prost(message, tag = "5")]
        Pnimpjfilgf(super::Lnihjdaildj),
        #[prost(message, tag = "3")]
        Dhleejmiimo(super::Nnccfpoockh),
        #[prost(message, tag = "1")]
        Oeofnnbljik(super::Machndhamnm),
        #[prost(message, tag = "15")]
        Gpbgdcmjhln(super::Ifbdbdccopo),
        #[prost(message, tag = "6")]
        Lnkpgggkmnk(super::Glijklooapa),
        #[prost(message, tag = "13")]
        Aenefmcbfgm(super::Anbankmlclh),
        #[prost(message, tag = "4")]
        Bciighioapl(super::Eppnkgolaap),
        #[prost(bool, tag = "12")]
        Gneooaifkib(bool),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bmlofpcngkn {
    #[prost(int32, tag = "11")]
    pub ihlhdpnaekc: i32,
    #[prost(int32, tag = "9")]
    pub ofcndemappl: i32,
    #[prost(int32, tag = "8")]
    pub djfhcddifmi: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ioncppdejej {
    #[prost(uint32, tag = "6")]
    pub buff_id: u32,
    #[prost(uint64, tag = "11")]
    pub unique_id: u64,
    #[prost(uint32, tag = "9")]
    pub feonehhcjjm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecmilhckomo {
    #[prost(message, repeated, tag = "13")]
    pub buff_list: ::prost::alloc::vec::Vec<Ioncppdejej>,
}
/// Obf: EHPCJHHNFAJ
#[derive(proto_derive::CmdID)]
#[cmdid(7209)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkGetOngoingScriptInfoScRsp {
    #[prost(uint32, tag = "6")]
    pub obpfblnbfki: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub mjdogpbojip: ::core::option::Option<Bmlofpcngkn>,
    #[prost(message, optional, tag = "7")]
    pub lgopnbhhhbg: ::core::option::Option<Ecmilhckomo>,
    #[prost(uint32, repeated, tag = "11")]
    pub eidlleolfgm: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "1")]
    pub ienphefangl: ::core::option::Option<Lkbbkojddpd>,
    #[prost(uint32, tag = "15")]
    pub chobaogmlfn: u32,
    #[prost(string, tag = "5")]
    pub cmgkeolcbip: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub kiekjeffphk: u32,
    #[prost(uint32, tag = "8")]
    pub aigehhnhkpm: u32,
    #[prost(uint32, tag = "10")]
    pub clkeoehplng: u32,
    #[prost(uint32, tag = "12")]
    pub blhgbednfib: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Obnonmhmeck {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffomibncfki {
    #[prost(message, optional, tag = "11")]
    pub ancpcpcljed: ::core::option::Option<Hdckchpdmmi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ajehamdabna {
    #[prost(uint32, tag = "14")]
    pub omddfkmaape: u32,
    #[prost(bool, tag = "8")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amghdcabjmj {
    #[prost(uint32, repeated, tag = "2")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Innnicfolii {
    #[prost(bool, tag = "2")]
    pub jcnodamfffc: bool,
    #[prost(uint32, tag = "8")]
    pub gacha_random: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ceoonflondj {
    #[prost(bool, tag = "11")]
    pub is_win: bool,
    #[prost(uint32, tag = "12")]
    pub omddfkmaape: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Helnoihmdha {}
/// Obf: ELGHHAKOKPB
#[derive(proto_derive::CmdID)]
#[cmdid(7245)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkHandleWaitOperationCsReq {
    #[prost(uint32, tag = "1")]
    pub clkeoehplng: u32,
    #[prost(uint32, tag = "4")]
    pub ahidjbjggpp: u32,
    #[prost(
        oneof = "clock_park_handle_wait_operation_cs_req::Nomemjfhdib",
        tags = "9, 8, 7, 13, 6, 5, 11, 12"
    )]
    pub nomemjfhdib: ::core::option::Option<
        clock_park_handle_wait_operation_cs_req::Nomemjfhdib,
    >,
}
/// Nested message and enum types in `ClockParkHandleWaitOperationCsReq`.
pub mod clock_park_handle_wait_operation_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nomemjfhdib {
        #[prost(message, tag = "9")]
        Jfbckclpako(super::Obnonmhmeck),
        #[prost(message, tag = "8")]
        Ipikflcefla(super::Ffomibncfki),
        #[prost(message, tag = "7")]
        Megnbbfilnl(super::Ajehamdabna),
        #[prost(message, tag = "13")]
        Abkkdhapchn(super::Amghdcabjmj),
        #[prost(message, tag = "6")]
        Lihjmeingik(super::Innnicfolii),
        #[prost(message, tag = "5")]
        Lmgglcncdhf(super::Ceoonflondj),
        #[prost(message, tag = "11")]
        Fngfoaepfjn(super::Helnoihmdha),
        #[prost(uint32, tag = "12")]
        Obpfblnbfki(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdjlojfmemc {
    #[prost(bool, tag = "2")]
    pub eeehghkocji: bool,
    #[prost(uint32, tag = "11")]
    pub progress: u32,
    #[prost(uint32, tag = "9")]
    pub aigehhnhkpm: u32,
    #[prost(uint32, tag = "10")]
    pub kiekjeffphk: u32,
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "3")]
    pub clkeoehplng: u32,
    #[prost(bool, tag = "5")]
    pub kfdaicilnmb: bool,
}
/// Obf: LBGJOELCNHC
#[derive(proto_derive::CmdID)]
#[cmdid(7207)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkHandleWaitOperationScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "3")]
    pub ahidjbjggpp: u32,
    #[prost(uint32, tag = "15")]
    pub ficfgdnhnge: u32,
    #[prost(uint32, tag = "4")]
    pub koijfoffjnj: u32,
    #[prost(enumeration = "Egblomhgijm", tag = "6")]
    pub jfkdbmdomnk: i32,
}
/// Obf: HAEOGLJFLGE
#[derive(proto_derive::CmdID)]
#[cmdid(7250)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkQuitScriptCsReq {
    #[prost(bool, tag = "11")]
    pub khnhpgdeimm: bool,
    #[prost(uint32, tag = "3")]
    pub clkeoehplng: u32,
}
/// Obf: FAPAGKJIBAJ
#[derive(proto_derive::CmdID)]
#[cmdid(7240)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkQuitScriptScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: LJMIHCBEGLJ
#[derive(proto_derive::CmdID)]
#[cmdid(7232)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkBattleEndScNotify {
    #[prost(uint32, tag = "15")]
    pub ahidjbjggpp: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: AKIGDDCAHOL
#[derive(proto_derive::CmdID)]
#[cmdid(7226)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkUseBuffCsReq {
    #[prost(uint64, tag = "15")]
    pub unique_id: u64,
    #[prost(uint32, tag = "5")]
    pub ahidjbjggpp: u32,
    #[prost(uint32, tag = "11")]
    pub clkeoehplng: u32,
}
/// Obf: LEOEDAODJNM
#[derive(proto_derive::CmdID)]
#[cmdid(7222)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkUseBuffScRsp {
    #[prost(uint32, tag = "13")]
    pub clkeoehplng: u32,
    #[prost(uint32, tag = "14")]
    pub ahidjbjggpp: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub lgopnbhhhbg: ::core::option::Option<Ecmilhckomo>,
    #[prost(oneof = "clock_park_use_buff_sc_rsp::Ifllbcfgbdm", tags = "1841, 805")]
    pub ifllbcfgbdm: ::core::option::Option<clock_park_use_buff_sc_rsp::Ifllbcfgbdm>,
}
/// Nested message and enum types in `ClockParkUseBuffScRsp`.
pub mod clock_park_use_buff_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ifllbcfgbdm {
        #[prost(message, tag = "1841")]
        Ancpcpcljed(super::Hdckchpdmmi),
        #[prost(message, tag = "805")]
        Mjdogpbojip(super::Bmlofpcngkn),
    }
}
/// Obf: GFGGJLLCNIB
#[derive(proto_derive::CmdID)]
#[cmdid(7216)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkFinishScriptScNotify {
    #[prost(message, optional, tag = "1")]
    pub finish_info: ::core::option::Option<Mdjlojfmemc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Item {
    #[prost(uint32, tag = "7")]
    pub unique_id: u32,
    #[prost(uint32, tag = "6")]
    pub level: u32,
    #[prost(uint32, tag = "13")]
    pub main_affix_id: u32,
    #[prost(uint32, tag = "1")]
    pub num: u32,
    #[prost(uint32, tag = "5")]
    pub promotion: u32,
    #[prost(uint32, tag = "8")]
    pub rank: u32,
    #[prost(uint32, tag = "2")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemList {
    #[prost(message, repeated, tag = "10")]
    pub item_list: ::prost::alloc::vec::Vec<Item>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PileItem {
    #[prost(uint32, tag = "11")]
    pub item_num: u32,
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ItemCost {
    #[prost(oneof = "item_cost::ItemCase", tags = "6, 13, 12")]
    pub item_case: ::core::option::Option<item_cost::ItemCase>,
}
/// Nested message and enum types in `ItemCost`.
pub mod item_cost {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum ItemCase {
        #[prost(message, tag = "6")]
        PileItem(super::PileItem),
        #[prost(uint32, tag = "13")]
        EquipmentUniqueId(u32),
        #[prost(uint32, tag = "12")]
        RelicUniqueId(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemCostList {
    #[prost(message, repeated, tag = "10")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iekhjdecape {
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
    #[prost(uint32, tag = "3")]
    pub mbejblfhcbh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Akcpalgemol {
    #[prost(uint32, tag = "14")]
    pub rank: u32,
    #[prost(uint32, tag = "2")]
    pub tid: u32,
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub promotion: u32,
    #[prost(uint32, tag = "4")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhdbofcfcjm {
    #[prost(message, repeated, tag = "15")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "12")]
    pub tid: u32,
    #[prost(uint32, tag = "8")]
    pub main_affix_id: u32,
    #[prost(uint32, tag = "13")]
    pub exp: u32,
    #[prost(uint32, tag = "10")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndhopedofoc {
    #[prost(oneof = "ndhopedofoc::Lagnobaolij", tags = "14, 3, 13")]
    pub lagnobaolij: ::core::option::Option<ndhopedofoc::Lagnobaolij>,
}
/// Nested message and enum types in `NDHOPEDOFOC`.
pub mod ndhopedofoc {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Lagnobaolij {
        #[prost(message, tag = "14")]
        Oekhngffgkb(super::Iekhjdecape),
        #[prost(message, tag = "3")]
        Adeoigebmdf(super::Akcpalgemol),
        #[prost(message, tag = "13")]
        Fhgafcjcaoa(super::Nhdbofcfcjm),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aodidfnpicf {
    #[prost(message, repeated, tag = "1")]
    pub item_list: ::prost::alloc::vec::Vec<Ndhopedofoc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Vector {
    #[prost(sint32, tag = "15")]
    pub y: i32,
    #[prost(sint32, tag = "8")]
    pub z: i32,
    #[prost(sint32, tag = "11")]
    pub x: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MotionInfo {
    #[prost(message, optional, tag = "13")]
    pub pos: ::core::option::Option<Vector>,
    #[prost(message, optional, tag = "5")]
    pub rot: ::core::option::Option<Vector>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotateVector {
    #[prost(float, tag = "4")]
    pub rotate: f32,
    #[prost(float, tag = "2")]
    pub z: f32,
    #[prost(float, tag = "15")]
    pub x: f32,
    #[prost(float, tag = "6")]
    pub y: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneMonsterWaveParam {
    #[prost(uint32, tag = "7")]
    pub dneampllfme: u32,
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(uint32, tag = "9")]
    pub hard_level_group: u32,
    #[prost(uint32, tag = "14")]
    pub elite_group: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneMonster {
    #[prost(uint32, tag = "7")]
    pub cur_hp: u32,
    #[prost(uint32, tag = "10")]
    pub max_hp: u32,
    #[prost(uint32, tag = "9")]
    pub monster_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMonsterWave {
    #[prost(uint32, tag = "2")]
    pub wave_id: u32,
    #[prost(message, repeated, tag = "14")]
    pub monster_list: ::prost::alloc::vec::Vec<SceneMonster>,
    #[prost(message, optional, tag = "12")]
    pub wave_param: ::core::option::Option<SceneMonsterWaveParam>,
    #[prost(message, repeated, tag = "9")]
    pub jcdljghhaof: ::prost::alloc::vec::Vec<ItemList>,
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneBattleInfo {
    #[prost(message, optional, tag = "657")]
    pub jpgifchjdlk: ::core::option::Option<EvolveBuildBattleInfo>,
    #[prost(message, repeated, tag = "1390")]
    pub event_battle_info_list: ::prost::alloc::vec::Vec<BattleEventBattleInfo>,
    #[prost(uint32, tag = "2")]
    pub battle_id: u32,
    #[prost(message, repeated, tag = "3")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    #[prost(message, optional, tag = "988")]
    pub rogue_magic_battle_info: ::core::option::Option<RogueMagicBattleInfo>,
    #[prost(map = "uint32, message", tag = "1855")]
    pub battle_target_info: ::std::collections::HashMap<u32, BattleTargetList>,
    #[prost(message, optional, tag = "435")]
    pub mfkjokajjmj: ::core::option::Option<Gieibeacbao>,
    #[prost(message, repeated, tag = "9")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<SceneMonsterWave>,
    #[prost(uint32, tag = "1")]
    pub wave_count: u32,
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
    #[prost(uint32, tag = "6")]
    pub world_level: u32,
    #[prost(message, optional, tag = "1508")]
    pub ajgpjglpmio: ::core::option::Option<Ljgiaglfhhc>,
    #[prost(uint32, tag = "10")]
    pub logic_random_seed: u32,
    #[prost(bool, tag = "11")]
    pub nbckfdgmfdb: bool,
    #[prost(uint32, tag = "8")]
    pub rounds_limit: u32,
    #[prost(message, repeated, tag = "7")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbdikgejbmp {
    #[prost(uint32, tag = "10")]
    pub stage_id: u32,
    #[prost(message, repeated, tag = "7")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<SceneMonsterWave>,
    #[prost(message, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    #[prost(uint32, tag = "1")]
    pub logic_random_seed: u32,
    #[prost(uint32, tag = "5")]
    pub battle_id: u32,
    #[prost(bool, tag = "11")]
    pub nbckfdgmfdb: bool,
    #[prost(message, repeated, tag = "13")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<Pkiakjmeaml>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Phhkombgppk {
    #[prost(uint32, tag = "1")]
    pub assist_uid: u32,
    #[prost(enumeration = "AvatarType", tag = "13")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "11")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbkocmmicpg {
    #[prost(message, optional, tag = "4")]
    pub return_item_list: ::core::option::Option<ItemList>,
    #[prost(bool, tag = "13")]
    pub ebnkeiehnha: bool,
    #[prost(uint32, repeated, tag = "12")]
    pub locked_relic_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Khocchabnmn {
    #[prost(uint32, tag = "15")]
    pub key: u32,
    #[prost(uint32, tag = "14")]
    pub value: u32,
}
/// Obf: NGJLLIPIIEA
#[derive(proto_derive::CmdID)]
#[cmdid(7504)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ContentPackageGetDataCsReq {}
/// Obf: OMIGANNPOJA
#[derive(proto_derive::CmdID)]
#[cmdid(7546)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageGetDataScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub data: ::core::option::Option<PackageData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ContentInfo {
    #[prost(uint32, tag = "11")]
    pub content_id: u32,
    #[prost(enumeration = "ContentPackageStatus", tag = "9")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PackageData {
    #[prost(uint32, tag = "1")]
    pub nklobnhgfhb: u32,
    #[prost(message, repeated, tag = "10")]
    pub info_list: ::prost::alloc::vec::Vec<ContentInfo>,
}
/// Obf: BAFENJAPGCK
#[derive(proto_derive::CmdID)]
#[cmdid(7502)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageSyncDataScNotify {
    #[prost(message, optional, tag = "2")]
    pub data: ::core::option::Option<PackageData>,
}
/// Obf: PGBAFKCKDMJ
#[derive(proto_derive::CmdID)]
#[cmdid(7537)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ContentPackageUnlockCsReq {
    #[prost(uint32, tag = "5")]
    pub content_id: u32,
}
/// Obf: PEDJDFLKFLL
#[derive(proto_derive::CmdID)]
#[cmdid(7536)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ContentPackageUnlockScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub content_id: u32,
}
/// Obf: CJKIDMMIHKB
#[derive(proto_derive::CmdID)]
#[cmdid(7517)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ContentPackageTransferScNotify {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DailyActivityInfo {
    #[prost(bool, tag = "11")]
    pub is_has_taken: bool,
    #[prost(uint32, tag = "6")]
    pub daily_active_point: u32,
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "8")]
    pub world_level: u32,
}
/// Obf: KLEJANCIKIG
#[derive(proto_derive::CmdID)]
#[cmdid(3395)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeApRewardCsReq {
    #[prost(uint32, tag = "1")]
    pub level: u32,
}
/// Obf: DFANCHBCHGC
#[derive(proto_derive::CmdID)]
#[cmdid(3332)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeApRewardScRsp {
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "5")]
    pub level: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: EKGDCAICJPH
#[derive(proto_derive::CmdID)]
#[cmdid(3331)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetDailyActiveInfoCsReq {}
/// Obf: COPNLCKMLEC
#[derive(proto_derive::CmdID)]
#[cmdid(3340)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDailyActiveInfoScRsp {
    #[prost(message, repeated, tag = "1")]
    pub daily_active_level_list: ::prost::alloc::vec::Vec<DailyActivityInfo>,
    #[prost(uint32, repeated, tag = "15")]
    pub daily_active_quest_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub daily_active_point: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: BLOBJAJFLKH
#[derive(proto_derive::CmdID)]
#[cmdid(3376)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DailyActiveInfoNotify {
    #[prost(uint32, repeated, tag = "5")]
    pub daily_active_quest_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "15")]
    pub daily_active_level_list: ::prost::alloc::vec::Vec<DailyActivityInfo>,
    #[prost(uint32, tag = "3")]
    pub daily_active_point: u32,
}
/// Obf: HPAJNLOKJNA
#[derive(proto_derive::CmdID)]
#[cmdid(3348)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeAllApRewardCsReq {}
/// Obf: KJECLEPJJCE
#[derive(proto_derive::CmdID)]
#[cmdid(3371)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllApRewardScRsp {
    #[prost(uint32, repeated, tag = "10")]
    pub fbkccpkieia: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerLogSettings {
    #[prost(enumeration = "ServerLogTag", repeated, tag = "10")]
    pub notify_tag_list: ::prost::alloc::vec::Vec<i32>,
    #[prost(enumeration = "ServerLogLevel", tag = "14")]
    pub notify_level: i32,
}
/// Obf: GetServerLogSettingsCsReq
#[derive(proto_derive::CmdID)]
#[cmdid(2454)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetServerLogSettingsCsReq {}
/// Obf: GetServerLogSettingsScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(2496)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetServerLogSettingsScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub settings: ::core::option::Option<ServerLogSettings>,
}
/// Obf: UpdateServerLogSettingsCsReq
#[derive(proto_derive::CmdID)]
#[cmdid(2452)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateServerLogSettingsCsReq {
    #[prost(message, optional, tag = "14")]
    pub settings: ::core::option::Option<ServerLogSettings>,
}
/// Obf: GGJGIALJNFF
#[derive(proto_derive::CmdID)]
#[cmdid(2487)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateServerLogSettingsScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: IPLBBNKGJAE
#[derive(proto_derive::CmdID)]
#[cmdid(2486)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerLogScNotify {
    #[prost(enumeration = "ServerLogLevel", tag = "9")]
    pub level: i32,
    #[prost(string, tag = "15")]
    pub hkligchhieg: ::prost::alloc::string::String,
    #[prost(enumeration = "ServerLogTag", tag = "7")]
    pub eamajgpcgfd: i32,
    #[prost(string, tag = "3")]
    pub lcpllgnjnaj: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lcmjfehmcnf {
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(uint32, tag = "10")]
    pub config_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oeddoijlgfg {
    #[prost(oneof = "oeddoijlgfg::Buff", tags = "3, 6, 9")]
    pub buff: ::core::option::Option<oeddoijlgfg::Buff>,
}
/// Nested message and enum types in `OEDDOIJLGFG`.
pub mod oeddoijlgfg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(uint32, tag = "3")]
        Ffbfcclodkk(u32),
        #[prost(uint32, tag = "6")]
        Kacelkgcnei(u32),
        #[prost(message, tag = "9")]
        Faomfmmlmhd(super::Lcmjfehmcnf),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfcajkfepao {
    #[prost(string, tag = "9")]
    pub msg: ::prost::alloc::string::String,
    #[prost(enumeration = "Ojidjndhdga", tag = "10")]
    pub state: i32,
    #[prost(string, tag = "6")]
    pub benanabppjn: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdoejmhbbgi {
    #[prost(message, repeated, tag = "10")]
    pub lopbajpaemi: ::prost::alloc::vec::Vec<Cfcajkfepao>,
    #[prost(message, optional, tag = "6")]
    pub dbgfaodbefc: ::core::option::Option<Oeddoijlgfg>,
}
/// Obf: HGBPELEILPA
#[derive(proto_derive::CmdID)]
#[cmdid(2467)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetServerGraphDataCsReq {
    #[prost(message, repeated, tag = "4")]
    pub eofciildilf: ::prost::alloc::vec::Vec<Oeddoijlgfg>,
}
/// Obf: GDKMFOCGPIF
#[derive(proto_derive::CmdID)]
#[cmdid(2477)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetServerGraphDataScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "2")]
    pub dcoihamjkhj: ::prost::alloc::vec::Vec<Kdoejmhbbgi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerGuest {
    #[prost(uint32, repeated, tag = "13")]
    pub unlocked_favor_tag_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub guest_id: u32,
    #[prost(uint32, tag = "9")]
    pub faith: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eekfecdihje {
    #[prost(uint32, repeated, tag = "6")]
    pub dbpgefglfjj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub jiblnlhcnkd: u32,
    #[prost(uint32, tag = "11")]
    pub odmphfaniee: u32,
    #[prost(uint32, tag = "1")]
    pub dgppffkihoc: u32,
    #[prost(uint32, tag = "12")]
    pub kidbbfghecn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mflpamafjnc {
    #[prost(bool, tag = "1")]
    pub is_success: bool,
    #[prost(uint32, tag = "6")]
    pub kcfpiecmgbd: u32,
}
/// Obf: CILOJNNLNFK
#[derive(proto_derive::CmdID)]
#[cmdid(6994)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetDrinkMakerDataCsReq {}
/// Obf: AHKIKIHJOOP
#[derive(proto_derive::CmdID)]
#[cmdid(6993)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDrinkMakerDataScRsp {
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(message, optional, tag = "2")]
    pub boinombhpcl: ::core::option::Option<Eekfecdihje>,
    #[prost(uint32, tag = "15")]
    pub dhakofagdof: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub hepalniojnp: u32,
    #[prost(uint32, tag = "12")]
    pub amefgbicgdi: u32,
    #[prost(uint32, tag = "8")]
    pub eaolmhoaaml: u32,
    #[prost(message, repeated, tag = "3")]
    pub pjkibodpcki: ::prost::alloc::vec::Vec<DrinkMakerGuest>,
    #[prost(uint32, repeated, tag = "4")]
    pub pcnnpejegef: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub exp: u32,
}
/// Obf: KBFOHKHKANJ
#[derive(proto_derive::CmdID)]
#[cmdid(6988)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MakeDrinkCsReq {
    #[prost(message, optional, tag = "5")]
    pub lpmcgnjlbgd: ::core::option::Option<Eekfecdihje>,
    #[prost(uint32, tag = "4")]
    pub eaolmhoaaml: u32,
}
/// Obf: MakeDrinkScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(6990)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MakeDrinkScRsp {
    #[prost(uint32, tag = "1")]
    pub next_chat_id: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(bool, tag = "5")]
    pub is_succ: bool,
}
/// Obf: MIBAMEIGMED
#[derive(proto_derive::CmdID)]
#[cmdid(6984)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EndDrinkMakerSequenceCsReq {}
/// Obf: EndDrinkMakerSequenceScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(6982)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndDrinkMakerSequenceScRsp {
    #[prost(uint32, tag = "9")]
    pub next_sequence_id: u32,
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(uint32, tag = "2")]
    pub exp: u32,
    #[prost(message, repeated, tag = "8")]
    pub request_list: ::prost::alloc::vec::Vec<Mflpamafjnc>,
    #[prost(message, optional, tag = "4")]
    pub guest: ::core::option::Option<DrinkMakerGuest>,
    #[prost(uint32, tag = "3")]
    pub tips: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: OHIGLDPPJHI
#[derive(proto_derive::CmdID)]
#[cmdid(7000)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MakeMissionDrinkCsReq {
    #[prost(uint32, tag = "3")]
    pub kcfpiecmgbd: u32,
    #[prost(message, optional, tag = "15")]
    pub lpmcgnjlbgd: ::core::option::Option<Eekfecdihje>,
    #[prost(bool, tag = "9")]
    pub jgeaegmhdoc: bool,
}
/// Obf: MakeMissionDrinkScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(6989)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MakeMissionDrinkScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(bool, tag = "13")]
    pub is_save: bool,
    #[prost(bool, tag = "14")]
    pub is_succ: bool,
    #[prost(message, optional, tag = "2")]
    pub custom_drink: ::core::option::Option<Eekfecdihje>,
}
/// Obf: DLDNKDIKPBO
#[derive(proto_derive::CmdID)]
#[cmdid(6987)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DrinkMakerDayEndScNotify {
    #[prost(uint32, tag = "2")]
    pub ecilicnolfn: u32,
}
/// Obf: MIGGMONDLHO
#[derive(proto_derive::CmdID)]
#[cmdid(6983)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerChallengeCsReq {
    #[prost(uint32, tag = "7")]
    pub challenge_id: u32,
    #[prost(message, optional, tag = "15")]
    pub lpmcgnjlbgd: ::core::option::Option<Eekfecdihje>,
}
/// Obf: BKMIEADDANJ
#[derive(proto_derive::CmdID)]
#[cmdid(6985)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerChallengeScRsp {
    #[prost(uint32, tag = "8")]
    pub challenge_id: u32,
    #[prost(bool, tag = "1")]
    pub is_success: bool,
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: KEAHBLFMMAB
#[derive(proto_derive::CmdID)]
#[cmdid(6981)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DrinkMakerUpdateTipsNotify {
    #[prost(uint32, tag = "2")]
    pub amefgbicgdi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Goahfmlpdmf {
    #[prost(uint32, tag = "9")]
    pub acnpbbnlmie: u32,
    #[prost(uint32, tag = "2")]
    pub state: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkeaenndmkb {
    #[prost(message, repeated, tag = "5")]
    pub ndpgblaaghk: ::prost::alloc::vec::Vec<Goahfmlpdmf>,
}
/// Obf: IFBIEEKFDJM
#[derive(proto_derive::CmdID)]
#[cmdid(6561)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetEraFlipperDataCsReq {}
/// Obf: MGOGBDBOKFB
#[derive(proto_derive::CmdID)]
#[cmdid(6570)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEraFlipperDataScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub data: ::core::option::Option<Kkeaenndmkb>,
}
/// Obf: AAMKEPIPNGO
#[derive(proto_derive::CmdID)]
#[cmdid(6559)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeEraFlipperDataCsReq {
    #[prost(message, optional, tag = "8")]
    pub data: ::core::option::Option<Kkeaenndmkb>,
}
/// Obf: MEHGKNJPOJE
#[derive(proto_derive::CmdID)]
#[cmdid(6569)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeEraFlipperDataScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub data: ::core::option::Option<Kkeaenndmkb>,
}
/// Obf: FFFNNIALANO
#[derive(proto_derive::CmdID)]
#[cmdid(6574)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ResetEraFlipperDataCsReq {
    #[prost(bool, tag = "3")]
    pub pahmagpfddj: bool,
}
/// Obf: JIOJIJLGGOD
#[derive(proto_derive::CmdID)]
#[cmdid(6551)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResetEraFlipperDataScRsp {
    #[prost(message, optional, tag = "10")]
    pub data: ::core::option::Option<Kkeaenndmkb>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(bool, tag = "9")]
    pub pahmagpfddj: bool,
}
/// Obf: MCDHIAJANIH
#[derive(proto_derive::CmdID)]
#[cmdid(6553)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterEraFlipperRegionCsReq {
    #[prost(uint32, tag = "8")]
    pub state: u32,
    #[prost(uint32, tag = "7")]
    pub acnpbbnlmie: u32,
}
/// Obf: CEPMIOIMPAP
#[derive(proto_derive::CmdID)]
#[cmdid(6558)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterEraFlipperRegionScRsp {
    #[prost(uint32, tag = "14")]
    pub acnpbbnlmie: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: JPPIMNMMJFB
#[derive(proto_derive::CmdID)]
#[cmdid(6554)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EraFlipperDataChangeScNotify {
    #[prost(message, optional, tag = "13")]
    pub data: ::core::option::Option<Kkeaenndmkb>,
    #[prost(uint32, tag = "1")]
    pub floor_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildAvatar {
    #[prost(double, tag = "3")]
    pub damage: f64,
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "6")]
    pub avatar_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildLevelInfo {
    #[prost(uint32, tag = "13")]
    pub cur_game_exp: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub period_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "3")]
    pub avatar_list: ::prost::alloc::vec::Vec<EvolveBuildAvatar>,
    #[prost(enumeration = "Klnipnjcnmj", tag = "14")]
    pub season: i32,
    #[prost(message, repeated, tag = "8")]
    pub battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
    #[prost(message, optional, tag = "15")]
    pub battle_info: ::core::option::Option<EvolveBuildBattleInfo>,
    #[prost(uint32, tag = "7")]
    pub round_cnt: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ceenlalpdmk {
    #[prost(uint32, tag = "6")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "2")]
    pub ceadmdamhmo: u32,
    #[prost(uint32, tag = "12")]
    pub stage_score: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Imgjiebfgpf {
    #[prost(uint32, tag = "10")]
    pub level: u32,
    #[prost(uint32, tag = "6")]
    pub neciljojgan: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecmmjllhpmd {
    #[prost(bool, tag = "8")]
    pub najohihmabc: bool,
    #[prost(uint32, tag = "13")]
    pub acjcphifmln: u32,
    #[prost(bool, tag = "12")]
    pub cadmfghaljg: bool,
    #[prost(uint32, repeated, tag = "6")]
    pub lgdniigephh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdfhjmmdgae {
    #[prost(message, repeated, tag = "7")]
    pub cokdnpeemag: ::prost::alloc::vec::Vec<Imgjiebfgpf>,
    #[prost(uint32, tag = "2")]
    pub item_value: u32,
    #[prost(enumeration = "Klnipnjcnmj", tag = "15")]
    pub mdcjfoafdjk: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdicnbbkfnp {
    #[prost(uint32, tag = "14")]
    pub eodgcnafiac: u32,
    #[prost(uint32, tag = "2")]
    pub item_value: u32,
    #[prost(message, repeated, tag = "6")]
    pub lcjnndgkidp: ::prost::alloc::vec::Vec<Ecmmjllhpmd>,
    #[prost(bool, tag = "3")]
    pub oofhjahfidh: bool,
    #[prost(bool, tag = "1")]
    pub dehghedinih: bool,
    #[prost(message, repeated, tag = "10")]
    pub cokdnpeemag: ::prost::alloc::vec::Vec<Imgjiebfgpf>,
    #[prost(message, repeated, tag = "12")]
    pub klgheccbhcg: ::prost::alloc::vec::Vec<Ceenlalpdmk>,
    #[prost(message, repeated, tag = "5")]
    pub fejgmnnfflg: ::prost::alloc::vec::Vec<Pdfhjmmdgae>,
    #[prost(uint32, repeated, tag = "15")]
    pub fjocdkifppc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub exp: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub lmeljcifbdf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LAMIFJCNFHH
#[derive(proto_derive::CmdID)]
#[cmdid(7104)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildQueryInfoCsReq {}
/// Obf: KHDHBJJEOKB
#[derive(proto_derive::CmdID)]
#[cmdid(7146)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildQueryInfoScRsp {
    #[prost(message, optional, tag = "10")]
    pub omcbcgchlgn: ::core::option::Option<Pdicnbbkfnp>,
    #[prost(message, optional, tag = "9")]
    pub lmgkmaoicgc: ::core::option::Option<EvolveBuildLevelInfo>,
    #[prost(message, repeated, tag = "8")]
    pub dhmbdiibklm: ::prost::alloc::vec::Vec<EvolveBuildLevelInfo>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: DNHBALAHPBG
#[derive(proto_derive::CmdID)]
#[cmdid(7102)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartLevelCsReq {
    #[prost(message, optional, tag = "5")]
    pub jiapjhdlfbj: ::core::option::Option<Kpkkkjpjcpc>,
    #[prost(message, repeated, tag = "3")]
    pub avatar_list: ::prost::alloc::vec::Vec<EvolveBuildAvatar>,
    #[prost(uint32, tag = "15")]
    pub acjcphifmln: u32,
}
/// Obf: BFIEPMAPCME
#[derive(proto_derive::CmdID)]
#[cmdid(7137)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartLevelScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub lmgkmaoicgc: ::core::option::Option<EvolveBuildLevelInfo>,
    #[prost(message, optional, tag = "8")]
    pub nopheehjhek: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: LEAGCOGMOJM
#[derive(proto_derive::CmdID)]
#[cmdid(7136)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartStageCsReq {
    #[prost(uint32, tag = "6")]
    pub acjcphifmln: u32,
}
/// Obf: FBEAPHBAIFP
#[derive(proto_derive::CmdID)]
#[cmdid(7117)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartStageScRsp {
    #[prost(message, optional, tag = "5")]
    pub lmgkmaoicgc: ::core::option::Option<EvolveBuildLevelInfo>,
    #[prost(message, optional, tag = "1")]
    pub nopheehjhek: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: BCGILDDNIIH
#[derive(proto_derive::CmdID)]
#[cmdid(7127)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildGiveupCsReq {
    #[prost(uint32, tag = "9")]
    pub acjcphifmln: u32,
}
/// Obf: MENHNDFMFKL
#[derive(proto_derive::CmdID)]
#[cmdid(7115)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildGiveupScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub lmgkmaoicgc: ::core::option::Option<EvolveBuildLevelInfo>,
}
/// Obf: KJHBEPOJJCO
#[derive(proto_derive::CmdID)]
#[cmdid(7143)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildLeaveCsReq {}
/// Obf: HAEDIEJIDGC
#[derive(proto_derive::CmdID)]
#[cmdid(7109)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildLeaveScRsp {
    #[prost(message, optional, tag = "14")]
    pub lmgkmaoicgc: ::core::option::Option<EvolveBuildLevelInfo>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: EvolveBuildFinishScNotify
#[derive(proto_derive::CmdID)]
#[cmdid(7145)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildFinishScNotify {
    #[prost(uint32, tag = "6")]
    pub coin: u32,
    #[prost(uint32, tag = "15")]
    pub cur_period_type: u32,
    #[prost(uint32, tag = "5")]
    pub exp: u32,
    #[prost(enumeration = "Dlhcmcnihii", tag = "3")]
    pub battle_result_type: i32,
    #[prost(bool, tag = "7")]
    pub is_lose: bool,
    #[prost(uint32, tag = "9")]
    pub level_id: u32,
    #[prost(uint32, tag = "4")]
    pub wave: u32,
    #[prost(uint32, tag = "2")]
    pub score: u32,
    #[prost(message, optional, tag = "14")]
    pub level_info: ::core::option::Option<EvolveBuildLevelInfo>,
}
/// Obf: BKBIPBBOBIO
#[derive(proto_derive::CmdID)]
#[cmdid(7107)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildReRandomStageCsReq {
    #[prost(uint32, tag = "12")]
    pub acjcphifmln: u32,
}
/// Obf: BPKNBKMPCFG
#[derive(proto_derive::CmdID)]
#[cmdid(7150)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildReRandomStageScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub jgpbflccijp: ::core::option::Option<Ecmmjllhpmd>,
}
/// Obf: IENKMECLNJM
#[derive(proto_derive::CmdID)]
#[cmdid(7144)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityUpCsReq {
    #[prost(uint32, tag = "11")]
    pub neciljojgan: u32,
    #[prost(uint32, tag = "7")]
    pub level: u32,
}
/// Obf: EPFGDIPDKAO
#[derive(proto_derive::CmdID)]
#[cmdid(7132)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityUpScRsp {
    #[prost(uint32, tag = "4")]
    pub neciljojgan: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: JKBPDBKBNHB
#[derive(proto_derive::CmdID)]
#[cmdid(7123)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityDownCsReq {
    #[prost(uint32, tag = "4")]
    pub level: u32,
    #[prost(uint32, tag = "10")]
    pub neciljojgan: u32,
}
/// Obf: MFFCJHKLKBP
#[derive(proto_derive::CmdID)]
#[cmdid(7126)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityDownScRsp {
    #[prost(uint32, tag = "12")]
    pub neciljojgan: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub level: u32,
}
/// Obf: JNMGLOFJJPM
#[derive(proto_derive::CmdID)]
#[cmdid(7122)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildTakeExpRewardCsReq {}
/// Obf: LEAJAJBIMIO
#[derive(proto_derive::CmdID)]
#[cmdid(7116)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildTakeExpRewardScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "3")]
    pub eodgcnafiac: u32,
}
/// Obf: PBKJMDMFLNN
#[derive(proto_derive::CmdID)]
#[cmdid(7142)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityResetCsReq {
    #[prost(enumeration = "Klnipnjcnmj", tag = "10")]
    pub mdcjfoafdjk: i32,
}
/// Obf: NMGLNOLFPMI
#[derive(proto_derive::CmdID)]
#[cmdid(7129)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityResetScRsp {
    #[prost(message, repeated, tag = "7")]
    pub cokdnpeemag: ::prost::alloc::vec::Vec<Imgjiebfgpf>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub item_value: u32,
    #[prost(enumeration = "Klnipnjcnmj", tag = "10")]
    pub mdcjfoafdjk: i32,
}
/// Obf: IHNIHBPEKDK
#[derive(proto_derive::CmdID)]
#[cmdid(7134)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildCoinNotify {
    #[prost(uint32, tag = "15")]
    pub item_value: u32,
    #[prost(enumeration = "Klnipnjcnmj", tag = "8")]
    pub mdcjfoafdjk: i32,
}
/// Obf: LCAOFIDPICA
#[derive(proto_derive::CmdID)]
#[cmdid(7101)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildSkipTeachLevelCsReq {
    #[prost(uint32, tag = "3")]
    pub acjcphifmln: u32,
}
/// Obf: OBBGCAMDHFG
#[derive(proto_derive::CmdID)]
#[cmdid(7105)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildSkipTeachLevelScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub acjcphifmln: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjibdhhohmh {
    #[prost(int64, tag = "9")]
    pub ponadanoaln: i64,
    #[prost(uint32, tag = "10")]
    pub id: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub aoedghmhgjj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kimnfbjceol {
    #[prost(uint32, tag = "4")]
    pub ojfnlmhmlof: u32,
    #[prost(uint32, tag = "14")]
    pub ipgeclelhgj: u32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(int64, tag = "1")]
    pub ponadanoaln: i64,
    #[prost(uint32, tag = "8")]
    pub fnggnbmofaa: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OIEKBHIHCIJ
#[derive(proto_derive::CmdID)]
#[cmdid(2595)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetExpeditionDataCsReq {}
/// Obf: OGHFHDGNKEK
#[derive(proto_derive::CmdID)]
#[cmdid(2532)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetExpeditionDataScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub fnalloldglm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub fjgimkepjob: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "6")]
    pub pageieobhbp: ::prost::alloc::vec::Vec<Fjibdhhohmh>,
    #[prost(message, repeated, tag = "8")]
    pub hjbkdbmgmbd: ::prost::alloc::vec::Vec<Kimnfbjceol>,
    #[prost(uint32, tag = "15")]
    pub dipkgomgmoa: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub jfjpadlalmd: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KPECCFNGJKH
#[derive(proto_derive::CmdID)]
#[cmdid(2531)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptExpeditionCsReq {
    #[prost(message, optional, tag = "10")]
    pub pmhmlhlfgae: ::core::option::Option<Fjibdhhohmh>,
}
/// Obf: MKOOBKEONFO
#[derive(proto_derive::CmdID)]
#[cmdid(2540)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptExpeditionScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub pmhmlhlfgae: ::core::option::Option<Fjibdhhohmh>,
}
/// Obf: BKPNMEKHABD
#[derive(proto_derive::CmdID)]
#[cmdid(2560)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptMultipleExpeditionCsReq {
    #[prost(message, repeated, tag = "4")]
    pub egnpoofacdb: ::prost::alloc::vec::Vec<Fjibdhhohmh>,
}
/// Obf: JBJJBMLBAEE
#[derive(proto_derive::CmdID)]
#[cmdid(2502)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptMultipleExpeditionScRsp {
    #[prost(message, repeated, tag = "1")]
    pub ohhgihlnepk: ::prost::alloc::vec::Vec<Fjibdhhohmh>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: MLLMLDEONPD
#[derive(proto_derive::CmdID)]
#[cmdid(2576)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CancelExpeditionCsReq {
    #[prost(uint32, tag = "9")]
    pub nnmlockecka: u32,
}
/// Obf: CKFBOEBNOFJ
#[derive(proto_derive::CmdID)]
#[cmdid(2548)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CancelExpeditionScRsp {
    #[prost(uint32, tag = "9")]
    pub nnmlockecka: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: CICAAONIKLP
#[derive(proto_derive::CmdID)]
#[cmdid(2571)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeExpeditionRewardCsReq {
    #[prost(uint32, tag = "4")]
    pub nnmlockecka: u32,
}
/// Obf: MJAPIHCEOJM
#[derive(proto_derive::CmdID)]
#[cmdid(2552)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeExpeditionRewardScRsp {
    #[prost(uint32, tag = "4")]
    pub nnmlockecka: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "14")]
    pub pehcdfaeefk: ::core::option::Option<ItemList>,
}
/// Obf: KLPCGCINMKC
#[derive(proto_derive::CmdID)]
#[cmdid(2539)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMultipleExpeditionRewardCsReq {
    #[prost(uint32, repeated, tag = "12")]
    pub ijajdhkgnkl: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IKDCPJGPIFK
#[derive(proto_derive::CmdID)]
#[cmdid(2543)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMultipleExpeditionRewardScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub lblidldbobm: ::prost::alloc::vec::Vec<ItemList>,
    #[prost(message, optional, tag = "11")]
    pub pehcdfaeefk: ::core::option::Option<ItemList>,
    #[prost(message, repeated, tag = "2")]
    pub lfbfmochjbl: ::prost::alloc::vec::Vec<ItemList>,
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, repeated, tag = "10")]
    pub pppbklohckk: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BODEAMBDFDH
#[derive(proto_derive::CmdID)]
#[cmdid(2522)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpeditionDataChangeScNotify {
    #[prost(uint32, tag = "3")]
    pub dipkgomgmoa: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub fnalloldglm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub jfjpadlalmd: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "1")]
    pub hjbkdbmgmbd: ::prost::alloc::vec::Vec<Kimnfbjceol>,
    #[prost(message, repeated, tag = "6")]
    pub pageieobhbp: ::prost::alloc::vec::Vec<Fjibdhhohmh>,
}
/// Obf: MPIHHIBDOHO
#[derive(proto_derive::CmdID)]
#[cmdid(2556)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptActivityExpeditionCsReq {
    #[prost(message, optional, tag = "12")]
    pub lgkjlfjgoje: ::core::option::Option<Kimnfbjceol>,
}
/// Obf: OMDOBPBPOLA
#[derive(proto_derive::CmdID)]
#[cmdid(2572)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptActivityExpeditionScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub lgkjlfjgoje: ::core::option::Option<Kimnfbjceol>,
}
/// Obf: JMFIHJAIMAD
#[derive(proto_derive::CmdID)]
#[cmdid(2585)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CancelActivityExpeditionCsReq {
    #[prost(uint32, tag = "15")]
    pub mpgemlglhbh: u32,
}
/// Obf: LNBBELACOID
#[derive(proto_derive::CmdID)]
#[cmdid(2516)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CancelActivityExpeditionScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub mpgemlglhbh: u32,
}
/// Obf: PNOEHDKCDCP
#[derive(proto_derive::CmdID)]
#[cmdid(2546)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeActivityExpeditionRewardCsReq {
    #[prost(uint32, tag = "12")]
    pub mpgemlglhbh: u32,
}
/// Obf: LOAMIMDLJNC
#[derive(proto_derive::CmdID)]
#[cmdid(2583)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeActivityExpeditionRewardScRsp {
    #[prost(uint32, tag = "5")]
    pub mpgemlglhbh: u32,
    #[prost(message, optional, tag = "1")]
    pub pehcdfaeefk: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "7")]
    pub score: u32,
}
/// Obf: MAFGCPMGAII
#[derive(proto_derive::CmdID)]
#[cmdid(2533)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMultipleActivityExpeditionRewardCsReq {
    #[prost(uint32, repeated, tag = "8")]
    pub gomdmnhmmnh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmnjmingahj {
    #[prost(uint32, tag = "11")]
    pub mpgemlglhbh: u32,
    #[prost(uint32, tag = "10")]
    pub score: u32,
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "9")]
    pub pehcdfaeefk: ::core::option::Option<ItemList>,
}
/// Obf: ACBFOFDKOFJ
#[derive(proto_derive::CmdID)]
#[cmdid(2542)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMultipleActivityExpeditionRewardScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub jieeelikijm: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "15")]
    pub cdndfceedco: ::prost::alloc::vec::Vec<Mmnjmingahj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gcaiemmcpdh {
    #[prost(uint32, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "10")]
    pub avatar_list: ::prost::alloc::vec::Vec<Kjmfeockcml>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhblgmpmiie {
    #[prost(map = "uint32, uint32", tag = "1")]
    pub jgajkoefgpc: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub hkmmnfghfpb: ::prost::alloc::vec::Vec<u32>,
    #[prost(map = "uint32, message", tag = "15")]
    pub gblooeppgdm: ::std::collections::HashMap<u32, Gcaiemmcpdh>,
    #[prost(uint32, tag = "3")]
    pub bejcaldilnc: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub edhnakfofgj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "12")]
    pub amdhncjjoph: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "9")]
    pub njngbpjemcl: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CLJEPFDCHON
#[derive(proto_derive::CmdID)]
#[cmdid(4995)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFantasticStoryActivityDataCsReq {
    #[prost(uint32, tag = "13")]
    pub bejcaldilnc: u32,
}
/// Obf: NAOJJABOCOJ
#[derive(proto_derive::CmdID)]
#[cmdid(4932)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFantasticStoryActivityDataScRsp {
    #[prost(message, optional, tag = "11")]
    pub fpepicfcffm: ::core::option::Option<Fhblgmpmiie>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: BFBBJFNLFDF
#[derive(proto_derive::CmdID)]
#[cmdid(4931)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishChapterScNotify {
    #[prost(message, optional, tag = "1")]
    pub fpepicfcffm: ::core::option::Option<Fhblgmpmiie>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kjmfeockcml {
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
}
/// Obf: LAHJHNKHPMD
#[derive(proto_derive::CmdID)]
#[cmdid(4940)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFantasticStoryActivityStageCsReq {
    #[prost(uint32, tag = "11")]
    pub bejcaldilnc: u32,
    #[prost(message, repeated, tag = "8")]
    pub avatar_list: ::prost::alloc::vec::Vec<Kjmfeockcml>,
    #[prost(uint32, repeated, tag = "4")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub battle_id: u32,
}
/// Obf: MCHENFGFKNN
#[derive(proto_derive::CmdID)]
#[cmdid(4976)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFantasticStoryActivityStageScRsp {
    #[prost(uint32, tag = "14")]
    pub bejcaldilnc: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "3")]
    pub battle_id: u32,
}
/// Obf: AOJIAEAKEBH
#[derive(proto_derive::CmdID)]
#[cmdid(4948)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FantasticStoryActivityBattleEndScNotify {
    #[prost(uint32, tag = "5")]
    pub pkklpbbnnce: u32,
    #[prost(uint32, tag = "9")]
    pub bejcaldilnc: u32,
    #[prost(uint32, tag = "15")]
    pub battle_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Okcndieklpm {
    #[prost(uint32, tag = "5")]
    pub nlpklpccjpl: u32,
    #[prost(uint32, tag = "12")]
    pub jbolaafdkan: u32,
    #[prost(enumeration = "Pmnfdjcllgb", tag = "8")]
    pub plikadkklgd: i32,
}
/// Obf: OIMCKJDFFKE
#[derive(proto_derive::CmdID)]
#[cmdid(7157)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFeverTimeActivityDataCsReq {}
/// Obf: FGENJLKFAAN
#[derive(proto_derive::CmdID)]
#[cmdid(7151)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFeverTimeActivityDataScRsp {
    #[prost(message, repeated, tag = "4")]
    pub caaejfijidj: ::prost::alloc::vec::Vec<Okcndieklpm>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: KGMMHKFPJMG
#[derive(proto_derive::CmdID)]
#[cmdid(7154)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FeverTimeActivityBattleEndScNotify {
    #[prost(uint32, tag = "12")]
    pub fhfmfmlllgd: u32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(enumeration = "Pmnfdjcllgb", tag = "6")]
    pub lfjkkfgpkdm: i32,
    #[prost(uint32, tag = "7")]
    pub hoehiobiiej: u32,
}
/// Obf: IHBFKMBMBEE
#[derive(proto_derive::CmdID)]
#[cmdid(7152)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFeverTimeActivityStageCsReq {
    #[prost(uint32, tag = "2")]
    pub ffinmbacahh: u32,
    #[prost(uint32, tag = "5")]
    pub id: u32,
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<Bpdfjaaeofo>,
    #[prost(uint32, tag = "14")]
    pub gcjeicifjgi: u32,
}
/// Obf: BJAHJOGMEND
#[derive(proto_derive::CmdID)]
#[cmdid(7155)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFeverTimeActivityStageScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
/// Obf: IOENCAFKENL
#[derive(proto_derive::CmdID)]
#[cmdid(30095)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightEnterCsReq {
    #[prost(uint32, tag = "15")]
    pub fgojlpaejec: u32,
    #[prost(uint32, tag = "8")]
    pub uid: u32,
    #[prost(string, tag = "3")]
    pub aokcmmpfgbc: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub mkiniofgiag: u32,
    #[prost(uint32, tag = "6")]
    pub icmfpnpijjf: u32,
    #[prost(uint32, tag = "9")]
    pub client_res_version: u32,
    #[prost(uint64, tag = "5")]
    pub kpkdnmdajgl: u64,
    #[prost(uint32, tag = "2")]
    pub platform_type: u32,
}
/// Obf: AFCPBFPGGEI
#[derive(proto_derive::CmdID)]
#[cmdid(30032)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightEnterScRsp {
    #[prost(uint64, tag = "11")]
    pub secret_key_seed: u64,
    #[prost(bool, tag = "5")]
    pub jlpkeobincp: bool,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub mkiniofgiag: u32,
    #[prost(uint64, tag = "15")]
    pub server_timestamp_ms: u64,
}
/// Obf: NBMHOFJAPJO
#[derive(proto_derive::CmdID)]
#[cmdid(30031)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightLeaveScNotify {
    #[prost(uint32, tag = "2")]
    pub cagjmmmfdli: u32,
}
/// Obf: FKGGCDCILNB
#[derive(proto_derive::CmdID)]
#[cmdid(30040)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightKickOutScNotify {
    #[prost(enumeration = "Dkiifbicieg", tag = "15")]
    pub mglldoifgnd: i32,
}
/// Obf: EJLIFAJIAEF
#[derive(proto_derive::CmdID)]
#[cmdid(30076)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightHeartBeatCsReq {
    #[prost(uint64, tag = "3")]
    pub client_time_ms: u64,
}
/// Obf: FOKGAFGKBHJ
#[derive(proto_derive::CmdID)]
#[cmdid(30048)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightHeartBeatScRsp {
    #[prost(uint64, tag = "9")]
    pub client_time_ms: u64,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint64, tag = "8")]
    pub server_time_ms: u64,
}
/// Obf: GNFGCANGLHJ
#[derive(proto_derive::CmdID)]
#[cmdid(30071)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightSessionStopScNotify {
    #[prost(message, optional, tag = "11")]
    pub pfffjngnpom: ::core::option::Option<Ppggkmdaoea>,
}
/// Obf: KCPBMCNDJKE
#[derive(proto_derive::CmdID)]
#[cmdid(30052)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightGeneralCsReq {
    #[prost(uint32, tag = "9")]
    pub jjcmfkjhcfa: u32,
    #[prost(bytes = "vec", tag = "4")]
    pub mbbdnlncejd: ::prost::alloc::vec::Vec<u8>,
}
/// Obf: EKHLHJOIEMP
#[derive(proto_derive::CmdID)]
#[cmdid(30022)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightGeneralScRsp {
    #[prost(bytes = "vec", tag = "2")]
    pub mbbdnlncejd: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub jjcmfkjhcfa: u32,
}
/// Obf: GCBMBGNKHGF
#[derive(proto_derive::CmdID)]
#[cmdid(30056)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightGeneralScNotify {
    #[prost(uint32, tag = "15")]
    pub jjcmfkjhcfa: u32,
    #[prost(bytes = "vec", tag = "11")]
    pub mbbdnlncejd: ::prost::alloc::vec::Vec<u8>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhpknhhnapp {
    #[prost(uint32, tag = "13")]
    pub elinmpkbefl: u32,
    #[prost(message, repeated, tag = "14")]
    pub ahmdobiceca: ::prost::alloc::vec::Vec<FightGeneralScNotify>,
    #[prost(bytes = "vec", tag = "8")]
    pub lbgdlhkeekc: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, repeated, tag = "3")]
    pub jblecmapfdc: ::prost::alloc::vec::Vec<u32>,
    #[prost(bytes = "vec", tag = "4")]
    pub kbjfonagbhk: ::prost::alloc::vec::Vec<u8>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aidoadpoofg {
    #[prost(message, repeated, tag = "13")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightActivityGroup {
    #[prost(uint32, repeated, tag = "10")]
    pub taken_difficulty_level_reward_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(uint32, tag = "14")]
    pub passed_max_difficulty_level: u32,
    #[prost(uint32, tag = "15")]
    pub endless_max_wave: u32,
}
/// Obf: NGCDAFKKFPC
#[derive(proto_derive::CmdID)]
#[cmdid(3695)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFightActivityDataCsReq {}
/// Obf: HCKIMJDGKIG
#[derive(proto_derive::CmdID)]
#[cmdid(3632)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFightActivityDataScRsp {
    #[prost(message, repeated, tag = "2")]
    pub groups: ::prost::alloc::vec::Vec<FightActivityGroup>,
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
    #[prost(bool, tag = "14")]
    pub kaiompfbgkl: bool,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(map = "uint32, uint32", tag = "12")]
    pub dgnfcmdjopa: ::std::collections::HashMap<u32, u32>,
}
/// Obf: OBIEGBGBACI
#[derive(proto_derive::CmdID)]
#[cmdid(3631)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightActivityDataChangeScNotify {
    #[prost(map = "uint32, uint32", tag = "9")]
    pub dgnfcmdjopa: ::std::collections::HashMap<u32, u32>,
    #[prost(message, repeated, tag = "7")]
    pub groups: ::prost::alloc::vec::Vec<FightActivityGroup>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Npedhhcklia {
    #[prost(enumeration = "AvatarType", tag = "12")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
}
/// Obf: GGFJFHPNCEJ
#[derive(proto_derive::CmdID)]
#[cmdid(3640)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFightActivityStageCsReq {
    #[prost(uint32, tag = "1")]
    pub nedfibonlkb: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub item_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "8")]
    pub fopnlgbgagh: ::prost::alloc::vec::Vec<Npedhhcklia>,
}
/// Obf: HPKCEGKMPOI
#[derive(proto_derive::CmdID)]
#[cmdid(3676)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFightActivityStageScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
    #[prost(message, optional, tag = "3")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "11")]
    pub nedfibonlkb: u32,
}
/// Obf: PLLLPGHMPNF
#[derive(proto_derive::CmdID)]
#[cmdid(3648)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeFightActivityRewardCsReq {
    #[prost(uint32, tag = "2")]
    pub nedfibonlkb: u32,
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
}
/// Obf: EJHMPNBEJLG
#[derive(proto_derive::CmdID)]
#[cmdid(3671)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeFightActivityRewardScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub nedfibonlkb: u32,
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iklnilkpena {
    #[prost(uint32, tag = "10")]
    pub jbolaafdkan: u32,
    #[prost(uint32, tag = "13")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "14")]
    pub aeieojgcmmo: u32,
    #[prost(enumeration = "Hgdapjpkffb", tag = "3")]
    pub plikadkklgd: i32,
}
/// Obf: OPIDGKKKBFP
#[derive(proto_derive::CmdID)]
#[cmdid(7254)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFightFestDataCsReq {}
/// Obf: CKNPNLGPAPP
#[derive(proto_derive::CmdID)]
#[cmdid(7296)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFightFestDataScRsp {
    #[prost(uint32, tag = "10")]
    pub item_value: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub challenge_list: ::prost::alloc::vec::Vec<Iklnilkpena>,
    #[prost(uint32, tag = "7")]
    pub score: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub mfgonhjgipp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Afodmejodlg {
    #[prost(enumeration = "AvatarType", tag = "4")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "5")]
    pub id: u32,
}
/// Obf: IEGCIHAEMFK
#[derive(proto_derive::CmdID)]
#[cmdid(7252)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartFightFestCsReq {
    #[prost(uint32, tag = "10")]
    pub id: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub mfgonhjgipp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
    #[prost(enumeration = "Aploagdibki", tag = "13")]
    pub slot: i32,
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<Afodmejodlg>,
}
/// Obf: JDJAJJGBGHA
#[derive(proto_derive::CmdID)]
#[cmdid(7287)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartFightFestScRsp {
    #[prost(uint32, tag = "7")]
    pub event_id: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "10")]
    pub id: u32,
    #[prost(enumeration = "Aploagdibki", tag = "1")]
    pub slot: i32,
}
/// Obf: EEGLBGDIILH
#[derive(proto_derive::CmdID)]
#[cmdid(7286)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightFestScoreUpdateNotify {
    #[prost(uint32, tag = "3")]
    pub gnpkpljlabm: u32,
    #[prost(uint32, tag = "2")]
    pub score: u32,
}
/// Obf: DKGGEJBDFBO
#[derive(proto_derive::CmdID)]
#[cmdid(7267)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightFestUnlockSkillNotify {
    #[prost(uint32, tag = "10")]
    pub ejjehjmmbgj: u32,
}
/// Obf: EMBLJKGDDMB
#[derive(proto_derive::CmdID)]
#[cmdid(7277)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightFestUpdateChallengeRecordNotify {
    #[prost(uint32, tag = "7")]
    pub hoehiobiiej: u32,
    #[prost(enumeration = "Hgdapjpkffb", tag = "9")]
    pub fkpepbmjhkn: i32,
    #[prost(enumeration = "Hgdapjpkffb", tag = "11")]
    pub rank: i32,
    #[prost(uint32, tag = "1")]
    pub jbolaafdkan: u32,
    #[prost(uint32, tag = "2")]
    pub challenge_id: u32,
}
/// Obf: ODLIIOLEIAK
#[derive(proto_derive::CmdID)]
#[cmdid(7265)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightFestUpdateCoinNotify {
    #[prost(uint32, tag = "4")]
    pub item_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kpbfckneeia {
    #[prost(enumeration = "Ffjppngglff", tag = "15")]
    pub oilpchbijno: i32,
    #[prost(int32, tag = "9")]
    pub blgnmalbolo: i32,
    #[prost(uint64, tag = "5")]
    pub ldnbeidjbhi: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gldhepjpmfm {
    #[prost(message, repeated, tag = "10")]
    pub flbmhlphfnd: ::prost::alloc::vec::Vec<Kpbfckneeia>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pfgaiebghcp {
    #[prost(float, tag = "10")]
    pub x: f32,
    #[prost(float, tag = "6")]
    pub y: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jejdmmbdalp {
    #[prost(message, optional, tag = "4")]
    pub kbcejinfnnj: ::core::option::Option<Pfgaiebghcp>,
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akokicdpfmp {
    #[prost(uint32, tag = "15")]
    pub ahehkcildfa: u32,
    #[prost(oneof = "akokicdpfmp::Pefgbhjablk", tags = "1365, 1070, 1206, 742, 1622")]
    pub pefgbhjablk: ::core::option::Option<akokicdpfmp::Pefgbhjablk>,
}
/// Nested message and enum types in `AKOKICDPFMP`.
pub mod akokicdpfmp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Pefgbhjablk {
        #[prost(message, tag = "1365")]
        Lgpiemdlhjm(super::Lbaogibpjop),
        #[prost(message, tag = "1070")]
        Phmcjejidja(super::Gldnbpfcnhd),
        #[prost(message, tag = "1206")]
        FinishInfo(super::Icaooppmjdj),
        #[prost(message, tag = "742")]
        Mejdmjikimo(super::Maogfdkdckm),
        #[prost(message, tag = "1622")]
        Jhfgdijpfcg(super::Gockgigbdcg),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gemebebmiah {
    #[prost(message, repeated, tag = "9")]
    pub lndigheihln: ::prost::alloc::vec::Vec<Akokicdpfmp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbaogibpjop {
    #[prost(enumeration = "Jomkpegefmp", tag = "7")]
    pub ceifkjieaje: i32,
    #[prost(bool, tag = "9")]
    pub likhclpmhjk: bool,
    #[prost(enumeration = "Jomkpegefmp", tag = "6")]
    pub hjefolkgaei: i32,
    #[prost(uint32, repeated, tag = "14")]
    pub pcmgagahblk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub moddklndamk: u32,
    #[prost(message, repeated, tag = "582")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
    #[prost(uint32, tag = "15")]
    pub khcmofpfoak: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub jjefbpkpkbk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub nlibkabfgcc: u32,
    #[prost(uint32, tag = "11")]
    pub bbdoplekiac: u32,
    #[prost(uint32, tag = "13")]
    pub acjcphifmln: u32,
    #[prost(bool, tag = "5")]
    pub jikeigbcabb: bool,
    #[prost(uint32, tag = "1")]
    pub pbfaiojjgnl: u32,
    #[prost(uint32, tag = "4")]
    pub jijhaaihncn: u32,
    #[prost(uint32, tag = "3")]
    pub eigabckednp: u32,
    #[prost(uint32, tag = "2")]
    pub dkpnenbhelh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gkloaldhnef {
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
    #[prost(uint32, tag = "2")]
    pub jojahiafnlk: u32,
    #[prost(int32, tag = "9")]
    pub total_damage: i32,
    #[prost(int32, tag = "11")]
    pub jphednecagd: i32,
    #[prost(int32, tag = "1")]
    pub falbkimmpih: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icaooppmjdj {
    #[prost(bool, tag = "6")]
    pub is_win: bool,
    #[prost(enumeration = "Eeibhjpnjcf", tag = "14")]
    pub kjpmohfiilo: i32,
    #[prost(bool, tag = "13")]
    pub djeeeabmddk: bool,
    #[prost(uint32, tag = "2")]
    pub blkfgajhmlk: u32,
    #[prost(int32, tag = "15")]
    pub clbnhpeabfk: i32,
    #[prost(uint32, tag = "10")]
    pub chllmfjgppa: u32,
    #[prost(message, repeated, tag = "3")]
    pub bpipobhcmfd: ::prost::alloc::vec::Vec<Gkloaldhnef>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dcdniajcehn {
    #[prost(int32, tag = "577")]
    pub hdblelebkho: i32,
    #[prost(uint32, tag = "439")]
    pub buff_id: u32,
    #[prost(float, tag = "6")]
    pub time: f32,
    #[prost(enumeration = "Lkkajcaciji", tag = "12")]
    pub kamihnejmfg: i32,
    #[prost(uint32, tag = "14")]
    pub cipiclllijh: u32,
    #[prost(uint32, tag = "777")]
    pub jlcikblnenh: u32,
    #[prost(uint32, tag = "1401")]
    pub jijhaaihncn: u32,
    #[prost(uint32, tag = "506")]
    pub dkpnenbhelh: u32,
    #[prost(uint32, tag = "1884")]
    pub cmmbbhhpmko: u32,
    #[prost(enumeration = "Pajnhiagodd", tag = "3")]
    pub djoadecjpob: i32,
    #[prost(float, tag = "673")]
    pub mnbemgnnfod: f32,
    #[prost(int32, tag = "11")]
    pub attack: i32,
    #[prost(message, optional, tag = "15")]
    pub fnihjjjgoee: ::core::option::Option<Pfgaiebghcp>,
    #[prost(uint32, tag = "1253")]
    pub idabofpkokn: u32,
    #[prost(uint32, tag = "1")]
    pub jljigeplpmh: u32,
    #[prost(message, optional, tag = "2")]
    pub iaaggmkgodc: ::core::option::Option<Pfgaiebghcp>,
    #[prost(uint32, tag = "862")]
    pub level: u32,
    #[prost(bool, tag = "2005")]
    pub plfkoccdbag: bool,
    #[prost(enumeration = "Fippklcoegj", tag = "1417")]
    pub cclmfabdena: i32,
    #[prost(message, optional, tag = "5")]
    pub godnaalnokl: ::core::option::Option<Pfgaiebghcp>,
    #[prost(uint32, tag = "10")]
    pub id: u32,
    #[prost(message, optional, tag = "7")]
    pub lkefolcgfgd: ::core::option::Option<Pfgaiebghcp>,
    #[prost(bool, tag = "399")]
    pub nbkelchilgg: bool,
    #[prost(int32, tag = "8")]
    pub hp: i32,
    #[prost(uint32, tag = "9")]
    pub skill_id: u32,
    #[prost(int32, tag = "4")]
    pub max_hp: i32,
    #[prost(message, optional, tag = "13")]
    pub fdndmhjohmo: ::core::option::Option<Pfgaiebghcp>,
    #[prost(uint32, tag = "1226")]
    pub pnldlmnkjmk: u32,
    #[prost(float, tag = "907")]
    pub ggbfkenahoe: f32,
    #[prost(bool, tag = "1846")]
    pub dmbbmffejgi: bool,
    #[prost(uint32, tag = "929")]
    pub dhelbcimlga: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gldnbpfcnhd {
    #[prost(bool, tag = "13")]
    pub pmanbplflkl: bool,
    #[prost(message, repeated, tag = "302")]
    pub ainlmgdnhib: ::prost::alloc::vec::Vec<Dcdniajcehn>,
    #[prost(bool, tag = "333")]
    pub omkkpgfjhfe: bool,
    #[prost(uint32, tag = "2")]
    pub ehcjcilcnop: u32,
    #[prost(uint32, tag = "5")]
    pub hmffhgbkogl: u32,
    #[prost(message, repeated, tag = "12")]
    pub hlieamplipp: ::prost::alloc::vec::Vec<Dcdniajcehn>,
    #[prost(enumeration = "Impkpkamiaf", tag = "11")]
    pub dndjkdfhepe: i32,
    #[prost(float, tag = "3")]
    pub eefcbbkkflc: f32,
    #[prost(uint32, repeated, tag = "15")]
    pub jldcflkcbld: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub hbapccegnme: u32,
    #[prost(uint32, tag = "10")]
    pub dhelbcimlga: u32,
    #[prost(uint32, tag = "14")]
    pub kjgdknjfcpg: u32,
    #[prost(uint32, tag = "1095")]
    pub nkhpckegpcl: u32,
    #[prost(uint32, tag = "1753")]
    pub fombhjkdhgo: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub knchehiijnn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub fmkdifnjajc: u32,
    #[prost(uint32, tag = "88")]
    pub iepgclgkheg: u32,
    #[prost(uint32, tag = "7")]
    pub emote: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub dpooapkpchf: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "6")]
    pub fjkbaimdpep: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Maogfdkdckm {
    #[prost(uint32, tag = "6")]
    pub hmffhgbkogl: u32,
    #[prost(message, optional, tag = "5")]
    pub khcmofpfoak: ::core::option::Option<Eojlngddlnn>,
    #[prost(message, optional, tag = "9")]
    pub lgpiemdlhjm: ::core::option::Option<Lbaogibpjop>,
    #[prost(bool, tag = "15")]
    pub omkkpgfjhfe: bool,
    #[prost(uint32, tag = "1")]
    pub iehfhkmdagc: u32,
    #[prost(float, tag = "11")]
    pub dplgcekjack: f32,
    #[prost(message, repeated, tag = "2")]
    pub olkmcbjflej: ::prost::alloc::vec::Vec<Hbghaopbkjp>,
    #[prost(uint32, tag = "7")]
    pub chllmfjgppa: u32,
    #[prost(enumeration = "Ppiffkjejja", tag = "12")]
    pub phase: i32,
    #[prost(message, repeated, tag = "10")]
    pub dibpggoogpk: ::prost::alloc::vec::Vec<Hbghaopbkjp>,
    #[prost(uint32, repeated, tag = "13")]
    pub knchehiijnn: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "3")]
    pub bbdoplekiac: ::core::option::Option<Eojlngddlnn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gockgigbdcg {
    #[prost(uint32, tag = "5")]
    pub item_id: u32,
    #[prost(uint32, tag = "6")]
    pub chllmfjgppa: u32,
    #[prost(message, optional, tag = "10")]
    pub kbcejinfnnj: ::core::option::Option<Pfgaiebghcp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eojlngddlnn {
    #[prost(uint32, tag = "15")]
    pub cgnbhkbhicg: u32,
    #[prost(uint32, tag = "13")]
    pub panbcnicohj: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub jfedjmkmlfo: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "2")]
    pub mdbggblegem: ::prost::alloc::vec::Vec<Jallappcpfe>,
    #[prost(bool, tag = "9")]
    pub blaljmmhifp: bool,
    #[prost(bool, tag = "8")]
    pub nbkelchilgg: bool,
    #[prost(message, repeated, tag = "6")]
    pub nbkhpjhjmho: ::prost::alloc::vec::Vec<Hbghaopbkjp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hbghaopbkjp {
    #[prost(bool, tag = "7")]
    pub pmanbplflkl: bool,
    #[prost(message, optional, tag = "1")]
    pub fnihjjjgoee: ::core::option::Option<Pfgaiebghcp>,
    #[prost(bool, tag = "4")]
    pub bmnecpiopdn: bool,
    #[prost(float, tag = "12")]
    pub mnbemgnnfod: f32,
    #[prost(uint32, tag = "9")]
    pub level: u32,
    #[prost(int32, tag = "2")]
    pub hp: i32,
    #[prost(bool, tag = "15")]
    pub plfkoccdbag: bool,
    #[prost(message, optional, tag = "13")]
    pub lkefolcgfgd: ::core::option::Option<Pfgaiebghcp>,
    #[prost(uint32, tag = "10")]
    pub buff_id: u32,
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(uint32, tag = "5")]
    pub jlcikblnenh: u32,
    #[prost(bool, tag = "14")]
    pub dmbbmffejgi: bool,
    #[prost(int32, tag = "3")]
    pub max_hp: i32,
    #[prost(int32, tag = "11")]
    pub attack: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jallappcpfe {
    #[prost(uint32, tag = "7")]
    pub dhelbcimlga: u32,
    #[prost(bool, tag = "8")]
    pub fhokfdmfnkg: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mekdnikfdna {
    #[prost(uint32, tag = "2")]
    pub ldnbeidjbhi: u32,
    #[prost(uint32, tag = "12")]
    pub ognepbfpilh: u32,
    #[prost(uint32, tag = "6")]
    pub rank: u32,
    #[prost(uint32, tag = "13")]
    pub hp: u32,
    #[prost(uint32, tag = "7")]
    pub nmlffogbpoc: u32,
    #[prost(uint32, tag = "10")]
    pub score: u32,
    #[prost(enumeration = "Nppnfppenmc", tag = "4")]
    pub state: i32,
    #[prost(bool, tag = "14")]
    pub hnjfffjdgne: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kldmjemimcn {
    #[prost(enumeration = "Dgfcbofaoia", tag = "5")]
    pub jgibhfjmobe: i32,
    #[prost(message, repeated, tag = "3")]
    pub cpkpincceip: ::prost::alloc::vec::Vec<Mekdnikfdna>,
    #[prost(message, optional, tag = "6")]
    pub mejdmjikimo: ::core::option::Option<Mdohafbeepk>,
    #[prost(uint32, tag = "10")]
    pub danccaojljn: u32,
    #[prost(int32, tag = "8")]
    pub hcbbhckjnji: i32,
    #[prost(uint32, repeated, tag = "1")]
    pub hbanccokofc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint64, tag = "7")]
    pub mcokhhfpbpj: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jjaepdihcnl {
    #[prost(uint32, tag = "3")]
    pub heckmdlolag: u32,
    #[prost(uint32, tag = "14")]
    pub fpbedncocho: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdohafbeepk {
    #[prost(uint32, tag = "15")]
    pub pkdpiemgibe: u32,
    #[prost(uint32, tag = "10")]
    pub cur_hp: u32,
    #[prost(enumeration = "Nppnfppenmc", tag = "9")]
    pub kjpmohfiilo: i32,
    #[prost(uint32, tag = "8")]
    pub anhfjkepcgf: u32,
    #[prost(uint32, tag = "6")]
    pub najlpnlnoje: u32,
    #[prost(message, optional, tag = "7")]
    pub niaeghjlnmb: ::core::option::Option<Cdimemfjjfp>,
    #[prost(uint32, tag = "13")]
    pub energy_info: u32,
    #[prost(uint32, tag = "3")]
    pub score: u32,
    #[prost(uint32, tag = "12")]
    pub midejnjcaia: u32,
    #[prost(uint32, tag = "1")]
    pub gdfndpmjdaf: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub aihmghajgkj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egcddlkhfeb {
    #[prost(message, optional, tag = "6")]
    pub mlpcfgdafnd: ::core::option::Option<Mdohafbeepk>,
    #[prost(enumeration = "Bfilliobmfn", tag = "10")]
    pub olkndfjbdgj: i32,
}
/// Obf: JGMOEPGHEMC
#[derive(proto_derive::CmdID)]
#[cmdid(30195)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightMatch3DataCsReq {
    #[prost(int32, tag = "5")]
    pub player_data: i32,
}
/// Obf: HLMOJIFFMBM
#[derive(proto_derive::CmdID)]
#[cmdid(30132)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3DataScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub data: ::core::option::Option<Kldmjemimcn>,
    #[prost(message, repeated, tag = "6")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
}
/// Obf: HJKLKELKOND
#[derive(proto_derive::CmdID)]
#[cmdid(30131)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3StartCountDownScNotify {
    #[prost(message, optional, tag = "8")]
    pub data: ::core::option::Option<Kldmjemimcn>,
}
/// Obf: EFPIPLGFIOB
#[derive(proto_derive::CmdID)]
#[cmdid(30140)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3TurnStartScNotify {
    #[prost(message, optional, tag = "14")]
    pub hkpodflgcdj: ::core::option::Option<Kldmjemimcn>,
}
/// Obf: MAGECDJBPAJ
#[derive(proto_derive::CmdID)]
#[cmdid(30176)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3TurnEndScNotify {
    #[prost(message, optional, tag = "14")]
    pub cinlcmhhkko: ::core::option::Option<Kldmjemimcn>,
    #[prost(message, optional, tag = "1")]
    pub hiklobgicmp: ::core::option::Option<Kldmjemimcn>,
}
/// Obf: GALEOPDOMKG
#[derive(proto_derive::CmdID)]
#[cmdid(30148)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3SwapCsReq {
    #[prost(message, optional, tag = "10")]
    pub phnldpokbkl: ::core::option::Option<Jjaepdihcnl>,
    #[prost(uint32, tag = "7")]
    pub upgrade_level: u32,
    #[prost(message, repeated, tag = "6")]
    pub eckkblnelbm: ::prost::alloc::vec::Vec<Egcddlkhfeb>,
    #[prost(message, optional, tag = "15")]
    pub feclglbfidh: ::core::option::Option<Jjaepdihcnl>,
}
/// Obf: CDOAJIMLMGM
#[derive(proto_derive::CmdID)]
#[cmdid(30171)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3SwapScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub upgrade_level: u32,
    #[prost(bool, tag = "1")]
    pub pgmgmjdilcl: bool,
    #[prost(message, optional, tag = "13")]
    pub chmaonmmegm: ::core::option::Option<Mdohafbeepk>,
}
/// Obf: POGGJHOLGEJ
#[derive(proto_derive::CmdID)]
#[cmdid(30152)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightMatch3OpponentDataScNotify {
    #[prost(enumeration = "Nppnfppenmc", tag = "3")]
    pub state: i32,
    #[prost(uint32, tag = "14")]
    pub score: u32,
    #[prost(uint32, tag = "11")]
    pub nmlffogbpoc: u32,
    #[prost(uint32, tag = "12")]
    pub hp: u32,
    #[prost(uint32, tag = "1")]
    pub danccaojljn: u32,
}
/// Obf: IELOFCNMAFK
#[derive(proto_derive::CmdID)]
#[cmdid(30122)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightMatch3ChatCsReq {
    #[prost(uint32, tag = "9")]
    pub habdkbfmkee: u32,
}
/// Obf: HFCOKMNPCDC
#[derive(proto_derive::CmdID)]
#[cmdid(30156)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightMatch3ChatScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub habdkbfmkee: u32,
}
/// Obf: HEPAKJBNHHF
#[derive(proto_derive::CmdID)]
#[cmdid(30172)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightMatch3ChatScNotify {
    #[prost(uint32, tag = "8")]
    pub egkpfgnjahn: u32,
    #[prost(uint32, tag = "1")]
    pub habdkbfmkee: u32,
}
/// Obf: KPIFKJHIEJK
#[derive(proto_derive::CmdID)]
#[cmdid(30185)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3ForceUpdateNotify {
    #[prost(message, optional, tag = "8")]
    pub data: ::core::option::Option<Kldmjemimcn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AssistSimpleInfo {
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "14")]
    pub pos: u32,
    #[prost(uint32, tag = "2")]
    pub dressed_skin_id: u32,
    #[prost(uint32, tag = "1")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ihkgnjdnalj {
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
    #[prost(uint32, tag = "7")]
    pub fccdilggoci: u32,
    #[prost(uint32, tag = "4")]
    pub jgmipmdppij: u32,
    #[prost(uint32, tag = "5")]
    pub khcnajokjhj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kpiglopemcf {
    #[prost(uint32, tag = "12")]
    pub ijhlojefcpm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phhliogfdek {
    #[prost(uint32, repeated, tag = "15")]
    pub capiccciebo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub ijhlojefcpm: u32,
    #[prost(uint32, tag = "13")]
    pub ofgbjcccike: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcpdfipomap {
    #[prost(message, optional, tag = "6")]
    pub lbhjehfjlnf: ::core::option::Option<Phhliogfdek>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obihngmnkek {
    #[prost(oneof = "obihngmnkek::Hnioehohnjg", tags = "14, 5")]
    pub hnioehohnjg: ::core::option::Option<obihngmnkek::Hnioehohnjg>,
}
/// Nested message and enum types in `OBIHNGMNKEK`.
pub mod obihngmnkek {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Hnioehohnjg {
        #[prost(message, tag = "14")]
        Loonehfnapc(super::Kpiglopemcf),
        #[prost(message, tag = "5")]
        Daopohamomf(super::Bcpdfipomap),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hiejjbdncnh {
    #[prost(message, optional, tag = "8")]
    pub eboomgdgnep: ::core::option::Option<Ihkgnjdnalj>,
    #[prost(enumeration = "Pcahopmikim", tag = "9")]
    pub fgmgpljckpc: i32,
    #[prost(message, optional, tag = "3")]
    pub jfpcpdcflmd: ::core::option::Option<Obihngmnkek>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SimpleInfo {
    #[prost(string, tag = "2")]
    pub gmalcpnohbf: ::prost::alloc::string::String,
    #[prost(uint32, tag = "11")]
    pub chat_bubble_id: u32,
    #[prost(uint32, tag = "15")]
    pub head_icon: u32,
    #[prost(string, tag = "4")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "5")]
    pub assist_simple_info: ::prost::alloc::vec::Vec<AssistSimpleInfo>,
    #[prost(enumeration = "PlatformType", tag = "9")]
    pub platform_type: i32,
    #[prost(uint32, tag = "10")]
    pub anpllaobfji: u32,
    #[prost(int64, tag = "8")]
    pub last_active_time: i64,
    #[prost(string, tag = "6")]
    pub akcejfcfban: ::prost::alloc::string::String,
    #[prost(enumeration = "FriendOnlineStatus", tag = "3")]
    pub online_status: i32,
    #[prost(bool, tag = "13")]
    pub jfgaekjjpie: bool,
    #[prost(string, tag = "12")]
    pub signature: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub uid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DisplayEquipmentInfo {
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub rank: u32,
    #[prost(uint32, tag = "10")]
    pub tid: u32,
    #[prost(uint32, tag = "5")]
    pub exp: u32,
    #[prost(uint32, tag = "9")]
    pub promotion: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayRelicInfo {
    #[prost(uint32, tag = "4")]
    pub exp: u32,
    #[prost(uint32, tag = "6")]
    pub main_affix_id: u32,
    #[prost(uint32, tag = "2")]
    pub tid: u32,
    #[prost(message, repeated, tag = "9")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub slot: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayAvatarDetailInfo {
    #[prost(uint32, tag = "6")]
    pub exp: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub dressed_skin_id: u32,
    #[prost(message, repeated, tag = "13")]
    pub relic_list: ::prost::alloc::vec::Vec<DisplayRelicInfo>,
    #[prost(uint32, tag = "3")]
    pub pos: u32,
    #[prost(uint32, tag = "14")]
    pub promotion: u32,
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
    #[prost(message, optional, tag = "10")]
    pub equipment: ::core::option::Option<DisplayEquipmentInfo>,
    #[prost(message, repeated, tag = "8")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerCollectionInfo {
    #[prost(uint32, tag = "10")]
    pub pgcdmmnncjc: u32,
    #[prost(uint32, tag = "11")]
    pub pjcjnkbeimk: u32,
    #[prost(uint32, tag = "8")]
    pub nljifekdphn: u32,
    #[prost(uint32, tag = "1")]
    pub ljpekedicml: u32,
    #[prost(uint32, tag = "3")]
    pub bdbmikdjlko: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerRecordInfo {
    #[prost(uint32, tag = "4")]
    pub emjdebdmhll: u32,
    #[prost(uint32, tag = "6")]
    pub bhfefeodnim: u32,
    #[prost(uint32, tag = "7")]
    pub hknoakgcjbk: u32,
    #[prost(message, optional, tag = "13")]
    pub collection_info: ::core::option::Option<PlayerCollectionInfo>,
    #[prost(uint32, tag = "2")]
    pub cfdfmgllico: u32,
    #[prost(uint32, tag = "5")]
    pub fhkkmpddmgo: u32,
    #[prost(uint32, tag = "11")]
    pub ehbdeijjohk: u32,
    #[prost(uint32, tag = "3")]
    pub gekkndonhlj: u32,
    #[prost(uint32, tag = "14")]
    pub jfpgbkbpbnf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerDisplaySettings {
    #[prost(bool, tag = "4")]
    pub njfmiljofok: bool,
    #[prost(bool, tag = "10")]
    pub pbkbglhhkpe: bool,
    #[prost(bool, tag = "6")]
    pub kjncckhjfhe: bool,
    #[prost(bool, tag = "2")]
    pub aicnfaobcpi: bool,
    #[prost(bool, tag = "8")]
    pub aponeidmphl: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knhlnlngahp {
    #[prost(message, repeated, tag = "8")]
    pub challenge_list: ::prost::alloc::vec::Vec<Ihkgnjdnalj>,
    #[prost(message, optional, tag = "7")]
    pub jfpcpdcflmd: ::core::option::Option<Obihngmnkek>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerDetailInfo {
    #[prost(uint32, tag = "4")]
    pub head_icon: u32,
    #[prost(string, tag = "13")]
    pub akcejfcfban: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "3")]
    pub assist_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    #[prost(bool, tag = "9")]
    pub show_display_avatars: bool,
    #[prost(bool, tag = "5")]
    pub jfgaekjjpie: bool,
    #[prost(uint32, tag = "2")]
    pub uid: u32,
    #[prost(message, optional, tag = "863")]
    pub fdfpgmioimm: ::core::option::Option<PlayerDisplaySettings>,
    #[prost(message, optional, tag = "361")]
    pub onkhlhojhgn: ::core::option::Option<Knhlnlngahp>,
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
    #[prost(string, tag = "8")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(string, tag = "15")]
    pub gmalcpnohbf: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "11")]
    pub record_info: ::core::option::Option<PlayerRecordInfo>,
    #[prost(uint32, tag = "6")]
    pub level: u32,
    #[prost(uint32, tag = "7")]
    pub kbmgbninfbk: u32,
    #[prost(message, repeated, tag = "1517")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    #[prost(enumeration = "PlatformType", tag = "1")]
    pub platform_type: i32,
    #[prost(uint32, tag = "635")]
    pub anpllaobfji: u32,
    #[prost(string, tag = "10")]
    pub signature: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub ooopbhimnfd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendListInfo {
    #[prost(enumeration = "PlayingState", tag = "5")]
    pub playing_state: i32,
    #[prost(int64, tag = "14")]
    pub sent_time: i64,
    #[prost(message, optional, tag = "3")]
    pub ilchajcffbf: ::core::option::Option<Hiejjbdncnh>,
    #[prost(string, tag = "12")]
    pub friend_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "6")]
    pub simple_info: ::core::option::Option<SimpleInfo>,
    #[prost(bool, tag = "15")]
    pub is_marked: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendApplyInfo {
    #[prost(message, optional, tag = "11")]
    pub simple_info: ::core::option::Option<SimpleInfo>,
    #[prost(int64, tag = "6")]
    pub lffcmnahbdp: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendRecommendInfo {
    #[prost(bool, tag = "11")]
    pub jholblpeglj: bool,
    #[prost(message, optional, tag = "5")]
    pub simple_info: ::core::option::Option<SimpleInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpkdgnbjdem {
    #[prost(message, optional, tag = "4")]
    pub simple_info: ::core::option::Option<SimpleInfo>,
    #[prost(message, optional, tag = "10")]
    pub mdhfanlhnma: ::core::option::Option<DisplayAvatarDetailInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flcmjahgkfk {
    #[prost(uint32, tag = "10")]
    pub nppphgfenph: u32,
    #[prost(uint32, tag = "15")]
    pub head_icon: u32,
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub innaniclcae: u32,
    #[prost(enumeration = "PlatformType", tag = "13")]
    pub platform_type: i32,
    #[prost(string, tag = "8")]
    pub gmalcpnohbf: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub friend_name: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub uid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcnollfgpck {
    #[prost(string, tag = "11")]
    pub friend_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub buff_one: u32,
    #[prost(uint32, tag = "3")]
    pub highest_difficulty: u32,
    #[prost(message, optional, tag = "9")]
    pub simple_info: ::core::option::Option<SimpleInfo>,
    #[prost(uint32, tag = "12")]
    pub buff_two: u32,
    #[prost(message, repeated, tag = "6")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineup>,
    #[prost(uint32, tag = "14")]
    pub score: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chkiicnapha {
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    #[prost(uint32, tag = "7")]
    pub khcnajokjhj: u32,
    #[prost(oneof = "chkiicnapha::ChallengeType", tags = "172, 847, 1035")]
    pub challenge_type: ::core::option::Option<chkiicnapha::ChallengeType>,
}
/// Nested message and enum types in `CHKIICNAPHA`.
pub mod chkiicnapha {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum ChallengeType {
        #[prost(message, tag = "172")]
        MemoryStats(super::ChallengeMemoryStats),
        #[prost(message, tag = "847")]
        StoryStats(super::ChallengeStoryStats),
        #[prost(message, tag = "1035")]
        BossStats(super::ChallengeBossStats),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ognldadpjfo {
    #[prost(message, optional, tag = "13")]
    pub finish_info: ::core::option::Option<Imcccciccko>,
    #[prost(uint32, tag = "8")]
    pub map_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eaimkomhkhd {
    #[prost(uint32, tag = "15")]
    pub ggdiibcdobb: u32,
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Angoamadoma {
    #[prost(uint32, tag = "2")]
    pub ofgbjcccike: u32,
    #[prost(uint32, tag = "7")]
    pub ijhlojefcpm: u32,
    #[prost(uint32, tag = "1")]
    pub jbloklcpafn: u32,
    #[prost(message, optional, tag = "5")]
    pub njnjebodmnl: ::core::option::Option<Jhllljajkep>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ggkbhalpidk {
    #[prost(uint32, tag = "6")]
    pub lhbdonjiicc: u32,
    #[prost(uint32, tag = "9")]
    pub area_id: u32,
    #[prost(uint32, tag = "13")]
    pub imlhfgepcan: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lfjpddcnbkc {
    #[prost(uint32, tag = "10")]
    pub fjhigbbmjdm: u32,
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
    #[prost(uint32, tag = "7")]
    pub fnmgaohmlim: u32,
    #[prost(uint32, tag = "13")]
    pub epljmcapmpc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nhagpmmcdcf {
    #[prost(uint32, tag = "1")]
    pub onahhamhfdb: u32,
    #[prost(uint32, tag = "11")]
    pub agijkfbcjoc: u32,
    #[prost(uint32, tag = "13")]
    pub area_id: u32,
    #[prost(uint32, tag = "15")]
    pub oiajancbabp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okdbogbabni {
    #[prost(message, optional, tag = "7")]
    pub plccehdnafl: ::core::option::Option<Ggkbhalpidk>,
    #[prost(message, optional, tag = "13")]
    pub hdljbadekfi: ::core::option::Option<Nhagpmmcdcf>,
    #[prost(message, optional, tag = "10")]
    pub apmjfgkifon: ::core::option::Option<Lfjpddcnbkc>,
    #[prost(oneof = "okdbogbabni::Mblagjjoeff", tags = "788, 130")]
    pub mblagjjoeff: ::core::option::Option<okdbogbabni::Mblagjjoeff>,
}
/// Nested message and enum types in `OKDBOGBABNI`.
pub mod okdbogbabni {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mblagjjoeff {
        #[prost(message, tag = "788")]
        Edgfedjbahf(super::Ognldadpjfo),
        #[prost(message, tag = "130")]
        Opfpolcgmed(super::Angoamadoma),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iojhjahimhm {
    #[prost(uint32, tag = "6")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jienkfadche {
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
    #[prost(uint32, tag = "15")]
    pub njoiciopbnh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Meehcbgdbea {
    #[prost(uint32, tag = "3")]
    pub challenge_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dhahakmpnaf {
    #[prost(enumeration = "DevelopmentType", tag = "11")]
    pub ejhmnkhepfa: i32,
    #[prost(int64, tag = "10")]
    pub time: i64,
    #[prost(
        oneof = "dhahakmpnaf::Paecdoklpfg",
        tags = "1131, 1838, 793, 1661, 75, 1433, 1901"
    )]
    pub paecdoklpfg: ::core::option::Option<dhahakmpnaf::Paecdoklpfg>,
}
/// Nested message and enum types in `DHAHAKMPNAF`.
pub mod dhahakmpnaf {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Paecdoklpfg {
        #[prost(message, tag = "1131")]
        Liibbggehfp(super::Iojhjahimhm),
        #[prost(message, tag = "1838")]
        Ikffobamghj(super::Meehcbgdbea),
        #[prost(uint32, tag = "793")]
        AvatarId(u32),
        #[prost(uint32, tag = "1661")]
        Mdmgkhlhiin(u32),
        #[prost(uint32, tag = "75")]
        Ckknnhmdcog(u32),
        #[prost(message, tag = "1433")]
        Ielhlbffagk(super::Jienkfadche),
        #[prost(uint32, tag = "1901")]
        ModuleId(u32),
    }
}
/// Obf: LPPOPKEICAN
#[derive(proto_derive::CmdID)]
#[cmdid(2995)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendListInfoCsReq {}
/// Obf: GEDMHDHGEAP
#[derive(proto_derive::CmdID)]
#[cmdid(2932)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendListInfoScRsp {
    #[prost(message, repeated, tag = "15")]
    pub friend_list: ::prost::alloc::vec::Vec<FriendListInfo>,
    #[prost(message, repeated, tag = "4")]
    pub pelmgopehkn: ::prost::alloc::vec::Vec<SimpleInfo>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: KGLCJPEBPDL
#[derive(proto_derive::CmdID)]
#[cmdid(2931)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPlayerDetailInfoCsReq {
    #[prost(uint32, tag = "12")]
    pub uid: u32,
}
/// Obf: BLJKKGNCNNG
#[derive(proto_derive::CmdID)]
#[cmdid(2940)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerDetailInfoScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub player_detail_info: ::core::option::Option<PlayerDetailInfo>,
}
/// Obf: KBCAJJPFLDL
#[derive(proto_derive::CmdID)]
#[cmdid(2976)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendApplyListInfoCsReq {}
/// Obf: KNFEJCOGNMM
#[derive(proto_derive::CmdID)]
#[cmdid(2948)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendApplyListInfoScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "12")]
    pub friend_apply_list: ::prost::alloc::vec::Vec<FriendApplyInfo>,
    #[prost(uint32, repeated, tag = "11")]
    pub send_apply_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HOGLMIBJAGP
#[derive(proto_derive::CmdID)]
#[cmdid(2971)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ApplyFriendCsReq {
    #[prost(uint32, tag = "14")]
    pub uid: u32,
    #[prost(enumeration = "FriendApplySource", tag = "8")]
    pub source: i32,
}
/// Obf: GHOKGMDLPOO
#[derive(proto_derive::CmdID)]
#[cmdid(2952)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ApplyFriendScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub uid: u32,
}
/// Obf: EEMKGEHBLNM
#[derive(proto_derive::CmdID)]
#[cmdid(2922)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncApplyFriendScNotify {
    #[prost(message, optional, tag = "4")]
    pub friend_apply_info: ::core::option::Option<FriendApplyInfo>,
}
/// Obf: IHNFMCAHGFN
#[derive(proto_derive::CmdID)]
#[cmdid(2956)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HandleFriendCsReq {
    #[prost(uint32, tag = "8")]
    pub uid: u32,
    #[prost(bool, tag = "2")]
    pub handle_result: bool,
}
/// Obf: GDKLMAMFKEN
#[derive(proto_derive::CmdID)]
#[cmdid(2972)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandleFriendScRsp {
    #[prost(bool, tag = "1")]
    pub handle_result: bool,
    #[prost(uint32, tag = "12")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub handle_friend_info: ::core::option::Option<FriendListInfo>,
}
/// Obf: IFOOAMDBDCK
#[derive(proto_derive::CmdID)]
#[cmdid(2985)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncHandleFriendScNotify {
    #[prost(bool, tag = "11")]
    pub handle_result: bool,
    #[prost(uint32, tag = "14")]
    pub uid: u32,
    #[prost(message, optional, tag = "5")]
    pub handle_friend_info: ::core::option::Option<FriendListInfo>,
}
/// Obf: IECGIIJDBCD
#[derive(proto_derive::CmdID)]
#[cmdid(2916)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeleteFriendCsReq {
    #[prost(uint32, tag = "8")]
    pub fiocdbipcgb: u32,
    #[prost(uint32, tag = "15")]
    pub uid: u32,
}
/// Obf: HOCJANHPBLI
#[derive(proto_derive::CmdID)]
#[cmdid(2946)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeleteFriendScRsp {
    #[prost(uint32, tag = "7")]
    pub uid: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: CLEKCBJMKPD
#[derive(proto_derive::CmdID)]
#[cmdid(2983)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncDeleteFriendScNotify {
    #[prost(uint32, tag = "15")]
    pub uid: u32,
}
/// Obf: KPGFPDMKGBI
#[derive(proto_derive::CmdID)]
#[cmdid(2960)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AddBlacklistCsReq {
    #[prost(uint32, tag = "3")]
    pub uid: u32,
}
/// Obf: LBODLIPMMON
#[derive(proto_derive::CmdID)]
#[cmdid(2902)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddBlacklistScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub black_info: ::core::option::Option<SimpleInfo>,
}
/// Obf: AEHGONDBHAJ
#[derive(proto_derive::CmdID)]
#[cmdid(2939)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncAddBlacklistScNotify {
    #[prost(uint32, tag = "9")]
    pub uid: u32,
}
/// Obf: BABKADMDHDP
#[derive(proto_derive::CmdID)]
#[cmdid(2943)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendListInfoCsReq {
    #[prost(bool, tag = "12")]
    pub ahoilnfiieg: bool,
}
/// Obf: PNFFPBIHJJH
#[derive(proto_derive::CmdID)]
#[cmdid(2933)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendListInfoScRsp {
    #[prost(message, repeated, tag = "15")]
    pub friend_recommend_list: ::prost::alloc::vec::Vec<FriendRecommendInfo>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: JMICCHOBEEL
#[derive(proto_derive::CmdID)]
#[cmdid(2942)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetFriendRemarkNameCsReq {
    #[prost(uint32, tag = "2")]
    pub reason: u32,
    #[prost(uint32, tag = "5")]
    pub uid: u32,
    #[prost(string, tag = "11")]
    pub friend_name: ::prost::alloc::string::String,
}
/// Obf: IIKBBNDCHBL
#[derive(proto_derive::CmdID)]
#[cmdid(2977)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetFriendRemarkNameScRsp {
    #[prost(string, tag = "8")]
    pub friend_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: JOMLPKFBNLP
#[derive(proto_derive::CmdID)]
#[cmdid(2958)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReportPlayerCsReq {
    #[prost(string, tag = "2")]
    pub mimakhaabah: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub ehbcljfpooe: u32,
    #[prost(uint32, tag = "5")]
    pub uid: u32,
}
/// Obf: JKPIPGHOCHN
#[derive(proto_derive::CmdID)]
#[cmdid(2921)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReportPlayerScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: DEGBEHAGPKE
#[derive(proto_derive::CmdID)]
#[cmdid(2929)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeleteBlacklistCsReq {
    #[prost(uint32, tag = "4")]
    pub uid: u32,
}
/// Obf: LHJCOILKDKH
#[derive(proto_derive::CmdID)]
#[cmdid(2963)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeleteBlacklistScRsp {
    #[prost(uint32, tag = "9")]
    pub uid: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: NFCFGGLOFHM
#[derive(proto_derive::CmdID)]
#[cmdid(2911)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchPlayerCsReq {
    #[prost(uint32, repeated, tag = "5")]
    pub search_uid_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "9")]
    pub ahoilnfiieg: bool,
}
/// Obf: CDKLHLINJKN
#[derive(proto_derive::CmdID)]
#[cmdid(2993)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchPlayerScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub search_uid_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "12")]
    pub search_result_list: ::prost::alloc::vec::Vec<SimpleInfo>,
}
/// Obf: LMHCBMCBJHC
#[derive(proto_derive::CmdID)]
#[cmdid(2925)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAssistListCsReq {
    #[prost(bool, tag = "13")]
    pub kiboagmojcp: bool,
    #[prost(bool, tag = "7")]
    pub ahoilnfiieg: bool,
}
/// Obf: EAJEAKDAKPC
#[derive(proto_derive::CmdID)]
#[cmdid(2914)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAssistListScRsp {
    #[prost(message, repeated, tag = "1")]
    pub giecjkakcko: ::prost::alloc::vec::Vec<Lpkdgnbjdem>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: OHDJHIAEJKK
#[derive(proto_derive::CmdID)]
#[cmdid(2984)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetAssistCsReq {
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
}
/// Obf: KBFGCNFFGAA
#[derive(proto_derive::CmdID)]
#[cmdid(2937)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetAssistScRsp {
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "11")]
    pub uid: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: BHKAPLNNKJA
#[derive(proto_derive::CmdID)]
#[cmdid(2930)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCurAssistCsReq {}
/// Obf: IGKGGOADBKP
#[derive(proto_derive::CmdID)]
#[cmdid(2975)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurAssistScRsp {
    #[prost(message, optional, tag = "1")]
    pub dpjbdhelnoe: ::core::option::Option<Lpkdgnbjdem>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: HIFKDLLODAL
#[derive(proto_derive::CmdID)]
#[cmdid(2951)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAssistHistoryCsReq {}
/// Obf: EFJIHGJHKBO
#[derive(proto_derive::CmdID)]
#[cmdid(2991)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAssistHistoryScRsp {
    #[prost(uint32, tag = "5")]
    pub omhchjlliif: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub phplnjfimdc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub nfjjapnppkp: u32,
    #[prost(uint32, tag = "10")]
    pub pbfneigopmp: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: FNBHGNIEKBO
#[derive(proto_derive::CmdID)]
#[cmdid(2924)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NewAssistHistoryNotify {
    #[prost(uint32, tag = "14")]
    pub nfjjapnppkp: u32,
}
/// Obf: PFLOBGHELNH
#[derive(proto_derive::CmdID)]
#[cmdid(2957)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeAssistRewardCsReq {}
/// Obf: ABGKAIBFDJD
#[derive(proto_derive::CmdID)]
#[cmdid(2907)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAssistRewardScRsp {
    #[prost(message, repeated, tag = "11")]
    pub nlcnbiehcoh: ::prost::alloc::vec::Vec<Flcmjahgkfk>,
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: JCHKKENIBJK
#[derive(proto_derive::CmdID)]
#[cmdid(2998)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurAssistChangedNotify {
    #[prost(message, optional, tag = "7")]
    pub dpjbdhelnoe: ::core::option::Option<Lpkdgnbjdem>,
}
/// Obf: HBOFJGNBFBG
#[derive(proto_derive::CmdID)]
#[cmdid(2964)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlatformPlayerInfoCsReq {
    #[prost(enumeration = "PlatformType", tag = "10")]
    pub platform_type: i32,
    #[prost(string, repeated, tag = "14")]
    pub dnenlchjekg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
/// Obf: ACPKGEEJJFL
#[derive(proto_derive::CmdID)]
#[cmdid(2906)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlatformPlayerInfoScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub friend_recommend_list: ::prost::alloc::vec::Vec<SimpleInfo>,
}
/// Obf: CJOENDLMMEG
#[derive(proto_derive::CmdID)]
#[cmdid(2945)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendLoginInfoCsReq {}
/// Obf: GMJEHFLHLGO
#[derive(proto_derive::CmdID)]
#[cmdid(2913)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendLoginInfoScRsp {
    #[prost(uint32, repeated, tag = "15")]
    pub friend_uid_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "14")]
    pub bohnbjmmkbo: bool,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub iihdbinopmg: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "3")]
    pub lifcehlfdnm: bool,
}
/// Obf: BKPGKBKJEEF
#[derive(proto_derive::CmdID)]
#[cmdid(2978)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetForbidOtherApplyFriendCsReq {
    #[prost(bool, tag = "15")]
    pub mjpflikafej: bool,
}
/// Obf: HOKMICOJAFK
#[derive(proto_derive::CmdID)]
#[cmdid(2920)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetForbidOtherApplyFriendScRsp {
    #[prost(bool, tag = "12")]
    pub mjpflikafej: bool,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: EAEMLKIPOGO
#[derive(proto_derive::CmdID)]
#[cmdid(2986)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetFriendMarkCsReq {
    #[prost(bool, tag = "6")]
    pub is_set_mark: bool,
    #[prost(uint32, tag = "2")]
    pub uid: u32,
    #[prost(uint32, tag = "4")]
    pub reason: u32,
}
/// Obf: DDHDGOIPCPA
#[derive(proto_derive::CmdID)]
#[cmdid(3000)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetFriendMarkScRsp {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(bool, tag = "14")]
    pub is_set_mark: bool,
}
/// Obf: MPBPGPDGGDK
#[derive(proto_derive::CmdID)]
#[cmdid(2909)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendAssistListCsReq {
    #[prost(uint32, repeated, tag = "2")]
    pub kcpaodebjdg: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "AssistAvatarType", tag = "1")]
    pub mloogabmihp: i32,
    #[prost(uint32, tag = "8")]
    pub from_uid: u32,
    #[prost(bool, tag = "9")]
    pub ahoilnfiieg: bool,
    #[prost(uint32, repeated, tag = "6")]
    pub bijgjecjmhm: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: EDBEFIDAGCO
#[derive(proto_derive::CmdID)]
#[cmdid(2954)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendAssistListScRsp {
    #[prost(uint32, tag = "14")]
    pub from_uid: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "8")]
    pub giecjkakcko: ::prost::alloc::vec::Vec<Lpkdgnbjdem>,
}
/// Obf: LKFDMEPJHHH
#[derive(proto_derive::CmdID)]
#[cmdid(2999)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendChallengeLineupCsReq {
    #[prost(uint32, tag = "15")]
    pub challenge_id: u32,
}
/// Obf: OAJFBJDEGEK
#[derive(proto_derive::CmdID)]
#[cmdid(2987)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendChallengeLineupScRsp {
    #[prost(bool, tag = "1")]
    pub onocjeebfci: bool,
    #[prost(message, repeated, tag = "11")]
    pub jaejjmjpmnc: ::prost::alloc::vec::Vec<Fcnollfgpck>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: GNCNBADEEAF
#[derive(proto_derive::CmdID)]
#[cmdid(2908)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendChallengeDetailCsReq {
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    #[prost(uint32, tag = "6")]
    pub challenge_id: u32,
}
/// Obf: KPGAGCDLMII
#[derive(proto_derive::CmdID)]
#[cmdid(2935)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendChallengeDetailScRsp {
    #[prost(uint32, tag = "6")]
    pub uid: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub challenge_id: u32,
    #[prost(message, repeated, tag = "4")]
    pub ccgdmoolhhb: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kamciopbpga {
    #[prost(string, tag = "9")]
    pub friend_name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "4")]
    pub avatar_list: ::prost::alloc::vec::Vec<Oilpiacennh>,
    #[prost(message, optional, tag = "2")]
    pub simple_info: ::core::option::Option<SimpleInfo>,
    #[prost(uint32, repeated, tag = "13")]
    pub jhiakmchplb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kehmgkihefn {
    #[prost(oneof = "kehmgkihefn::Njefmllobbj", tags = "5, 10")]
    pub njefmllobbj: ::core::option::Option<kehmgkihefn::Njefmllobbj>,
}
/// Nested message and enum types in `KEHMGKIHEFN`.
pub mod kehmgkihefn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Njefmllobbj {
        #[prost(message, tag = "5")]
        Gieidjeepac(super::Fcnollfgpck),
        #[prost(message, tag = "10")]
        Addcjejpfef(super::Kamciopbpga),
    }
}
/// Obf: IDNHIELAIFM
#[derive(proto_derive::CmdID)]
#[cmdid(2936)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendLineupCsReq {
    #[prost(uint32, tag = "3")]
    pub key: u32,
    #[prost(enumeration = "Dllleandaih", tag = "13")]
    pub slot: i32,
}
/// Obf: PCAPDIPOLMC
#[derive(proto_derive::CmdID)]
#[cmdid(2994)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendLineupScRsp {
    #[prost(uint32, tag = "6")]
    pub key: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(bool, tag = "14")]
    pub onocjeebfci: bool,
    #[prost(message, repeated, tag = "10")]
    pub jaejjmjpmnc: ::prost::alloc::vec::Vec<Kehmgkihefn>,
    #[prost(enumeration = "Dllleandaih", tag = "8")]
    pub slot: i32,
}
/// Obf: HHIOHFKOCFD
#[derive(proto_derive::CmdID)]
#[cmdid(2927)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendLineupDetailCsReq {
    #[prost(uint32, tag = "13")]
    pub uid: u32,
    #[prost(enumeration = "Dllleandaih", tag = "9")]
    pub slot: i32,
    #[prost(uint32, tag = "4")]
    pub key: u32,
}
/// Obf: CLCGHILDELA
#[derive(proto_derive::CmdID)]
#[cmdid(2974)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendLineupDetailScRsp {
    #[prost(uint32, tag = "10")]
    pub uid: u32,
    #[prost(message, repeated, tag = "7")]
    pub ccgdmoolhhb: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    #[prost(uint32, tag = "9")]
    pub key: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(enumeration = "Dllleandaih", tag = "6")]
    pub slot: i32,
}
/// Obf: OIODMCPAMEG
#[derive(proto_derive::CmdID)]
#[cmdid(2934)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendBattleRecordDetailCsReq {
    #[prost(uint32, tag = "13")]
    pub uid: u32,
}
/// Obf: CHKNEOBBFDF
#[derive(proto_derive::CmdID)]
#[cmdid(2968)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendBattleRecordDetailScRsp {
    #[prost(uint32, tag = "8")]
    pub uid: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub pgbbepkahbh: ::core::option::Option<Okdbogbabni>,
    #[prost(message, repeated, tag = "12")]
    pub jdidihobaod: ::prost::alloc::vec::Vec<Chkiicnapha>,
}
/// Obf: IFHKCHCHJKH
#[derive(proto_derive::CmdID)]
#[cmdid(2901)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendDevelopmentInfoCsReq {
    #[prost(uint32, tag = "10")]
    pub uid: u32,
}
/// Obf: MBBIJCDDMPK
#[derive(proto_derive::CmdID)]
#[cmdid(2953)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendDevelopmentInfoScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub uid: u32,
    #[prost(message, repeated, tag = "9")]
    pub jbhbfbjgbph: ::prost::alloc::vec::Vec<Dhahakmpnaf>,
}
/// Obf: FIAMOECBPNM
#[derive(proto_derive::CmdID)]
#[cmdid(1995)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetGachaInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GachaCeilingAvatar {
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "4")]
    pub repeated_cnt: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaCeiling {
    #[prost(message, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<GachaCeilingAvatar>,
    #[prost(uint32, tag = "9")]
    pub ceiling_num: u32,
    #[prost(bool, tag = "7")]
    pub is_claimed: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lopdjahfphn {
    #[prost(uint32, tag = "11")]
    pub chdoibfehlp: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub jigonealcpc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub iincdjpoomc: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub dlabdnpihff: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaInfo {
    #[prost(string, tag = "15")]
    pub mlgilehmpgb: ::prost::alloc::string::String,
    #[prost(uint32, repeated, tag = "12")]
    pub up_info: ::prost::alloc::vec::Vec<u32>,
    #[prost(string, tag = "5")]
    pub detail_url: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "8")]
    pub gacha_ceiling: ::core::option::Option<GachaCeiling>,
    #[prost(uint32, tag = "1")]
    pub gacha_id: u32,
    #[prost(message, optional, tag = "3")]
    pub gdpoeejnmhn: ::core::option::Option<Lopdjahfphn>,
    #[prost(int64, tag = "10")]
    pub end_time: i64,
    #[prost(uint32, tag = "14")]
    pub gdifaahifbh: u32,
    #[prost(uint32, tag = "11")]
    pub kmnjnmjfgbg: u32,
    #[prost(int64, tag = "4")]
    pub begin_time: i64,
    #[prost(uint32, repeated, tag = "7")]
    pub featured: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HOBMNDENOHD
#[derive(proto_derive::CmdID)]
#[cmdid(1932)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGachaInfoScRsp {
    #[prost(uint32, tag = "9")]
    pub djndmnpebka: u32,
    #[prost(uint32, tag = "4")]
    pub nbelnoipoek: u32,
    #[prost(message, repeated, tag = "1")]
    pub gacha_info_list: ::prost::alloc::vec::Vec<GachaInfo>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub nopbebkhika: u32,
    #[prost(uint32, tag = "3")]
    pub gacha_random: u32,
}
/// Obf: BEHHJDKOGHH
#[derive(proto_derive::CmdID)]
#[cmdid(1931)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DoGachaCsReq {
    #[prost(uint32, tag = "7")]
    pub gacha_id: u32,
    #[prost(uint32, tag = "4")]
    pub simulate_magic: u32,
    #[prost(uint32, tag = "1")]
    pub gacha_random: u32,
    #[prost(uint32, tag = "6")]
    pub gacha_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaItem {
    #[prost(message, optional, tag = "7")]
    pub token_item: ::core::option::Option<ItemList>,
    #[prost(bool, tag = "3")]
    pub is_new: bool,
    #[prost(message, optional, tag = "1")]
    pub transfer_item_list: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "14")]
    pub gacha_item: ::core::option::Option<Item>,
}
/// Obf: KHKCPPLPKND
#[derive(proto_derive::CmdID)]
#[cmdid(1940)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoGachaScRsp {
    #[prost(uint32, tag = "6")]
    pub gacha_id: u32,
    #[prost(uint32, tag = "3")]
    pub ceiling_num: u32,
    #[prost(message, repeated, tag = "1")]
    pub gacha_item_list: ::prost::alloc::vec::Vec<GachaItem>,
    #[prost(uint32, tag = "14")]
    pub gdifaahifbh: u32,
    #[prost(uint32, tag = "4")]
    pub kmnjnmjfgbg: u32,
    #[prost(uint32, tag = "13")]
    pub penilhglhhm: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub nopbebkhika: u32,
    #[prost(uint32, tag = "7")]
    pub gacha_num: u32,
}
/// Obf: GCCGABDOLLK
#[derive(proto_derive::CmdID)]
#[cmdid(1976)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetGachaCeilingCsReq {
    #[prost(uint32, tag = "1")]
    pub gacha_type: u32,
}
/// Obf: PCMFELPJEAL
#[derive(proto_derive::CmdID)]
#[cmdid(1948)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGachaCeilingScRsp {
    #[prost(uint32, tag = "1")]
    pub gacha_type: u32,
    #[prost(message, optional, tag = "13")]
    pub gacha_ceiling: ::core::option::Option<GachaCeiling>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: IHBMAOEAOHA
#[derive(proto_derive::CmdID)]
#[cmdid(1971)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExchangeGachaCeilingCsReq {
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "8")]
    pub gacha_type: u32,
}
/// Obf: JPJGLKKFGFM
#[derive(proto_derive::CmdID)]
#[cmdid(1952)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeGachaCeilingScRsp {
    #[prost(uint32, tag = "5")]
    pub gacha_type: u32,
    #[prost(message, optional, tag = "15")]
    pub transfer_item_list: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "14")]
    pub gacha_ceiling: ::core::option::Option<GachaCeiling>,
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: DFBBEFDPCII
#[derive(proto_derive::CmdID)]
#[cmdid(1922)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGachaDecideItemCsReq {
    #[prost(uint32, repeated, tag = "4")]
    pub dlabdnpihff: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub gacha_id: u32,
    #[prost(uint32, tag = "7")]
    pub chdoibfehlp: u32,
}
/// Obf: KBDBMGGFCKI
#[derive(proto_derive::CmdID)]
#[cmdid(1956)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGachaDecideItemScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub gdpoeejnmhn: ::core::option::Option<Lopdjahfphn>,
    #[prost(uint32, repeated, tag = "4")]
    pub farm_stage_gacha_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GOFDKPLHJAI
#[derive(proto_derive::CmdID)]
#[cmdid(1972)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaDecideItemChangeScNotify {
    #[prost(message, optional, tag = "7")]
    pub gdpoeejnmhn: ::core::option::Option<Lopdjahfphn>,
    #[prost(uint32, repeated, tag = "2")]
    pub farm_stage_gacha_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oicenkljicg {
    #[prost(uint32, tag = "6")]
    pub dgaklnofdpp: u32,
    #[prost(bool, tag = "4")]
    pub fbkekcgelbe: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Maiaboommnn {
    #[prost(bool, tag = "14")]
    pub kkgfigchkib: bool,
    #[prost(enumeration = "Bfdflhekfgk", tag = "13")]
    pub jiimeljaone: i32,
    #[prost(enumeration = "Afefbpablhm", tag = "8")]
    pub step: i32,
    #[prost(bool, tag = "12")]
    pub jmpejfickjo: bool,
    #[prost(uint32, tag = "2")]
    pub clkeoehplng: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mmeinfmdjfg {
    #[prost(uint32, tag = "7")]
    pub kbmmmmckjni: u32,
    #[prost(uint32, tag = "13")]
    pub clkeoehplng: u32,
}
/// Obf: POKEHOEGBEE
#[derive(proto_derive::CmdID)]
#[cmdid(6395)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetHeartDialInfoCsReq {}
/// Obf: GHJINMKJLDG
#[derive(proto_derive::CmdID)]
#[cmdid(6332)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetHeartDialInfoScRsp {
    #[prost(enumeration = "Ooehgmemkoi", tag = "6")]
    pub nfeojaajmke: i32,
    #[prost(message, repeated, tag = "3")]
    pub ocmoejidlam: ::prost::alloc::vec::Vec<Mmeinfmdjfg>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub emdmhabinkg: ::prost::alloc::vec::Vec<Maiaboommnn>,
    #[prost(message, repeated, tag = "10")]
    pub aboigbjnoho: ::prost::alloc::vec::Vec<Oicenkljicg>,
}
/// Obf: FIBDHFCJAMH
#[derive(proto_derive::CmdID)]
#[cmdid(6331)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChangeScriptEmotionCsReq {
    #[prost(uint32, tag = "9")]
    pub fihncoabela: u32,
    #[prost(enumeration = "Bfdflhekfgk", tag = "6")]
    pub ebnofhdngdh: i32,
    #[prost(uint32, tag = "11")]
    pub clkeoehplng: u32,
}
/// Obf: LNOOICPAKND
#[derive(proto_derive::CmdID)]
#[cmdid(6340)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChangeScriptEmotionScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(enumeration = "Bfdflhekfgk", tag = "9")]
    pub kefkogklefc: i32,
    #[prost(uint32, tag = "11")]
    pub clkeoehplng: u32,
}
/// Obf: GMPJACIOCAI
#[derive(proto_derive::CmdID)]
#[cmdid(6376)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitEmotionItemCsReq {
    #[prost(uint32, tag = "12")]
    pub clkeoehplng: u32,
    #[prost(message, optional, tag = "5")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub fihncoabela: u32,
}
/// Obf: MJOECNKJGIP
#[derive(proto_derive::CmdID)]
#[cmdid(6348)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubmitEmotionItemScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub clkeoehplng: u32,
}
/// Obf: AFDLHLDCFEL
#[derive(proto_derive::CmdID)]
#[cmdid(6371)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishEmotionDialoguePerformanceCsReq {
    #[prost(uint32, tag = "5")]
    pub clkeoehplng: u32,
    #[prost(uint32, tag = "6")]
    pub fihncoabela: u32,
    #[prost(uint32, tag = "12")]
    pub dgaklnofdpp: u32,
}
/// Obf: PJBHDGOFNCJ
#[derive(proto_derive::CmdID)]
#[cmdid(6352)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishEmotionDialoguePerformanceScRsp {
    #[prost(uint32, tag = "13")]
    pub clkeoehplng: u32,
    #[prost(uint32, tag = "14")]
    pub dgaklnofdpp: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub reward_list: ::core::option::Option<ItemList>,
}
/// Obf: BKGEPFIPGEE
#[derive(proto_derive::CmdID)]
#[cmdid(6322)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeartDialScriptChangeScNotify {
    #[prost(message, repeated, tag = "3")]
    pub pkflgdfdmoi: ::prost::alloc::vec::Vec<Maiaboommnn>,
    #[prost(enumeration = "Ooehgmemkoi", tag = "7")]
    pub nfeojaajmke: i32,
    #[prost(message, repeated, tag = "12")]
    pub nglhcmbghio: ::prost::alloc::vec::Vec<Oicenkljicg>,
    #[prost(message, repeated, tag = "9")]
    pub ocmoejidlam: ::prost::alloc::vec::Vec<Mmeinfmdjfg>,
}
/// Obf: ECKBENNIBJH
#[derive(proto_derive::CmdID)]
#[cmdid(6356)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeartDialTraceScriptCsReq {
    #[prost(message, optional, tag = "12")]
    pub agoipfbddpo: ::core::option::Option<Mmeinfmdjfg>,
}
/// Obf: BKIOMJGMMNE
#[derive(proto_derive::CmdID)]
#[cmdid(6372)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeartDialTraceScriptScRsp {
    #[prost(message, optional, tag = "7")]
    pub agoipfbddpo: ::core::option::Option<Mmeinfmdjfg>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dejakpoepkn {
    #[prost(uint32, tag = "13")]
    pub cgfgfmgdpnj: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub lfpmaobgnen: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jmijjhkiblb {
    #[prost(uint32, tag = "15")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "4")]
    pub stars: u32,
    #[prost(bool, tag = "12")]
    pub gjieahdbnni: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusChallengeLineup {
    #[prost(uint32, repeated, tag = "9")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    #[prost(uint32, tag = "7")]
    pub skill_id: u32,
}
/// Obf: BLOFCCOIGPI
#[derive(proto_derive::CmdID)]
#[cmdid(5895)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusActivityDataCsReq {}
/// Obf: GJAHMIPODDJ
#[derive(proto_derive::CmdID)]
#[cmdid(5832)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusActivityDataScRsp {
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "14")]
    pub gcljengjicm: ::prost::alloc::vec::Vec<HeliobusChallengeLineup>,
    #[prost(uint32, tag = "6")]
    pub phase: u32,
    #[prost(message, repeated, tag = "4")]
    pub challenge_list: ::prost::alloc::vec::Vec<Jmijjhkiblb>,
    #[prost(uint32, tag = "2")]
    pub eenjbpmndol: u32,
    #[prost(uint32, tag = "1")]
    pub ibhaaejeehc: u32,
    #[prost(uint32, tag = "8")]
    pub iphkdelmoih: u32,
    #[prost(message, repeated, tag = "5")]
    pub nfdbmhppfip: ::prost::alloc::vec::Vec<Gbjkkfhpffn>,
    #[prost(message, optional, tag = "9")]
    pub skill_info: ::core::option::Option<Dejakpoepkn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Goammagcijj {
    #[prost(uint32, tag = "10")]
    pub kmaempmoccc: u32,
    #[prost(uint32, tag = "9")]
    pub eliadkdaeco: u32,
    #[prost(message, repeated, tag = "7")]
    pub jndkooejcfc: ::prost::alloc::vec::Vec<Goammagcijj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbjkkfhpffn {
    #[prost(uint32, tag = "10")]
    pub jfmofiidcnp: u32,
    #[prost(uint32, tag = "14")]
    pub ihkejebceib: u32,
    #[prost(bool, tag = "2")]
    pub ajciodkllml: bool,
    #[prost(uint32, tag = "4")]
    pub cmhgbbhknci: u32,
    #[prost(uint32, tag = "3")]
    pub fclnoogehmc: u32,
    #[prost(message, repeated, tag = "9")]
    pub ndjfnhfpcgd: ::prost::alloc::vec::Vec<Goammagcijj>,
    #[prost(bool, tag = "6")]
    pub dekhdibcfab: bool,
    #[prost(uint32, tag = "15")]
    pub aknkpkpljhf: u32,
}
/// Obf: FOJPCHFHEAE
#[derive(proto_derive::CmdID)]
#[cmdid(5831)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSnsReadCsReq {
    #[prost(uint32, tag = "5")]
    pub ihkejebceib: u32,
}
/// Obf: IBNCJDMOMLA
#[derive(proto_derive::CmdID)]
#[cmdid(5840)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSnsReadScRsp {
    #[prost(uint32, tag = "11")]
    pub ihkejebceib: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: NIKFHCNKBCH
#[derive(proto_derive::CmdID)]
#[cmdid(5876)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSnsPostCsReq {
    #[prost(uint32, tag = "12")]
    pub fclnoogehmc: u32,
    #[prost(uint32, tag = "14")]
    pub ihkejebceib: u32,
    #[prost(uint32, tag = "11")]
    pub jfmofiidcnp: u32,
}
/// Obf: FCLCBAIENFB
#[derive(proto_derive::CmdID)]
#[cmdid(5848)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsPostScRsp {
    #[prost(message, optional, tag = "12")]
    pub eimcnifmlbl: ::core::option::Option<Gbjkkfhpffn>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: EOPPOAPMACG
#[derive(proto_derive::CmdID)]
#[cmdid(5871)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSnsLikeCsReq {
    #[prost(uint32, tag = "3")]
    pub ihkejebceib: u32,
}
/// Obf: GBPLDAMFEGL
#[derive(proto_derive::CmdID)]
#[cmdid(5852)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSnsLikeScRsp {
    #[prost(uint32, tag = "11")]
    pub ihkejebceib: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(bool, tag = "14")]
    pub dekhdibcfab: bool,
}
/// Obf: JDDIOABLHIF
#[derive(proto_derive::CmdID)]
#[cmdid(5822)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSnsCommentCsReq {
    #[prost(uint32, tag = "4")]
    pub kaljkfkjffa: u32,
    #[prost(uint32, tag = "2")]
    pub ihkejebceib: u32,
    #[prost(uint32, tag = "7")]
    pub kmaempmoccc: u32,
}
/// Obf: JILGIBDIDMH
#[derive(proto_derive::CmdID)]
#[cmdid(5856)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsCommentScRsp {
    #[prost(message, optional, tag = "2")]
    pub eimcnifmlbl: ::core::option::Option<Gbjkkfhpffn>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: HOAMKNEFEIL
#[derive(proto_derive::CmdID)]
#[cmdid(5872)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsUpdateScNotify {
    #[prost(message, repeated, tag = "3")]
    pub gkfhmgmbika: ::prost::alloc::vec::Vec<Gbjkkfhpffn>,
}
/// Obf: BDOBCCMPPAA
#[derive(proto_derive::CmdID)]
#[cmdid(5885)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusInfoChangedScNotify {
    #[prost(message, repeated, tag = "2")]
    pub gkfhmgmbika: ::prost::alloc::vec::Vec<Gbjkkfhpffn>,
    #[prost(uint32, tag = "13")]
    pub iphkdelmoih: u32,
    #[prost(uint32, tag = "10")]
    pub phase: u32,
    #[prost(uint32, tag = "8")]
    pub eenjbpmndol: u32,
}
/// Obf: ABBAHIAPMCD
#[derive(proto_derive::CmdID)]
#[cmdid(5816)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusUpgradeLevelCsReq {}
/// Obf: KNLJNMOPHFE
#[derive(proto_derive::CmdID)]
#[cmdid(5846)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusUpgradeLevelScRsp {
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: BPFFNJBECNE
#[derive(proto_derive::CmdID)]
#[cmdid(5883)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusUnlockSkillScNotify {
    #[prost(uint32, tag = "10")]
    pub skill_id: u32,
    #[prost(uint32, tag = "3")]
    pub cgfgfmgdpnj: u32,
}
/// Obf: IJAKPFAHLJJ
#[derive(proto_derive::CmdID)]
#[cmdid(5833)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusEnterBattleCsReq {
    #[prost(uint32, tag = "10")]
    pub event_id: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub skill_id: u32,
}
/// Obf: INMBBBCGIGE
#[derive(proto_derive::CmdID)]
#[cmdid(5842)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusEnterBattleScRsp {
    #[prost(message, optional, tag = "15")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "3")]
    pub event_id: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: PFNLNOCJBLA
#[derive(proto_derive::CmdID)]
#[cmdid(5860)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSelectSkillCsReq {
    #[prost(uint32, tag = "7")]
    pub skill_id: u32,
}
/// Obf: OKMBJEHOIOG
#[derive(proto_derive::CmdID)]
#[cmdid(5802)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSelectSkillScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub skill_id: u32,
}
/// Obf: GNJICHMOCML
#[derive(proto_derive::CmdID)]
#[cmdid(5821)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusChallengeUpdateScNotify {
    #[prost(message, optional, tag = "11")]
    pub dddikpnnble: ::core::option::Option<Jmijjhkiblb>,
}
/// Obf: CIJPAMOOMIG
#[derive(proto_derive::CmdID)]
#[cmdid(5829)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusLineupUpdateScNotify {
    #[prost(message, optional, tag = "3")]
    pub lineup: ::core::option::Option<HeliobusChallengeLineup>,
}
/// Obf: JJCKLKANLBK
#[derive(proto_derive::CmdID)]
#[cmdid(5877)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusStartRaidCsReq {
    #[prost(uint32, tag = "7")]
    pub enlknpiblio: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub skill_id: u32,
    #[prost(uint32, tag = "10")]
    pub cenifnknfnp: u32,
    #[prost(bool, tag = "3")]
    pub jgeaegmhdoc: bool,
    #[prost(uint32, tag = "13")]
    pub prop_entity_id: u32,
}
/// Obf: MFFCENPKBGH
#[derive(proto_derive::CmdID)]
#[cmdid(5858)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusStartRaidScRsp {
    #[prost(message, optional, tag = "15")]
    pub scene: ::core::option::Option<Fnlgplncpcl>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: PACKIMPJBPL
#[derive(proto_derive::CmdID)]
#[cmdid(595)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBagCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Equipment {
    #[prost(uint32, tag = "14")]
    pub level: u32,
    #[prost(uint32, tag = "8")]
    pub unique_id: u32,
    #[prost(uint32, tag = "6")]
    pub rank: u32,
    #[prost(uint32, tag = "1")]
    pub equip_avatar_id: u32,
    #[prost(bool, tag = "5")]
    pub is_protected: bool,
    #[prost(uint32, tag = "7")]
    pub tid: u32,
    #[prost(uint32, tag = "12")]
    pub promotion: u32,
    #[prost(uint32, tag = "9")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Relic {
    #[prost(uint32, tag = "1")]
    pub exp: u32,
    #[prost(bool, tag = "10")]
    pub is_protected: bool,
    #[prost(uint32, tag = "6")]
    pub tid: u32,
    #[prost(uint32, tag = "8")]
    pub equip_avatar_id: u32,
    #[prost(uint32, tag = "5")]
    pub unique_id: u32,
    #[prost(uint32, tag = "3")]
    pub main_affix_id: u32,
    #[prost(bool, tag = "2")]
    pub is_discarded: bool,
    #[prost(message, repeated, tag = "14")]
    pub reroll_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(message, repeated, tag = "4")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Material {
    #[prost(uint64, tag = "9")]
    pub expire_time: u64,
    #[prost(uint32, tag = "12")]
    pub num: u32,
    #[prost(uint32, tag = "10")]
    pub tid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WaitDelResource {
    #[prost(uint32, tag = "10")]
    pub tid: u32,
    #[prost(uint32, tag = "7")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Material0 {
    #[prost(uint32, tag = "15")]
    pub num: u32,
    #[prost(uint64, tag = "5")]
    pub expire_time: u64,
    #[prost(uint32, tag = "7")]
    pub tid: u32,
}
/// Obf: KDKAFPDEBAH
#[derive(proto_derive::CmdID)]
#[cmdid(532)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBagScRsp {
    #[prost(message, repeated, tag = "5")]
    pub bafebhdobfj: ::prost::alloc::vec::Vec<PileItem>,
    #[prost(message, repeated, tag = "4")]
    pub fcokffeapmi: ::prost::alloc::vec::Vec<Material0>,
    #[prost(message, repeated, tag = "12")]
    pub material_list: ::prost::alloc::vec::Vec<Material>,
    #[prost(enumeration = "TurnFoodSwitch", repeated, tag = "9")]
    pub turn_food_switch: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, repeated, tag = "6")]
    pub ifenmdpbnkg: ::prost::alloc::vec::Vec<Material>,
    #[prost(message, repeated, tag = "8")]
    pub equipment_list: ::prost::alloc::vec::Vec<Equipment>,
    #[prost(message, repeated, tag = "2")]
    pub relic_list: ::prost::alloc::vec::Vec<Relic>,
    #[prost(uint32, repeated, tag = "1")]
    pub aoiihcfmfph: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub gemcacjlpij: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "7")]
    pub fdbjlgdhcdo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub aepnidponkc: u32,
    #[prost(message, repeated, tag = "11")]
    pub hlinmkbdknc: ::prost::alloc::vec::Vec<WaitDelResource>,
    #[prost(message, repeated, tag = "13")]
    pub phngmeljkbe: ::prost::alloc::vec::Vec<Material0>,
}
/// Obf: ENDNEFAPMMA
#[derive(proto_derive::CmdID)]
#[cmdid(531)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteEquipmentCsReq {
    #[prost(uint32, tag = "13")]
    pub equipment_unique_id: u32,
    #[prost(message, optional, tag = "12")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
/// Obf: KNHLDEDJDLI
#[derive(proto_derive::CmdID)]
#[cmdid(540)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PromoteEquipmentScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: OGNBDGAGKNJ
#[derive(proto_derive::CmdID)]
#[cmdid(576)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LockEquipmentCsReq {
    #[prost(uint32, repeated, tag = "2")]
    pub equipment_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "4")]
    pub is_protected: bool,
}
/// Obf: BBJEJPJONFJ
#[derive(proto_derive::CmdID)]
#[cmdid(548)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LockEquipmentScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: ENBJJBIMIND
#[derive(proto_derive::CmdID)]
#[cmdid(571)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UseItemCsReq {
    #[prost(uint32, tag = "1")]
    pub base_avatar_id: u32,
    #[prost(uint32, tag = "15")]
    pub optional_reward_id: u32,
    #[prost(bool, tag = "6")]
    pub felciemkcgf: bool,
    #[prost(uint32, tag = "8")]
    pub use_item_id: u32,
    #[prost(enumeration = "AvatarType", tag = "9")]
    pub mgnnkfnacni: i32,
    #[prost(uint32, tag = "13")]
    pub use_item_count: u32,
}
/// Obf: LOGJKANIBDJ
#[derive(proto_derive::CmdID)]
#[cmdid(552)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UseItemScRsp {
    #[prost(message, optional, tag = "9")]
    pub return_data: ::core::option::Option<ItemList>,
    #[prost(uint64, tag = "1")]
    pub month_card_out_date_time: u64,
    #[prost(uint32, tag = "8")]
    pub use_item_id: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub use_item_count: u32,
    #[prost(uint32, tag = "3")]
    pub gcjobeokmcp: u32,
}
/// Obf: CEIGIHOKMFE
#[derive(proto_derive::CmdID)]
#[cmdid(522)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RankUpEquipmentCsReq {
    #[prost(message, optional, tag = "8")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "5")]
    pub equipment_unique_id: u32,
}
/// Obf: DNEFPJHHCBI
#[derive(proto_derive::CmdID)]
#[cmdid(556)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RankUpEquipmentScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bepahbkljnn {
    #[prost(uint32, tag = "12")]
    pub equipment_unique_id: u32,
    #[prost(message, optional, tag = "9")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
/// Obf: LNKLNJJDGKF
#[derive(proto_derive::CmdID)]
#[cmdid(590)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchRankUpEquipmentCsReq {
    #[prost(message, repeated, tag = "15")]
    pub param_list: ::prost::alloc::vec::Vec<Bepahbkljnn>,
}
/// Obf: CIIKBJJNOEJ
#[derive(proto_derive::CmdID)]
#[cmdid(517)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BatchRankUpEquipmentScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: LLAGDKKOPIG
#[derive(proto_derive::CmdID)]
#[cmdid(572)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpEquipmentCsReq {
    #[prost(message, optional, tag = "2")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "11")]
    pub equipment_unique_id: u32,
}
/// Obf: GHMKEHACJIN
#[derive(proto_derive::CmdID)]
#[cmdid(585)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpEquipmentScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "2")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
}
/// Obf: EIDFBOMONBI
#[derive(proto_derive::CmdID)]
#[cmdid(516)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeItemCsReq {
    #[prost(message, optional, tag = "12")]
    pub compose_item_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "1")]
    pub compose_id: u32,
    #[prost(uint32, tag = "4")]
    pub count: u32,
    #[prost(message, optional, tag = "5")]
    pub pjchnokedbe: ::core::option::Option<ItemCostList>,
}
/// Obf: LMAAEHHLMFC
#[derive(proto_derive::CmdID)]
#[cmdid(546)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeItemScRsp {
    #[prost(uint32, tag = "12")]
    pub count: u32,
    #[prost(uint32, tag = "8")]
    pub compose_id: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub return_item_list: ::core::option::Option<ItemList>,
}
/// Obf: PPCMJPFIBJK
#[derive(proto_derive::CmdID)]
#[cmdid(521)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeSelectedRelicCsReq {
    #[prost(uint32, tag = "13")]
    pub compose_relic_id: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub ggnpaifhpbb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub main_affix_id: u32,
    #[prost(message, optional, tag = "11")]
    pub gjfmnmokaic: ::core::option::Option<ItemCostList>,
    #[prost(message, optional, tag = "10")]
    pub fbgodfjicll: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "15")]
    pub count: u32,
    #[prost(uint32, tag = "4")]
    pub compose_id: u32,
}
/// Obf: MGNNPKGBAGD
#[derive(proto_derive::CmdID)]
#[cmdid(529)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeSelectedRelicScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub return_item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "14")]
    pub compose_id: u32,
}
/// Obf: HKHKBGGJLKJ
#[derive(proto_derive::CmdID)]
#[cmdid(583)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpRelicCsReq {
    #[prost(message, optional, tag = "1")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "2")]
    pub relic_unique_id: u32,
}
/// Obf: LCAOAHBJJNC
#[derive(proto_derive::CmdID)]
#[cmdid(560)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpRelicScRsp {
    #[prost(message, repeated, tag = "3")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: KACIJMGGGLE
#[derive(proto_derive::CmdID)]
#[cmdid(502)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LockRelicCsReq {
    #[prost(bool, tag = "3")]
    pub is_batch_op: bool,
    #[prost(bool, tag = "8")]
    pub is_protected: bool,
    #[prost(uint32, repeated, tag = "10")]
    pub locked_relic_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: EHGHOCBCEKM
#[derive(proto_derive::CmdID)]
#[cmdid(539)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LockRelicScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: LEMBHJMIKOE
#[derive(proto_derive::CmdID)]
#[cmdid(506)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DiscardRelicCsReq {
    #[prost(bool, tag = "11")]
    pub is_discard: bool,
    #[prost(uint64, tag = "6")]
    pub hnhfdmdibio: u64,
    #[prost(uint32, repeated, tag = "4")]
    pub locked_relic_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Icpineholml", tag = "1")]
    pub nlpconnjonf: i32,
}
/// Obf: GAADEDDBANA
#[derive(proto_derive::CmdID)]
#[cmdid(545)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DiscardRelicScRsp {
    #[prost(uint32, repeated, tag = "1")]
    pub locked_relic_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Icpineholml", tag = "5")]
    pub nlpconnjonf: i32,
    #[prost(bool, tag = "2")]
    pub is_discard: bool,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: OCCFBPIBDCH
#[derive(proto_derive::CmdID)]
#[cmdid(543)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SellItemCsReq {
    #[prost(bool, tag = "6")]
    pub to_material: bool,
    #[prost(message, optional, tag = "10")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
/// Obf: EMHKBFNEEPE
#[derive(proto_derive::CmdID)]
#[cmdid(533)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SellItemScRsp {
    #[prost(message, optional, tag = "8")]
    pub return_item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: RechargeSuccNotify
#[derive(proto_derive::CmdID)]
#[cmdid(542)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RechargeSuccNotify {
    #[prost(string, tag = "9")]
    pub channel_order_no: ::prost::alloc::string::String,
    #[prost(uint64, tag = "11")]
    pub month_card_outdate_time: u64,
    #[prost(message, optional, tag = "6")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(string, tag = "12")]
    pub product_id: ::prost::alloc::string::String,
}
/// Obf: CAIBFMLNFFA
#[derive(proto_derive::CmdID)]
#[cmdid(577)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExchangeHcoinCsReq {
    #[prost(uint32, tag = "12")]
    pub num: u32,
}
/// Obf: ExchangeHcoinScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(558)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExchangeHcoinScRsp {
    #[prost(uint32, tag = "12")]
    pub num: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: EHKBPBIAIJM
#[derive(proto_derive::CmdID)]
#[cmdid(563)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AddEquipmentScNotify {
    #[prost(uint32, tag = "1")]
    pub mdmgkhlhiin: u32,
}
/// Obf: HMAPNACBNCK
#[derive(proto_derive::CmdID)]
#[cmdid(511)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRecyleTimeCsReq {
    #[prost(uint32, repeated, tag = "2")]
    pub cjlndnilgmf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ALDEDCHJMBK
#[derive(proto_derive::CmdID)]
#[cmdid(593)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRecyleTimeScRsp {
    #[prost(message, repeated, tag = "1")]
    pub fcokffeapmi: ::prost::alloc::vec::Vec<Material0>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fnhmmmkjgpb {
    #[prost(uint32, tag = "1")]
    pub ojemelhcmpj: u32,
    #[prost(uint32, tag = "2")]
    pub formula_id: u32,
}
/// Obf: MNKEGHBHBAB
#[derive(proto_derive::CmdID)]
#[cmdid(525)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeLimitNumCompleteNotify {
    #[prost(message, repeated, tag = "5")]
    pub dchnaedinmm: ::prost::alloc::vec::Vec<Fnhmmmkjgpb>,
}
/// Obf: KAOKFBBHBJP
#[derive(proto_derive::CmdID)]
#[cmdid(514)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ComposeLimitNumUpdateNotify {
    #[prost(message, optional, tag = "5")]
    pub fglfgjdpjpd: ::core::option::Option<Fnhmmmkjgpb>,
}
/// Obf: JGJOGHCLMCB
#[derive(proto_derive::CmdID)]
#[cmdid(584)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DestroyItemCsReq {
    #[prost(uint32, tag = "5")]
    pub cfcokeldogj: u32,
    #[prost(uint32, tag = "11")]
    pub mbejblfhcbh: u32,
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
}
/// Obf: EDELPFFFHGC
#[derive(proto_derive::CmdID)]
#[cmdid(537)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DestroyItemScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub cfcokeldogj: u32,
}
/// Obf: JCOMBMFGMBP
#[derive(proto_derive::CmdID)]
#[cmdid(530)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMarkItemListCsReq {}
/// Obf: JGDMLEJHCFD
#[derive(proto_derive::CmdID)]
#[cmdid(575)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMarkItemListScRsp {
    #[prost(uint32, repeated, tag = "12")]
    pub pdbihonolfj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: PDGPDLFCJOB
#[derive(proto_derive::CmdID)]
#[cmdid(551)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkItemCsReq {
    #[prost(bool, tag = "2")]
    pub naehphhdgek: bool,
    #[prost(uint32, tag = "13")]
    pub item_id: u32,
}
/// Obf: BHLICDCPAEG
#[derive(proto_derive::CmdID)]
#[cmdid(591)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkItemScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub item_id: u32,
    #[prost(bool, tag = "12")]
    pub naehphhdgek: bool,
}
/// Obf: AFMNPBMEHKA
#[derive(proto_derive::CmdID)]
#[cmdid(524)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CancelMarkItemNotify {
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
}
/// Obf: DAMDJPLDNFE
#[derive(proto_derive::CmdID)]
#[cmdid(557)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncTurnFoodNotify {
    #[prost(uint32, repeated, tag = "3")]
    pub fdbjlgdhcdo: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "TurnFoodSwitch", repeated, tag = "7")]
    pub turn_food_switch: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: MPNKMKGDBDK
#[derive(proto_derive::CmdID)]
#[cmdid(507)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetTurnFoodSwitchCsReq {
    #[prost(bool, tag = "4")]
    pub bndlhjhalmb: bool,
    #[prost(enumeration = "TurnFoodSwitch", tag = "13")]
    pub jcakhhkfdfn: i32,
}
/// Obf: MFGLGONLDPH
#[derive(proto_derive::CmdID)]
#[cmdid(598)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetTurnFoodSwitchScRsp {
    #[prost(bool, tag = "4")]
    pub bndlhjhalmb: bool,
    #[prost(enumeration = "TurnFoodSwitch", tag = "10")]
    pub jcakhhkfdfn: i32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: APKMOHMIIBL
#[derive(proto_derive::CmdID)]
#[cmdid(564)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GeneralVirtualItemDataNotify {
    #[prost(bool, tag = "4")]
    pub pkbahpfjgdb: bool,
    #[prost(message, repeated, tag = "13")]
    pub fdjkccgdnka: ::prost::alloc::vec::Vec<PileItem>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicFilterPlanIcon {
    #[prost(bool, tag = "8")]
    pub is_avatar_icon: bool,
    #[prost(uint32, tag = "10")]
    pub icon_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicFilterPlan {
    #[prost(uint32, tag = "2")]
    pub slot_index: u32,
    #[prost(int64, tag = "11")]
    pub update_timestamp: i64,
    #[prost(uint32, tag = "6")]
    pub avatar_id_on_create: u32,
    #[prost(bool, tag = "8")]
    pub is_marked: bool,
    #[prost(message, optional, tag = "13")]
    pub settings: ::core::option::Option<RelicFilterPlanSettings>,
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub icon: ::core::option::Option<RelicFilterPlanIcon>,
}
/// Obf: CBCIJAOBJKM
#[derive(proto_derive::CmdID)]
#[cmdid(600)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRelicFilterPlanCsReq {}
/// Obf: GetRelicFilterPlanScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(509)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRelicFilterPlanScRsp {
    #[prost(message, repeated, tag = "12")]
    pub relic_filter_plan_list: ::prost::alloc::vec::Vec<RelicFilterPlan>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: AddRelicFilterPlanCsReq
#[derive(proto_derive::CmdID)]
#[cmdid(554)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddRelicFilterPlanCsReq {
    #[prost(bool, tag = "7")]
    pub is_marked: bool,
    #[prost(string, tag = "10")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "13")]
    pub icon: ::core::option::Option<RelicFilterPlanIcon>,
    #[prost(message, optional, tag = "6")]
    pub settings: ::core::option::Option<RelicFilterPlanSettings>,
    #[prost(uint32, tag = "3")]
    pub avatar_id_on_create: u32,
}
/// Obf: AddRelicFilterPlanScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(599)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddRelicFilterPlanScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub plan: ::core::option::Option<RelicFilterPlan>,
}
/// Obf: ModifyRelicFilterPlanCsReq
#[derive(proto_derive::CmdID)]
#[cmdid(587)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModifyRelicFilterPlanCsReq {
    #[prost(uint32, tag = "10")]
    pub slot_index: u32,
    #[prost(oneof = "modify_relic_filter_plan_cs_req::InfoCase", tags = "9, 15, 8")]
    pub info_case: ::core::option::Option<modify_relic_filter_plan_cs_req::InfoCase>,
}
/// Nested message and enum types in `ModifyRelicFilterPlanCsReq`.
pub mod modify_relic_filter_plan_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum InfoCase {
        #[prost(string, tag = "9")]
        Name(::prost::alloc::string::String),
        #[prost(message, tag = "15")]
        Icon(super::RelicFilterPlanIcon),
        #[prost(message, tag = "8")]
        Settings(super::RelicFilterPlanSettings),
    }
}
/// Obf: ModifyRelicFilterPlanScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(508)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModifyRelicFilterPlanScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub slot_index: u32,
    #[prost(int64, tag = "11")]
    pub update_timestamp: i64,
    #[prost(oneof = "modify_relic_filter_plan_sc_rsp::InfoCase", tags = "1, 2, 14")]
    pub info_case: ::core::option::Option<modify_relic_filter_plan_sc_rsp::InfoCase>,
}
/// Nested message and enum types in `ModifyRelicFilterPlanScRsp`.
pub mod modify_relic_filter_plan_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum InfoCase {
        #[prost(string, tag = "1")]
        Name(::prost::alloc::string::String),
        #[prost(message, tag = "2")]
        Icon(super::RelicFilterPlanIcon),
        #[prost(message, tag = "14")]
        Settings(super::RelicFilterPlanSettings),
    }
}
/// Obf: DeleteRelicFilterPlanCsReq
#[derive(proto_derive::CmdID)]
#[cmdid(535)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteRelicFilterPlanCsReq {
    #[prost(bool, tag = "3")]
    pub is_batch_op: bool,
    #[prost(uint32, repeated, tag = "10")]
    pub slot_index_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IBLMECOBEKK
#[derive(proto_derive::CmdID)]
#[cmdid(534)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteRelicFilterPlanScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub ndobmajmlnk: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "4")]
    pub is_batch_op: bool,
}
/// Obf: MarkRelicFilterPlanCsReq
#[derive(proto_derive::CmdID)]
#[cmdid(568)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkRelicFilterPlanCsReq {
    #[prost(uint32, repeated, tag = "14")]
    pub slot_index_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "8")]
    pub is_mark: bool,
    #[prost(bool, tag = "5")]
    pub is_batch_op: bool,
}
/// Obf: MarkRelicFilterPlanScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(501)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkRelicFilterPlanScRsp {
    #[prost(uint32, repeated, tag = "11")]
    pub slot_index_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(bool, tag = "1")]
    pub is_batch_op: bool,
    #[prost(bool, tag = "3")]
    pub is_mark: bool,
}
/// Obf: JILPDHENIDL
#[derive(proto_derive::CmdID)]
#[cmdid(553)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicFilterPlanClearNameScNotify {
    #[prost(uint32, tag = "15")]
    pub khncedgfpgl: u32,
}
/// Obf: JFJBAEJBBLB
#[derive(proto_derive::CmdID)]
#[cmdid(536)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicReforgeCsReq {
    #[prost(uint32, tag = "12")]
    pub relic_unique_id: u32,
}
/// Obf: OMKAJLMDBDP
#[derive(proto_derive::CmdID)]
#[cmdid(594)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicReforgeScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: LLLDCIBJIDC
#[derive(proto_derive::CmdID)]
#[cmdid(527)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicReforgeConfirmCsReq {
    #[prost(uint32, tag = "4")]
    pub relic_unique_id: u32,
    #[prost(bool, tag = "6")]
    pub cjoeaeijlgc: bool,
}
/// Obf: LFBPGLGJBFI
#[derive(proto_derive::CmdID)]
#[cmdid(574)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicReforgeConfirmScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockedMusic {
    #[prost(uint32, tag = "12")]
    pub id: u32,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(bool, tag = "1")]
    pub icfbdppjoad: bool,
}
/// Obf: NIACMNBBNCI
#[derive(proto_derive::CmdID)]
#[cmdid(3195)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetJukeboxDataCsReq {}
/// Obf: MGDPBJGEELJ
#[derive(proto_derive::CmdID)]
#[cmdid(3132)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetJukeboxDataScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub playing_id: u32,
    #[prost(message, repeated, tag = "12")]
    pub music_list: ::prost::alloc::vec::Vec<UnlockedMusic>,
}
/// Obf: OLCMOAJACGC
#[derive(proto_derive::CmdID)]
#[cmdid(3131)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayBackGroundMusicCsReq {
    #[prost(uint32, tag = "11")]
    pub play_music_id: u32,
}
/// Obf: NACNJKNEKBK
#[derive(proto_derive::CmdID)]
#[cmdid(3140)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayBackGroundMusicScRsp {
    #[prost(uint32, tag = "6")]
    pub play_music_id: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub playing_id: u32,
}
/// Obf: INAKLEIILKN
#[derive(proto_derive::CmdID)]
#[cmdid(3176)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockBackGroundMusicCsReq {
    #[prost(uint32, repeated, tag = "4")]
    pub unlock_ids: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AOGCKKJNKBN
#[derive(proto_derive::CmdID)]
#[cmdid(3148)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockBackGroundMusicScRsp {
    #[prost(message, repeated, tag = "15")]
    pub music_list: ::prost::alloc::vec::Vec<UnlockedMusic>,
    #[prost(uint32, repeated, tag = "5")]
    pub unlocked_ids: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: DPFDHDJCAPI
#[derive(proto_derive::CmdID)]
#[cmdid(3171)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrialBackGroundMusicCsReq {
    #[prost(uint32, tag = "13")]
    pub pigbbgclamj: u32,
}
/// Obf: HJKOFKLPCBB
#[derive(proto_derive::CmdID)]
#[cmdid(3152)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrialBackGroundMusicScRsp {
    #[prost(uint32, tag = "5")]
    pub pigbbgclamj: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: NDDKNEPFJNL
#[derive(proto_derive::CmdID)]
#[cmdid(795)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetStageLineupCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jlchbkkfanl {
    #[prost(uint32, tag = "8")]
    pub stage_type: u32,
    #[prost(uint32, tag = "10")]
    pub dogdacflboe: u32,
}
/// Obf: KCGCKMIMFFJ
#[derive(proto_derive::CmdID)]
#[cmdid(732)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStageLineupScRsp {
    #[prost(message, repeated, tag = "2")]
    pub nmkpekmmnbp: ::prost::alloc::vec::Vec<Jlchbkkfanl>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LineupAvatar {
    #[prost(enumeration = "AvatarType", tag = "3")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "12")]
    pub hp: u32,
    #[prost(uint32, tag = "15")]
    pub id: u32,
    #[prost(uint32, tag = "7")]
    pub slot: u32,
    #[prost(uint32, tag = "5")]
    pub satiety: u32,
    #[prost(message, optional, tag = "10")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LineupInfo {
    #[prost(uint32, repeated, tag = "10")]
    pub mkdfjccbiop: ::prost::alloc::vec::Vec<u32>,
    #[prost(string, tag = "14")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub mp: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub mankkfpbfcb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub kompcjpapkm: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "12")]
    pub is_virtual: bool,
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<LineupAvatar>,
    #[prost(uint32, tag = "11")]
    pub plane_id: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "13")]
    pub extra_lineup_type: i32,
    #[prost(uint32, tag = "6")]
    pub leader_slot: u32,
    #[prost(uint32, tag = "2")]
    pub max_mp: u32,
    #[prost(bool, tag = "4")]
    pub bfnbklmamkb: bool,
    #[prost(uint32, tag = "8")]
    pub emdhekkocmd: u32,
    #[prost(uint32, tag = "9")]
    pub index: u32,
}
/// Obf: KFLMLMPIADH
#[derive(proto_derive::CmdID)]
#[cmdid(731)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCurLineupDataCsReq {}
/// Obf: JPAFCFGBILK
#[derive(proto_derive::CmdID)]
#[cmdid(740)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurLineupDataScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: EFPDILJKPDC
#[derive(proto_derive::CmdID)]
#[cmdid(776)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct JoinLineupCsReq {
    #[prost(uint32, tag = "2")]
    pub base_avatar_id: u32,
    #[prost(bool, tag = "3")]
    pub is_virtual: bool,
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "14")]
    pub slot: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "7")]
    pub extra_lineup_type: i32,
    #[prost(uint32, tag = "4")]
    pub index: u32,
    #[prost(uint32, tag = "6")]
    pub plane_id: u32,
}
/// Obf: HJNPHDFHEEF
#[derive(proto_derive::CmdID)]
#[cmdid(748)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct JoinLineupScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: BKNJPMJDDKC
#[derive(proto_derive::CmdID)]
#[cmdid(771)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitLineupCsReq {
    #[prost(uint32, tag = "11")]
    pub plane_id: u32,
    #[prost(uint32, tag = "15")]
    pub index: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "9")]
    pub extra_lineup_type: i32,
    #[prost(uint32, tag = "2")]
    pub base_avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "3")]
    pub avatar_type: i32,
    #[prost(bool, tag = "6")]
    pub is_virtual: bool,
}
/// Obf: INLPMPKLCJM
#[derive(proto_derive::CmdID)]
#[cmdid(752)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitLineupScRsp {
    #[prost(bool, tag = "3")]
    pub is_virtual: bool,
    #[prost(bool, tag = "5")]
    pub hiofpdkdofd: bool,
    #[prost(uint32, tag = "6")]
    pub plane_id: u32,
    #[prost(uint32, tag = "9")]
    pub base_avatar_id: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: DAKKNMKOLCG
#[derive(proto_derive::CmdID)]
#[cmdid(722)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwapLineupCsReq {
    #[prost(enumeration = "ExtraLineupType", tag = "7")]
    pub extra_lineup_type: i32,
    #[prost(uint32, tag = "11")]
    pub plane_id: u32,
    #[prost(uint32, tag = "5")]
    pub dst_slot: u32,
    #[prost(uint32, tag = "4")]
    pub src_slot: u32,
    #[prost(uint32, tag = "1")]
    pub index: u32,
    #[prost(bool, tag = "9")]
    pub is_virtual: bool,
}
/// Obf: JHKAIEIAOBK
#[derive(proto_derive::CmdID)]
#[cmdid(756)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwapLineupScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: SyncLineupNotify
#[derive(proto_derive::CmdID)]
#[cmdid(772)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncLineupNotify {
    #[prost(enumeration = "SyncReason", repeated, tag = "12")]
    pub reason_list: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, optional, tag = "10")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: KICAGNDCBIN
#[derive(proto_derive::CmdID)]
#[cmdid(785)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetLineupAvatarDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Acmnhkhplod {
    #[prost(uint32, tag = "13")]
    pub id: u32,
    #[prost(enumeration = "AvatarType", tag = "11")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "6")]
    pub hp: u32,
}
/// Obf: HJMJMLJKLNB
#[derive(proto_derive::CmdID)]
#[cmdid(716)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLineupAvatarDataScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub lijinikjnad: ::prost::alloc::vec::Vec<Acmnhkhplod>,
}
/// Obf: CCGDEOKBJCD
#[derive(proto_derive::CmdID)]
#[cmdid(746)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChangeLineupLeaderCsReq {
    #[prost(uint32, tag = "5")]
    pub slot: u32,
}
/// Obf: FIBFDBPAKOH
#[derive(proto_derive::CmdID)]
#[cmdid(783)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChangeLineupLeaderScRsp {
    #[prost(uint32, tag = "8")]
    pub slot: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: HLFLPKJOOJN
#[derive(proto_derive::CmdID)]
#[cmdid(760)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchLineupIndexCsReq {
    #[prost(uint32, tag = "10")]
    pub index: u32,
}
/// Obf: IHLDJHJKJKF
#[derive(proto_derive::CmdID)]
#[cmdid(702)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchLineupIndexScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub index: u32,
}
/// Obf: IGPECPNPCDL
#[derive(proto_derive::CmdID)]
#[cmdid(739)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLineupNameCsReq {
    #[prost(string, tag = "14")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub index: u32,
}
/// Obf: AJMCNJIGMHN
#[derive(proto_derive::CmdID)]
#[cmdid(743)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLineupNameScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub index: u32,
    #[prost(string, tag = "12")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: KIIIGJJJCGG
#[derive(proto_derive::CmdID)]
#[cmdid(733)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAllLineupDataCsReq {}
/// Obf: NLEGPOOLDDM
#[derive(proto_derive::CmdID)]
#[cmdid(742)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllLineupDataScRsp {
    #[prost(message, repeated, tag = "15")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub cur_index: u32,
}
/// Obf: ALAJHGKJAIB
#[derive(proto_derive::CmdID)]
#[cmdid(777)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VirtualLineupDestroyNotify {
    #[prost(uint32, tag = "14")]
    pub plane_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LineupSlotData {
    #[prost(uint32, tag = "15")]
    pub id: u32,
    #[prost(enumeration = "AvatarType", tag = "11")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "3")]
    pub slot: u32,
}
/// Obf: FEENFGFKLCC
#[derive(proto_derive::CmdID)]
#[cmdid(758)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReplaceLineupCsReq {
    #[prost(uint32, tag = "1")]
    pub plane_id: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "14")]
    pub extra_lineup_type: i32,
    #[prost(bool, tag = "13")]
    pub is_virtual: bool,
    #[prost(uint32, tag = "4")]
    pub index: u32,
    #[prost(uint32, tag = "10")]
    pub emdhekkocmd: u32,
    #[prost(uint32, tag = "6")]
    pub leader_slot: u32,
    #[prost(message, repeated, tag = "12")]
    pub slots: ::prost::alloc::vec::Vec<LineupSlotData>,
}
/// Obf: KPIFEBMCIJM
#[derive(proto_derive::CmdID)]
#[cmdid(721)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReplaceLineupScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: JEKDEEFNHOB
#[derive(proto_derive::CmdID)]
#[cmdid(729)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExtraLineupDestroyNotify {
    #[prost(enumeration = "ExtraLineupType", tag = "1")]
    pub extra_lineup_type: i32,
}
/// Obf: AFJJIAFIDFI
#[derive(proto_derive::CmdID)]
#[cmdid(763)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VirtualLineupTrialAvatarChangeScNotify {
    #[prost(uint32, tag = "7")]
    pub plane_id: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub iblbnianphd: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub kfmffggjmne: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "14")]
    pub cliigmnmhna: bool,
}
/// Obf: PIJPJCJMIEM
#[derive(proto_derive::CmdID)]
#[cmdid(7354)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyCreateCsReq {
    #[prost(message, optional, tag = "11")]
    pub ejofcnaedhk: ::core::option::Option<Epeghcgcmhp>,
    #[prost(enumeration = "Noogdpkefkl", tag = "9")]
    pub fight_game_mode: i32,
    #[prost(uint32, tag = "4")]
    pub nepoddojjfe: u32,
}
/// Obf: LHONGADOAIA
#[derive(proto_derive::CmdID)]
#[cmdid(7396)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyCreateScRsp {
    #[prost(uint32, tag = "8")]
    pub nepoddojjfe: u32,
    #[prost(message, repeated, tag = "11")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
    #[prost(uint64, tag = "13")]
    pub room_id: u64,
    #[prost(enumeration = "Noogdpkefkl", tag = "2")]
    pub fight_game_mode: i32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: GBHFGGKAIBE
#[derive(proto_derive::CmdID)]
#[cmdid(7357)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyInviteCsReq {
    #[prost(uint32, repeated, tag = "12")]
    pub search_uid_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DGNHNKCLLLG
#[derive(proto_derive::CmdID)]
#[cmdid(7400)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyInviteScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub search_uid_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IBEGHCAALBN
#[derive(proto_derive::CmdID)]
#[cmdid(7352)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyJoinCsReq {
    #[prost(uint64, tag = "12")]
    pub room_id: u64,
    #[prost(message, optional, tag = "5")]
    pub ejofcnaedhk: ::core::option::Option<Epeghcgcmhp>,
}
/// Obf: CFEGEAAFLCC
#[derive(proto_derive::CmdID)]
#[cmdid(7387)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyJoinScRsp {
    #[prost(uint32, tag = "9")]
    pub nepoddojjfe: u32,
    #[prost(message, repeated, tag = "6")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
    #[prost(uint64, tag = "7")]
    pub room_id: u64,
    #[prost(enumeration = "Noogdpkefkl", tag = "13")]
    pub fight_game_mode: i32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: LJHPEEBAKJN
#[derive(proto_derive::CmdID)]
#[cmdid(7390)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyQuitCsReq {}
/// Obf: HCDCFKILGJF
#[derive(proto_derive::CmdID)]
#[cmdid(7370)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyQuitScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: CLBJAADLIPM
#[derive(proto_derive::CmdID)]
#[cmdid(7386)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyStartFightCsReq {}
/// Obf: KBCODEJNDJF
#[derive(proto_derive::CmdID)]
#[cmdid(7367)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyStartFightScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: HFEEHJGOKDP
#[derive(proto_derive::CmdID)]
#[cmdid(7377)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyModifyPlayerInfoCsReq {
    #[prost(uint32, tag = "6")]
    pub hfdjaelbnga: u32,
    #[prost(message, optional, tag = "5")]
    pub ejofcnaedhk: ::core::option::Option<Epeghcgcmhp>,
    #[prost(enumeration = "Aokdmakgdgj", tag = "3")]
    pub slot: i32,
}
/// Obf: CGEGEGAOGGP
#[derive(proto_derive::CmdID)]
#[cmdid(7365)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyModifyPlayerInfoScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: GEBOIFMBHCM
#[derive(proto_derive::CmdID)]
#[cmdid(7395)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbySyncInfoScNotify {
    #[prost(uint32, tag = "5")]
    pub uid: u32,
    #[prost(enumeration = "Aokdmakgdgj", tag = "9")]
    pub slot: i32,
    #[prost(message, repeated, tag = "14")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
}
/// Obf: MLNDBAMAFBP
#[derive(proto_derive::CmdID)]
#[cmdid(7393)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyKickOutCsReq {
    #[prost(uint32, tag = "4")]
    pub uid: u32,
}
/// Obf: ADMNOLCLGNA
#[derive(proto_derive::CmdID)]
#[cmdid(7359)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyKickOutScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: GDIPNFLLJGP
#[derive(proto_derive::CmdID)]
#[cmdid(7394)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyInviteScNotify {
    #[prost(uint32, tag = "10")]
    pub room_id: u32,
    #[prost(enumeration = "Noogdpkefkl", tag = "13")]
    pub fight_game_mode: i32,
    #[prost(uint32, tag = "9")]
    pub sender_uid: u32,
}
/// Obf: IDHKGFNBGKD
#[derive(proto_derive::CmdID)]
#[cmdid(7382)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyGetInfoCsReq {}
/// Obf: FBOGFJHOKFJ
#[derive(proto_derive::CmdID)]
#[cmdid(7373)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyGetInfoScRsp {
    #[prost(uint32, tag = "8")]
    pub nepoddojjfe: u32,
    #[prost(uint64, tag = "6")]
    pub nogfeemnhpc: u64,
    #[prost(uint64, tag = "7")]
    pub room_id: u64,
    #[prost(message, repeated, tag = "13")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
    #[prost(enumeration = "Noogdpkefkl", tag = "5")]
    pub fight_game_mode: i32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: ADODLHLIPMF
#[derive(proto_derive::CmdID)]
#[cmdid(7376)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyInteractCsReq {
    #[prost(enumeration = "Imaonmhilne", tag = "2")]
    pub ihcilnhklmc: i32,
    #[prost(uint32, tag = "10")]
    pub cbegnbkmhcd: u32,
}
/// Obf: NDKKNNCBIAO
#[derive(proto_derive::CmdID)]
#[cmdid(7372)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyInteractScRsp {
    #[prost(uint32, tag = "10")]
    pub cbegnbkmhcd: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: JGPIFOIJFBK
#[derive(proto_derive::CmdID)]
#[cmdid(7366)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyInteractScNotify {
    #[prost(enumeration = "Imaonmhilne", tag = "7")]
    pub ihcilnhklmc: i32,
    #[prost(uint32, tag = "5")]
    pub sender_uid: u32,
}
/// Obf: DMMEIAACHJE
#[derive(proto_derive::CmdID)]
#[cmdid(895)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMailCsReq {
    #[prost(uint32, tag = "4")]
    pub cijefnoojjk: u32,
    #[prost(uint32, tag = "3")]
    pub dapcdnelcma: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientMail {
    #[prost(bool, tag = "12")]
    pub is_read: bool,
    #[prost(int64, tag = "6")]
    pub time: i64,
    #[prost(message, optional, tag = "13")]
    pub attachment: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "9")]
    pub template_id: u32,
    #[prost(string, repeated, tag = "14")]
    pub para_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(enumeration = "MailType", tag = "8")]
    pub mail_type: i32,
    #[prost(int64, tag = "1")]
    pub expire_time: i64,
    #[prost(uint32, tag = "10")]
    pub id: u32,
    #[prost(string, tag = "5")]
    pub sender: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub title: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub content: ::prost::alloc::string::String,
}
/// Obf: GetMailScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(832)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMailScRsp {
    #[prost(message, repeated, tag = "12")]
    pub mail_list: ::prost::alloc::vec::Vec<ClientMail>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub start: u32,
    #[prost(uint32, tag = "13")]
    pub total_num: u32,
    #[prost(message, repeated, tag = "3")]
    pub notice_mail_list: ::prost::alloc::vec::Vec<ClientMail>,
    #[prost(bool, tag = "8")]
    pub is_end: bool,
}
/// Obf: HIJLOFHDMPP
#[derive(proto_derive::CmdID)]
#[cmdid(831)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkReadMailCsReq {
    #[prost(uint32, tag = "8")]
    pub id: u32,
}
/// Obf: ICHOMJJHEGI
#[derive(proto_derive::CmdID)]
#[cmdid(840)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkReadMailScRsp {
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: NGIBFKBABOH
#[derive(proto_derive::CmdID)]
#[cmdid(876)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DelMailCsReq {
    #[prost(uint32, repeated, tag = "1")]
    pub id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DelMailScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(848)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DelMailScRsp {
    #[prost(uint32, repeated, tag = "4")]
    pub id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: NHMFCFKCFIL
#[derive(proto_derive::CmdID)]
#[cmdid(871)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMailAttachmentCsReq {
    #[prost(uint32, repeated, tag = "7")]
    pub mail_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub optional_reward_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClientMailAttachmentItem {
    #[prost(uint32, tag = "3")]
    pub item_id: u32,
    #[prost(uint32, tag = "4")]
    pub mail_id: u32,
}
/// Obf: TakeMailAttachmentScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(852)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMailAttachmentScRsp {
    #[prost(uint32, repeated, tag = "15")]
    pub succ_mail_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "12")]
    pub attachment: ::core::option::Option<ItemList>,
    #[prost(message, repeated, tag = "7")]
    pub fail_mail_list: ::prost::alloc::vec::Vec<ClientMailAttachmentItem>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: NewMailScNotify
#[derive(proto_derive::CmdID)]
#[cmdid(822)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NewMailScNotify {
    #[prost(uint32, repeated, tag = "6")]
    pub mail_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MapRotationData {
    #[prost(message, optional, tag = "6")]
    pub map_info: ::core::option::Option<RotateMapInfo>,
    #[prost(uint32, tag = "15")]
    pub nflbondjaie: u32,
    #[prost(int32, tag = "4")]
    pub acnpbbnlmie: i32,
    #[prost(message, repeated, tag = "7")]
    pub rotater_data_list: ::prost::alloc::vec::Vec<RotaterData>,
    #[prost(bool, tag = "13")]
    pub ighlhohcckc: bool,
    #[prost(message, optional, tag = "8")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
    #[prost(message, repeated, tag = "11")]
    pub charger_info_list: ::prost::alloc::vec::Vec<ChargerInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotatorEnergyInfo {
    #[prost(uint32, tag = "15")]
    pub cur_num: u32,
    #[prost(uint32, tag = "14")]
    pub max_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotateMapInfo {
    #[prost(message, optional, tag = "4")]
    pub rotate_vector: ::core::option::Option<RotateVector>,
    #[prost(message, optional, tag = "10")]
    pub vector: ::core::option::Option<Vector>,
}
/// Obf: BCIPJENMJCE
#[derive(proto_derive::CmdID)]
#[cmdid(6895)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterMapRotationRegionCsReq {
    #[prost(message, optional, tag = "7")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "13")]
    pub acnpbbnlmie: u32,
    #[prost(uint32, tag = "6")]
    pub nflbondjaie: u32,
}
/// Obf: GANIBGECNNI
#[derive(proto_derive::CmdID)]
#[cmdid(6832)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterMapRotationRegionScRsp {
    #[prost(message, optional, tag = "10")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
    #[prost(uint32, tag = "7")]
    pub nflbondjaie: u32,
    #[prost(message, optional, tag = "2")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub client_pos_version: u32,
    #[prost(uint32, tag = "15")]
    pub acnpbbnlmie: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChargerInfo {
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    #[prost(uint32, tag = "15")]
    pub glhagjgaehe: u32,
}
/// Obf: JIIHJIMEMPJ
#[derive(proto_derive::CmdID)]
#[cmdid(6831)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InteractChargerCsReq {
    #[prost(message, optional, tag = "7")]
    pub charger_info: ::core::option::Option<ChargerInfo>,
}
/// Obf: ICLACJJDKBC
#[derive(proto_derive::CmdID)]
#[cmdid(6840)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InteractChargerScRsp {
    #[prost(message, optional, tag = "12")]
    pub charger_info: ::core::option::Option<ChargerInfo>,
    #[prost(message, optional, tag = "8")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotaterData {
    #[prost(uint32, tag = "5")]
    pub glhagjgaehe: u32,
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    #[prost(float, tag = "15")]
    pub lkefolcgfgd: f32,
}
/// Obf: MHECGOKNFLM
#[derive(proto_derive::CmdID)]
#[cmdid(6876)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeployRotaterCsReq {
    #[prost(message, optional, tag = "4")]
    pub rotater_data: ::core::option::Option<RotaterData>,
}
/// Obf: IMKHHNDLJAK
#[derive(proto_derive::CmdID)]
#[cmdid(6848)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeployRotaterScRsp {
    #[prost(message, optional, tag = "15")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
    #[prost(message, optional, tag = "7")]
    pub rotater_data: ::core::option::Option<RotaterData>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: JACPADNMLAF
#[derive(proto_derive::CmdID)]
#[cmdid(6871)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotateMapCsReq {
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
    #[prost(message, optional, tag = "6")]
    pub map_info: ::core::option::Option<RotateMapInfo>,
    #[prost(message, optional, tag = "3")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "12")]
    pub glhagjgaehe: u32,
}
/// Obf: NLFMALJPEDM
#[derive(proto_derive::CmdID)]
#[cmdid(6852)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotateMapScRsp {
    #[prost(message, optional, tag = "11")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "2")]
    pub client_pos_version: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: FCNKMDHNMNL
#[derive(proto_derive::CmdID)]
#[cmdid(6822)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveMapRotationRegionCsReq {
    #[prost(message, optional, tag = "11")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Obf: CDKKKKKFGDN
#[derive(proto_derive::CmdID)]
#[cmdid(6856)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveMapRotationRegionScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub client_pos_version: u32,
    #[prost(message, optional, tag = "10")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Obf: MNAKOONBLEC
#[derive(proto_derive::CmdID)]
#[cmdid(6872)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMapRotationDataCsReq {}
/// Obf: BMCKKKBCPBN
#[derive(proto_derive::CmdID)]
#[cmdid(6885)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMapRotationDataScRsp {
    #[prost(message, optional, tag = "7")]
    pub map_info: ::core::option::Option<RotateMapInfo>,
    #[prost(uint32, tag = "6")]
    pub nflbondjaie: u32,
    #[prost(message, repeated, tag = "13")]
    pub charger_info_list: ::prost::alloc::vec::Vec<ChargerInfo>,
    #[prost(int32, tag = "2")]
    pub acnpbbnlmie: i32,
    #[prost(message, optional, tag = "15")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(bool, tag = "10")]
    pub omejllmnpcn: bool,
    #[prost(message, repeated, tag = "11")]
    pub rotater_data_list: ::prost::alloc::vec::Vec<RotaterData>,
}
/// Obf: OGIKFNAJMKD
#[derive(proto_derive::CmdID)]
#[cmdid(6816)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ResetMapRotationRegionCsReq {
    #[prost(message, optional, tag = "9")]
    pub map_info: ::core::option::Option<RotateMapInfo>,
    #[prost(message, optional, tag = "8")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Obf: FJDJOHKOALD
#[derive(proto_derive::CmdID)]
#[cmdid(6846)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ResetMapRotationRegionScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "4")]
    pub client_pos_version: u32,
}
/// Obf: AGKAIGOINHH
#[derive(proto_derive::CmdID)]
#[cmdid(6883)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveMapRotationRegionScNotify {}
/// Obf: FBFGHEMDPLC
#[derive(proto_derive::CmdID)]
#[cmdid(6860)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateEnergyScNotify {
    #[prost(message, optional, tag = "12")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
}
/// Obf: MLDGPOOKPBM
#[derive(proto_derive::CmdID)]
#[cmdid(6802)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMapRotationDataScNotify {
    #[prost(message, optional, tag = "4")]
    pub map_info: ::core::option::Option<RotateMapInfo>,
    #[prost(uint32, tag = "2")]
    pub nflbondjaie: u32,
    #[prost(message, repeated, tag = "13")]
    pub charger_info_list: ::prost::alloc::vec::Vec<ChargerInfo>,
    #[prost(message, optional, tag = "14")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
    #[prost(message, repeated, tag = "6")]
    pub rotater_data_list: ::prost::alloc::vec::Vec<RotaterData>,
    #[prost(bool, tag = "15")]
    pub omejllmnpcn: bool,
    #[prost(int32, tag = "5")]
    pub acnpbbnlmie: i32,
}
/// Obf: EFLGMAFLDGK
#[derive(proto_derive::CmdID)]
#[cmdid(6839)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RemoveRotaterCsReq {
    #[prost(message, optional, tag = "5")]
    pub rotater_data: ::core::option::Option<RotaterData>,
}
/// Obf: APBBFPABNII
#[derive(proto_derive::CmdID)]
#[cmdid(6843)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RemoveRotaterScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
    #[prost(message, optional, tag = "9")]
    pub rotater_data: ::core::option::Option<RotaterData>,
}
/// Obf: IGPELCGOPMD
#[derive(proto_derive::CmdID)]
#[cmdid(6833)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateRotaterScNotify {
    #[prost(message, repeated, tag = "8")]
    pub rotater_data_list: ::prost::alloc::vec::Vec<RotaterData>,
}
/// Obf: GCFNLGIEEFA
#[derive(proto_derive::CmdID)]
#[cmdid(8284)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarbleGetDataCsReq {}
/// Obf: OFNGFMDFDCH
#[derive(proto_derive::CmdID)]
#[cmdid(8283)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleGetDataScRsp {
    #[prost(uint32, repeated, tag = "9")]
    pub iogdkgfdfpc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "7")]
    pub ojnpgiljien: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub mpbmpffgibo: ::prost::alloc::vec::Vec<u32>,
    #[prost(int32, tag = "15")]
    pub score: i32,
}
/// Obf: GDCEEEKKMHC
#[derive(proto_derive::CmdID)]
#[cmdid(8278)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleLevelFinishCsReq {
    #[prost(uint32, tag = "1")]
    pub nlibkabfgcc: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub pmkangdflki: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FPOHCPKLLDB
#[derive(proto_derive::CmdID)]
#[cmdid(8280)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarbleLevelFinishScRsp {
    #[prost(uint32, tag = "7")]
    pub nlibkabfgcc: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: ELMECJPPBJC
#[derive(proto_derive::CmdID)]
#[cmdid(8274)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleShopBuyCsReq {
    #[prost(uint32, repeated, tag = "11")]
    pub pmkangdflki: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BIIBJHACDLB
#[derive(proto_derive::CmdID)]
#[cmdid(8272)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleShopBuyScRsp {
    #[prost(uint32, repeated, tag = "11")]
    pub pmkangdflki: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: DCPFKNACOFP
#[derive(proto_derive::CmdID)]
#[cmdid(8290)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleUnlockSealScNotify {
    #[prost(uint32, repeated, tag = "5")]
    pub pmkangdflki: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KLCGCHENFBG
#[derive(proto_derive::CmdID)]
#[cmdid(8279)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarblePvpDataUpdateScNotify {
    #[prost(int32, tag = "4")]
    pub score: i32,
}
/// Obf: COAMELCLLIA
#[derive(proto_derive::CmdID)]
#[cmdid(8277)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleUpdateShownSealCsReq {
    #[prost(uint32, repeated, tag = "6")]
    pub ehenkplcpch: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CBLDNNGEMFC
#[derive(proto_derive::CmdID)]
#[cmdid(8273)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleUpdateShownSealScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub ehenkplcpch: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mjfcembpich {
    #[prost(uint32, tag = "3")]
    pub plane_id: u32,
    #[prost(uint32, tag = "4")]
    pub config_id: u32,
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    #[prost(uint32, tag = "15")]
    pub floor_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibcgaglolna {
    #[prost(uint32, tag = "6")]
    pub hobjminnbop: u32,
    #[prost(message, repeated, tag = "15")]
    pub bcemakcmadn: ::prost::alloc::vec::Vec<Mjfcembpich>,
    #[prost(int64, tag = "12")]
    pub jjcipimcbbj: i64,
}
/// Obf: GGINONMHBKH
#[derive(proto_derive::CmdID)]
#[cmdid(8194)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMarkChestCsReq {}
/// Obf: GOMJNODBOCJ
#[derive(proto_derive::CmdID)]
#[cmdid(8193)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMarkChestScRsp {
    #[prost(message, repeated, tag = "13")]
    pub hiccaiapgmm: ::prost::alloc::vec::Vec<Ibcgaglolna>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: IJDKOLEICOJ
#[derive(proto_derive::CmdID)]
#[cmdid(8188)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMarkChestCsReq {
    #[prost(message, repeated, tag = "9")]
    pub bcemakcmadn: ::prost::alloc::vec::Vec<Mjfcembpich>,
    #[prost(uint32, tag = "6")]
    pub dbfpaafodkg: u32,
    #[prost(uint32, tag = "3")]
    pub hobjminnbop: u32,
}
/// Obf: MNJGDBOAHJB
#[derive(proto_derive::CmdID)]
#[cmdid(8190)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMarkChestScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub dbfpaafodkg: u32,
    #[prost(message, repeated, tag = "15")]
    pub hiccaiapgmm: ::prost::alloc::vec::Vec<Ibcgaglolna>,
    #[prost(uint32, tag = "4")]
    pub hobjminnbop: u32,
}
/// Obf: CHOEBMGIKBN
#[derive(proto_derive::CmdID)]
#[cmdid(8184)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkChestChangedScNotify {
    #[prost(message, repeated, tag = "11")]
    pub hiccaiapgmm: ::prost::alloc::vec::Vec<Ibcgaglolna>,
}
/// Obf: DIPCGPPPIFM
#[derive(proto_derive::CmdID)]
#[cmdid(7304)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartMatchCsReq {
    #[prost(enumeration = "Noogdpkefkl", tag = "2")]
    pub fight_game_mode: i32,
    #[prost(message, optional, tag = "6")]
    pub ejofcnaedhk: ::core::option::Option<Epeghcgcmhp>,
}
/// Obf: LHIBLDGHJPO
#[derive(proto_derive::CmdID)]
#[cmdid(7346)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartMatchScRsp {
    #[prost(message, optional, tag = "3")]
    pub ejofcnaedhk: ::core::option::Option<Epeghcgcmhp>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: NIKJIKNJOJP
#[derive(proto_derive::CmdID)]
#[cmdid(7302)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CancelMatchCsReq {}
/// Obf: LFAHPLFNMBF
#[derive(proto_derive::CmdID)]
#[cmdid(7337)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CancelMatchScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: BGAEOIBBAHO
#[derive(proto_derive::CmdID)]
#[cmdid(7336)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchResultScNotify {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "6")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
}
/// Obf: KELFFABDNPC
#[derive(proto_derive::CmdID)]
#[cmdid(7317)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCrossInfoCsReq {}
/// Obf: AIIPLMKCGDA
#[derive(proto_derive::CmdID)]
#[cmdid(7327)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCrossInfoScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint64, tag = "3")]
    pub room_id: u64,
    #[prost(enumeration = "Noogdpkefkl", tag = "8")]
    pub fight_game_mode: i32,
    #[prost(uint64, tag = "1")]
    pub nogfeemnhpc: u64,
}
/// Obf: OFMCCFJNGEF
#[derive(proto_derive::CmdID)]
#[cmdid(7404)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MatchThreeGetDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lmpiecfmfoi {
    #[prost(uint32, tag = "4")]
    pub ebgmbdmpegm: u32,
    #[prost(uint32, tag = "10")]
    pub acjcphifmln: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dhonnihmaci {
    #[prost(uint32, tag = "12")]
    pub pos: u32,
    #[prost(uint32, tag = "4")]
    pub count: u32,
    #[prost(uint32, tag = "13")]
    pub bkmpfeocfib: u32,
    #[prost(uint32, tag = "7")]
    pub fmkkabmdinj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abgejnbcdjk {
    #[prost(map = "uint32, uint32", tag = "15")]
    pub ilbhdlmlmck: ::std::collections::HashMap<u32, u32>,
    #[prost(message, repeated, tag = "13")]
    pub bgafcobnlpm: ::prost::alloc::vec::Vec<Dhonnihmaci>,
    #[prost(message, repeated, tag = "14")]
    pub jmbciclchkd: ::prost::alloc::vec::Vec<Lmpiecfmfoi>,
    #[prost(map = "uint32, uint32", tag = "1")]
    pub begmfiaphlm: ::std::collections::HashMap<u32, u32>,
}
/// Obf: CLNGGBNIFJL
#[derive(proto_derive::CmdID)]
#[cmdid(7446)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeGetDataScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub mfkjdoeblim: ::core::option::Option<Abgejnbcdjk>,
}
/// Obf: BBDEFCGCKDC
#[derive(proto_derive::CmdID)]
#[cmdid(7402)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeLevelEndCsReq {
    #[prost(string, tag = "15")]
    pub miilnlhddjm: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub bkmpfeocfib: u32,
    #[prost(map = "uint32, uint32", tag = "9")]
    pub ilbhdlmlmck: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "12")]
    pub fmkkabmdinj: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub jeppfdinbnb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub ebgmbdmpegm: u32,
    #[prost(uint32, tag = "14")]
    pub acjcphifmln: u32,
}
/// Obf: NNJADKELKCK
#[derive(proto_derive::CmdID)]
#[cmdid(7437)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MatchThreeLevelEndScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub ebgmbdmpegm: u32,
    #[prost(uint32, tag = "7")]
    pub acjcphifmln: u32,
}
/// Obf: ALIAOBCDFDG
#[derive(proto_derive::CmdID)]
#[cmdid(7436)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeSyncDataScNotify {
    #[prost(message, optional, tag = "1")]
    pub mfkjdoeblim: ::core::option::Option<Abgejnbcdjk>,
}
/// Obf: JFHHMNCCCDB
#[derive(proto_derive::CmdID)]
#[cmdid(7417)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MatchThreeSetBirdPosCsReq {
    #[prost(uint32, tag = "1")]
    pub bkmpfeocfib: u32,
    #[prost(uint32, tag = "8")]
    pub pos: u32,
}
/// Obf: OAFAJMBNNNG
#[derive(proto_derive::CmdID)]
#[cmdid(7427)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MatchThreeSetBirdPosScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub pos: u32,
    #[prost(uint32, tag = "8")]
    pub bkmpfeocfib: u32,
}
/// Obf: JBGJPJGLNGF
#[derive(proto_derive::CmdID)]
#[cmdid(2795)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcMessageGroupCsReq {
    #[prost(uint32, repeated, tag = "3")]
    pub beeldjgiomn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nnmlcfaibde {
    #[prost(uint32, tag = "13")]
    pub cmmbbhhpmko: u32,
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eiokjolkjpb {
    #[prost(message, repeated, tag = "5")]
    pub item_list: ::prost::alloc::vec::Vec<Nnmlcfaibde>,
    #[prost(uint32, tag = "14")]
    pub id: u32,
    #[prost(enumeration = "Liejljnbjnp", tag = "9")]
    pub status: i32,
    #[prost(uint32, tag = "8")]
    pub dchlcmgkipk: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub onleimhgfco: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ddbljmpngai {
    #[prost(uint32, tag = "7")]
    pub dkpnkgnmceh: u32,
    #[prost(int64, tag = "6")]
    pub hjegilagjoj: i64,
    #[prost(message, repeated, tag = "8")]
    pub gghlafiiama: ::prost::alloc::vec::Vec<Eiokjolkjpb>,
    #[prost(enumeration = "Llhaabppapd", tag = "14")]
    pub status: i32,
    #[prost(uint32, tag = "10")]
    pub id: u32,
}
/// Obf: NOLLFLMILFJ
#[derive(proto_derive::CmdID)]
#[cmdid(2732)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcMessageGroupScRsp {
    #[prost(message, repeated, tag = "2")]
    pub hoblfdjkojo: ::prost::alloc::vec::Vec<Ddbljmpngai>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: IGJKJNDOGEF
#[derive(proto_derive::CmdID)]
#[cmdid(2731)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetNpcStatusCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dmoiobfajge {
    #[prost(bool, tag = "11")]
    pub hlnfbgacnpo: bool,
    #[prost(uint32, tag = "15")]
    pub npc_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gemjdhnlklc {
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
    #[prost(int64, tag = "13")]
    pub hjegilagjoj: i64,
    #[prost(enumeration = "Llhaabppapd", tag = "1")]
    pub ebfajeangea: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lopcjeojhcb {
    #[prost(enumeration = "Liejljnbjnp", tag = "1")]
    pub oppampfbfjf: i32,
    #[prost(uint32, tag = "5")]
    pub lbmncagokif: u32,
}
/// Obf: NENLHKPIHFE
#[derive(proto_derive::CmdID)]
#[cmdid(2740)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcStatusScRsp {
    #[prost(message, repeated, tag = "3")]
    pub eipninjnkkp: ::prost::alloc::vec::Vec<Dmoiobfajge>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: LCJGNPPLJPL
#[derive(proto_derive::CmdID)]
#[cmdid(2776)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishItemIdCsReq {
    #[prost(uint32, tag = "3")]
    pub cmmbbhhpmko: u32,
    #[prost(uint32, tag = "11")]
    pub item_id: u32,
}
/// Obf: NLMHMBOPNGG
#[derive(proto_derive::CmdID)]
#[cmdid(2748)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishItemIdScRsp {
    #[prost(uint32, tag = "11")]
    pub item_id: u32,
    #[prost(uint32, tag = "12")]
    pub cmmbbhhpmko: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: KAMANMBICPB
#[derive(proto_derive::CmdID)]
#[cmdid(2771)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishSectionIdCsReq {
    #[prost(uint32, tag = "1")]
    pub lbmncagokif: u32,
}
/// Obf: PDEHHHADMAM
#[derive(proto_derive::CmdID)]
#[cmdid(2752)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishSectionIdScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub lbmncagokif: u32,
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: BNNJHIIGFOO
#[derive(proto_derive::CmdID)]
#[cmdid(2722)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishPerformSectionIdCsReq {
    #[prost(message, repeated, tag = "6")]
    pub item_list: ::prost::alloc::vec::Vec<Nnmlcfaibde>,
    #[prost(uint32, tag = "10")]
    pub lbmncagokif: u32,
}
/// Obf: CHAHPHPAIFE
#[derive(proto_derive::CmdID)]
#[cmdid(2756)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishPerformSectionIdScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "14")]
    pub item_list: ::prost::alloc::vec::Vec<Nnmlcfaibde>,
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub lbmncagokif: u32,
}
/// Obf: BEGJOHLPFPL
#[derive(proto_derive::CmdID)]
#[cmdid(2772)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMissionMessageInfoCsReq {}
/// Obf: OPKGGFELILM
#[derive(proto_derive::CmdID)]
#[cmdid(2785)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionMessageInfoScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(map = "uint32, uint32", tag = "3")]
    pub apoldlgpkop: ::std::collections::HashMap<u32, u32>,
}
/// Obf: IDPMNKKPAFM
#[derive(proto_derive::CmdID)]
#[cmdid(4195)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ShareCsReq {
    #[prost(uint32, tag = "11")]
    pub enfkggnomeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Adgnkecpoma {
    #[prost(uint32, tag = "9")]
    pub cccdkgamdlb: u32,
    #[prost(uint32, tag = "13")]
    pub enfkggnomeo: u32,
}
/// Obf: CANCNJEHNCC
#[derive(proto_derive::CmdID)]
#[cmdid(4132)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShareScRsp {
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub fgplilebkgl: ::core::option::Option<Adgnkecpoma>,
}
/// Obf: KAFCOKKCLHF
#[derive(proto_derive::CmdID)]
#[cmdid(4131)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetShareDataCsReq {}
/// Obf: IIHMBEGFHFB
#[derive(proto_derive::CmdID)]
#[cmdid(4140)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShareDataScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "1")]
    pub mfkjjbpndam: ::prost::alloc::vec::Vec<Adgnkecpoma>,
}
/// Obf: JNDOHKAFNKL
#[derive(proto_derive::CmdID)]
#[cmdid(4176)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakePictureCsReq {}
/// Obf: BDHFNKFCPGB
#[derive(proto_derive::CmdID)]
#[cmdid(4148)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakePictureScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nlbmcgcaeio {
    #[prost(uint32, repeated, tag = "15")]
    pub pildefkpkle: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub slot: u32,
    #[prost(uint32, tag = "12")]
    pub afleajihneb: u32,
}
/// Obf: PJKLMNPPMPK
#[derive(proto_derive::CmdID)]
#[cmdid(4122)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TriggerVoiceCsReq {
    #[prost(message, repeated, tag = "10")]
    pub mnelhnhckpj: ::prost::alloc::vec::Vec<Nlbmcgcaeio>,
}
/// Obf: KJIAPDMALBJ
#[derive(proto_derive::CmdID)]
#[cmdid(4146)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TriggerVoiceScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: GMLBOMACOAM
#[derive(proto_derive::CmdID)]
#[cmdid(4122)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CancelCacheNotifyCsReq {
    #[prost(enumeration = "Mgaefjjdmom", tag = "1")]
    pub slot: i32,
    #[prost(uint32, repeated, tag = "2")]
    pub colbgejelgi: ::prost::alloc::vec::Vec<u32>,
    #[prost(string, repeated, tag = "15")]
    pub kcljmcakojf: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
/// Obf: CMJOBLOFCJB
#[derive(proto_derive::CmdID)]
#[cmdid(4156)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CancelCacheNotifyScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: CMHENGJMEEG
#[derive(proto_derive::CmdID)]
#[cmdid(4172)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SecurityReportCsReq {
    #[prost(string, tag = "10")]
    pub dgdlniefcpf: ::prost::alloc::string::String,
}
/// Obf: EEOFCCFOAMF
#[derive(proto_derive::CmdID)]
#[cmdid(4185)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SecurityReportScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gmaajhdfacd {
    #[prost(enumeration = "Dcadlnjbkbk", tag = "7")]
    pub slot: i32,
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "9")]
    pub pdomacfemgg: u32,
    #[prost(uint32, tag = "6")]
    pub ifaikoioidd: u32,
}
/// Obf: EEBOKEEIENE
#[derive(proto_derive::CmdID)]
#[cmdid(4142)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMovieRacingDataCsReq {}
/// Obf: EGBAGIAKJML
#[derive(proto_derive::CmdID)]
#[cmdid(4177)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMovieRacingDataScRsp {
    #[prost(message, repeated, tag = "9")]
    pub odjigebehgc: ::prost::alloc::vec::Vec<Gmaajhdfacd>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: BNEDNBDDBMA
#[derive(proto_derive::CmdID)]
#[cmdid(4158)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateMovieRacingDataCsReq {
    #[prost(message, optional, tag = "4")]
    pub kihchdffpol: ::core::option::Option<Gmaajhdfacd>,
}
/// Obf: BHDCNOPFBEI
#[derive(proto_derive::CmdID)]
#[cmdid(4121)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateMovieRacingDataScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub kihchdffpol: ::core::option::Option<Gmaajhdfacd>,
}
/// Obf: IHGBJICLPHC
#[derive(proto_derive::CmdID)]
#[cmdid(4183)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubmitOrigamiItemCsReq {
    #[prost(uint32, tag = "9")]
    pub lcbofmopgke: u32,
}
/// Obf: PGPLGIMENLO
#[derive(proto_derive::CmdID)]
#[cmdid(4160)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubmitOrigamiItemScRsp {
    #[prost(uint32, tag = "5")]
    pub lcbofmopgke: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: LCDKBMMEBFF
#[derive(proto_derive::CmdID)]
#[cmdid(4102)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetOrigamiPropInfoCsReq {
    #[prost(uint32, tag = "15")]
    pub content_id: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub floor_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub cur_map_entry_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lammchabagh {
    #[prost(uint32, tag = "2")]
    pub state: u32,
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
    #[prost(uint32, tag = "12")]
    pub config_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcholndipkc {
    #[prost(uint32, tag = "14")]
    pub floor_id: u32,
    #[prost(message, repeated, tag = "5")]
    pub cljjafgfkel: ::prost::alloc::vec::Vec<Lammchabagh>,
}
/// Obf: GJLDMCNJOMC
#[derive(proto_derive::CmdID)]
#[cmdid(4139)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetOrigamiPropInfoScRsp {
    #[prost(uint32, tag = "4")]
    pub content_id: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub cur_map_entry_id: u32,
    #[prost(message, repeated, tag = "5")]
    pub lmebhnldkdj: ::prost::alloc::vec::Vec<Fcholndipkc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Klbhfhjdbfi {
    #[prost(bool, tag = "8")]
    pub ncnaonifpfm: bool,
    #[prost(uint32, tag = "6")]
    pub bmcjhonbhjh: u32,
    #[prost(uint32, tag = "13")]
    pub ifaikoioidd: u32,
    #[prost(uint32, tag = "10")]
    pub level: u32,
}
/// Obf: ONNPOIPDACH
#[derive(proto_derive::CmdID)]
#[cmdid(4129)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetGunPlayDataCsReq {}
/// Obf: FOOCHMJKEBD
#[derive(proto_derive::CmdID)]
#[cmdid(4163)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGunPlayDataScRsp {
    #[prost(message, repeated, tag = "13")]
    pub lnbfdjmnacn: ::prost::alloc::vec::Vec<Klbhfhjdbfi>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: LMJPCMOHLLP
#[derive(proto_derive::CmdID)]
#[cmdid(4111)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateGunPlayDataCsReq {
    #[prost(uint32, tag = "1")]
    pub pneifbegmdh: u32,
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    #[prost(uint64, tag = "3")]
    pub miilnlhddjm: u64,
    #[prost(message, optional, tag = "5")]
    pub odfhnchiejn: ::core::option::Option<Klbhfhjdbfi>,
}
/// Obf: BCILDFGGLNN
#[derive(proto_derive::CmdID)]
#[cmdid(4193)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateGunPlayDataScRsp {
    #[prost(message, optional, tag = "1")]
    pub odfhnchiejn: ::core::option::Option<Klbhfhjdbfi>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jcdnmbckplf {
    #[prost(uint32, tag = "10")]
    pub id: u32,
    #[prost(enumeration = "Fjhikfikamo", tag = "1")]
    pub kcmjkgadpip: i32,
    #[prost(enumeration = "Giilenmkcah", tag = "7")]
    pub hhmabjdimgm: i32,
}
/// Obf: AJMBFNKFGEM
#[derive(proto_derive::CmdID)]
#[cmdid(4125)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentGetDataCsReq {}
/// Obf: LFHFFKDBNHG
#[derive(proto_derive::CmdID)]
#[cmdid(4114)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentGetDataScRsp {
    #[prost(message, repeated, tag = "1")]
    pub info_list: ::prost::alloc::vec::Vec<Jcdnmbckplf>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: JDMHNPOBCBH
#[derive(proto_derive::CmdID)]
#[cmdid(4184)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentUpdateDataCsReq {
    #[prost(message, optional, tag = "7")]
    pub data: ::core::option::Option<Jcdnmbckplf>,
}
/// Obf: HBOKFMPEJPN
#[derive(proto_derive::CmdID)]
#[cmdid(4137)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentUpdateDataScRsp {
    #[prost(message, optional, tag = "4")]
    pub data: ::core::option::Option<Jcdnmbckplf>,
    #[prost(message, repeated, tag = "15")]
    pub info_list: ::prost::alloc::vec::Vec<Jcdnmbckplf>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: HBGAILHKELO
#[derive(proto_derive::CmdID)]
#[cmdid(4130)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeKillDirectCsReq {
    #[prost(enumeration = "Mnijhmepgnn", tag = "7")]
    pub hhmabjdimgm: i32,
    #[prost(uint32, repeated, tag = "1")]
    pub entity_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub mmkogoknpkl: u32,
}
/// Obf: CCCBKFAAKBD
#[derive(proto_derive::CmdID)]
#[cmdid(4175)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeKillDirectScRsp {
    #[prost(uint32, repeated, tag = "2")]
    pub entity_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: PPGFCPFDIMD
#[derive(proto_derive::CmdID)]
#[cmdid(1295)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMissionDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ikammklboco {
    #[prost(enumeration = "Iebnpbjdfgp", tag = "6")]
    pub slot: i32,
    #[prost(uint32, tag = "9")]
    pub id: u32,
    #[prost(uint32, tag = "15")]
    pub display_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mission {
    #[prost(uint32, tag = "1")]
    pub progress: u32,
    #[prost(enumeration = "MissionStatus", tag = "13")]
    pub status: i32,
    #[prost(uint32, tag = "5")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpniicaaajk {
    #[prost(string, tag = "4")]
    pub dfdekanjblg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub index: u32,
    #[prost(uint32, tag = "6")]
    pub kmhdfladepi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gniejgnkkgg {
    #[prost(message, repeated, tag = "15")]
    pub kfbpcfdhlhl: ::prost::alloc::vec::Vec<Hpniicaaajk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionData {
    #[prost(enumeration = "MissionStatus", tag = "10")]
    pub status: i32,
    #[prost(uint32, tag = "3")]
    pub id: u32,
    #[prost(message, repeated, tag = "6")]
    pub kfbpcfdhlhl: ::prost::alloc::vec::Vec<Hpniicaaajk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhabeikafbo {
    #[prost(uint32, tag = "7")]
    pub id: u32,
    #[prost(oneof = "fhabeikafbo::Fjoojnkcnae", tags = "188")]
    pub fjoojnkcnae: ::core::option::Option<fhabeikafbo::Fjoojnkcnae>,
}
/// Nested message and enum types in `FHABEIKAFBO`.
pub mod fhabeikafbo {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Fjoojnkcnae {
        #[prost(message, tag = "188")]
        Kfbpcfdhlhl(super::Gniejgnkkgg),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MainMissionCustomValue {
    #[prost(uint32, tag = "13")]
    pub main_mission_id: u32,
    #[prost(message, optional, tag = "12")]
    pub kfbpcfdhlhl: ::core::option::Option<Gniejgnkkgg>,
}
/// Obf: GBANHIEMJCI
#[derive(proto_derive::CmdID)]
#[cmdid(1232)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionDataScRsp {
    #[prost(uint32, tag = "13")]
    pub lflbiopjfge: u32,
    #[prost(message, repeated, tag = "3")]
    pub mission_list: ::prost::alloc::vec::Vec<Mission>,
    #[prost(message, repeated, tag = "14")]
    pub mission_data_list: ::prost::alloc::vec::Vec<MissionData>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub ojomocgiaic: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DENCGOJOIFI
#[derive(proto_derive::CmdID)]
#[cmdid(1284)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AcceptMainMissionCsReq {
    #[prost(uint32, tag = "14")]
    pub main_mission_id: u32,
}
/// Obf: KNIMBAFEBNE
#[derive(proto_derive::CmdID)]
#[cmdid(1237)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AcceptMainMissionScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub main_mission_id: u32,
}
/// Obf: EFFIGFGBAAD
#[derive(proto_derive::CmdID)]
#[cmdid(1231)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTalkMissionCsReq {
    #[prost(uint32, tag = "1")]
    pub lplhiabdbbg: u32,
    #[prost(message, repeated, tag = "6")]
    pub kfbpcfdhlhl: ::prost::alloc::vec::Vec<Hpniicaaajk>,
    #[prost(string, tag = "2")]
    pub hnfbhiolpja: ::prost::alloc::string::String,
}
/// Obf: LHDGPAHCAIP
#[derive(proto_derive::CmdID)]
#[cmdid(1240)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTalkMissionScRsp {
    #[prost(message, repeated, tag = "4")]
    pub kfbpcfdhlhl: ::prost::alloc::vec::Vec<Hpniicaaajk>,
    #[prost(string, tag = "1")]
    pub hnfbhiolpja: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub lplhiabdbbg: u32,
}
/// Obf: LCGNONDHHEO
#[derive(proto_derive::CmdID)]
#[cmdid(1276)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionRewardScNotify {
    #[prost(uint32, tag = "8")]
    pub lplhiabdbbg: u32,
    #[prost(uint32, tag = "14")]
    pub main_mission_id: u32,
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: ONFLCINAFBH
#[derive(proto_derive::CmdID)]
#[cmdid(1263)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubMissionRewardScNotify {
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "9")]
    pub lplhiabdbbg: u32,
}
/// Obf: GENFFKNOCFE
#[derive(proto_derive::CmdID)]
#[cmdid(1248)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncTaskCsReq {
    #[prost(string, tag = "5")]
    pub key: ::prost::alloc::string::String,
}
/// Obf: DPKABFBAICO
#[derive(proto_derive::CmdID)]
#[cmdid(1271)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncTaskScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(string, tag = "5")]
    pub key: ::prost::alloc::string::String,
}
/// Obf: NCINOGGCALL
#[derive(proto_derive::CmdID)]
#[cmdid(1285)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionGroupWarnScNotify {
    #[prost(uint32, repeated, tag = "2")]
    pub njocoopicln: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DKADCMIJPOB
#[derive(proto_derive::CmdID)]
#[cmdid(1216)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishCosumeItemMissionCsReq {
    #[prost(message, optional, tag = "4")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "2")]
    pub lplhiabdbbg: u32,
}
/// Obf: AFPICDCPKCI
#[derive(proto_derive::CmdID)]
#[cmdid(1246)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishCosumeItemMissionScRsp {
    #[prost(uint32, tag = "11")]
    pub lplhiabdbbg: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: JMNGAEKFEEP
#[derive(proto_derive::CmdID)]
#[cmdid(1233)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionStatusCsReq {
    #[prost(uint32, repeated, tag = "3")]
    pub main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub sub_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GetMissionStatusScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1242)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionStatusScRsp {
    #[prost(uint32, repeated, tag = "8")]
    pub curversion_finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "7")]
    pub sub_mission_status_list: ::prost::alloc::vec::Vec<Mission>,
    #[prost(uint32, repeated, tag = "13")]
    pub finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub disabled_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub unfinished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "12")]
    pub main_mission_mcv_list: ::prost::alloc::vec::Vec<MainMissionCustomValue>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: AODEMNAMJEH
#[derive(proto_derive::CmdID)]
#[cmdid(1211)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TeleportToMissionResetPointCsReq {}
/// Obf: BBIEFPLCHGJ
#[derive(proto_derive::CmdID)]
#[cmdid(1293)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TeleportToMissionResetPointScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub client_pos_version: u32,
    #[prost(message, optional, tag = "9")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Obf: OGAPJNMOCMF
#[derive(proto_derive::CmdID)]
#[cmdid(1225)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartFinishSubMissionScNotify {
    #[prost(uint32, tag = "7")]
    pub lplhiabdbbg: u32,
}
/// Obf: AAIMCEAJPPB
#[derive(proto_derive::CmdID)]
#[cmdid(1214)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartFinishMainMissionScNotify {
    #[prost(uint32, tag = "9")]
    pub main_mission_id: u32,
}
/// Obf: MCFBCKODIMM
#[derive(proto_derive::CmdID)]
#[cmdid(1230)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMainMissionCustomValueCsReq {
    #[prost(uint32, repeated, tag = "1")]
    pub main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MODECCBGEBJ
#[derive(proto_derive::CmdID)]
#[cmdid(1275)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMainMissionCustomValueScRsp {
    #[prost(message, repeated, tag = "13")]
    pub mission_data_list: ::prost::alloc::vec::Vec<MissionData>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: JPFCPAMGPPL
#[derive(proto_derive::CmdID)]
#[cmdid(1251)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionAcceptScNotify {
    #[prost(uint32, repeated, tag = "9")]
    pub sub_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HHJLCADBEMF
#[derive(proto_derive::CmdID)]
#[cmdid(1224)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateTrackMainMissionIdCsReq {
    #[prost(uint32, tag = "11")]
    pub lmbceopcigc: u32,
    #[prost(enumeration = "Nnfdmniijgo", tag = "3")]
    pub ijdjmnjbobi: i32,
    #[prost(uint32, tag = "8")]
    pub lflbiopjfge: u32,
}
/// Obf: JBEIJKCOPFI
#[derive(proto_derive::CmdID)]
#[cmdid(1257)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateTrackMainMissionIdScRsp {
    #[prost(uint32, tag = "8")]
    pub lflbiopjfge: u32,
    #[prost(uint32, tag = "6")]
    pub dkmbbnlmnne: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: HJGFDKKGOOH
#[derive(proto_derive::CmdID)]
#[cmdid(1207)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishedMissionScNotify {
    #[prost(uint32, repeated, tag = "11")]
    pub finished_mission_id: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PILPBOGGLKO
#[derive(proto_derive::CmdID)]
#[cmdid(1298)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMainMissionCustomValueCsReq {
    #[prost(string, tag = "11")]
    pub dfdekanjblg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1")]
    pub main_mission_id: u32,
    #[prost(uint32, tag = "14")]
    pub value: u32,
}
/// Obf: AMNJJPCIGLJ
#[derive(proto_derive::CmdID)]
#[cmdid(1264)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMainMissionCustomValueScRsp {
    #[prost(message, optional, tag = "7")]
    pub lpjfbmjbepp: ::core::option::Option<MissionData>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: FCHDEOGGIEN
#[derive(proto_derive::CmdID)]
#[cmdid(7095)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMonopolyInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Odaijigeajl {
    #[prost(bool, tag = "1")]
    pub ljfgifbdanc: bool,
    #[prost(uint32, tag = "15")]
    pub ejhdcneegmi: u32,
    #[prost(uint32, tag = "13")]
    pub fljbjpahjif: u32,
    #[prost(uint32, tag = "9")]
    pub engjfichdml: u32,
    #[prost(uint32, tag = "8")]
    pub item_value: u32,
    #[prost(bool, tag = "4")]
    pub hgmmchhbkpb: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llgniknmcke {
    #[prost(uint32, repeated, tag = "11")]
    pub ofiodjnlbea: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Gojoindbkik", tag = "6")]
    pub nmamonllall: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ooemibfnlld {
    #[prost(uint32, tag = "12")]
    pub progress: u32,
    #[prost(uint32, tag = "7")]
    pub ekpnclpoenk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lailnigfpoo {
    #[prost(bool, tag = "2")]
    pub aelpfebgnok: bool,
    #[prost(uint64, tag = "6")]
    pub khgpfhboele: u64,
    #[prost(bool, tag = "8")]
    pub is_taken_reward: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcmokfhjmpm {
    #[prost(message, repeated, tag = "1")]
    pub cjfmaiakenl: ::prost::alloc::vec::Vec<Ooemibfnlld>,
    #[prost(uint32, tag = "11")]
    pub hhjpblekapn: u32,
    #[prost(string, tag = "822")]
    pub ddibefmilmp: ::prost::alloc::string::String,
    #[prost(uint64, tag = "6")]
    pub eboolgnacjj: u64,
    #[prost(string, tag = "1618")]
    pub pjdfbpbmbba: ::prost::alloc::string::String,
    #[prost(uint32, tag = "4")]
    pub jgnihljfjpp: u32,
    #[prost(message, repeated, tag = "10")]
    pub ebabbejipjn: ::prost::alloc::vec::Vec<Lailnigfpoo>,
    #[prost(uint32, tag = "13")]
    pub bnoldnbmjhf: u32,
    #[prost(uint32, tag = "14")]
    pub ljjmleioife: u32,
    #[prost(string, tag = "1852")]
    pub jlegpnihmjd: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub dgepmkffoab: u32,
    #[prost(uint64, tag = "5")]
    pub omgkjljihlh: u64,
    #[prost(bool, tag = "3")]
    pub fholfdonoii: bool,
    #[prost(message, repeated, tag = "2")]
    pub jckngfjeegi: ::prost::alloc::vec::Vec<Ooemibfnlld>,
    #[prost(message, repeated, tag = "8")]
    pub kgbejknclfk: ::prost::alloc::vec::Vec<Ooemibfnlld>,
    #[prost(uint64, tag = "15")]
    pub jojndgbejek: u64,
    #[prost(message, repeated, tag = "9")]
    pub ifkfepkhlgn: ::prost::alloc::vec::Vec<Ooemibfnlld>,
    #[prost(uint32, tag = "7")]
    pub dgalcmfidfp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edkgomnehoh {
    #[prost(message, repeated, tag = "4")]
    pub fjoafflleok: ::prost::alloc::vec::Vec<Bcmokfhjmpm>,
}
/// Obf: NJDEBDJLCLD
#[derive(proto_derive::CmdID)]
#[cmdid(7032)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyInfoScRsp {
    #[prost(uint32, repeated, tag = "6")]
    pub cokcgfmeiba: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "13")]
    pub hehjkfilinn: ::core::option::Option<Nfdgijlolgd>,
    #[prost(message, optional, tag = "4")]
    pub jnhjeeljfhf: ::core::option::Option<Llgniknmcke>,
    #[prost(message, optional, tag = "9")]
    pub stt: ::core::option::Option<Kjbmlbgibjf>,
    #[prost(message, optional, tag = "14")]
    pub hljmhnabfmc: ::core::option::Option<Odaijigeajl>,
    #[prost(message, optional, tag = "12")]
    pub oelhkeipidj: ::core::option::Option<Cannibgclcl>,
    #[prost(message, optional, tag = "8")]
    pub fghciadcmnj: ::core::option::Option<Hfdgmjjfohm>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub ljaogapdfha: ::core::option::Option<Aedkpbfckgo>,
    #[prost(message, optional, tag = "15")]
    pub lgopnbhhhbg: ::core::option::Option<Afdalbganpc>,
    #[prost(message, optional, tag = "2")]
    pub map_info: ::core::option::Option<Jajgkkdpalc>,
    #[prost(message, optional, tag = "7")]
    pub gpfgdokngel: ::core::option::Option<Icihabolhpn>,
    #[prost(message, optional, tag = "11")]
    pub iedgkhdjjdc: ::core::option::Option<Edkgomnehoh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nfdgijlolgd {
    #[prost(uint32, repeated, tag = "9")]
    pub hfmdlhifmpi: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FJGBNBKCPEA
#[derive(proto_derive::CmdID)]
#[cmdid(7089)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyConditionUpdateScNotify {
    #[prost(message, optional, tag = "10")]
    pub hehjkfilinn: ::core::option::Option<Nfdgijlolgd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjbmlbgibjf {
    #[prost(uint32, repeated, tag = "13")]
    pub jihchilfjpi: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "9")]
    pub occmnidebbj: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NOACPJFDBNC
#[derive(proto_derive::CmdID)]
#[cmdid(7012)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolySttUpdateScNotify {
    #[prost(message, optional, tag = "11")]
    pub stt: ::core::option::Option<Kjbmlbgibjf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iaaccafgepi {
    #[prost(uint32, tag = "15")]
    pub map_id: u32,
    #[prost(uint32, tag = "7")]
    pub hhcbjghkcpc: u32,
    #[prost(enumeration = "Ihgjllngdkl", tag = "11")]
    pub mafkcbodmmc: i32,
    #[prost(bool, tag = "14")]
    pub jmdeflafice: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jajgkkdpalc {
    #[prost(message, optional, tag = "4")]
    pub hgbigbfgbom: ::core::option::Option<Iaaccafgepi>,
    #[prost(uint32, tag = "13")]
    pub lbbonkacgej: u32,
    #[prost(message, repeated, tag = "1")]
    pub nbmpbgpjonh: ::prost::alloc::vec::Vec<Iaaccafgepi>,
    #[prost(message, repeated, tag = "15")]
    pub imopiejbhod: ::prost::alloc::vec::Vec<Iaaccafgepi>,
    #[prost(uint32, tag = "7")]
    pub pgalbdiiefg: u32,
}
/// Obf: NKJHIGBOJGE
#[derive(proto_derive::CmdID)]
#[cmdid(7096)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyEventLoadUpdateScNotify {
    #[prost(message, repeated, tag = "6")]
    pub nbmpbgpjonh: ::prost::alloc::vec::Vec<Iaaccafgepi>,
    #[prost(message, repeated, tag = "10")]
    pub imopiejbhod: ::prost::alloc::vec::Vec<Iaaccafgepi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Comeolglnko {
    #[prost(uint32, tag = "10")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pblcejhpopo {
    #[prost(uint32, tag = "4")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lihocehepdb {
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
    #[prost(uint32, tag = "12")]
    pub lfcmbgoaibb: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub hfejhlniggh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub kdmlllghjon: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohnbchloebl {
    #[prost(uint32, tag = "5")]
    pub lfcmbgoaibb: u32,
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub hfejhlniggh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub eccjbglbigm: u32,
    #[prost(uint32, tag = "11")]
    pub olfnjjklgmk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blmjnffpmcn {
    #[prost(uint32, tag = "7")]
    pub pifpgkffbpn: u32,
    #[prost(message, repeated, tag = "13")]
    pub kmkfojahelj: ::prost::alloc::vec::Vec<Lbenaahcpeo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aaibakechce {
    #[prost(uint32, tag = "14")]
    pub pagcamagflb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fgonfnidohj {
    #[prost(uint32, tag = "10")]
    pub shop_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iponfkajenj {
    #[prost(uint32, tag = "8")]
    pub apaobdgjmeg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nalpjmljpnp {
    #[prost(uint32, tag = "8")]
    pub oefhmbjblgc: u32,
    #[prost(uint32, tag = "6")]
    pub ieejchfepha: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbenaahcpeo {
    #[prost(uint32, tag = "11")]
    pub okdlmejpche: u32,
    #[prost(oneof = "lbenaahcpeo::Edapchiojmd", tags = "3, 7, 12, 9, 2, 1, 14, 4, 13")]
    pub edapchiojmd: ::core::option::Option<lbenaahcpeo::Edapchiojmd>,
}
/// Nested message and enum types in `LBENAAHCPEO`.
pub mod lbenaahcpeo {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Edapchiojmd {
        #[prost(message, tag = "3")]
        Pecbimkooah(super::Comeolglnko),
        #[prost(message, tag = "7")]
        Emlnnmlgnkh(super::Pblcejhpopo),
        #[prost(message, tag = "12")]
        Jbjldppdbbc(super::Lihocehepdb),
        #[prost(message, tag = "9")]
        Ecoifnnjdap(super::Aaibakechce),
        #[prost(message, tag = "2")]
        Nbjicdajdgf(super::Fgonfnidohj),
        #[prost(message, tag = "1")]
        Gajbfpcpigm(super::Iponfkajenj),
        #[prost(message, tag = "14")]
        Joppaemppfh(super::Nalpjmljpnp),
        #[prost(message, tag = "4")]
        Joadhbldimf(super::Ohnbchloebl),
        #[prost(message, tag = "13")]
        Iefoghngcmc(super::Blmjnffpmcn),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icihabolhpn {
    #[prost(message, optional, tag = "14")]
    pub fhnpagihinf: ::core::option::Option<Lbenaahcpeo>,
}
/// Obf: BAOJKHHNIPI
#[derive(proto_derive::CmdID)]
#[cmdid(7025)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyContentUpdateScNotify {
    #[prost(message, optional, tag = "7")]
    pub fhnpagihinf: ::core::option::Option<Lbenaahcpeo>,
}
/// Obf: KIJLBDPPDLN
#[derive(proto_derive::CmdID)]
#[cmdid(7040)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyCellUpdateNotify {
    #[prost(message, optional, tag = "3")]
    pub hgbigbfgbom: ::core::option::Option<Iaaccafgepi>,
}
/// Obf: BLAHEBDCJFP
#[derive(proto_derive::CmdID)]
#[cmdid(7048)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyRollDiceCsReq {}
/// Obf: GAMAKOOBJPJ
#[derive(proto_derive::CmdID)]
#[cmdid(7071)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyRollDiceScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub blhiabbkgpb: u32,
}
/// Obf: KFCDDEOCHHA
#[derive(proto_derive::CmdID)]
#[cmdid(7011)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyCheatDiceCsReq {
    #[prost(uint32, tag = "12")]
    pub ocfhhdcbfbh: u32,
}
/// Obf: DFNEFIHIBGP
#[derive(proto_derive::CmdID)]
#[cmdid(7093)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyCheatDiceScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub ocfhhdcbfbh: u32,
}
/// Obf: BDONOPOFPNF
#[derive(proto_derive::CmdID)]
#[cmdid(7052)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyMoveCsReq {
    #[prost(uint32, tag = "14")]
    pub dgbmdpbialg: u32,
    #[prost(uint32, tag = "4")]
    pub cnifhnbiofj: u32,
}
/// Obf: EEJEKFGIOKO
#[derive(proto_derive::CmdID)]
#[cmdid(7022)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyMoveScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub map_info: ::core::option::Option<Jajgkkdpalc>,
    #[prost(message, repeated, tag = "11")]
    pub hecjnjniakk: ::prost::alloc::vec::Vec<Iaaccafgepi>,
}
/// Obf: KGKAJKPJLFC
#[derive(proto_derive::CmdID)]
#[cmdid(7056)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolySelectOptionCsReq {
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
    #[prost(uint32, tag = "12")]
    pub kdmlllghjon: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ddcelcojgnp {
    #[prost(uint32, tag = "8")]
    pub kdmlllghjon: u32,
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
    #[prost(uint32, tag = "1")]
    pub lgiiahidlmg: u32,
}
/// Obf: OICAPHLMKFG
#[derive(proto_derive::CmdID)]
#[cmdid(7072)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolySelectOptionScRsp {
    #[prost(uint32, tag = "8")]
    pub kdmlllghjon: u32,
    #[prost(message, optional, tag = "13")]
    pub gpfgdokngel: ::core::option::Option<Lbenaahcpeo>,
    #[prost(uint32, tag = "7")]
    pub event_id: u32,
    #[prost(message, repeated, tag = "4")]
    pub abnoinlokln: ::prost::alloc::vec::Vec<Ddcelcojgnp>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: CHOHHHJCANJ
#[derive(proto_derive::CmdID)]
#[cmdid(7083)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyRollRandomCsReq {
    #[prost(uint32, tag = "1")]
    pub event_id: u32,
}
/// Obf: KCAHEEPIEPD
#[derive(proto_derive::CmdID)]
#[cmdid(7060)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyRollRandomScRsp {
    #[prost(message, optional, tag = "15")]
    pub gpfgdokngel: ::core::option::Option<Lbenaahcpeo>,
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: JNIOMAMDMLP
#[derive(proto_derive::CmdID)]
#[cmdid(7002)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyReRollRandomCsReq {
    #[prost(uint32, tag = "13")]
    pub event_id: u32,
}
/// Obf: GEAAFLHKNMI
#[derive(proto_derive::CmdID)]
#[cmdid(7039)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyReRollRandomScRsp {
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
    #[prost(message, optional, tag = "1")]
    pub gpfgdokngel: ::core::option::Option<Lbenaahcpeo>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: FAGIFHGCFJN
#[derive(proto_derive::CmdID)]
#[cmdid(7043)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyConfirmRandomCsReq {
    #[prost(uint32, tag = "7")]
    pub event_id: u32,
}
/// Obf: ILDHPDFMMBM
#[derive(proto_derive::CmdID)]
#[cmdid(7033)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyConfirmRandomScRsp {
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub gpfgdokngel: ::core::option::Option<Lbenaahcpeo>,
}
/// Obf: GONIBBGGNAN
#[derive(proto_derive::CmdID)]
#[cmdid(7042)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyBuyGoodsCsReq {
    #[prost(uint32, tag = "7")]
    pub goods_id: u32,
    #[prost(uint32, tag = "14")]
    pub shop_id: u32,
}
/// Obf: BMMNBPLHDLA
#[derive(proto_derive::CmdID)]
#[cmdid(7077)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyBuyGoodsScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub goods_id: u32,
    #[prost(uint32, tag = "2")]
    pub shop_id: u32,
}
/// Obf: IJOFOKMGGCC
#[derive(proto_derive::CmdID)]
#[cmdid(7058)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyUpgradeAssetCsReq {
    #[prost(uint32, tag = "7")]
    pub pagcamagflb: u32,
}
/// Obf: NJBGCNPGLPM
#[derive(proto_derive::CmdID)]
#[cmdid(7021)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyUpgradeAssetScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub pagcamagflb: u32,
}
/// Obf: CHDLDBAAOAF
#[derive(proto_derive::CmdID)]
#[cmdid(7029)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGiveUpCurContentCsReq {
    #[prost(uint32, tag = "11")]
    pub content_id: u32,
}
/// Obf: DEGAJKFEMJO
#[derive(proto_derive::CmdID)]
#[cmdid(7063)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGiveUpCurContentScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub content_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyActionResult {
    #[prost(uint32, tag = "1")]
    pub trigger_cell_id: u32,
    #[prost(message, optional, tag = "2")]
    pub detail: ::core::option::Option<Nibjamfmefd>,
    #[prost(uint32, tag = "5")]
    pub click_map_id: u32,
    #[prost(uint32, tag = "3")]
    pub trigger_map_id: u32,
    #[prost(uint32, tag = "13")]
    pub effect_type: u32,
    #[prost(enumeration = "Gkejfkakenm", tag = "6")]
    pub source_type: i32,
    #[prost(uint32, tag = "4")]
    pub click_cell_id: u32,
}
/// Obf: FOEBKCBKMGI
#[derive(proto_derive::CmdID)]
#[cmdid(7031)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyActionResultScNotify {
    #[prost(message, repeated, tag = "13")]
    pub pfnokncdpge: ::prost::alloc::vec::Vec<MonopolyActionResult>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lmmebmbgldn {
    #[prost(uint32, tag = "3")]
    pub hkmihejcaem: u32,
    #[prost(bool, tag = "8")]
    pub blhdohmacbm: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nibjamfmefd {
    #[prost(
        oneof = "nibjamfmefd::Pfablbbfojf",
        tags = "5, 6, 2, 7, 4, 1, 12, 3, 15, 13, 9, 8, 14"
    )]
    pub pfablbbfojf: ::core::option::Option<nibjamfmefd::Pfablbbfojf>,
}
/// Nested message and enum types in `NIBJAMFMEFD`.
pub mod nibjamfmefd {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Pfablbbfojf {
        #[prost(message, tag = "5")]
        Mecllcdabno(super::Lmkaaefpffo),
        #[prost(message, tag = "6")]
        Ffipkmhckhj(super::Lmkaaefpffo),
        #[prost(message, tag = "2")]
        Nfbcgknopda(super::Aidfbbiapep),
        #[prost(message, tag = "7")]
        Dachanhppbg(super::Aidfbbiapep),
        #[prost(message, tag = "4")]
        Noenhhilnah(super::Bmplfjkeolf),
        #[prost(message, tag = "1")]
        Kpbjipgejpl(super::Bmplfjkeolf),
        #[prost(message, tag = "12")]
        Dmdpcooafjk(super::Lnkmknbpijh),
        #[prost(message, tag = "3")]
        Hhibfnagkff(super::Lnkmknbpijh),
        #[prost(message, tag = "15")]
        Nkcmgbcpjgg(super::Lmmebmbgldn),
        #[prost(message, tag = "13")]
        Hanogacjpkb(super::Lpbamokkjcm),
        #[prost(message, tag = "9")]
        Omfecimladc(super::Bmplfjkeolf),
        #[prost(message, tag = "8")]
        Ngonccblaol(super::Lnkmknbpijh),
        #[prost(message, tag = "14")]
        Fjghnlnjlph(super::Nmghfolkfaj),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nmghfolkfaj {
    #[prost(uint32, tag = "5")]
    pub gjlkoggiifo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lmkaaefpffo {
    #[prost(uint32, tag = "11")]
    pub ogjofmcmfpg: u32,
    #[prost(uint32, tag = "15")]
    pub bmalpkekbel: u32,
    #[prost(uint32, tag = "14")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lnkmknbpijh {
    #[prost(uint32, tag = "9")]
    pub ognkmdnjgog: u32,
    #[prost(uint32, tag = "10")]
    pub igdbofcdjol: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lpbamokkjcm {
    #[prost(uint32, tag = "3")]
    pub knggppiogae: u32,
    #[prost(uint32, tag = "9")]
    pub hnlfmjoknbn: u32,
    #[prost(uint32, tag = "4")]
    pub mdflfllmgna: u32,
    #[prost(uint32, tag = "10")]
    pub njdggjbefcn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Haknofdpbod {
    #[prost(uint32, tag = "14")]
    pub config_id: u32,
    #[prost(uint32, tag = "7")]
    pub acdopcbmpnl: u32,
    #[prost(uint32, tag = "12")]
    pub fpogialmcip: u32,
    #[prost(oneof = "haknofdpbod::Heaiaedbpkl", tags = "10, 15, 8")]
    pub heaiaedbpkl: ::core::option::Option<haknofdpbod::Heaiaedbpkl>,
}
/// Nested message and enum types in `HAKNOFDPBOD`.
pub mod haknofdpbod {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Heaiaedbpkl {
        #[prost(message, tag = "10")]
        Ejcolgnjgdc(super::Gjkiapipgan),
        #[prost(message, tag = "15")]
        Lkaniplnkgc(super::Eimobgllefo),
        #[prost(message, tag = "8")]
        Bdempakhgmj(super::Eopfmpaooje),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfdgmjjfohm {
    #[prost(message, optional, tag = "4")]
    pub npoigjpcgfb: ::core::option::Option<Lmmebmbgldn>,
    #[prost(message, optional, tag = "13")]
    pub ajcinkhbdjb: ::core::option::Option<Haknofdpbod>,
    #[prost(message, repeated, tag = "9")]
    pub pefmdfkecod: ::prost::alloc::vec::Vec<Haknofdpbod>,
}
/// Obf: PNKJEDCNKGB
#[derive(proto_derive::CmdID)]
#[cmdid(7037)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameSettleScNotify {
    #[prost(message, optional, tag = "2")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "10")]
    pub pemijimjmio: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "1")]
    pub gajbfpcpigm: ::core::option::Option<Haknofdpbod>,
}
/// Obf: DGCAJCANMDL
#[derive(proto_derive::CmdID)]
#[cmdid(7007)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameCreateScNotify {
    #[prost(message, optional, tag = "9")]
    pub gajbfpcpigm: ::core::option::Option<Haknofdpbod>,
    #[prost(message, optional, tag = "5")]
    pub npoigjpcgfb: ::core::option::Option<Lmmebmbgldn>,
}
/// Obf: BFGMDKIECKC
#[derive(proto_derive::CmdID)]
#[cmdid(7014)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGameRaiseRatioCsReq {
    #[prost(uint32, tag = "15")]
    pub acdopcbmpnl: u32,
}
/// Obf: MonopolyGameRaiseRatioScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(7084)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGameRaiseRatioScRsp {
    #[prost(uint32, tag = "12")]
    pub ratio: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: AIMLCLGENNA
#[derive(proto_derive::CmdID)]
#[cmdid(7016)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DailyFirstEnterMonopolyActivityCsReq {}
/// Obf: FHDEONMIKGP
#[derive(proto_derive::CmdID)]
#[cmdid(7046)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DailyFirstEnterMonopolyActivityScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(int64, tag = "5")]
    pub iihkiklioji: i64,
    #[prost(message, optional, tag = "13")]
    pub ljaogapdfha: ::core::option::Option<Aedkpbfckgo>,
    #[prost(bool, tag = "3")]
    pub oicaghgmmfp: bool,
    #[prost(uint32, tag = "1")]
    pub kekjcdmiddl: u32,
}
/// Obf: PGBJBGAIODA
#[derive(proto_derive::CmdID)]
#[cmdid(7050)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGetDailyInitItemCsReq {
    #[prost(bool, tag = "15")]
    pub ifhpjjblndl: bool,
}
/// Obf: ACCPMEMJOPK
#[derive(proto_derive::CmdID)]
#[cmdid(7019)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGetDailyInitItemScRsp {
    #[prost(uint32, tag = "13")]
    pub heoofpgkdcd: u32,
    #[prost(uint32, tag = "3")]
    pub hbfffgpjkic: u32,
    #[prost(uint32, tag = "5")]
    pub ofgnignohaf: u32,
    #[prost(uint32, tag = "12")]
    pub hcdbbflpcfl: u32,
    #[prost(uint32, tag = "10")]
    pub ioabhfpabbe: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(int64, tag = "2")]
    pub iihkiklioji: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjkiapipgan {
    #[prost(bool, tag = "3")]
    pub nfeadmfnflk: bool,
    #[prost(uint32, repeated, tag = "15")]
    pub pogemmicila: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub leghknnkomg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub oefjmefpipl: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub fhbopepjaen: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ICMGJFBMAAI
#[derive(proto_derive::CmdID)]
#[cmdid(7051)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGameBingoFlipCardCsReq {
    #[prost(uint32, tag = "1")]
    pub hcfpofmdgkn: u32,
}
/// Obf: OEFGMALBJKO
#[derive(proto_derive::CmdID)]
#[cmdid(7091)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameBingoFlipCardScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub leghknnkomg: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "3")]
    pub nfeadmfnflk: bool,
    #[prost(uint32, tag = "14")]
    pub npjeecedpok: u32,
}
/// Obf: MJAKJJGNEAL
#[derive(proto_derive::CmdID)]
#[cmdid(7030)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGameGachaCsReq {}
/// Obf: MonopolyGameGachaScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(7075)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameGachaScRsp {
    #[prost(uint32, repeated, tag = "3")]
    pub result_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nkacimeoapd {
    #[prost(uint32, tag = "11")]
    pub ibadobadhjh: u32,
    #[prost(uint32, tag = "4")]
    pub pogjhkfbmch: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eimobgllefo {
    #[prost(uint32, repeated, tag = "9")]
    pub hpnhhcmkjcb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub bhpfpejbkec: u32,
    #[prost(message, repeated, tag = "10")]
    pub ndggacpicbf: ::prost::alloc::vec::Vec<Nkacimeoapd>,
    #[prost(uint32, tag = "5")]
    pub chjngdioome: u32,
    #[prost(uint32, tag = "4")]
    pub ohlepkekmnh: u32,
    #[prost(uint32, tag = "13")]
    pub eaejlofgafo: u32,
}
/// Obf: AOMIOINGDPN
#[derive(proto_derive::CmdID)]
#[cmdid(7024)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyAcceptQuizCsReq {
    #[prost(message, repeated, tag = "14")]
    pub ndggacpicbf: ::prost::alloc::vec::Vec<Nkacimeoapd>,
}
/// Obf: EPHJEICDHFJ
#[derive(proto_derive::CmdID)]
#[cmdid(7057)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyAcceptQuizScRsp {
    #[prost(message, optional, tag = "8")]
    pub lkaniplnkgc: ::core::option::Option<Eimobgllefo>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oockalnfhnp {
    #[prost(uint32, tag = "2")]
    pub hmcjobjbpkj: u32,
    #[prost(uint32, tag = "1")]
    pub chjngdioome: u32,
    #[prost(uint32, tag = "8")]
    pub bgbihidhcon: u32,
}
/// Obf: HLPGDGFIGIJ
#[derive(proto_derive::CmdID)]
#[cmdid(7078)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyQuizDurationChangeScNotify {
    #[prost(message, repeated, tag = "13")]
    pub leadmneimdp: ::prost::alloc::vec::Vec<Oockalnfhnp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eopfmpaooje {
    #[prost(bool, tag = "8")]
    pub lopdbaegfkp: bool,
    #[prost(uint32, tag = "3")]
    pub hmhjdbifgdi: u32,
    #[prost(uint32, tag = "4")]
    pub ppclbdbjlmo: u32,
}
/// Obf: NKIPFEOEBDL
#[derive(proto_derive::CmdID)]
#[cmdid(7098)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGuessChooseCsReq {
    #[prost(uint32, tag = "13")]
    pub hmhjdbifgdi: u32,
}
/// Obf: KGLDAEPCPPC
#[derive(proto_derive::CmdID)]
#[cmdid(7064)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGuessChooseScRsp {
    #[prost(uint32, tag = "7")]
    pub hmhjdbifgdi: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ackncaaamjm {
    #[prost(uint32, tag = "12")]
    pub ppclbdbjlmo: u32,
    #[prost(message, optional, tag = "4")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "3")]
    pub giacfcddjnm: u32,
}
/// Obf: PCFNKGHKKIP
#[derive(proto_derive::CmdID)]
#[cmdid(7013)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGuessDrawScNotify {
    #[prost(message, repeated, tag = "14")]
    pub jhiikpejeie: ::prost::alloc::vec::Vec<Ackncaaamjm>,
}
/// Obf: MAOFCHPDPAM
#[derive(proto_derive::CmdID)]
#[cmdid(7006)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGuessBuyInformationCsReq {}
/// Obf: IBGPAPKJDNP
#[derive(proto_derive::CmdID)]
#[cmdid(7045)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGuessBuyInformationScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aidfbbiapep {
    #[prost(uint32, tag = "5")]
    pub milkeacflpo: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub pagcamagflb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cannibgclcl {
    #[prost(message, repeated, tag = "5")]
    pub magefljgjnd: ::prost::alloc::vec::Vec<Aidfbbiapep>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aedkpbfckgo {
    #[prost(uint32, tag = "13")]
    pub kmgiemofogb: u32,
    #[prost(uint32, tag = "7")]
    pub pddngkncpeb: u32,
    #[prost(uint32, tag = "1")]
    pub pilaagokaof: u32,
    #[prost(uint32, tag = "3")]
    pub gimdhbnjooo: u32,
    #[prost(uint32, tag = "5")]
    pub ifkdgebcdeg: u32,
    #[prost(uint32, tag = "11")]
    pub fnigpgbgehn: u32,
    #[prost(uint32, tag = "15")]
    pub pkdlkcbkkpf: u32,
    #[prost(bool, tag = "8")]
    pub imoblgoajcb: bool,
    #[prost(uint32, tag = "2")]
    pub efinfpkkjle: u32,
}
/// Obf: GNPCMAINBOH
#[derive(proto_derive::CmdID)]
#[cmdid(7054)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyDailySettleScNotify {
    #[prost(uint32, tag = "6")]
    pub kekjcdmiddl: u32,
    #[prost(message, optional, tag = "3")]
    pub ljaogapdfha: ::core::option::Option<Aedkpbfckgo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bmplfjkeolf {
    #[prost(uint32, tag = "1")]
    pub okdlmejpche: u32,
    #[prost(uint32, tag = "13")]
    pub coffebnibhk: u32,
    #[prost(uint32, tag = "12")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afdalbganpc {
    #[prost(message, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<Bmplfjkeolf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Indglkcecdc {
    #[prost(uint32, tag = "11")]
    pub hdilbdipgho: u32,
    #[prost(uint32, tag = "12")]
    pub fnigpgbgehn: u32,
    #[prost(uint32, tag = "5")]
    pub dpjkojgcjlp: u32,
    #[prost(uint32, tag = "10")]
    pub uid: u32,
    #[prost(uint32, tag = "4")]
    pub pilaagokaof: u32,
}
/// Obf: FKDHPCNODPP
#[derive(proto_derive::CmdID)]
#[cmdid(7099)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMonopolyFriendRankingListCsReq {}
/// Obf: DIJGFBLHPGL
#[derive(proto_derive::CmdID)]
#[cmdid(7087)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyFriendRankingListScRsp {
    #[prost(message, optional, tag = "9")]
    pub icmgegefdle: ::core::option::Option<Indglkcecdc>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "13")]
    pub dcfhgaajlnn: ::prost::alloc::vec::Vec<Indglkcecdc>,
}
/// Obf: MHKOGIOKNAP
#[derive(proto_derive::CmdID)]
#[cmdid(7008)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyLikeCsReq {
    #[prost(uint32, tag = "12")]
    pub cbegnbkmhcd: u32,
}
/// Obf: HCDMGGFKIKK
#[derive(proto_derive::CmdID)]
#[cmdid(7035)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyLikeScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub cbegnbkmhcd: u32,
    #[prost(message, optional, tag = "4")]
    pub reward_list: ::core::option::Option<ItemList>,
}
/// Obf: AKAHKDACKEF
#[derive(proto_derive::CmdID)]
#[cmdid(7034)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyLikeScNotify {
    #[prost(uint32, repeated, tag = "15")]
    pub ofiodjnlbea: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub hdilbdipgho: u32,
}
/// Obf: IEKJNICCCHH
#[derive(proto_derive::CmdID)]
#[cmdid(7068)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMbtiReportCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mfdkinpdmke {
    #[prost(uint32, tag = "10")]
    pub cnt: u32,
    #[prost(uint32, tag = "12")]
    pub fioepgpebfd: u32,
}
/// Obf: ABFNDLALHHE
#[derive(proto_derive::CmdID)]
#[cmdid(7001)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMbtiReportScRsp {
    #[prost(message, repeated, tag = "13")]
    pub gmdhhogbacn: ::prost::alloc::vec::Vec<Mfdkinpdmke>,
    #[prost(int32, tag = "9")]
    pub ljhaifciabh: i32,
    #[prost(int32, tag = "12")]
    pub phnkkellanm: i32,
    #[prost(message, repeated, tag = "7")]
    pub abnoinlokln: ::prost::alloc::vec::Vec<Ddcelcojgnp>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub progress: u32,
    #[prost(bool, tag = "5")]
    pub pcadcgcelin: bool,
    #[prost(bool, tag = "1")]
    pub is_taken_reward: bool,
}
/// Obf: LFAOJFBGGCA
#[derive(proto_derive::CmdID)]
#[cmdid(7053)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyEventSelectFriendCsReq {
    #[prost(uint32, tag = "15")]
    pub ipgeclelhgj: u32,
    #[prost(bool, tag = "5")]
    pub bagmaoipmje: bool,
}
/// Obf: NOEKNNOFPIJ
#[derive(proto_derive::CmdID)]
#[cmdid(7036)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyEventSelectFriendScRsp {
    #[prost(uint32, tag = "14")]
    pub ieejchfepha: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub oefhmbjblgc: u32,
    #[prost(message, optional, tag = "7")]
    pub hgbigbfgbom: ::core::option::Option<Iaaccafgepi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SocialEventServerCache {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "6")]
    pub sub_coin: u32,
    #[prost(uint32, tag = "12")]
    pub src_uid: u32,
    #[prost(uint32, tag = "8")]
    pub add_coin: u32,
}
/// Obf: BFLFJLLPECM
#[derive(proto_derive::CmdID)]
#[cmdid(7094)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolySocialEventEffectScNotify {
    #[prost(message, repeated, tag = "2")]
    pub miaeaffdgmh: ::prost::alloc::vec::Vec<SocialEventServerCache>,
}
/// Obf: IJLONAMLBOP
#[derive(proto_derive::CmdID)]
#[cmdid(7027)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetSocialEventServerCacheCsReq {}
/// Obf: OEPOLBLMDCC
#[derive(proto_derive::CmdID)]
#[cmdid(7074)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSocialEventServerCacheScRsp {
    #[prost(message, repeated, tag = "12")]
    pub miaeaffdgmh: ::prost::alloc::vec::Vec<SocialEventServerCache>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: NHNLBGAFNKC
#[derive(proto_derive::CmdID)]
#[cmdid(7090)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSocialEventServerCacheCsReq {
    #[prost(uint32, repeated, tag = "6")]
    pub jiddlnhjnpb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OKNHFAIDLEG
#[derive(proto_derive::CmdID)]
#[cmdid(7017)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSocialEventServerCacheScRsp {
    #[prost(uint32, repeated, tag = "3")]
    pub bfgjmmpcpnj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: PBOBNKMDDJJ
#[derive(proto_derive::CmdID)]
#[cmdid(7049)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGetRaffleTicketCsReq {
    #[prost(uint32, tag = "11")]
    pub hhjpblekapn: u32,
}
/// Obf: PKCHELEEKNG
#[derive(proto_derive::CmdID)]
#[cmdid(7003)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetRaffleTicketScRsp {
    #[prost(uint32, tag = "7")]
    pub hhjpblekapn: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "1")]
    pub blmedlnokei: ::prost::alloc::vec::Vec<Lailnigfpoo>,
}
/// Obf: FEKKJNLIPFA
#[derive(proto_derive::CmdID)]
#[cmdid(7010)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyTakeRaffleTicketRewardCsReq {
    #[prost(uint32, tag = "7")]
    pub hhjpblekapn: u32,
    #[prost(uint64, tag = "5")]
    pub pmelcdfhgkc: u64,
}
/// Obf: DJDDCAONCNB
#[derive(proto_derive::CmdID)]
#[cmdid(7097)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyTakeRaffleTicketRewardScRsp {
    #[prost(message, optional, tag = "7")]
    pub reward_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub hhjpblekapn: u32,
    #[prost(uint32, tag = "14")]
    pub pmelcdfhgkc: u32,
}
/// Obf: EPFBHNCHCKC
#[derive(proto_derive::CmdID)]
#[cmdid(7079)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyScrachRaffleTicketCsReq {
    #[prost(uint64, tag = "6")]
    pub pmelcdfhgkc: u64,
    #[prost(uint32, tag = "12")]
    pub hhjpblekapn: u32,
}
/// Obf: DDGPLANABJG
#[derive(proto_derive::CmdID)]
#[cmdid(7070)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyScrachRaffleTicketScRsp {
    #[prost(uint64, tag = "8")]
    pub pmelcdfhgkc: u64,
    #[prost(uint32, tag = "15")]
    pub hhjpblekapn: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: KKCKKABGKHJ
#[derive(proto_derive::CmdID)]
#[cmdid(7004)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGetRegionProgressCsReq {}
/// Obf: KPEJBKLMIHN
#[derive(proto_derive::CmdID)]
#[cmdid(7018)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGetRegionProgressScRsp {
    #[prost(uint32, tag = "6")]
    pub eimgbknlgnf: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub dpjkojgcjlp: u32,
}
/// Obf: HCIOCHHDGNK
#[derive(proto_derive::CmdID)]
#[cmdid(7044)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGetRafflePoolInfoCsReq {}
/// Obf: HNFEFIGIMAK
#[derive(proto_derive::CmdID)]
#[cmdid(7026)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetRafflePoolInfoScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub iedgkhdjjdc: ::core::option::Option<Edkgomnehoh>,
}
/// Obf: HOBMIAMCMII
#[derive(proto_derive::CmdID)]
#[cmdid(7073)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyTakePhaseRewardCsReq {
    #[prost(uint32, repeated, tag = "8")]
    pub ljbgjhpkkjj: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IAFNBEMJPCG
#[derive(proto_derive::CmdID)]
#[cmdid(7067)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyTakePhaseRewardScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub reward_list: ::core::option::Option<ItemList>,
    #[prost(uint32, repeated, tag = "8")]
    pub ljbgjhpkkjj: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FENPKDMBFPM
#[derive(proto_derive::CmdID)]
#[cmdid(7041)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMonopolyMbtiReportRewardCsReq {}
/// Obf: BGJHENBJOOI
#[derive(proto_derive::CmdID)]
#[cmdid(7062)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyMbtiReportRewardScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub reward_list: ::core::option::Option<ItemList>,
}
/// Obf: PPHLPCEDDPK
#[derive(proto_derive::CmdID)]
#[cmdid(7028)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMonopolyDailyReportCsReq {}
/// Obf: OBOPOLGHGJB
#[derive(proto_derive::CmdID)]
#[cmdid(7015)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMonopolyDailyReportScRsp {
    #[prost(message, optional, tag = "12")]
    pub ljaogapdfha: ::core::option::Option<Aedkpbfckgo>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: DENONDBCBPH
#[derive(proto_derive::CmdID)]
#[cmdid(7055)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyClickCellCsReq {
    #[prost(uint32, tag = "5")]
    pub hhcbjghkcpc: u32,
    #[prost(uint32, tag = "13")]
    pub map_id: u32,
}
/// Obf: EEGODLEDHLG
#[derive(proto_derive::CmdID)]
#[cmdid(7080)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyClickCellScRsp {
    #[prost(uint32, tag = "1")]
    pub hhcbjghkcpc: u32,
    #[prost(uint32, tag = "4")]
    pub map_id: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: GLDPPDPGFEN
#[derive(proto_derive::CmdID)]
#[cmdid(7088)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyClickMbtiReportCsReq {}
/// Obf: JDCBEKMDNJJ
#[derive(proto_derive::CmdID)]
#[cmdid(7038)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyClickMbtiReportScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: MEICPFNIMHE
#[derive(proto_derive::CmdID)]
#[cmdid(1095)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MultiplayerFightGameStateCsReq {}
/// Obf: GJIKIHKIPNE
#[derive(proto_derive::CmdID)]
#[cmdid(1032)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiplayerFightGameStateScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub pfffjngnpom: ::core::option::Option<Ppggkmdaoea>,
    #[prost(message, repeated, tag = "12")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
}
/// Obf: MHGHLJGBPOA
#[derive(proto_derive::CmdID)]
#[cmdid(1031)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MultiplayerGetFightGateCsReq {
    #[prost(uint32, tag = "13")]
    pub player_data: u32,
}
/// Obf: GGIMNLGIGIO
#[derive(proto_derive::CmdID)]
#[cmdid(1040)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiplayerGetFightGateScRsp {
    #[prost(uint64, tag = "13")]
    pub nogfeemnhpc: u64,
    #[prost(string, tag = "15")]
    pub aokcmmpfgbc: ::prost::alloc::string::String,
    #[prost(string, tag = "14")]
    pub ip: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub port: u32,
}
/// Obf: BPGNJJGIECJ
#[derive(proto_derive::CmdID)]
#[cmdid(1076)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MultiplayerFightGiveUpCsReq {
    #[prost(uint64, tag = "10")]
    pub nogfeemnhpc: u64,
}
/// Obf: HBEPKKHKBMB
#[derive(proto_derive::CmdID)]
#[cmdid(1048)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MultiplayerFightGiveUpScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: IHBKNEBEHFA
#[derive(proto_derive::CmdID)]
#[cmdid(1071)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiplayerFightGameStartScNotify {
    #[prost(message, optional, tag = "11")]
    pub pfffjngnpom: ::core::option::Option<Ppggkmdaoea>,
    #[prost(message, repeated, tag = "1")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
}
/// Obf: CHENLDLOLJH
#[derive(proto_derive::CmdID)]
#[cmdid(1052)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MultiplayerFightGameFinishScNotify {
    #[prost(message, optional, tag = "15")]
    pub pfffjngnpom: ::core::option::Option<Ppggkmdaoea>,
}
/// Obf: BHGJKCGLBMG
#[derive(proto_derive::CmdID)]
#[cmdid(1022)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MultiplayerMatch3FinishScNotify {
    #[prost(uint32, tag = "9")]
    pub fdgdokafbdh: u32,
    #[prost(enumeration = "Keekddahfoe", tag = "1")]
    pub reason: i32,
    #[prost(uint32, tag = "3")]
    pub kojihjihkia: u32,
    #[prost(message, optional, tag = "13")]
    pub niaeghjlnmb: ::core::option::Option<Cdimemfjjfp>,
}
/// Obf: BLIEMPKGMNA
#[derive(proto_derive::CmdID)]
#[cmdid(4695)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMultipleDropInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eccnnonkfca {
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub olalhikmjop: u32,
}
/// Obf: DLCIFEFLJCC
#[derive(proto_derive::CmdID)]
#[cmdid(4632)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMultipleDropInfoScRsp {
    #[prost(message, repeated, tag = "6")]
    pub ljcpdmnkjif: ::prost::alloc::vec::Vec<Eccnnonkfca>,
    #[prost(message, repeated, tag = "11")]
    pub fchnnkekfcl: ::prost::alloc::vec::Vec<Ohdnchfgfma>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: AHLLFEKHALO
#[derive(proto_derive::CmdID)]
#[cmdid(4631)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultipleDropInfoScNotify {
    #[prost(message, repeated, tag = "7")]
    pub ljcpdmnkjif: ::prost::alloc::vec::Vec<Eccnnonkfca>,
}
/// Obf: DIDAECIMCFO
#[derive(proto_derive::CmdID)]
#[cmdid(4640)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPlayerReturnMultiDropInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jbfipijjidl {
    #[prost(uint32, tag = "4")]
    pub module_id: u32,
    #[prost(uint32, tag = "14")]
    pub ljkffdmhojh: u32,
    #[prost(uint32, tag = "10")]
    pub pjhdjkmjpkh: u32,
    #[prost(uint32, tag = "8")]
    pub dkjgcbjkeen: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ohdnchfgfma {
    #[prost(uint32, tag = "12")]
    pub blfaanhjpad: u32,
    #[prost(uint32, tag = "14")]
    pub module_id: u32,
    #[prost(uint32, tag = "4")]
    pub bjfbglbjbnn: u32,
    #[prost(uint32, tag = "1")]
    pub lclmhegdggb: u32,
}
/// Obf: MGJNGCPOAIM
#[derive(proto_derive::CmdID)]
#[cmdid(4676)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerReturnMultiDropInfoScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "6")]
    pub fchnnkekfcl: ::prost::alloc::vec::Vec<Ohdnchfgfma>,
    #[prost(message, optional, tag = "15")]
    pub ikgfoejpjcf: ::core::option::Option<Jbfipijjidl>,
}
/// Obf: DOJHANCDKJJ
#[derive(proto_derive::CmdID)]
#[cmdid(4648)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultipleDropInfoNotify {
    #[prost(message, repeated, tag = "12")]
    pub fchnnkekfcl: ::prost::alloc::vec::Vec<Ohdnchfgfma>,
    #[prost(message, repeated, tag = "11")]
    pub ponjjnddkbh: ::prost::alloc::vec::Vec<Jbfipijjidl>,
    #[prost(message, repeated, tag = "15")]
    pub ljcpdmnkjif: ::prost::alloc::vec::Vec<Eccnnonkfca>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Opgjgdoggnj {
    #[prost(enumeration = "Kamlglmnjgj", tag = "8")]
    pub pos: i32,
    #[prost(uint32, tag = "7")]
    pub bdjcgcdjoeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmeaocpfeol {
    #[prost(uint32, tag = "12")]
    pub hjjfmdheapb: u32,
    #[prost(message, repeated, tag = "7")]
    pub bojmnafdjkh: ::prost::alloc::vec::Vec<Opgjgdoggnj>,
    #[prost(uint32, tag = "4")]
    pub hihlgaghlni: u32,
    #[prost(uint32, tag = "6")]
    pub level: u32,
    #[prost(uint32, tag = "9")]
    pub cdnngagbaak: u32,
    #[prost(uint32, tag = "10")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Panaijbjmen {
    #[prost(bool, tag = "11")]
    pub hlnfbgacnpo: bool,
    #[prost(uint32, tag = "13")]
    pub beleodaiinb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dolgfnlheae {
    #[prost(uint32, tag = "4")]
    pub fileddcmdoc: u32,
    #[prost(uint32, tag = "2")]
    pub fnpphmblkoa: u32,
    #[prost(message, repeated, tag = "7")]
    pub fmbfbgnaboc: ::prost::alloc::vec::Vec<Panaijbjmen>,
    #[prost(uint32, tag = "9")]
    pub dcehogagkom: u32,
    #[prost(uint32, tag = "6")]
    pub ggfddejhlif: u32,
    #[prost(uint32, tag = "14")]
    pub pngddnajcgg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Olkmlfeefcj {
    #[prost(uint32, tag = "5")]
    pub bdjcgcdjoeo: u32,
    #[prost(uint32, tag = "1")]
    pub lgkiielghdj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blnehdifmoo {
    #[prost(uint32, tag = "14")]
    pub bmbgklkecaj: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub haabefkhami: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub hcaglclejnd: u32,
    #[prost(enumeration = "Aihadkbhpbm", tag = "2")]
    pub state: i32,
    #[prost(uint32, tag = "15")]
    pub cogbcplmnfd: u32,
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
    #[prost(uint32, tag = "3")]
    pub dgjbacbiico: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnbcpncnoho {
    #[prost(uint32, repeated, tag = "4")]
    pub pnjeepoemca: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "11")]
    pub bjcmphlpknf: ::prost::alloc::vec::Vec<Blnehdifmoo>,
    #[prost(uint32, tag = "12")]
    pub lhnjmbgndkc: u32,
}
/// Obf: PMCANDKDEGB
#[derive(proto_derive::CmdID)]
#[cmdid(4395)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMuseumInfoCsReq {}
/// Obf: JAPGKGGLDFO
#[derive(proto_derive::CmdID)]
#[cmdid(4332)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMuseumInfoScRsp {
    #[prost(uint32, repeated, tag = "3")]
    pub kndmdpefadc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub level: u32,
    #[prost(message, repeated, tag = "2")]
    pub llephoelgda: ::prost::alloc::vec::Vec<Jmeaocpfeol>,
    #[prost(message, optional, tag = "11")]
    pub jpibmbbkgnd: ::core::option::Option<Dolgfnlheae>,
    #[prost(message, repeated, tag = "7")]
    pub bojmnafdjkh: ::prost::alloc::vec::Vec<Olkmlfeefcj>,
    #[prost(uint32, tag = "13")]
    pub exp: u32,
    #[prost(uint32, tag = "4")]
    pub dbjhemippim: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub kndjapnpapk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub ejnkmkffccl: u32,
    #[prost(message, optional, tag = "12")]
    pub ekkolcccnnk: ::core::option::Option<Jnbcpncnoho>,
    #[prost(uint32, tag = "8")]
    pub hpnmpdocjma: u32,
    #[prost(uint32, tag = "1")]
    pub ejkghbemoob: u32,
    #[prost(uint32, tag = "10")]
    pub jbjldppdbbc: u32,
}
/// Obf: IELFKENKBGM
#[derive(proto_derive::CmdID)]
#[cmdid(4331)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BuyNpcStuffCsReq {
    #[prost(uint32, tag = "12")]
    pub bdjcgcdjoeo: u32,
}
/// Obf: KGAFOHOAFAC
#[derive(proto_derive::CmdID)]
#[cmdid(4340)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BuyNpcStuffScRsp {
    #[prost(uint32, tag = "8")]
    pub bdjcgcdjoeo: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: BJCNDPEODHI
#[derive(proto_derive::CmdID)]
#[cmdid(4376)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetStuffToAreaCsReq {
    #[prost(enumeration = "Kamlglmnjgj", tag = "6")]
    pub pos: i32,
    #[prost(uint32, tag = "10")]
    pub bdjcgcdjoeo: u32,
    #[prost(uint32, tag = "14")]
    pub lgkiielghdj: u32,
}
/// Obf: JDIPLKMKLEI
#[derive(proto_derive::CmdID)]
#[cmdid(4348)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetStuffToAreaScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(enumeration = "Kamlglmnjgj", tag = "11")]
    pub pos: i32,
    #[prost(uint32, tag = "9")]
    pub lgkiielghdj: u32,
    #[prost(uint32, tag = "5")]
    pub bdjcgcdjoeo: u32,
}
/// Obf: LCDDFEECNGG
#[derive(proto_derive::CmdID)]
#[cmdid(4371)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RemoveStuffFromAreaCsReq {
    #[prost(uint32, tag = "7")]
    pub bdjcgcdjoeo: u32,
}
/// Obf: BPKBEMJPPBF
#[derive(proto_derive::CmdID)]
#[cmdid(4352)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RemoveStuffFromAreaScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub bdjcgcdjoeo: u32,
}
/// Obf: ODBFDDMDNAK
#[derive(proto_derive::CmdID)]
#[cmdid(4322)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetStuffScNotify {
    #[prost(enumeration = "Kgjjjkpdcfg", tag = "1")]
    pub aocelkonhob: i32,
    #[prost(uint32, tag = "10")]
    pub bdjcgcdjoeo: u32,
}
/// Obf: MIACMEBIFCH
#[derive(proto_derive::CmdID)]
#[cmdid(4356)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetExhibitScNotify {
    #[prost(uint32, tag = "2")]
    pub bccgcfmabgm: u32,
}
/// Obf: LFPEOCEMGMF
#[derive(proto_derive::CmdID)]
#[cmdid(4372)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishCurTurnCsReq {
    #[prost(uint32, tag = "8")]
    pub cciecpfpfjg: u32,
}
/// Obf: IPOHMPKNALK
#[derive(proto_derive::CmdID)]
#[cmdid(4385)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishCurTurnScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub gpoieccpamn: u32,
}
/// Obf: FFIKBMOHGCH
#[derive(proto_derive::CmdID)]
#[cmdid(4316)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpgradeAreaCsReq {
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(uint32, tag = "12")]
    pub area_id: u32,
}
/// Obf: POBHKLNOAPI
#[derive(proto_derive::CmdID)]
#[cmdid(4346)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpgradeAreaScRsp {
    #[prost(uint32, tag = "13")]
    pub area_id: u32,
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: DKFJFHDOGFA
#[derive(proto_derive::CmdID)]
#[cmdid(4383)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpgradeAreaStatCsReq {
    #[prost(enumeration = "Ibbgdgghejl", tag = "5")]
    pub status_info: i32,
    #[prost(uint32, tag = "3")]
    pub area_id: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
/// Obf: GIMHGGFPHJK
#[derive(proto_derive::CmdID)]
#[cmdid(4360)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpgradeAreaStatScRsp {
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(enumeration = "Ibbgdgghejl", tag = "2")]
    pub status_info: i32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub area_id: u32,
}
/// Obf: JHCFEAAHFKC
#[derive(proto_derive::CmdID)]
#[cmdid(4302)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumInfoChangedScNotify {
    #[prost(uint32, tag = "14")]
    pub level: u32,
    #[prost(uint32, tag = "8")]
    pub ejkghbemoob: u32,
    #[prost(uint32, tag = "10")]
    pub exp: u32,
    #[prost(uint32, tag = "5")]
    pub jbjldppdbbc: u32,
    #[prost(message, repeated, tag = "1")]
    pub bojmnafdjkh: ::prost::alloc::vec::Vec<Olkmlfeefcj>,
    #[prost(message, optional, tag = "6")]
    pub ekkolcccnnk: ::core::option::Option<Jnbcpncnoho>,
    #[prost(uint32, repeated, tag = "11")]
    pub kndmdpefadc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub dbjhemippim: u32,
    #[prost(message, repeated, tag = "3")]
    pub llephoelgda: ::prost::alloc::vec::Vec<Jmeaocpfeol>,
    #[prost(uint32, tag = "12")]
    pub hpnmpdocjma: u32,
    #[prost(uint32, tag = "15")]
    pub ejnkmkffccl: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub kndjapnpapk: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "2")]
    pub jpibmbbkgnd: ::core::option::Option<Dolgfnlheae>,
}
/// Obf: NJKGECLEIEJ
#[derive(proto_derive::CmdID)]
#[cmdid(4343)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventStartScNotify {
    #[prost(message, optional, tag = "10")]
    pub hndlhicdnpc: ::core::option::Option<Blnehdifmoo>,
}
/// Obf: BOOMIEGPOPL
#[derive(proto_derive::CmdID)]
#[cmdid(4333)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventQueryCsReq {
    #[prost(int32, tag = "7")]
    pub cehfiilmjkm: i32,
}
/// Obf: FOCGEBJIEBB
#[derive(proto_derive::CmdID)]
#[cmdid(4342)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventQueryScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub hndlhicdnpc: ::core::option::Option<Jnbcpncnoho>,
}
/// Obf: IIGHGCLDOLA
#[derive(proto_derive::CmdID)]
#[cmdid(4377)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventSelectCsReq {
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
    #[prost(uint32, tag = "15")]
    pub dgjbacbiico: u32,
}
/// Obf: JAMLDHMGDFA
#[derive(proto_derive::CmdID)]
#[cmdid(4358)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventSelectScRsp {
    #[prost(uint32, tag = "10")]
    pub event_id: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub dgjbacbiico: u32,
}
/// Obf: NGJDOPNPPGE
#[derive(proto_derive::CmdID)]
#[cmdid(4339)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MuseumFundsChangedScNotify {
    #[prost(uint32, tag = "2")]
    pub dbjhemippim: u32,
}
/// Obf: IGCMGNCHJHL
#[derive(proto_derive::CmdID)]
#[cmdid(4321)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MuseumDispatchFinishedScNotify {
    #[prost(uint32, tag = "5")]
    pub imblgcaadfl: u32,
    #[prost(uint32, tag = "2")]
    pub dbjhemippim: u32,
    #[prost(uint32, tag = "7")]
    pub modfabddnkl: u32,
    #[prost(uint32, tag = "1")]
    pub bdjcgcdjoeo: u32,
}
/// Obf: OPGANLFJPIA
#[derive(proto_derive::CmdID)]
#[cmdid(4329)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MuseumTargetStartNotify {
    #[prost(uint32, tag = "2")]
    pub pngddnajcgg: u32,
}
/// Obf: ABHEGCGEGFD
#[derive(proto_derive::CmdID)]
#[cmdid(4363)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumTargetMissionFinishNotify {
    #[prost(uint32, repeated, tag = "2")]
    pub beleodaiinb: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "11")]
    pub fpbgadbmead: bool,
    #[prost(uint32, tag = "5")]
    pub pngddnajcgg: u32,
}
/// Obf: OANCDPOFCMJ
#[derive(proto_derive::CmdID)]
#[cmdid(4311)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MuseumTargetRewardNotify {
    #[prost(uint32, tag = "5")]
    pub item_id: u32,
    #[prost(uint32, tag = "4")]
    pub pngddnajcgg: u32,
    #[prost(uint32, tag = "3")]
    pub mbejblfhcbh: u32,
}
/// Obf: ACPBHBHLNNP
#[derive(proto_derive::CmdID)]
#[cmdid(4393)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MuseumTakeCollectRewardCsReq {
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
}
/// Obf: PEBFOFMPHLD
#[derive(proto_derive::CmdID)]
#[cmdid(4325)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumTakeCollectRewardScRsp {
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lleogoohjim {
    #[prost(bool, tag = "5")]
    pub gkjgcbpojcm: bool,
    #[prost(uint32, tag = "12")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "1")]
    pub immaphmhijk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pakpcciloln {
    #[prost(uint32, repeated, tag = "1")]
    pub dnkjdjjbcdk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub ojamobmgfbd: u32,
    #[prost(uint32, tag = "12")]
    pub blpbigkjpch: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub nbboabglcjc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LLOEKNIFJGH
#[derive(proto_derive::CmdID)]
#[cmdid(7573)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MusicRhythmDataCsReq {
    #[prost(uint32, tag = "12")]
    pub player_data: u32,
}
/// Obf: PNCLMCMOCDH
#[derive(proto_derive::CmdID)]
#[cmdid(7590)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmDataScRsp {
    #[prost(uint32, repeated, tag = "13")]
    pub fkliofdpjbe: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub ljekppnpbpp: u32,
    #[prost(message, repeated, tag = "1")]
    pub lkmjinniadi: ::prost::alloc::vec::Vec<Lleogoohjim>,
    #[prost(uint32, repeated, tag = "2")]
    pub bmkmenhffok: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "9")]
    pub ocephgbcmib: bool,
    #[prost(uint32, tag = "10")]
    pub cdigalbeima: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub bnanpjbdghb: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "14")]
    pub amdcjjjabcc: ::prost::alloc::vec::Vec<Pakpcciloln>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: FEPACLABFKH
#[derive(proto_derive::CmdID)]
#[cmdid(7596)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MusicRhythmStartLevelCsReq {
    #[prost(uint32, tag = "3")]
    pub acjcphifmln: u32,
}
/// Obf: CMECLLJDMJI
#[derive(proto_derive::CmdID)]
#[cmdid(7589)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmStartLevelScRsp {
    #[prost(string, tag = "15")]
    pub mdlndgijnml: ::prost::alloc::string::String,
    #[prost(uint32, tag = "10")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: DOEJALIHJCD
#[derive(proto_derive::CmdID)]
#[cmdid(7571)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MusicRhythmFinishLevelCsReq {
    #[prost(uint32, tag = "1")]
    pub score: u32,
    #[prost(bool, tag = "12")]
    pub gkjgcbpojcm: bool,
    #[prost(uint32, tag = "11")]
    pub mhkhaclnbpm: u32,
}
/// Obf: FLJGCBPELHO
#[derive(proto_derive::CmdID)]
#[cmdid(7594)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MusicRhythmFinishLevelScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub acjcphifmln: u32,
}
/// Obf: JEMOIIJGKAO
#[derive(proto_derive::CmdID)]
#[cmdid(7577)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmUnlockTrackScNotify {
    #[prost(uint32, repeated, tag = "8")]
    pub jikjhneacjb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DHAKCHLIBNH
#[derive(proto_derive::CmdID)]
#[cmdid(7588)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmSaveSongConfigDataCsReq {
    #[prost(message, optional, tag = "15")]
    pub cgedaboaboh: ::core::option::Option<Pakpcciloln>,
}
/// Obf: KNFHFMIDCGE
#[derive(proto_derive::CmdID)]
#[cmdid(7600)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MusicRhythmSaveSongConfigDataScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub mbldfhldcpi: u32,
    #[prost(uint32, tag = "3")]
    pub cdigalbeima: u32,
}
/// Obf: ICKBFLLLNLH
#[derive(proto_derive::CmdID)]
#[cmdid(7581)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmUnlockSongNotify {
    #[prost(uint32, repeated, tag = "6")]
    pub oafhaopejpo: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PJCMNLHELJG
#[derive(proto_derive::CmdID)]
#[cmdid(7579)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MusicRhythmMaxDifficultyLevelsUnlockNotify {}
/// Obf: MABNDMNEOBP
#[derive(proto_derive::CmdID)]
#[cmdid(7592)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmUnlockSongSfxScNotify {
    #[prost(uint32, repeated, tag = "15")]
    pub oafhaopejpo: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkmkchnpkdc {
    #[prost(uint32, tag = "1")]
    pub hidbcpinlmh: u32,
    #[prost(enumeration = "Fbomlibegoc", tag = "4")]
    pub mjgdopckeif: i32,
    #[prost(uint32, tag = "11")]
    pub mkkfmndmhje: u32,
    #[prost(uint32, tag = "10")]
    pub njhlopcjjda: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub fcfdbnjenjf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub kmnlbgoeehg: u32,
}
/// Obf: FBCNGILDCAL
#[derive(proto_derive::CmdID)]
#[cmdid(6934)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetOfferingInfoCsReq {
    #[prost(uint32, repeated, tag = "14")]
    pub gpjcdjglgof: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OOMAIBAJOAN
#[derive(proto_derive::CmdID)]
#[cmdid(6933)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetOfferingInfoScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "2")]
    pub gdamadmhhgf: ::prost::alloc::vec::Vec<Hkmkchnpkdc>,
}
/// Obf: OPCMLGFFFKD
#[derive(proto_derive::CmdID)]
#[cmdid(6928)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubmitOfferingItemCsReq {
    #[prost(uint32, tag = "12")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, tag = "5")]
    pub kmnlbgoeehg: u32,
}
/// Obf: DLIFLGGHNCM
#[derive(proto_derive::CmdID)]
#[cmdid(6930)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitOfferingItemScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub ppjdapbpoap: ::core::option::Option<Hkmkchnpkdc>,
}
/// Obf: NCNENNJGCEJ
#[derive(proto_derive::CmdID)]
#[cmdid(6924)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOfferingRewardCsReq {
    #[prost(uint32, tag = "15")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, tag = "13")]
    pub kmnlbgoeehg: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub fbkccpkieia: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CBPGDFBGMLC
#[derive(proto_derive::CmdID)]
#[cmdid(6922)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOfferingRewardScRsp {
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "8")]
    pub ppjdapbpoap: ::core::option::Option<Hkmkchnpkdc>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: AGDKFNEMODP
#[derive(proto_derive::CmdID)]
#[cmdid(6940)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OfferingInfoScNotify {
    #[prost(message, optional, tag = "8")]
    pub ppjdapbpoap: ::core::option::Option<Hkmkchnpkdc>,
}
/// Obf: KNHNOIKKCAA
#[derive(proto_derive::CmdID)]
#[cmdid(4095)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AcceptedPamMissionExpireCsReq {
    #[prost(uint32, tag = "9")]
    pub main_mission_id: u32,
}
/// Obf: HFCKILKEBMH
#[derive(proto_derive::CmdID)]
#[cmdid(4032)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AcceptedPamMissionExpireScRsp {
    #[prost(uint32, tag = "5")]
    pub main_mission_id: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: OKPOKDGMOEI
#[derive(proto_derive::CmdID)]
#[cmdid(4031)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncAcceptedPamMissionNotify {
    #[prost(uint64, tag = "10")]
    pub pambjbfngpo: u64,
    #[prost(uint32, tag = "14")]
    pub main_mission_id: u32,
}
/// Obf: IANFOLLDCFN
#[derive(proto_derive::CmdID)]
#[cmdid(8134)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPamSkinDataCsReq {}
/// Obf: IMMHJOKNGPA
#[derive(proto_derive::CmdID)]
#[cmdid(8133)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPamSkinDataScRsp {
    #[prost(uint32, repeated, tag = "15")]
    pub unlocked_pam_skins: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub current_pam_skin_id: u32,
}
/// Obf: GKGPODJKBIP
#[derive(proto_derive::CmdID)]
#[cmdid(8128)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectPamSkinCsReq {
    #[prost(uint32, tag = "13")]
    pub pam_skin_id: u32,
}
/// Obf: KEAHBIODCID
#[derive(proto_derive::CmdID)]
#[cmdid(8130)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectPamSkinScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub current_pam_skin_id: u32,
    #[prost(uint32, tag = "8")]
    pub select_pam_skin_id: u32,
}
/// Obf: IOLKOFECEKC
#[derive(proto_derive::CmdID)]
#[cmdid(8124)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockPamSkinScNotify {
    #[prost(uint32, tag = "11")]
    pub pam_skin_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ggdemgbofgo {
    #[prost(uint32, tag = "14")]
    pub time: u32,
    #[prost(bool, tag = "5")]
    pub kkehmbpjooc: bool,
    #[prost(uint32, tag = "15")]
    pub acjcphifmln: u32,
}
/// Obf: CEHPIACKNMO
#[derive(proto_derive::CmdID)]
#[cmdid(8394)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParkourGetDataCsReq {}
/// Obf: MEDMMLKPLNL
#[derive(proto_derive::CmdID)]
#[cmdid(8393)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParkourGetDataScRsp {
    #[prost(message, repeated, tag = "4")]
    pub kcmcmpfonko: ::prost::alloc::vec::Vec<Ggdemgbofgo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dgefmlbpfmm {
    #[prost(uint32, tag = "1")]
    pub time: u32,
    #[prost(uint32, tag = "14")]
    pub id: u32,
    #[prost(uint32, tag = "8")]
    pub lpbhomfclon: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oofkebpanlp {
    #[prost(uint32, tag = "12")]
    pub acjcphifmln: u32,
    #[prost(message, repeated, tag = "7")]
    pub dcfhgaajlnn: ::prost::alloc::vec::Vec<Dgefmlbpfmm>,
}
/// Obf: LAAICGPFABC
#[derive(proto_derive::CmdID)]
#[cmdid(8388)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParkourGetRankingInfoCsReq {}
/// Obf: FLIGGDLDOKH
#[derive(proto_derive::CmdID)]
#[cmdid(8390)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParkourGetRankingInfoScRsp {
    #[prost(message, repeated, tag = "8")]
    pub pfengldjcmg: ::prost::alloc::vec::Vec<Oofkebpanlp>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub njgpikcfjnl: ::core::option::Option<Oofkebpanlp>,
}
/// Obf: FCMADPMOMGD
#[derive(proto_derive::CmdID)]
#[cmdid(8384)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParkourStartLevelCsReq {
    #[prost(uint32, tag = "5")]
    pub pofmcalhooc: u32,
    #[prost(uint32, tag = "1")]
    pub acjcphifmln: u32,
}
/// Obf: GPFIOILCDDH
#[derive(proto_derive::CmdID)]
#[cmdid(8382)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParkourStartLevelScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "3")]
    pub pofmcalhooc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bfpolegccpj {
    #[prost(uint32, tag = "5")]
    pub cnt: u32,
    #[prost(enumeration = "Hcfffeimcmf", tag = "7")]
    pub slot: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dckpbicnmkk {
    #[prost(uint32, tag = "5")]
    pub id: u32,
    #[prost(uint32, tag = "11")]
    pub cnt: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ooalaodncpe {
    #[prost(uint32, tag = "11")]
    pub dhdlndfibkc: u32,
    #[prost(uint32, tag = "14")]
    pub nbnekbdillk: u32,
    #[prost(uint32, tag = "15")]
    pub mmabimiejnj: u32,
    #[prost(message, repeated, tag = "1")]
    pub apnnbdbenlc: ::prost::alloc::vec::Vec<Dckpbicnmkk>,
    #[prost(uint32, tag = "3")]
    pub oggegaolpgn: u32,
    #[prost(uint32, tag = "9")]
    pub gfdipldifhg: u32,
    #[prost(uint32, tag = "7")]
    pub jehjljdkbge: u32,
    #[prost(uint32, tag = "10")]
    pub nfphcjipijh: u32,
    #[prost(uint32, tag = "5")]
    pub oigkboohnii: u32,
    #[prost(uint32, tag = "6")]
    pub fodekcobffa: u32,
    #[prost(uint32, tag = "4")]
    pub neefgjbmcll: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fjjofekpddh {
    #[prost(uint32, tag = "6")]
    pub adjopiaibmg: u32,
    #[prost(uint32, tag = "9")]
    pub hlkdfincppm: u32,
    #[prost(uint32, tag = "13")]
    pub cnjjhfpmiip: u32,
    #[prost(uint32, tag = "1")]
    pub chakndokncb: u32,
}
/// Obf: FCEFAKEBFFM
#[derive(proto_derive::CmdID)]
#[cmdid(8400)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParkourEndLevelCsReq {
    #[prost(message, optional, tag = "11")]
    pub ifenfkggiem: ::core::option::Option<Ooalaodncpe>,
    #[prost(uint32, tag = "9")]
    pub rank: u32,
    #[prost(enumeration = "Poahabdkpkj", tag = "5")]
    pub hbgclmcgnfm: i32,
    #[prost(uint32, tag = "12")]
    pub baabddjehmc: u32,
    #[prost(uint32, tag = "7")]
    pub pofmcalhooc: u32,
    #[prost(message, repeated, tag = "1")]
    pub aedbpadegfi: ::prost::alloc::vec::Vec<Bfpolegccpj>,
    #[prost(uint32, tag = "14")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "15")]
    pub time: u32,
    #[prost(uint32, tag = "2")]
    pub eefcbbkkflc: u32,
    #[prost(message, repeated, tag = "8")]
    pub hmbheigkdbk: ::prost::alloc::vec::Vec<Fjjofekpddh>,
}
/// Obf: PIOJEPCPKAC
#[derive(proto_derive::CmdID)]
#[cmdid(8389)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParkourEndLevelScRsp {
    #[prost(enumeration = "Poahabdkpkj", tag = "10")]
    pub hbgclmcgnfm: i32,
    #[prost(uint32, tag = "11")]
    pub acjcphifmln: u32,
    #[prost(bool, tag = "12")]
    pub kkehmbpjooc: bool,
    #[prost(message, optional, tag = "2")]
    pub blmdkjkoioh: ::core::option::Option<Ggdemgbofgo>,
    #[prost(bool, tag = "1")]
    pub fdgmoeoajkp: bool,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub time: u32,
}
/// Obf: BKFCEFHDPCF
#[derive(proto_derive::CmdID)]
#[cmdid(7611)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPetDataCsReq {}
/// Obf: DPLNLFKGHHO
#[derive(proto_derive::CmdID)]
#[cmdid(7620)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPetDataScRsp {
    #[prost(uint32, tag = "10")]
    pub pet_id: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub owned_pet_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: FMNKJCBDLEJ
#[derive(proto_derive::CmdID)]
#[cmdid(7609)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SummonPetCsReq {
    #[prost(uint32, tag = "7")]
    pub summoned_pet_id: u32,
}
/// Obf: FIFKOAJCKEJ
#[derive(proto_derive::CmdID)]
#[cmdid(7619)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SummonPetScRsp {
    #[prost(uint32, tag = "13")]
    pub pet_item_id: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub pet_id: u32,
}
/// Obf: EKNDMAJKKKB
#[derive(proto_derive::CmdID)]
#[cmdid(7624)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RecallPetCsReq {
    #[prost(uint32, tag = "11")]
    pub summoned_pet_id: u32,
}
/// Obf: CILLCOPKKDL
#[derive(proto_derive::CmdID)]
#[cmdid(7601)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RecallPetScRsp {
    #[prost(uint32, tag = "4")]
    pub pet_id: u32,
    #[prost(uint32, tag = "7")]
    pub pet_item_id: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: KIJFPBFKMKA
#[derive(proto_derive::CmdID)]
#[cmdid(7603)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CurPetChangedScNotify {
    #[prost(uint32, tag = "2")]
    pub pet_id: u32,
}
/// Obf: FKOOKNOIDAB
#[derive(proto_derive::CmdID)]
#[cmdid(5195)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPhoneDataCsReq {}
/// Obf: PMPAJBKNDHC
#[derive(proto_derive::CmdID)]
#[cmdid(5132)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPhoneDataScRsp {
    #[prost(uint32, tag = "7")]
    pub cur_phone_theme: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub owned_phone_themes: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub cur_chat_bubble: u32,
    #[prost(uint32, tag = "4")]
    pub lmocamklkpi: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub owned_chat_bubbles: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub kkneegdkemd: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CMGEDCCBJGH
#[derive(proto_derive::CmdID)]
#[cmdid(5131)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectChatBubbleCsReq {
    #[prost(uint32, tag = "1")]
    pub bubble_id: u32,
}
/// Obf: MALLKFJAEAH
#[derive(proto_derive::CmdID)]
#[cmdid(5140)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectChatBubbleScRsp {
    #[prost(uint32, tag = "6")]
    pub cur_chat_bubble: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub pmdcbfopchb: u32,
}
/// Obf: GHAALGCBPCA
#[derive(proto_derive::CmdID)]
#[cmdid(5176)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockChatBubbleScNotify {
    #[prost(uint32, tag = "11")]
    pub bubble_id: u32,
}
/// Obf: EDHCHAJIMCA
#[derive(proto_derive::CmdID)]
#[cmdid(5148)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectPhoneThemeCsReq {
    #[prost(uint32, tag = "3")]
    pub theme_id: u32,
}
/// Obf: KODDPLOIHFK
#[derive(proto_derive::CmdID)]
#[cmdid(5171)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectPhoneThemeScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub achopojlcce: u32,
    #[prost(uint32, tag = "12")]
    pub cur_phone_theme: u32,
}
/// Obf: GOAAANNKAPL
#[derive(proto_derive::CmdID)]
#[cmdid(5152)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockPhoneThemeScNotify {
    #[prost(uint32, tag = "5")]
    pub theme_id: u32,
}
/// Obf: PDNNFCNOHIK
#[derive(proto_derive::CmdID)]
#[cmdid(5122)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectPhoneCaseCsReq {
    #[prost(uint32, tag = "13")]
    pub gianhliikia: u32,
}
/// Obf: BJKCHHNNHGO
#[derive(proto_derive::CmdID)]
#[cmdid(5156)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectPhoneCaseScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub pdacjdieojg: u32,
    #[prost(uint32, tag = "3")]
    pub lmocamklkpi: u32,
}
/// Obf: GNAJBMACMDG
#[derive(proto_derive::CmdID)]
#[cmdid(5172)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockPhoneCaseScNotify {
    #[prost(uint32, tag = "11")]
    pub gianhliikia: u32,
}
/// Obf: PEJKMMNDPFJ
#[derive(proto_derive::CmdID)]
#[cmdid(8204)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPlanetFesDataCsReq {}
/// Obf: OCHEDCALAOF
#[derive(proto_derive::CmdID)]
#[cmdid(8246)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlanetFesDataScRsp {
    #[prost(message, optional, tag = "7")]
    pub hljmhnabfmc: ::core::option::Option<Ajcjchljbgf>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub lapcheignmj: ::core::option::Option<Dkejeoehagm>,
    #[prost(message, repeated, tag = "11")]
    pub kfbpcfdhlhl: ::prost::alloc::vec::Vec<Khocchabnmn>,
    #[prost(message, optional, tag = "12")]
    pub heojnaimgkc: ::core::option::Option<Clknibojlgp>,
    #[prost(message, optional, tag = "13")]
    pub fdhgikjdlgd: ::core::option::Option<Kofollacigo>,
    #[prost(message, optional, tag = "3")]
    pub ebgngdgbolh: ::core::option::Option<Jnipiaadoip>,
    #[prost(message, optional, tag = "15")]
    pub admjkkoiagd: ::core::option::Option<Gjbfgabaamo>,
    #[prost(message, optional, tag = "1")]
    pub lmgkmaoicgc: ::core::option::Option<Gcamegpepol>,
    #[prost(message, optional, tag = "9")]
    pub kjkbkegighk: ::core::option::Option<Afbamplgheh>,
    #[prost(message, optional, tag = "10")]
    pub hmffhbhalge: ::core::option::Option<Mioaegbpoma>,
    #[prost(message, optional, tag = "14")]
    pub skill_info: ::core::option::Option<Iacfpgolflm>,
    #[prost(message, optional, tag = "2")]
    pub hbdliicpkob: ::core::option::Option<Oainkjlpcdk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iikngnhdmfi {
    #[prost(uint32, repeated, tag = "7")]
    pub mcnmhbjhmme: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GLLLJCAAFFE
#[derive(proto_derive::CmdID)]
#[cmdid(8202)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesSyncChangeScNotify {
    #[prost(message, repeated, tag = "9")]
    pub leadmneimdp: ::prost::alloc::vec::Vec<Ccnanlcoddf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oidffleeall {
    #[prost(uint32, tag = "11")]
    pub ihelajnmmbf: u32,
    #[prost(uint32, tag = "8")]
    pub imfcimkmjpl: u32,
    #[prost(uint32, tag = "4")]
    pub kejnimghoig: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ccnanlcoddf {
    #[prost(message, optional, tag = "9")]
    pub source: ::core::option::Option<Oidffleeall>,
    #[prost(message, optional, tag = "3")]
    pub pbhmgchkjgo: ::core::option::Option<Hmbanckgbii>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofgbmcknldj {
    #[prost(message, optional, tag = "8")]
    pub jcfplghkjaa: ::core::option::Option<Iikngnhdmfi>,
    #[prost(int64, tag = "6")]
    pub mfknhhnfkgi: i64,
    #[prost(uint32, tag = "5")]
    pub dgcflhcpjln: u32,
    #[prost(message, optional, tag = "1")]
    pub bjodeepgopc: ::core::option::Option<Iikngnhdmfi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kofollacigo {
    #[prost(message, repeated, tag = "13")]
    pub inllekamnpf: ::prost::alloc::vec::Vec<Ofgbmcknldj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eoaegaefpfh {
    #[prost(uint32, tag = "4")]
    pub level: u32,
    #[prost(uint32, tag = "6")]
    pub mhkhaclnbpm: u32,
    #[prost(uint32, tag = "9")]
    pub paehamjhndd: u32,
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkejeoehagm {
    #[prost(message, repeated, tag = "8")]
    pub avatar_list: ::prost::alloc::vec::Vec<Eoaegaefpfh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ceoddceiddl {
    #[prost(uint32, tag = "12")]
    pub item_id: u32,
    #[prost(uint32, tag = "14")]
    pub mbejblfhcbh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajcjchljbgf {
    #[prost(message, repeated, tag = "9")]
    pub item_list: ::prost::alloc::vec::Vec<Ceoddceiddl>,
    #[prost(message, optional, tag = "4")]
    pub item_value: ::core::option::Option<Iikngnhdmfi>,
    #[prost(message, optional, tag = "13")]
    pub pcajncbmimm: ::core::option::Option<Iikngnhdmfi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oainkjlpcdk {
    #[prost(message, repeated, tag = "12")]
    pub pocjcmkkjik: ::prost::alloc::vec::Vec<Ppfcjhekolg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppfcjhekolg {
    #[prost(message, optional, tag = "3")]
    pub source: ::core::option::Option<Oidffleeall>,
    #[prost(uint64, tag = "4")]
    pub unique_id: u64,
    #[prost(message, repeated, tag = "10")]
    pub dfcfhhlbgdc: ::prost::alloc::vec::Vec<Fimacphlmno>,
    #[prost(uint32, tag = "5")]
    pub config_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fimacphlmno {
    #[prost(oneof = "fimacphlmno::Buff", tags = "9")]
    pub buff: ::core::option::Option<fimacphlmno::Buff>,
}
/// Nested message and enum types in `FIMACPHLMNO`.
pub mod fimacphlmno {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(int64, tag = "9")]
        Kbefcmiiiin(i64),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adafjfojdeg {
    #[prost(uint32, tag = "1")]
    pub jlfabhhnhcm: u32,
    #[prost(uint32, tag = "12")]
    pub progress: u32,
    #[prost(uint32, tag = "3")]
    pub mfanncagdmp: u32,
    #[prost(enumeration = "Gmfejefibbi", tag = "6")]
    pub status: i32,
    #[prost(oneof = "adafjfojdeg::Gniohlclpmp", tags = "5, 4")]
    pub gniohlclpmp: ::core::option::Option<adafjfojdeg::Gniohlclpmp>,
}
/// Nested message and enum types in `ADAFJFOJDEG`.
pub mod adafjfojdeg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Gniohlclpmp {
        #[prost(uint32, tag = "5")]
        Bonaghbbicf(u32),
        #[prost(message, tag = "4")]
        Nnhpcoiikff(super::Iikngnhdmfi),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pcodfcnkhjk {
    #[prost(uint32, tag = "13")]
    pub eofeldeapeo: u32,
    #[prost(uint32, tag = "11")]
    pub dcnphbdddip: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clknibojlgp {
    #[prost(message, repeated, tag = "4")]
    pub quest_list: ::prost::alloc::vec::Vec<Adafjfojdeg>,
    #[prost(message, optional, tag = "3")]
    pub cmhnljjodjf: ::core::option::Option<Pcodfcnkhjk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gcamegpepol {
    #[prost(uint32, tag = "2")]
    pub pjolemhlgnl: u32,
    #[prost(message, optional, tag = "4")]
    pub ehbjbpcnplg: ::core::option::Option<Iikngnhdmfi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dhnfbgenlig {
    #[prost(uint32, tag = "12")]
    pub progress: u32,
    #[prost(uint32, tag = "15")]
    pub bhpcnnfokee: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afbamplgheh {
    #[prost(uint32, repeated, tag = "2")]
    pub ihbjiihbibp: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "8")]
    pub nckcmgcbehk: ::prost::alloc::vec::Vec<Dhnfbgenlig>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hfocnhojlah {
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(uint32, tag = "6")]
    pub skill_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iacfpgolflm {
    #[prost(message, repeated, tag = "9")]
    pub skill_info_list: ::prost::alloc::vec::Vec<Hfocnhojlah>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjbfgabaamo {
    #[prost(uint32, tag = "11")]
    pub eimgbknlgnf: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub hignfpjlfka: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mioaegbpoma {
    #[prost(uint32, repeated, tag = "2")]
    pub fgimacchhdk: ::prost::alloc::vec::Vec<u32>,
    #[prost(int64, tag = "12")]
    pub epcpdocdocb: i64,
    #[prost(uint32, tag = "13")]
    pub fgpacihlanb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmbanckgbii {
    #[prost(
        oneof = "hmbanckgbii::Buff",
        tags = "3, 7, 13, 12, 9, 10, 8, 4, 5, 1, 6, 15, 11, 14, 2, 390, 1303, 1145, 1384, 797, 1446, 198, 1683, 1978, 79, 1725, 958, 656"
    )]
    pub buff: ::core::option::Option<hmbanckgbii::Buff>,
}
/// Nested message and enum types in `HMBANCKGBII`.
pub mod hmbanckgbii {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "3")]
        Lkmlgoeeekh(super::Giedcjdlege),
        #[prost(message, tag = "7")]
        Cohnlgmifbo(super::Giedcjdlege),
        #[prost(message, tag = "13")]
        Pmlocbhiddl(super::Hpgagbgjlid),
        #[prost(message, tag = "12")]
        Lebmnloakhc(super::Hpgagbgjlid),
        #[prost(message, tag = "9")]
        Kbnligljenn(super::Ofgbmcknldj),
        #[prost(message, tag = "10")]
        Mmfbenambne(super::Ofgbmcknldj),
        #[prost(message, tag = "8")]
        Gnaidhhjebi(super::Eoaegaefpfh),
        #[prost(message, tag = "4")]
        Jbdhlhhfdge(super::Eoaegaefpfh),
        #[prost(message, tag = "5")]
        Jplplfcookd(super::Ppfcjhekolg),
        #[prost(message, tag = "1")]
        Mkofoocokbk(super::Ppfcjhekolg),
        #[prost(message, tag = "6")]
        Olmgneoahop(super::Phfbdnnlinf),
        #[prost(message, tag = "15")]
        Gbffgphfmdp(super::Adafjfojdeg),
        #[prost(message, tag = "11")]
        Dmnmifjhecl(super::Adafjfojdeg),
        #[prost(message, tag = "14")]
        Imfcdmieopl(super::Pcodfcnkhjk),
        #[prost(message, tag = "2")]
        Pcllcbmhcbd(super::Olbopgjffpm),
        #[prost(message, tag = "390")]
        Biedmjpaebd(super::Hfocnhojlah),
        #[prost(message, tag = "1303")]
        Foicfogcgia(super::Pgndibbgijn),
        #[prost(message, tag = "1145")]
        Nceidlnkbbg(super::Djoeeghmcfj),
        #[prost(message, tag = "1384")]
        Kmmdpejakec(super::Cbikmffdcgi),
        #[prost(message, tag = "797")]
        Gpnlpneehdm(super::Hpcaimkjdij),
        #[prost(message, tag = "1446")]
        Cneklokhahl(super::Hohdmmndknj),
        #[prost(message, tag = "198")]
        Dmfjdahpiid(super::Fhngonefbde),
        #[prost(message, tag = "1683")]
        Iloekhkejaj(super::Ppfcjhekolg),
        #[prost(message, tag = "1978")]
        Laegjpilnnd(super::Iljjbgifdpe),
        #[prost(message, tag = "79")]
        Lcdklahgkji(super::Deinadpehke),
        #[prost(message, tag = "1725")]
        Bcaddfdbfna(super::Bkbilpdkoil),
        #[prost(message, tag = "958")]
        Liglefjmlhm(super::Eikaiidaepp),
        #[prost(message, tag = "656")]
        Gbncidjnlpl(super::Gjipjngnfej),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Olbopgjffpm {
    #[prost(bool, tag = "15")]
    pub biinncndpcg: bool,
    #[prost(message, optional, tag = "3")]
    pub kjkbkegighk: ::core::option::Option<Dhnfbgenlig>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phfbdnnlinf {
    #[prost(message, optional, tag = "9")]
    pub ehbjbpcnplg: ::core::option::Option<Iikngnhdmfi>,
    #[prost(uint32, tag = "1")]
    pub pjolemhlgnl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Giedcjdlege {
    #[prost(message, optional, tag = "3")]
    pub mfnaglkdpni: ::core::option::Option<Iikngnhdmfi>,
    #[prost(message, optional, tag = "6")]
    pub bmalpkekbel: ::core::option::Option<Iikngnhdmfi>,
    #[prost(message, optional, tag = "4")]
    pub ogjofmcmfpg: ::core::option::Option<Iikngnhdmfi>,
    #[prost(uint32, repeated, tag = "2")]
    pub blcabemfach: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hpgagbgjlid {
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
    #[prost(uint32, tag = "15")]
    pub ogjofmcmfpg: u32,
    #[prost(uint32, tag = "10")]
    pub bmalpkekbel: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pgndibbgijn {
    #[prost(uint32, tag = "15")]
    pub ecilicnolfn: u32,
    #[prost(uint32, tag = "13")]
    pub gfjaghljjdn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Npaiinekefb {
    #[prost(message, optional, tag = "7")]
    pub dmaimcppjgh: ::core::option::Option<Iikngnhdmfi>,
    #[prost(uint32, tag = "2")]
    pub pefdlajlcjb: u32,
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "6")]
    pub jlceefbljdc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iljjbgifdpe {
    #[prost(uint32, tag = "9")]
    pub nijmjbmcfjf: u32,
    #[prost(message, optional, tag = "11")]
    pub pehingjkgcb: ::core::option::Option<Iikngnhdmfi>,
    #[prost(uint32, tag = "7")]
    pub ccigdjcgamd: u32,
    #[prost(message, optional, tag = "15")]
    pub eajpdpcdjpk: ::core::option::Option<Iikngnhdmfi>,
    #[prost(uint32, tag = "3")]
    pub nlaompdenkk: u32,
    #[prost(message, optional, tag = "12")]
    pub fofhieiicpb: ::core::option::Option<Iikngnhdmfi>,
    #[prost(map = "uint32, uint32", tag = "2")]
    pub bjelclbgalf: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "13")]
    pub hdkafnkhala: u32,
    #[prost(uint32, tag = "1")]
    pub membicnifli: u32,
    #[prost(message, repeated, tag = "5")]
    pub oebafbigmbc: ::prost::alloc::vec::Vec<Npaiinekefb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djoeeghmcfj {
    #[prost(message, optional, tag = "13")]
    pub aakdahhigif: ::core::option::Option<Egbkgemfodn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpcaimkjdij {
    #[prost(message, optional, tag = "2")]
    pub jilaggdmall: ::core::option::Option<Ilmelfjccmd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbikmffdcgi {
    #[prost(message, optional, tag = "1")]
    pub hhjocipobcf: ::core::option::Option<Iikngnhdmfi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hohdmmndknj {
    #[prost(enumeration = "Dfhejcijbej", tag = "5")]
    pub podgjpekeeg: i32,
    #[prost(message, optional, tag = "8")]
    pub nfjlfnbpppg: ::core::option::Option<Jofgdaiadbo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fhngonefbde {
    #[prost(uint32, tag = "2")]
    pub eimgbknlgnf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohdhpclijnh {
    #[prost(uint32, tag = "11")]
    pub eafomflmojj: u32,
    #[prost(uint32, tag = "14")]
    pub iacphgojhmb: u32,
    #[prost(uint32, tag = "7")]
    pub cioaogdkfog: u32,
    #[prost(uint32, tag = "12")]
    pub ginmoibglnm: u32,
    #[prost(message, optional, tag = "3")]
    pub kjbkngcfbbp: ::core::option::Option<Iikngnhdmfi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djiaemangcg {
    #[prost(message, repeated, tag = "3")]
    pub transfer_item_list: ::prost::alloc::vec::Vec<Ohdhpclijnh>,
    #[prost(message, repeated, tag = "13")]
    pub item_list: ::prost::alloc::vec::Vec<Ceoddceiddl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfaaefcejpa {
    #[prost(message, optional, tag = "14")]
    pub pkbbhjpaeki: ::core::option::Option<Ohdhpclijnh>,
    #[prost(message, optional, tag = "5")]
    pub hocnlijhjjk: ::core::option::Option<Ceoddceiddl>,
}
/// Obf: BAILPFJGMLE
#[derive(proto_derive::CmdID)]
#[cmdid(8237)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesCollectIncomeCsReq {
    #[prost(uint32, tag = "8")]
    pub dgcflhcpjln: u32,
}
/// Obf: PNJJMKEHDPG
#[derive(proto_derive::CmdID)]
#[cmdid(8236)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesCollectIncomeScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pfbfimjfegi {
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "4")]
    pub dgcflhcpjln: u32,
}
/// Obf: NHMBLKBLDOP
#[derive(proto_derive::CmdID)]
#[cmdid(8217)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesSetAvatarWorkCsReq {
    #[prost(message, repeated, tag = "4")]
    pub kngpofhnfaj: ::prost::alloc::vec::Vec<Pfbfimjfegi>,
}
/// Obf: DNEJNDIJELO
#[derive(proto_derive::CmdID)]
#[cmdid(8227)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesSetAvatarWorkScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: JNNOGMCDKJK
#[derive(proto_derive::CmdID)]
#[cmdid(8215)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesBuyLandCsReq {
    #[prost(uint32, tag = "13")]
    pub dgcflhcpjln: u32,
}
/// Obf: EEFNFHKOIJP
#[derive(proto_derive::CmdID)]
#[cmdid(8243)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesBuyLandScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: CAHHKIIFJMG
#[derive(proto_derive::CmdID)]
#[cmdid(8209)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesClientStatusCsReq {
    #[prost(bool, tag = "15")]
    pub fjinnlfcboj: bool,
}
/// Obf: OJNMBPDDGOK
#[derive(proto_derive::CmdID)]
#[cmdid(8245)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesClientStatusScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: HNJCKGGBCOB
#[derive(proto_derive::CmdID)]
#[cmdid(8207)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesCollectAllIncomeCsReq {}
/// Obf: NLHNGPHIGNA
#[derive(proto_derive::CmdID)]
#[cmdid(8250)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesCollectAllIncomeScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub gndcammiloi: ::core::option::Option<Iikngnhdmfi>,
}
/// Obf: JNIDOJLNOFD
#[derive(proto_derive::CmdID)]
#[cmdid(8240)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesDoGachaCsReq {
    #[prost(uint32, tag = "7")]
    pub ifngnhhcngl: u32,
    #[prost(uint32, tag = "6")]
    pub gacha_id: u32,
    #[prost(uint32, tag = "13")]
    pub simulate_magic: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Neihldgebhe {
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "12")]
    pub jkjncnclfld: u32,
    #[prost(message, optional, tag = "4")]
    pub lpdeopgelle: ::core::option::Option<Bfaaefcejpa>,
    #[prost(uint32, tag = "15")]
    pub fljpkfjajfp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cgojkboeofo {
    #[prost(message, repeated, tag = "9")]
    pub dhhaphnmedf: ::prost::alloc::vec::Vec<Neihldgebhe>,
    #[prost(uint32, repeated, tag = "13")]
    pub jcdjcanehjd: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "6")]
    pub gmofklbfapl: ::prost::alloc::vec::Vec<Bfaaefcejpa>,
    #[prost(message, optional, tag = "15")]
    pub cabcgkngaoc: ::core::option::Option<Iikngnhdmfi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjcakifoocp {
    #[prost(message, optional, tag = "15")]
    pub jfmahmofjpi: ::core::option::Option<Djiaemangcg>,
    #[prost(uint32, repeated, tag = "5")]
    pub ecdambiifci: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DMBEKDDJJKE
#[derive(proto_derive::CmdID)]
#[cmdid(8220)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesDoGachaScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub gacha_id: u32,
    #[prost(message, repeated, tag = "10")]
    pub cikepdangfd: ::prost::alloc::vec::Vec<Ceoddceiddl>,
    #[prost(oneof = "planet_fes_do_gacha_sc_rsp::Ccpfabancnn", tags = "12, 11")]
    pub ccpfabancnn: ::core::option::Option<planet_fes_do_gacha_sc_rsp::Ccpfabancnn>,
}
/// Nested message and enum types in `PlanetFesDoGachaScRsp`.
pub mod planet_fes_do_gacha_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ccpfabancnn {
        #[prost(message, tag = "12")]
        Idgklmcepbo(super::Cgojkboeofo),
        #[prost(message, tag = "11")]
        Jabdcpfpoke(super::Pjcakifoocp),
    }
}
/// Obf: AOHIONCOMDE
#[derive(proto_derive::CmdID)]
#[cmdid(8244)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesAvatarLevelUpCsReq {
    #[prost(uint32, tag = "15")]
    pub ldnjeacfbje: u32,
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
}
/// Obf: PDPLMFMOLKN
#[derive(proto_derive::CmdID)]
#[cmdid(8232)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesAvatarLevelUpScRsp {
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "11")]
    pub ldnjeacfbje: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<PlanetFesReward>,
    #[prost(uint32, tag = "6")]
    pub bhpfpejbkec: u32,
}
/// Obf: ENBMABHKKOL
#[derive(proto_derive::CmdID)]
#[cmdid(8223)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesTakeQuestRewardCsReq {
    #[prost(uint32, tag = "9")]
    pub jlfabhhnhcm: u32,
}
/// Obf: EPDMGGGFJFH
#[derive(proto_derive::CmdID)]
#[cmdid(8226)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesTakeQuestRewardScRsp {
    #[prost(message, optional, tag = "9")]
    pub dnffkabfoef: ::core::option::Option<Djiaemangcg>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub jlfabhhnhcm: u32,
}
/// Obf: MDILHLHLHKI
#[derive(proto_derive::CmdID)]
#[cmdid(8211)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesUpgradeSkillLevelCsReq {
    #[prost(uint32, tag = "2")]
    pub ldnjeacfbje: u32,
    #[prost(uint32, tag = "13")]
    pub skill_id: u32,
}
/// Obf: KMDOBGMMNDE
#[derive(proto_derive::CmdID)]
#[cmdid(8238)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesUpgradeSkillLevelScRsp {
    #[prost(uint32, tag = "11")]
    pub skill_level: u32,
    #[prost(message, optional, tag = "14")]
    pub item_cost_list: ::core::option::Option<Ceoddceiddl>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub skill_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesReward {
    #[prost(message, optional, tag = "3")]
    pub coin: ::core::option::Option<Iikngnhdmfi>,
    #[prost(map = "uint32, uint32", tag = "12")]
    pub buff_map: ::std::collections::HashMap<u32, u32>,
    #[prost(message, repeated, tag = "6")]
    pub item_list: ::prost::alloc::vec::Vec<Ceoddceiddl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Knokilfkohi {
    #[prost(uint32, tag = "12")]
    pub aopikhkkglm: u32,
    #[prost(uint32, tag = "15")]
    pub joooeafokhk: u32,
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlljmiaghdd {
    #[prost(message, repeated, tag = "5")]
    pub fjhgckenopf: ::prost::alloc::vec::Vec<Knokilfkohi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Efhabdofkde {
    #[prost(map = "uint32, uint32", tag = "4")]
    pub agmgppaomka: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "12")]
    pub epmoohcjnho: u32,
    #[prost(uint32, tag = "3")]
    pub nngopakjicc: u32,
    #[prost(uint32, tag = "1")]
    pub bpcfoeghonc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cgomnlbljgh {
    #[prost(uint32, tag = "15")]
    pub oohnkojhdho: u32,
    #[prost(uint32, tag = "12")]
    pub afgkfifjfcl: u32,
    #[prost(message, optional, tag = "14")]
    pub omcbcgchlgn: ::core::option::Option<Hldhemlpjng>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pohniiflcge {
    #[prost(uint32, tag = "13")]
    pub dgddjnhlggj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bkodhaeecjh {
    #[prost(uint32, tag = "9")]
    pub dgddjnhlggj: u32,
    #[prost(uint32, tag = "13")]
    pub cgdgpgjlknm: u32,
    #[prost(uint32, tag = "12")]
    pub hddijnadfdd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cboemejiffe {
    #[prost(uint32, tag = "5")]
    pub dgddjnhlggj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jofgdaiadbo {
    #[prost(bool, tag = "14")]
    pub chnliokglbp: bool,
    #[prost(uint32, tag = "6")]
    pub hoiokbkgfdn: u32,
    #[prost(bool, tag = "7")]
    pub fomjlfjckdb: bool,
    #[prost(bool, tag = "5")]
    pub pklcnhicgia: bool,
    #[prost(uint32, tag = "13")]
    pub bkmamgapegh: u32,
    #[prost(int64, tag = "12")]
    pub ljheochhcab: i64,
    #[prost(uint32, tag = "4")]
    pub dajjjfchooj: u32,
    #[prost(oneof = "jofgdaiadbo::Item", tags = "1, 15, 2, 11, 9, 10")]
    pub item: ::core::option::Option<jofgdaiadbo::Item>,
}
/// Nested message and enum types in `JOFGDAIADBO`.
pub mod jofgdaiadbo {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Item {
        #[prost(message, tag = "1")]
        Pgmblloobma(super::Dlljmiaghdd),
        #[prost(message, tag = "15")]
        Gildjpkdpnn(super::Efhabdofkde),
        #[prost(message, tag = "2")]
        Bolaiplefpi(super::Cgomnlbljgh),
        #[prost(message, tag = "11")]
        Genpkdaeihc(super::Pohniiflcge),
        #[prost(message, tag = "9")]
        Jfnhpiegmmm(super::Bkodhaeecjh),
        #[prost(message, tag = "10")]
        Jlefnhikfoc(super::Cboemejiffe),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilmelfjccmd {
    #[prost(uint32, tag = "14")]
    pub bkmamgapegh: u32,
    #[prost(int64, tag = "3")]
    pub coifhfpegph: i64,
    #[prost(message, repeated, tag = "9")]
    pub kmndebcffad: ::prost::alloc::vec::Vec<Jofgdaiadbo>,
    #[prost(message, optional, tag = "12")]
    pub pehingjkgcb: ::core::option::Option<Iikngnhdmfi>,
    #[prost(bool, tag = "1")]
    pub biinncndpcg: bool,
    #[prost(bool, tag = "8")]
    pub dkhigcipekf: bool,
    #[prost(map = "uint32, uint32", tag = "15")]
    pub hijddfbedpo: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flnidkiggbk {
    #[prost(uint32, tag = "9")]
    pub bkmamgapegh: u32,
    #[prost(bool, tag = "14")]
    pub dkhigcipekf: bool,
    #[prost(uint32, tag = "15")]
    pub gjpanocngbm: u32,
    #[prost(message, optional, tag = "11")]
    pub pehingjkgcb: ::core::option::Option<Iikngnhdmfi>,
    #[prost(message, repeated, tag = "12")]
    pub oebafbigmbc: ::prost::alloc::vec::Vec<Npaiinekefb>,
    #[prost(message, optional, tag = "4")]
    pub kneinmnlcdi: ::core::option::Option<Iikngnhdmfi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Leaahdpaieg {
    #[prost(bool, tag = "14")]
    pub agmambdehlk: bool,
    #[prost(uint32, tag = "12")]
    pub hoiokbkgfdn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egbkgemfodn {
    #[prost(message, repeated, tag = "9")]
    pub dppimjndndf: ::prost::alloc::vec::Vec<Flnidkiggbk>,
    #[prost(message, repeated, tag = "1")]
    pub nfioacfhjnk: ::prost::alloc::vec::Vec<Leaahdpaieg>,
    #[prost(uint32, tag = "14")]
    pub hjnoiengedl: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub ccbbdgfffag: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub blmnekfpagh: u32,
    #[prost(message, optional, tag = "5")]
    pub ncikkfenhjf: ::core::option::Option<Ilmelfjccmd>,
}
/// Obf: NPMMPIHFJAJ
#[derive(proto_derive::CmdID)]
#[cmdid(8222)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGetBusinessDayInfoCsReq {
    #[prost(bool, tag = "14")]
    pub mkbpdpafapk: bool,
}
/// Obf: KDFDMOIACFK
#[derive(proto_derive::CmdID)]
#[cmdid(8216)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetBusinessDayInfoScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(int64, tag = "15")]
    pub bcfbfmmenjk: i64,
    #[prost(message, optional, tag = "4")]
    pub aakdahhigif: ::core::option::Option<Egbkgemfodn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jnipiaadoip {
    #[prost(int64, tag = "7")]
    pub bcfbfmmenjk: i64,
    #[prost(uint32, tag = "6")]
    pub mlgfjgchonh: u32,
    #[prost(bool, tag = "10")]
    pub dkhigcipekf: bool,
    #[prost(uint32, tag = "2")]
    pub hjnoiengedl: u32,
    #[prost(uint32, tag = "5")]
    pub blmnekfpagh: u32,
    #[prost(bool, tag = "11")]
    pub biinncndpcg: bool,
}
/// Obf: HNCIHJEDCAM
#[derive(proto_derive::CmdID)]
#[cmdid(8242)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesBusinessDayRefreshEventCsReq {
    #[prost(bool, tag = "11")]
    pub kblpjcfnhle: bool,
    #[prost(uint32, tag = "2")]
    pub hoiokbkgfdn: u32,
    #[prost(uint32, tag = "7")]
    pub bkmamgapegh: u32,
}
/// Obf: POEDGCNDAHM
#[derive(proto_derive::CmdID)]
#[cmdid(8229)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesBusinessDayRefreshEventScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub nfjlfnbpppg: ::core::option::Option<Jofgdaiadbo>,
}
/// Obf: KIHFHLJNJIG
#[derive(proto_derive::CmdID)]
#[cmdid(8234)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesDeliverPamCargoCsReq {
    #[prost(uint32, tag = "4")]
    pub aopikhkkglm: u32,
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
}
/// Obf: FAABKBGLAPB
#[derive(proto_derive::CmdID)]
#[cmdid(8218)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesDeliverPamCargoScRsp {
    #[prost(message, optional, tag = "6")]
    pub gcbdedabgko: ::core::option::Option<PlanetFesReward>,
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub nfjlfnbpppg: ::core::option::Option<Jofgdaiadbo>,
}
/// Obf: PPAJMNJLOBK
#[derive(proto_derive::CmdID)]
#[cmdid(8201)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesChooseAvatarEventOptionCsReq {
    #[prost(uint32, tag = "1")]
    pub nfcaambmmmb: u32,
}
/// Obf: LBHGOPHMBFD
#[derive(proto_derive::CmdID)]
#[cmdid(8205)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesChooseAvatarEventOptionScRsp {
    #[prost(message, optional, tag = "15")]
    pub nfjlfnbpppg: ::core::option::Option<Jofgdaiadbo>,
    #[prost(uint32, tag = "5")]
    pub hakkgodicfi: u32,
    #[prost(uint32, tag = "12")]
    pub epmoohcjnho: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub ojkjpkhdepe: u32,
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<PlanetFesReward>,
}
/// Obf: LCIKAFGBDLH
#[derive(proto_derive::CmdID)]
#[cmdid(8235)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesDealAvatarEventOptionItemCsReq {
    #[prost(uint32, tag = "15")]
    pub nngopakjicc: u32,
    #[prost(bool, tag = "6")]
    pub lecdhddceia: bool,
}
/// Obf: POHFEIJMNHF
#[derive(proto_derive::CmdID)]
#[cmdid(8239)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesDealAvatarEventOptionItemScRsp {
    #[prost(bool, tag = "4")]
    pub lecdhddceia: bool,
    #[prost(message, optional, tag = "7")]
    pub nfjlfnbpppg: ::core::option::Option<Jofgdaiadbo>,
    #[prost(uint32, tag = "5")]
    pub hakkgodicfi: u32,
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<PlanetFesReward>,
    #[prost(uint32, tag = "3")]
    pub ojkjpkhdepe: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: HFAAHBMGHLK
#[derive(proto_derive::CmdID)]
#[cmdid(8213)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesTakeRegionPhaseRewardCsReq {
    #[prost(uint32, tag = "4")]
    pub ndbojandnjn: u32,
}
/// Obf: FECEMMEEGAB
#[derive(proto_derive::CmdID)]
#[cmdid(8206)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesTakeRegionPhaseRewardScRsp {
    #[prost(uint32, tag = "13")]
    pub ndbojandnjn: u32,
    #[prost(message, optional, tag = "6")]
    pub reward_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnlmdffefjm {
    #[prost(uint32, tag = "13")]
    pub gpaghiajicd: u32,
    #[prost(uint32, tag = "8")]
    pub alhanjklboo: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub hfkggoepple: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub cdlbehlammm: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hldhemlpjng {
    #[prost(uint32, tag = "1")]
    pub acdopcbmpnl: u32,
    #[prost(uint32, tag = "14")]
    pub oohnkojhdho: u32,
    #[prost(oneof = "hldhemlpjng::Heaiaedbpkl", tags = "3")]
    pub heaiaedbpkl: ::core::option::Option<hldhemlpjng::Heaiaedbpkl>,
}
/// Nested message and enum types in `HLDHEMLPJNG`.
pub mod hldhemlpjng {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Heaiaedbpkl {
        #[prost(message, tag = "3")]
        Ejcolgnjgdc(super::Cnlmdffefjm),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmnhlknjnah {
    #[prost(uint32, repeated, tag = "10")]
    pub pkhlgkkippa: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FEOHKDLJNDN
#[derive(proto_derive::CmdID)]
#[cmdid(8221)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesStartMiniGameCsReq {
    #[prost(uint32, tag = "3")]
    pub oohnkojhdho: u32,
    #[prost(uint32, tag = "11")]
    pub acdopcbmpnl: u32,
}
/// Obf: PIHDBLHKMBP
#[derive(proto_derive::CmdID)]
#[cmdid(8249)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesStartMiniGameScRsp {
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<PlanetFesReward>,
    #[prost(message, optional, tag = "9")]
    pub omcbcgchlgn: ::core::option::Option<Hldhemlpjng>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(oneof = "planet_fes_start_mini_game_sc_rsp::Gocoklaemoh", tags = "12")]
    pub gocoklaemoh: ::core::option::Option<
        planet_fes_start_mini_game_sc_rsp::Gocoklaemoh,
    >,
}
/// Nested message and enum types in `PlanetFesStartMiniGameScRsp`.
pub mod planet_fes_start_mini_game_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Gocoklaemoh {
        #[prost(message, tag = "12")]
        Jfmahmofjpi(super::Fmnhlknjnah),
    }
}
/// Obf: NLBPMNKBMEH
#[derive(proto_derive::CmdID)]
#[cmdid(8214)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesUseItemCsReq {
    #[prost(uint32, tag = "5")]
    pub diookfoccmo: u32,
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
}
/// Obf: ICJALLAKNNN
#[derive(proto_derive::CmdID)]
#[cmdid(8208)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesUseItemScRsp {
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<PlanetFesReward>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: LHBDNBMDMLD
#[derive(proto_derive::CmdID)]
#[cmdid(8228)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGameBingoFlipCsReq {
    #[prost(uint32, tag = "10")]
    pub hcfpofmdgkn: u32,
}
/// Obf: AJKBNNEJAKF
#[derive(proto_derive::CmdID)]
#[cmdid(8225)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGameBingoFlipScRsp {
    #[prost(bool, tag = "2")]
    pub nfeadmfnflk: bool,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<PlanetFesReward>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub hcfpofmdgkn: u32,
}
/// Obf: GHHEPGMFLKN
#[derive(proto_derive::CmdID)]
#[cmdid(8210)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesBonusEventInteractCsReq {
    #[prost(uint32, tag = "2")]
    pub apmodagohna: u32,
    #[prost(uint32, tag = "3")]
    pub hoiokbkgfdn: u32,
}
/// Obf: HNNHDFFJHEI
#[derive(proto_derive::CmdID)]
#[cmdid(8219)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesBonusEventInteractScRsp {
    #[prost(message, optional, tag = "12")]
    pub nfjlfnbpppg: ::core::option::Option<Jofgdaiadbo>,
    #[prost(uint32, tag = "6")]
    pub hoiokbkgfdn: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<PlanetFesReward>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eikaiidaepp {
    #[prost(uint32, tag = "1")]
    pub bkmamgapegh: u32,
    #[prost(uint32, tag = "15")]
    pub lnjiihhpmed: u32,
    #[prost(uint32, tag = "8")]
    pub uid: u32,
    #[prost(uint32, tag = "6")]
    pub hdcbejdenla: u32,
    #[prost(uint32, tag = "5")]
    pub pjolemhlgnl: u32,
    #[prost(message, optional, tag = "3")]
    pub hhjocgomeco: ::core::option::Option<Iikngnhdmfi>,
    #[prost(uint32, tag = "4")]
    pub dgjdmocbbii: u32,
}
/// Obf: DNCDENAAEBC
#[derive(proto_derive::CmdID)]
#[cmdid(8203)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGetFriendRankingInfoListCsReq {}
/// Obf: OJMAAPPBENG
#[derive(proto_derive::CmdID)]
#[cmdid(8247)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetFriendRankingInfoListScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub icmgegefdle: ::core::option::Option<Eikaiidaepp>,
}
/// Obf: JLOIFLNIBDH
#[derive(proto_derive::CmdID)]
#[cmdid(8224)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesFriendRankingInfoChangeScNotify {
    #[prost(message, repeated, tag = "5")]
    pub cnheklkbmhh: ::prost::alloc::vec::Vec<Eikaiidaepp>,
}
/// Obf: GCBAMAELHIC
#[derive(proto_derive::CmdID)]
#[cmdid(8212)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesSetCustomKeyValueCsReq {
    #[prost(uint32, tag = "12")]
    pub key: u32,
    #[prost(uint32, tag = "8")]
    pub value: u32,
}
/// Obf: LNKOOOBENDP
#[derive(proto_derive::CmdID)]
#[cmdid(8248)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesSetCustomKeyValueScRsp {
    #[prost(uint32, tag = "4")]
    pub key: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub value: u32,
}
/// Obf: JFGJEHICCCD
#[derive(proto_derive::CmdID)]
#[cmdid(8241)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesUpgradeFesLevelCsReq {
    #[prost(uint32, tag = "13")]
    pub ldnjeacfbje: u32,
}
/// Obf: MJDFLDMOONF
#[derive(proto_derive::CmdID)]
#[cmdid(8233)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesUpgradeFesLevelScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: JOIMPGHIEFC
#[derive(proto_derive::CmdID)]
#[cmdid(8231)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGetAvatarStatCsReq {}
/// Obf: PEODBBNDECK
#[derive(proto_derive::CmdID)]
#[cmdid(8230)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetAvatarStatScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "9")]
    pub oebafbigmbc: ::prost::alloc::vec::Vec<Npaiinekefb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Deinadpehke {
    #[prost(int64, tag = "11")]
    pub lffcmnahbdp: i64,
    #[prost(uint32, repeated, tag = "7")]
    pub jpacobgbdbg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub pnakhnbdjae: u32,
    #[prost(uint32, tag = "12")]
    pub ofgfhcldobg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkbilpdkoil {
    #[prost(int64, tag = "12")]
    pub time: i64,
    #[prost(uint32, tag = "6")]
    pub lhjpkmdmnmp: u32,
    #[prost(bool, tag = "7")]
    pub cabehkoflpg: bool,
    #[prost(uint32, repeated, tag = "5")]
    pub jpacobgbdbg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint64, tag = "2")]
    pub hpjjdcjhhoa: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjipjngnfej {
    #[prost(uint32, tag = "11")]
    pub source: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub jpacobgbdbg: ::prost::alloc::vec::Vec<u32>,
    #[prost(int64, tag = "7")]
    pub time: i64,
    #[prost(uint32, tag = "12")]
    pub ofgfhcldobg: u32,
    #[prost(uint32, tag = "8")]
    pub pnakhnbdjae: u32,
}
/// Obf: IEEHPECGECL
#[derive(proto_derive::CmdID)]
#[cmdid(8294)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGetExtraCardPieceInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffapkcnapid {
    #[prost(uint32, tag = "5")]
    pub hlkpnecambl: u32,
    #[prost(message, repeated, tag = "2")]
    pub gedglncpggn: ::prost::alloc::vec::Vec<Deinadpehke>,
    #[prost(message, repeated, tag = "6")]
    pub obboccnflol: ::prost::alloc::vec::Vec<Gjipjngnfej>,
    #[prost(uint32, tag = "15")]
    pub uid: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub iemnjhlfgkd: ::prost::alloc::vec::Vec<u32>,
    #[prost(int64, tag = "11")]
    pub aiieklilmjc: i64,
    #[prost(uint32, tag = "1")]
    pub aoaefeibbmf: u32,
    #[prost(message, repeated, tag = "9")]
    pub pbfhdnbgmbp: ::prost::alloc::vec::Vec<Ceoddceiddl>,
}
/// Obf: MAOJNGJBIIG
#[derive(proto_derive::CmdID)]
#[cmdid(8336)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetExtraCardPieceInfoScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub baamhdnnkia: ::core::option::Option<Ffapkcnapid>,
}
/// Obf: JKAIFEBMLLL
#[derive(proto_derive::CmdID)]
#[cmdid(8292)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGetFriendCardPieceCsReq {}
/// Obf: PJNPHHIHHJL
#[derive(proto_derive::CmdID)]
#[cmdid(8327)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetFriendCardPieceScRsp {
    #[prost(message, repeated, tag = "3")]
    pub cgdandnibgj: ::prost::alloc::vec::Vec<Ffapkcnapid>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: KJHEBGGHEOJ
#[derive(proto_derive::CmdID)]
#[cmdid(8326)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesChangeCardPieceApplyPermissionCsReq {
    #[prost(uint32, tag = "12")]
    pub hlkpnecambl: u32,
}
/// Obf: DMBJBMNGJBD
#[derive(proto_derive::CmdID)]
#[cmdid(8307)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesChangeCardPieceApplyPermissionScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub hlkpnecambl: u32,
}
/// Obf: GBIFOPHFAPB
#[derive(proto_derive::CmdID)]
#[cmdid(8317)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesApplyCardPieceCsReq {
    #[prost(uint32, repeated, tag = "12")]
    pub jpacobgbdbg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub cbegnbkmhcd: u32,
}
/// Obf: LJDDBEDBMDI
#[derive(proto_derive::CmdID)]
#[cmdid(8305)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesApplyCardPieceScRsp {
    #[prost(int64, tag = "9")]
    pub epcpdocdocb: i64,
    #[prost(uint32, repeated, tag = "13")]
    pub jpacobgbdbg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub cbegnbkmhcd: u32,
    #[prost(bool, tag = "11")]
    pub mcffpieeknn: bool,
    #[prost(uint32, tag = "14")]
    pub pnakhnbdjae: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: MPDFLMMAPDE
#[derive(proto_derive::CmdID)]
#[cmdid(8333)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesHandleCardPieceApplyCsReq {
    #[prost(uint32, repeated, tag = "15")]
    pub dlhbcokcidp: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "7")]
    pub mdapcfheljl: bool,
    #[prost(uint32, tag = "10")]
    pub ofgfhcldobg: u32,
    #[prost(uint32, tag = "6")]
    pub pnakhnbdjae: u32,
}
/// Obf: MHKABAJDBHP
#[derive(proto_derive::CmdID)]
#[cmdid(8299)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesHandleCardPieceApplyScRsp {
    #[prost(uint32, tag = "5")]
    pub pnakhnbdjae: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(bool, tag = "11")]
    pub mdapcfheljl: bool,
    #[prost(int64, tag = "7")]
    pub ppiolclpmpl: i64,
    #[prost(uint32, repeated, tag = "2")]
    pub dlhbcokcidp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JGHDMOIMEBO
#[derive(proto_derive::CmdID)]
#[cmdid(8335)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGetOfferedCardPieceCsReq {
    #[prost(bool, tag = "7")]
    pub cabehkoflpg: bool,
    #[prost(uint64, tag = "9")]
    pub hpjjdcjhhoa: u64,
}
/// Obf: NHHKGBJLPEM
#[derive(proto_derive::CmdID)]
#[cmdid(8297)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetOfferedCardPieceScRsp {
    #[prost(int64, tag = "2")]
    pub dljckcmadhj: i64,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub onjgmghcpef: ::prost::alloc::vec::Vec<Bkbilpdkoil>,
    #[prost(bool, tag = "12")]
    pub cabehkoflpg: bool,
    #[prost(uint64, tag = "6")]
    pub hpjjdcjhhoa: u64,
    #[prost(message, repeated, tag = "13")]
    pub pbfhdnbgmbp: ::prost::alloc::vec::Vec<Ceoddceiddl>,
}
/// Obf: EPDCLDLCFKG
#[derive(proto_derive::CmdID)]
#[cmdid(8340)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGiveCardPieceCsReq {
    #[prost(uint32, repeated, tag = "7")]
    pub dlhbcokcidp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub cbegnbkmhcd: u32,
}
/// Obf: OPGHEBECJHH
#[derive(proto_derive::CmdID)]
#[cmdid(8330)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGiveCardPieceScRsp {
    #[prost(uint32, repeated, tag = "3")]
    pub dlhbcokcidp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint64, tag = "7")]
    pub hpjjdcjhhoa: u64,
    #[prost(int64, tag = "10")]
    pub ppiolclpmpl: i64,
    #[prost(uint32, tag = "11")]
    pub cbegnbkmhcd: u32,
}
/// Obf: PHGOGJANIDN
#[derive(proto_derive::CmdID)]
#[cmdid(8310)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesLargeBonusInteractCsReq {
    #[prost(uint32, tag = "5")]
    pub mopffbmabcd: u32,
    #[prost(uint32, tag = "2")]
    pub ihcilnhklmc: u32,
    #[prost(uint32, tag = "1")]
    pub ooiookgmehp: u32,
}
/// Obf: IKPMCPHNOIA
#[derive(proto_derive::CmdID)]
#[cmdid(8334)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesLargeBonusInteractScRsp {
    #[prost(message, optional, tag = "11")]
    pub nfjlfnbpppg: ::core::option::Option<Jofgdaiadbo>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub gmidjmmmjkp: ::core::option::Option<Iikngnhdmfi>,
    #[prost(uint32, tag = "4")]
    pub ihcilnhklmc: u32,
}
/// Obf: GPJACEJJMEB
#[derive(proto_derive::CmdID)]
#[cmdid(8322)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesEnterNextBusinessDayCsReq {}
/// Obf: FFKKBBACICL
#[derive(proto_derive::CmdID)]
#[cmdid(8313)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesEnterNextBusinessDayScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: PGAPOOHJGMB
#[derive(proto_derive::CmdID)]
#[cmdid(95)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerLoginCsReq {
    #[prost(string, tag = "8")]
    pub cost_time: ::prost::alloc::string::String,
    #[prost(string, tag = "15")]
    pub signature: ::prost::alloc::string::String,
    #[prost(uint32, tag = "539")]
    pub haehhcpoapp: u32,
    #[prost(bool, tag = "2032")]
    pub oeencfmcahd: bool,
    #[prost(string, tag = "3")]
    pub kibbnbngijd: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "1414")]
    pub miohkaoidnk: ::core::option::Option<Jgfkicdcflj>,
    #[prost(string, tag = "4")]
    pub bnigpdooili: ::prost::alloc::string::String,
    #[prost(string, tag = "9")]
    pub hjdmjpebppm: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub bnboaliapae: ::prost::alloc::string::String,
    #[prost(string, tag = "293")]
    pub ignfblgjioj: ::prost::alloc::string::String,
    #[prost(string, tag = "14")]
    pub lagbgldlgcb: ::prost::alloc::string::String,
    #[prost(string, tag = "12")]
    pub dmpmhccfbkg: ::prost::alloc::string::String,
    #[prost(string, tag = "707")]
    pub gmalcpnohbf: ::prost::alloc::string::String,
    #[prost(string, tag = "488")]
    pub akcejfcfban: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub ocdacjnnjnj: ::prost::alloc::string::String,
    #[prost(uint32, tag = "195")]
    pub nhbhbalhjml: u32,
    #[prost(message, optional, tag = "583")]
    pub pklicgmeimb: ::core::option::Option<Occhnefhgne>,
    #[prost(uint32, tag = "10")]
    pub jmkhdhaioim: u32,
    #[prost(uint64, tag = "13")]
    pub login_random: u64,
    #[prost(enumeration = "LanguageType", tag = "7")]
    pub fadpdibknbi: i32,
    #[prost(string, tag = "1992")]
    pub bpckjkdencb: ::prost::alloc::string::String,
    #[prost(string, tag = "1951")]
    pub kfdjeieobbn: ::prost::alloc::string::String,
    #[prost(enumeration = "PlatformType", tag = "2")]
    pub platform_type: i32,
    #[prost(uint32, tag = "1726")]
    pub mlnabepindb: u32,
    #[prost(uint32, tag = "11")]
    pub client_res_version: u32,
    #[prost(string, tag = "1")]
    pub oehjlodahfn: ::prost::alloc::string::String,
    #[prost(bool, tag = "786")]
    pub gehapnihcdo: bool,
    #[prost(string, tag = "1510")]
    pub ohpckcnaeik: ::prost::alloc::string::String,
}
/// Obf: BKFCFKAKBAL
#[derive(proto_derive::CmdID)]
#[cmdid(32)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerLoginScRsp {
    #[prost(bool, tag = "4")]
    pub jlpkeobincp: bool,
    #[prost(string, tag = "12")]
    pub pdikpeifann: ::prost::alloc::string::String,
    #[prost(uint64, tag = "3")]
    pub login_random: u64,
    #[prost(bool, tag = "11")]
    pub igkbeamlnbj: bool,
    #[prost(string, tag = "8")]
    pub nhmhabjkhog: ::prost::alloc::string::String,
    #[prost(int32, tag = "5")]
    pub cur_timezone: i32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint64, tag = "13")]
    pub server_timestamp_ms: u64,
    #[prost(uint32, tag = "10")]
    pub stamina: u32,
    #[prost(message, optional, tag = "1")]
    pub basic_info: ::core::option::Option<PlayerBasicInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lmipmhhpfhn {}
/// Obf: LHNADANEIOG
#[derive(proto_derive::CmdID)]
#[cmdid(76)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerGetTokenCsReq {
    #[prost(string, tag = "14")]
    pub token: ::prost::alloc::string::String,
    #[prost(uint32, tag = "13")]
    pub platform_type: u32,
    #[prost(uint32, tag = "2")]
    pub icmfpnpijjf: u32,
    #[prost(uint32, tag = "8")]
    pub haehhcpoapp: u32,
    #[prost(string, tag = "15")]
    pub mempbkcjjfj: ::prost::alloc::string::String,
    #[prost(string, tag = "9")]
    pub account_uid: ::prost::alloc::string::String,
    #[prost(uint32, tag = "11")]
    pub fgojlpaejec: u32,
    #[prost(uint32, tag = "6")]
    pub uid: u32,
}
/// Obf: HEDHHDPAOJE
#[derive(proto_derive::CmdID)]
#[cmdid(48)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerGetTokenScRsp {
    #[prost(message, optional, tag = "12")]
    pub black_info: ::core::option::Option<BlackInfo>,
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    #[prost(uint64, tag = "7")]
    pub secret_key_seed: u64,
    #[prost(string, tag = "6")]
    pub msg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: CCANMIHELML
#[derive(proto_derive::CmdID)]
#[cmdid(52)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GmTalkScNotify {
    #[prost(string, tag = "4")]
    pub msg: ::prost::alloc::string::String,
}
/// Obf: PLPKJLGANCB
#[derive(proto_derive::CmdID)]
#[cmdid(22)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerKickOutScNotify {
    #[prost(enumeration = "player_kick_out_sc_notify::Hilaijmdkej", tag = "6")]
    pub mglldoifgnd: i32,
    #[prost(message, optional, tag = "1")]
    pub black_info: ::core::option::Option<BlackInfo>,
}
/// Nested message and enum types in `PlayerKickOutScNotify`.
pub mod player_kick_out_sc_notify {
    #[derive(proto_derive::CmdID)]
    #[derive(
        Clone,
        Copy,
        Debug,
        PartialEq,
        Eq,
        Hash,
        PartialOrd,
        Ord,
        ::prost::Enumeration
    )]
    #[repr(i32)]
    pub enum Hilaijmdkej {
        KickSqueezed = 0,
        KickBlack = 1,
        KickChangePwd = 2,
        KickLoginWhiteTimeout = 3,
        KickAceAntiCheater = 4,
        KickByGm = 5,
    }
    impl Hilaijmdkej {
        /// String value of the enum field names used in the ProtoBuf definition.
        ///
        /// The values are not transformed in any way and thus are considered stable
        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
        pub fn as_str_name(&self) -> &'static str {
            match self {
                Self::KickSqueezed => "KICK_SQUEEZED",
                Self::KickBlack => "KICK_BLACK",
                Self::KickChangePwd => "KICK_CHANGE_PWD",
                Self::KickLoginWhiteTimeout => "KICK_LOGIN_WHITE_TIMEOUT",
                Self::KickAceAntiCheater => "KICK_ACE_ANTI_CHEATER",
                Self::KickByGm => "KICK_BY_GM",
            }
        }
        /// Creates an enum from field names used in the ProtoBuf definition.
        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
            match value {
                "KICK_SQUEEZED" => Some(Self::KickSqueezed),
                "KICK_BLACK" => Some(Self::KickBlack),
                "KICK_CHANGE_PWD" => Some(Self::KickChangePwd),
                "KICK_LOGIN_WHITE_TIMEOUT" => Some(Self::KickLoginWhiteTimeout),
                "KICK_ACE_ANTI_CHEATER" => Some(Self::KickAceAntiCheater),
                "KICK_BY_GM" => Some(Self::KickByGm),
                _ => None,
            }
        }
    }
}
/// Obf: FCLNPHHEBIK
#[derive(proto_derive::CmdID)]
#[cmdid(56)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GmTalkCsReq {
    #[prost(string, tag = "9")]
    pub msg: ::prost::alloc::string::String,
}
/// Obf: IDAFMHOMNFO
#[derive(proto_derive::CmdID)]
#[cmdid(72)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GmTalkScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(string, tag = "1")]
    pub bjdojlkehna: ::prost::alloc::string::String,
}
/// Obf: NLDIOAKBAEF
#[derive(proto_derive::CmdID)]
#[cmdid(86)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBasicInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ogfiodpilel {
    #[prost(uint32, tag = "5")]
    pub cacekelnmin: u32,
    #[prost(bool, tag = "12")]
    pub dmklnjboabo: bool,
    #[prost(bool, tag = "2")]
    pub akheilmndhj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerSettingInfo {
    #[prost(bool, tag = "3")]
    pub mmmnjchemfn: bool,
    #[prost(bool, tag = "10")]
    pub kapdimgjlnf: bool,
    #[prost(bool, tag = "15")]
    pub ilfalcdlaol: bool,
    #[prost(bool, tag = "2")]
    pub gmjanojmkce: bool,
    #[prost(bool, tag = "9")]
    pub pbkbglhhkpe: bool,
    #[prost(message, optional, tag = "5")]
    pub ghkcmdnkopn: ::core::option::Option<Ogfiodpilel>,
    #[prost(bool, tag = "8")]
    pub nkekibnjmpa: bool,
    #[prost(bool, tag = "6")]
    pub kjncckhjfhe: bool,
    #[prost(bool, tag = "14")]
    pub aicnfaobcpi: bool,
    #[prost(bool, tag = "11")]
    pub aponeidmphl: bool,
    #[prost(bool, tag = "13")]
    pub njfmiljofok: bool,
}
/// Obf: GetBasicInfoScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(100)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBasicInfoScRsp {
    #[prost(uint32, tag = "8")]
    pub gender: u32,
    #[prost(uint32, tag = "2")]
    pub gameplay_birthday: u32,
    #[prost(uint32, tag = "13")]
    pub exchange_times: u32,
    #[prost(uint32, tag = "11")]
    pub cur_day: u32,
    #[prost(int64, tag = "5")]
    pub next_recover_time: i64,
    #[prost(message, optional, tag = "15")]
    pub player_setting_info: ::core::option::Option<PlayerSettingInfo>,
    #[prost(uint32, tag = "7")]
    pub week_cocoon_finished_count: u32,
    #[prost(int64, tag = "12")]
    pub last_set_nickname_time: i64,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(bool, tag = "6")]
    pub is_gender_set: bool,
}
/// Obf: CBLCHDHMBGO
#[derive(proto_derive::CmdID)]
#[cmdid(46)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExchangeStaminaCsReq {}
/// Obf: ExchangeStaminaScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(83)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeStaminaScRsp {
    #[prost(message, repeated, tag = "12")]
    pub item_cost_list: ::prost::alloc::vec::Vec<ItemCost>,
    #[prost(uint32, tag = "14")]
    pub stamina_add: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub exchange_times: u32,
    #[prost(int64, tag = "10")]
    pub last_recover_time: i64,
}
/// Obf: JOIIJKLDFCJ
#[derive(proto_derive::CmdID)]
#[cmdid(60)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAuthkeyCsReq {
    #[prost(string, tag = "15")]
    pub acdjgnhjdai: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub goijemcccgl: u32,
    #[prost(uint32, tag = "8")]
    pub mpgpgfkbmhg: u32,
}
/// Obf: OOMOCDOFBPA
#[derive(proto_derive::CmdID)]
#[cmdid(2)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAuthkeyScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub goijemcccgl: u32,
    #[prost(uint32, tag = "8")]
    pub mpgpgfkbmhg: u32,
    #[prost(string, tag = "3")]
    pub kbnipiiiccn: ::prost::alloc::string::String,
    #[prost(string, tag = "11")]
    pub acdjgnhjdai: ::prost::alloc::string::String,
}
/// Obf: MBLGHOEJPFL
#[derive(proto_derive::CmdID)]
#[cmdid(39)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RegionStopScNotify {
    #[prost(int64, tag = "6")]
    pub stop_begin_time: i64,
    #[prost(int64, tag = "4")]
    pub stop_end_time: i64,
}
/// Obf: AntiAddictScNotify
#[derive(proto_derive::CmdID)]
#[cmdid(43)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AntiAddictScNotify {
    #[prost(string, tag = "7")]
    pub msg: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub level: ::prost::alloc::string::String,
    #[prost(uint32, tag = "13")]
    pub msg_type: u32,
}
/// Obf: LCNEGGBICON
#[derive(proto_derive::CmdID)]
#[cmdid(33)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetNicknameCsReq {
    #[prost(bool, tag = "11")]
    pub is_modify: bool,
    #[prost(string, tag = "10")]
    pub nickname: ::prost::alloc::string::String,
}
/// Obf: KGKHBLPJCNP
#[derive(proto_derive::CmdID)]
#[cmdid(42)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetNicknameScRsp {
    #[prost(bool, tag = "6")]
    pub is_modify: bool,
    #[prost(int64, tag = "12")]
    pub jendkbooaip: i64,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: PKJNDKNFFBP
#[derive(proto_derive::CmdID)]
#[cmdid(77)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetLevelRewardTakenListCsReq {}
/// Obf: NBJDCIIGJOH
#[derive(proto_derive::CmdID)]
#[cmdid(58)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLevelRewardTakenListScRsp {
    #[prost(uint32, repeated, tag = "4")]
    pub amcakcpdnnl: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: PNNCDLMLBCA
#[derive(proto_derive::CmdID)]
#[cmdid(21)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetLevelRewardCsReq {
    #[prost(uint32, tag = "15")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
/// Obf: LAOFKBCENHO
#[derive(proto_derive::CmdID)]
#[cmdid(29)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLevelRewardScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "8")]
    pub level: u32,
}
/// Obf: PCOPJMAALGD
#[derive(proto_derive::CmdID)]
#[cmdid(93)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetLanguageCsReq {
    #[prost(enumeration = "LanguageType", tag = "5")]
    pub fadpdibknbi: i32,
}
/// Obf: HKFACMOAFCE
#[derive(proto_derive::CmdID)]
#[cmdid(25)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetLanguageScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(enumeration = "LanguageType", tag = "1")]
    pub fadpdibknbi: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kiphkhhmfac {
    #[prost(uint32, tag = "10")]
    pub pokidoenkek: u32,
    #[prost(string, tag = "7")]
    pub adjcaknjcgo: ::prost::alloc::string::String,
    #[prost(int64, tag = "6")]
    pub begin_time: i64,
    #[prost(string, tag = "14")]
    pub bcafjhgdodi: ::prost::alloc::string::String,
    #[prost(bool, tag = "12")]
    pub ghcaaonigca: bool,
    #[prost(string, tag = "13")]
    pub dbckeiojldi: ::prost::alloc::string::String,
    #[prost(uint32, tag = "15")]
    pub config_id: u32,
    #[prost(uint32, tag = "4")]
    pub kdcigpamgho: u32,
    #[prost(int64, tag = "8")]
    pub end_time: i64,
}
/// Obf: IBAKKGHGKBH
#[derive(proto_derive::CmdID)]
#[cmdid(14)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerAnnounceNotify {
    #[prost(message, repeated, tag = "15")]
    pub pbehmeaeikc: ::prost::alloc::vec::Vec<Kiphkhhmfac>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gateserver {
    #[prost(string, tag = "1332")]
    pub mpnjikpkohj: ::prost::alloc::string::String,
    #[prost(string, tag = "1134")]
    pub client_secret_key: ::prost::alloc::string::String,
    #[prost(string, tag = "1335")]
    pub rogue_magic_h5_url: ::prost::alloc::string::String,
    #[prost(string, tag = "383")]
    pub ehimaoflgil: ::prost::alloc::string::String,
    #[prost(string, tag = "974")]
    pub web_tool_url: ::prost::alloc::string::String,
    #[prost(string, tag = "13")]
    pub ex_resource_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "6")]
    pub enable_design_data_version_update: bool,
    #[prost(string, tag = "169")]
    pub temporary_maintenance_url: ::prost::alloc::string::String,
    #[prost(uint32, tag = "8")]
    pub asb_relogin_type: u32,
    #[prost(bool, tag = "356")]
    pub use_new_networking: bool,
    #[prost(string, tag = "1478")]
    pub login_white_msg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "712")]
    pub enable_cdn_ipv6: u32,
    #[prost(string, tag = "841")]
    pub rogue_tourn_build_ref_h5_url: ::prost::alloc::string::String,
    #[prost(string, tag = "1354")]
    pub personal_information_in_game_url: ::prost::alloc::string::String,
    #[prost(string, tag = "761")]
    pub design_data_relogin_desc: ::prost::alloc::string::String,
    #[prost(string, tag = "330")]
    pub online_replay_download_url: ::prost::alloc::string::String,
    #[prost(int64, tag = "9")]
    pub stop_end_time: i64,
    #[prost(string, tag = "1168")]
    pub custom_service_url: ::prost::alloc::string::String,
    #[prost(int64, tag = "14")]
    pub stop_begin_time: i64,
    #[prost(string, tag = "1158")]
    pub third_privacy_in_game_url: ::prost::alloc::string::String,
    #[prost(string, tag = "1087")]
    pub official_community_url: ::prost::alloc::string::String,
    #[prost(string, tag = "425")]
    pub ifix_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "1943")]
    pub network_diagnostic: bool,
    #[prost(string, tag = "35")]
    pub rogue_tourn_build_ref_api_req_color_header_key: ::prost::alloc::string::String,
    #[prost(string, tag = "276")]
    pub teenager_privacy_in_game_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "1363")]
    pub enable_watermark: bool,
    #[prost(bool, tag = "1725")]
    pub forbid_recharge: bool,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(bool, tag = "4")]
    pub enable_version_update: bool,
    #[prost(string, tag = "1761")]
    pub operation_feedback_url: ::prost::alloc::string::String,
    #[prost(string, tag = "1456")]
    pub community_activity_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "438")]
    pub ecbfehfpofj: bool,
    #[prost(string, tag = "1423")]
    pub redeem_code_url: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1204")]
    pub rogue_tourn_notice_pic_type: u32,
    #[prost(string, tag = "30")]
    pub lhoofmaihpc: ::prost::alloc::string::String,
    #[prost(string, tag = "236")]
    pub ifix_version: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub lua_url: ::prost::alloc::string::String,
    #[prost(string, tag = "2038")]
    pub privacy_in_game_url: ::prost::alloc::string::String,
    #[prost(string, tag = "11")]
    pub ip: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub region_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "526")]
    pub rogue_tourn_notice_id: u32,
    #[prost(string, tag = "705")]
    pub mdk_res_version: ::prost::alloc::string::String,
    #[prost(string, tag = "259")]
    pub game_start_customer_service_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "344")]
    pub enable_android_middle_package: bool,
    #[prost(string, tag = "499")]
    pub rogue_tourn_build_ref_static_data_url_prefix: ::prost::alloc::string::String,
    #[prost(bool, tag = "923")]
    pub event_tracking_open: bool,
    #[prost(string, tag = "283")]
    pub player_return_questionnaire_a_url: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub asset_bundle_url: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "373")]
    pub oaohiecdgcc: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(bool, tag = "609")]
    pub close_redeem_code: bool,
    #[prost(bool, tag = "565")]
    pub use_tcp: bool,
    #[prost(uint32, tag = "1")]
    pub port: u32,
    #[prost(string, tag = "905")]
    pub pooolgfkkjl: ::prost::alloc::string::String,
    #[prost(string, tag = "1874")]
    pub ipv6_address: ::prost::alloc::string::String,
    #[prost(bool, tag = "2023")]
    pub enable_upload_battle_log: bool,
    #[prost(string, tag = "2036")]
    pub player_return_questionnaire_b_url: ::prost::alloc::string::String,
    #[prost(string, tag = "1598")]
    pub cloud_game_url: ::prost::alloc::string::String,
    #[prost(string, tag = "1515")]
    pub ckiofjnkemn: ::prost::alloc::string::String,
    #[prost(bool, tag = "1885")]
    pub mtp_switch: bool,
    #[prost(uint32, tag = "12")]
    pub design_data_relogin_type: u32,
    #[prost(string, tag = "47")]
    pub pre_download_url: ::prost::alloc::string::String,
    #[prost(string, tag = "7")]
    pub msg: ::prost::alloc::string::String,
    #[prost(string, tag = "10")]
    pub asb_relogin_desc: ::prost::alloc::string::String,
    #[prost(bool, tag = "307")]
    pub enable_save_replay_file: bool,
    #[prost(string, tag = "1991")]
    pub denlmlcjlpg: ::prost::alloc::string::String,
    #[prost(string, tag = "108")]
    pub server_description: ::prost::alloc::string::String,
    #[prost(string, tag = "1630")]
    pub hot_point_url: ::prost::alloc::string::String,
    #[prost(string, tag = "805")]
    pub user_agreement_url: ::prost::alloc::string::String,
    #[prost(string, tag = "1861")]
    pub online_replay_upload_url: ::prost::alloc::string::String,
    #[prost(string, tag = "1685")]
    pub player_return_invite_h5_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "1118")]
    pub modibfhpmcp: bool,
    #[prost(string, tag = "1074")]
    pub rogue_tourn_build_ref_api_req_color_header_value: ::prost::alloc::string::String,
    #[prost(bool, tag = "1144")]
    pub ios_exam: bool,
    #[prost(string, tag = "574")]
    pub ngcimholjba: ::prost::alloc::string::String,
}
/// Obf: BNJGKOABGAM
#[derive(proto_derive::CmdID)]
#[cmdid(53)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GateServerScNotify {
    #[prost(string, tag = "1")]
    pub connpkcchje: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiPathAvatarTypeInfo {
    #[prost(uint32, tag = "1")]
    pub dressed_skin_id: u32,
    #[prost(enumeration = "MultiPathAvatarType", tag = "7")]
    pub avatar_id: i32,
    #[prost(message, repeated, tag = "12")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(message, repeated, tag = "2")]
    pub equip_relic_list: ::prost::alloc::vec::Vec<EquipRelic>,
    #[prost(uint32, tag = "15")]
    pub rank: u32,
    #[prost(uint32, tag = "11")]
    pub path_equipment_id: u32,
}
/// Obf: LBBLEAJKMIK
#[derive(proto_derive::CmdID)]
#[cmdid(15)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetAvatarPathCsReq {
    #[prost(enumeration = "MultiPathAvatarType", tag = "11")]
    pub avatar_id: i32,
}
/// Obf: GCENDFMFELN
#[derive(proto_derive::CmdID)]
#[cmdid(55)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetAvatarPathScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(enumeration = "MultiPathAvatarType", tag = "14")]
    pub avatar_id: i32,
}
/// Obf: BDCJMLIKLOE
#[derive(proto_derive::CmdID)]
#[cmdid(38)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetMultipleAvatarPathsCsReq {
    #[prost(enumeration = "MultiPathAvatarType", repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: ICLMIMNMAFO
#[derive(proto_derive::CmdID)]
#[cmdid(5)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetMultipleAvatarPathsScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: ICGDIFLHOBI
#[derive(proto_derive::CmdID)]
#[cmdid(80)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMultiPathAvatarInfoCsReq {}
/// Obf: EDCLCHKFNBN
#[derive(proto_derive::CmdID)]
#[cmdid(50)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMultiPathAvatarInfoScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "13")]
    pub multi_path_avatar_type_info_list: ::prost::alloc::vec::Vec<
        MultiPathAvatarTypeInfo,
    >,
    #[prost(map = "uint32, enumeration(MultiPathAvatarType)", tag = "15")]
    pub current_multi_path_avatar_id: ::std::collections::HashMap<u32, i32>,
    #[prost(uint32, repeated, tag = "2")]
    pub halndfogjnf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NPCBNNEEDEL
#[derive(proto_derive::CmdID)]
#[cmdid(89)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockAvatarPathCsReq {
    #[prost(enumeration = "MultiPathAvatarType", tag = "11")]
    pub avatar_id: i32,
}
/// Obf: GOKAANGNBHD
#[derive(proto_derive::CmdID)]
#[cmdid(88)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockAvatarPathScRsp {
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(enumeration = "MultiPathAvatarType", tag = "7")]
    pub avatar_id: i32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub halndfogjnf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NFHMHFNKECL
#[derive(proto_derive::CmdID)]
#[cmdid(19)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarPathChangedNotify {
    #[prost(enumeration = "MultiPathAvatarType", tag = "5")]
    pub cur_multi_path_avatar_type: i32,
    #[prost(uint32, tag = "1")]
    pub base_avatar_id: u32,
}
/// Obf: JLNBIJMEGHP
#[derive(proto_derive::CmdID)]
#[cmdid(57)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetGenderCsReq {
    #[prost(enumeration = "Gender", tag = "2")]
    pub gender: i32,
}
/// Obf: EJIHGKHEHCG
#[derive(proto_derive::CmdID)]
#[cmdid(7)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGenderScRsp {
    #[prost(message, repeated, tag = "6")]
    pub multi_path_type_info: ::prost::alloc::vec::Vec<MultiPathAvatarTypeInfo>,
    #[prost(enumeration = "MultiPathAvatarType", tag = "11")]
    pub multi_path_type: i32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: CJEDOFNADBG
#[derive(proto_derive::CmdID)]
#[cmdid(98)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetPlayerInfoCsReq {
    #[prost(bool, tag = "7")]
    pub is_modify: bool,
    #[prost(string, tag = "1")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(enumeration = "Gender", tag = "11")]
    pub gender: i32,
}
/// Obf: PHCBJNKLNHM
#[derive(proto_derive::CmdID)]
#[cmdid(64)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetPlayerInfoScRsp {
    #[prost(int64, tag = "9")]
    pub jendkbooaip: i64,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(bool, tag = "12")]
    pub is_modify: bool,
    #[prost(enumeration = "MultiPathAvatarType", tag = "10")]
    pub multi_path_type: i32,
    #[prost(message, repeated, tag = "15")]
    pub multi_path_type_info: ::prost::alloc::vec::Vec<MultiPathAvatarTypeInfo>,
}
/// Obf: COMGKLPKIEO
#[derive(proto_derive::CmdID)]
#[cmdid(45)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryProductInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aapnhpamdck {
    #[prost(string, tag = "6")]
    pub mpamhbfikfb: ::prost::alloc::string::String,
    #[prost(enumeration = "ProductGiftType", tag = "12")]
    pub dnajfmpcmll: i32,
    #[prost(uint32, tag = "5")]
    pub ioglpebjmdb: u32,
    #[prost(string, tag = "15")]
    pub dbellihmajg: ::prost::alloc::string::String,
    #[prost(int64, tag = "7")]
    pub begin_time: i64,
    #[prost(int64, tag = "11")]
    pub end_time: i64,
    #[prost(bool, tag = "8")]
    pub fkfokhabejn: bool,
    #[prost(uint32, tag = "9")]
    pub gcbobamcalk: u32,
}
/// Obf: JCAKDMECGGG
#[derive(proto_derive::CmdID)]
#[cmdid(13)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryProductInfoScRsp {
    #[prost(uint64, tag = "1")]
    pub month_card_out_date_time: u64,
    #[prost(uint32, tag = "12")]
    pub odnfiaahkci: u32,
    #[prost(message, repeated, tag = "15")]
    pub pidhegpbcji: ::prost::alloc::vec::Vec<Aapnhpamdck>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub cmghdmpeako: u32,
}
/// Obf: OIIINKHFBGB
#[derive(proto_derive::CmdID)]
#[cmdid(35)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonthCardRewardNotify {
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: FDOLNEFNGDO
#[derive(proto_derive::CmdID)]
#[cmdid(78)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientDownloadDataScNotify {
    #[prost(message, optional, tag = "9")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
}
/// Obf: EJLLKLCOLDA
#[derive(proto_derive::CmdID)]
#[cmdid(73)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjDownloadDataScNotify {
    #[prost(message, optional, tag = "15")]
    pub data: ::core::option::Option<ClientObjDownloadData>,
}
/// Obf: UpdateFeatureSwitchScNotify
#[derive(proto_derive::CmdID)]
#[cmdid(20)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateFeatureSwitchScNotify {
    #[prost(message, repeated, tag = "7")]
    pub switch_info_list: ::prost::alloc::vec::Vec<FeatureSwitchInfo>,
}
/// Obf: LGCFMDKHHHG
#[derive(proto_derive::CmdID)]
#[cmdid(9)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DailyRefreshNotify {
    #[prost(uint32, tag = "7")]
    pub gmfebdafdpj: u32,
}
/// Obf: NNDDOMBMKCI
#[derive(proto_derive::CmdID)]
#[cmdid(54)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetGameplayBirthdayCsReq {
    #[prost(uint32, tag = "5")]
    pub birthday: u32,
}
/// Obf: POEHBJFDKEN
#[derive(proto_derive::CmdID)]
#[cmdid(99)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetGameplayBirthdayScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub birthday: u32,
}
/// Obf: PICOEIMKLBN
#[derive(proto_derive::CmdID)]
#[cmdid(87)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AceAntiCheaterCsReq {
    #[prost(uint32, tag = "14")]
    pub glnkkfaipob: u32,
    #[prost(string, tag = "3")]
    pub dgdlniefcpf: ::prost::alloc::string::String,
}
/// Obf: GOODKNBLONB
#[derive(proto_derive::CmdID)]
#[cmdid(8)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AceAntiCheaterScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: NNKIDOFODLM
#[derive(proto_derive::CmdID)]
#[cmdid(34)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RetcodeNotify {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub jojppodomah: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KKPKCBHDAIG
#[derive(proto_derive::CmdID)]
#[cmdid(68)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerHeartBeatCsReq {
    #[prost(uint32, tag = "3")]
    pub jbpemofnedg: u32,
    #[prost(uint64, tag = "11")]
    pub client_time_ms: u64,
    #[prost(message, optional, tag = "14")]
    pub lkjmjgdebee: ::core::option::Option<ClientUploadData>,
}
/// Obf: EPFPPENOIGH
#[derive(proto_derive::CmdID)]
#[cmdid(1)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerHeartBeatScRsp {
    #[prost(uint64, tag = "2")]
    pub client_time_ms: u64,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
    #[prost(uint64, tag = "8")]
    pub server_time_ms: u64,
}
/// Obf: ONJIGDEOICM
#[derive(proto_derive::CmdID)]
#[cmdid(36)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FeatureSwitchClosedScNotify {
    #[prost(enumeration = "FeatureSwitchType", tag = "4")]
    pub kimnkfpfbdg: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpcimegklll {
    #[prost(string, tag = "14")]
    pub iaogfcmadlc: ::prost::alloc::string::String,
    #[prost(enumeration = "SecretKeyType", tag = "5")]
    pub slot: i32,
}
/// Obf: NPKKENGFCBP
#[derive(proto_derive::CmdID)]
#[cmdid(74)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSecretKeyInfoCsReq {
    #[prost(bytes = "vec", tag = "14")]
    pub cfhgmeadiph: ::prost::alloc::vec::Vec<u8>,
}
/// Obf: IKCBJPLKFHC
#[derive(proto_derive::CmdID)]
#[cmdid(90)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSecretKeyInfoScRsp {
    #[prost(bytes = "vec", tag = "3")]
    pub baohefhiden: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "12")]
    pub ebceboebgeh: ::prost::alloc::vec::Vec<Kpcimegklll>,
}
/// Obf: IJEADEFDMOI
#[derive(proto_derive::CmdID)]
#[cmdid(17)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerLoginFinishCsReq {}
/// Obf: OFALHALMBDC
#[derive(proto_derive::CmdID)]
#[cmdid(69)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerLoginFinishScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VideoKeyInfo {
    #[prost(uint32, tag = "6")]
    pub id: u32,
    #[prost(uint64, tag = "8")]
    pub video_key: u64,
}
/// Obf: IEDMBNKGGGN
#[derive(proto_derive::CmdID)]
#[cmdid(49)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetVideoVersionKeyCsReq {}
/// Obf: CEENOIAPFNM
#[derive(proto_derive::CmdID)]
#[cmdid(3)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetVideoVersionKeyScRsp {
    #[prost(message, repeated, tag = "3")]
    pub apmbnedfbpa: ::prost::alloc::vec::Vec<VideoKeyInfo>,
    #[prost(message, repeated, tag = "7")]
    pub video_key_info_list: ::prost::alloc::vec::Vec<VideoKeyInfo>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nhjghokbdpk {
    #[prost(uint32, tag = "8")]
    pub iipdefcedmc: u32,
    #[prost(uint32, tag = "14")]
    pub nciadbakmae: u32,
    #[prost(uint32, tag = "4")]
    pub jdakkofdgep: u32,
    #[prost(uint32, tag = "9")]
    pub content_id: u32,
}
/// Obf: FICCMNIFEBG
#[derive(proto_derive::CmdID)]
#[cmdid(10)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRedPointStatusScNotify {
    #[prost(uint32, tag = "12")]
    pub jdakkofdgep: u32,
    #[prost(uint32, tag = "1")]
    pub content_id: u32,
    #[prost(uint32, tag = "5")]
    pub uid: u32,
    #[prost(message, repeated, tag = "14")]
    pub njehhffdghk: ::prost::alloc::vec::Vec<Nhjghokbdpk>,
    #[prost(uint32, tag = "3")]
    pub iipdefcedmc: u32,
}
/// Obf: GCINFCFLOJD
#[derive(proto_derive::CmdID)]
#[cmdid(70)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReserveStaminaExchangeCsReq {
    #[prost(uint32, tag = "11")]
    pub num: u32,
}
/// Obf: ReserveStaminaExchangeScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(4)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReserveStaminaExchangeScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub num: u32,
}
/// Obf: KIHFDKLMCEM
#[derive(proto_derive::CmdID)]
#[cmdid(18)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StaminaInfoScNotify {
    #[prost(int64, tag = "7")]
    pub next_recover_time: i64,
    #[prost(uint32, tag = "8")]
    pub reserve_stamina: u32,
    #[prost(uint32, tag = "1")]
    pub stamina: u32,
    #[prost(int64, tag = "12")]
    pub dpimhemjkoe: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Onmlpjkagcg {
    #[prost(
        oneof = "onmlpjkagcg::Ckmaikmmjme",
        tags = "1, 8, 5, 7, 2, 4, 11, 15, 6, 9, 12"
    )]
    pub ckmaikmmjme: ::core::option::Option<onmlpjkagcg::Ckmaikmmjme>,
}
/// Nested message and enum types in `ONMLPJKAGCG`.
pub mod onmlpjkagcg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Ckmaikmmjme {
        #[prost(bool, tag = "1")]
        Kapdimgjlnf(bool),
        #[prost(bool, tag = "8")]
        Mmmnjchemfn(bool),
        #[prost(bool, tag = "5")]
        Nkekibnjmpa(bool),
        #[prost(bool, tag = "7")]
        Pbkbglhhkpe(bool),
        #[prost(bool, tag = "2")]
        Njfmiljofok(bool),
        #[prost(bool, tag = "4")]
        Aicnfaobcpi(bool),
        #[prost(bool, tag = "11")]
        Kjncckhjfhe(bool),
        #[prost(bool, tag = "15")]
        Aponeidmphl(bool),
        #[prost(bool, tag = "6")]
        Gmjanojmkce(bool),
        #[prost(message, tag = "9")]
        Ghkcmdnkopn(super::Ogfiodpilel),
        #[prost(bool, tag = "12")]
        Ilfalcdlaol(bool),
    }
}
/// Obf: IBEPKJBGGLD
#[derive(proto_derive::CmdID)]
#[cmdid(44)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdatePlayerSettingCsReq {
    #[prost(message, optional, tag = "13")]
    pub klkpmljkmjp: ::core::option::Option<Onmlpjkagcg>,
}
/// Obf: IJBPIFMHMHN
#[derive(proto_derive::CmdID)]
#[cmdid(26)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdatePlayerSettingScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub klkpmljkmjp: ::core::option::Option<Onmlpjkagcg>,
}
/// Obf: BIJPBJMIAHD
#[derive(proto_derive::CmdID)]
#[cmdid(67)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjUploadCsReq {
    #[prost(bytes = "vec", tag = "15")]
    pub lkjmjgdebee: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "10")]
    pub jbpemofnedg: u32,
}
/// Obf: KEAENHHGMEF
#[derive(proto_derive::CmdID)]
#[cmdid(96)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjUploadScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub data: ::core::option::Option<ClientObjDownloadData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Menpbggogmc {
    #[prost(string, repeated, tag = "7")]
    pub gkhfbfknhob: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncbimlpodon {
    #[prost(bool, tag = "1")]
    pub iahopfnpfln: bool,
    #[prost(message, optional, tag = "6")]
    pub pelmgopehkn: ::core::option::Option<Menpbggogmc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjakibdimmj {
    #[prost(oneof = "cjakibdimmj::Bfgkjimcgah", tags = "1837, 73, 670")]
    pub bfgkjimcgah: ::core::option::Option<cjakibdimmj::Bfgkjimcgah>,
}
/// Nested message and enum types in `CJAKIBDIMMJ`.
pub mod cjakibdimmj {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Bfgkjimcgah {
        #[prost(bool, tag = "1837")]
        Iahopfnpfln(bool),
        #[prost(message, tag = "73")]
        Amaljfokcba(super::Menpbggogmc),
        #[prost(message, tag = "670")]
        Oecbelgdlfp(super::Menpbggogmc),
    }
}
/// Obf: FDFPMJAPMIB
#[derive(proto_derive::CmdID)]
#[cmdid(12)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdatePsnSettingsInfoCsReq {
    #[prost(oneof = "update_psn_settings_info_cs_req::Ddbnlhjnane", tags = "1512, 1533")]
    pub ddbnlhjnane: ::core::option::Option<
        update_psn_settings_info_cs_req::Ddbnlhjnane,
    >,
}
/// Nested message and enum types in `UpdatePsnSettingsInfoCsReq`.
pub mod update_psn_settings_info_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ddbnlhjnane {
        #[prost(message, tag = "1512")]
        Doocplcldpd(super::Ncbimlpodon),
        #[prost(message, tag = "1533")]
        Inhldidjgha(super::Cjakibdimmj),
    }
}
/// Obf: GCMDOHJGGJB
#[derive(proto_derive::CmdID)]
#[cmdid(41)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdatePsnSettingsInfoScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: FHNGPBNFBAE
#[derive(proto_derive::CmdID)]
#[cmdid(82)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetGameStateServiceConfigCsReq {}
/// Obf: BAPHALPCPMJ
#[derive(proto_derive::CmdID)]
#[cmdid(47)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGameStateServiceConfigScRsp {
    #[prost(string, repeated, tag = "12")]
    pub kaojcobeeon: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "4")]
    pub fibijgmkdpp: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(string, repeated, tag = "5")]
    pub ledkmdollbb: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeadIcon {
    #[prost(uint32, tag = "5")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DisplayAvatar {
    #[prost(uint32, tag = "1")]
    pub pos: u32,
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayAvatarVec {
    #[prost(bool, tag = "4")]
    pub is_display: bool,
    #[prost(message, repeated, tag = "15")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatar>,
}
/// Obf: JMAOHPPGHLC
#[derive(proto_derive::CmdID)]
#[cmdid(2895)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPlayerBoardDataCsReq {}
/// Obf: PFBICOAEIGP
#[derive(proto_derive::CmdID)]
#[cmdid(2832)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerBoardDataScRsp {
    #[prost(uint32, tag = "10")]
    pub oldmjonbjom: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub kknjhenmgpk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub current_head_icon_id: u32,
    #[prost(message, optional, tag = "2")]
    pub display_avatar_vec: ::core::option::Option<DisplayAvatarVec>,
    #[prost(uint32, repeated, tag = "1")]
    pub display_support_avatar_vec: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "15")]
    pub unlocked_head_icon_list: ::prost::alloc::vec::Vec<HeadIcon>,
    #[prost(string, tag = "4")]
    pub signature: ::prost::alloc::string::String,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: EONDNBHOKPE
#[derive(proto_derive::CmdID)]
#[cmdid(2831)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetHeadIconCsReq {
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
/// Obf: IFOFBJAKGEK
#[derive(proto_derive::CmdID)]
#[cmdid(2840)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetHeadIconScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub current_head_icon_id: u32,
}
/// Obf: EFKAOICFGCL
#[derive(proto_derive::CmdID)]
#[cmdid(2846)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetPersonalCardCsReq {
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
/// Obf: CAFHOLFAOGK
#[derive(proto_derive::CmdID)]
#[cmdid(2883)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetPersonalCardScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub oldmjonbjom: u32,
}
/// Obf: FEDJLKBEPMM
#[derive(proto_derive::CmdID)]
#[cmdid(2876)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetDisplayAvatarCsReq {
    #[prost(message, repeated, tag = "13")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatar>,
}
/// Obf: HDKMPCKFAAB
#[derive(proto_derive::CmdID)]
#[cmdid(2848)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetDisplayAvatarScRsp {
    #[prost(message, repeated, tag = "8")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatar>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: DHGMEEGJFOE
#[derive(proto_derive::CmdID)]
#[cmdid(2871)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetIsDisplayAvatarInfoCsReq {
    #[prost(bool, tag = "10")]
    pub is_display: bool,
}
/// Obf: JEADFNNMIGN
#[derive(proto_derive::CmdID)]
#[cmdid(2852)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetIsDisplayAvatarInfoScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(bool, tag = "2")]
    pub is_display: bool,
}
/// Obf: AIKPANALJHL
#[derive(proto_derive::CmdID)]
#[cmdid(2856)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetSignatureCsReq {
    #[prost(string, tag = "14")]
    pub signature: ::prost::alloc::string::String,
}
/// Obf: JKMKJFGLBPA
#[derive(proto_derive::CmdID)]
#[cmdid(2872)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetSignatureScRsp {
    #[prost(string, tag = "6")]
    pub signature: ::prost::alloc::string::String,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: DHJGNGBKOAG
#[derive(proto_derive::CmdID)]
#[cmdid(2885)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAssistAvatarCsReq {
    #[prost(uint32, repeated, tag = "15")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
}
/// Obf: GOCFJNOLIPB
#[derive(proto_derive::CmdID)]
#[cmdid(2816)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAssistAvatarScRsp {
    #[prost(uint32, repeated, tag = "15")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
}
/// Obf: GJGCNJMEMAP
#[derive(proto_derive::CmdID)]
#[cmdid(4595)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerReturnStartScNotify {
    #[prost(uint32, tag = "15")]
    pub nchiekedhce: u32,
}
/// Obf: IKIEKHJENFO
#[derive(proto_derive::CmdID)]
#[cmdid(4532)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnSignCsReq {
    #[prost(uint32, repeated, tag = "2")]
    pub nmklegomepj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub opeedjihjop: u32,
}
/// Obf: PAFOHBIMNJK
#[derive(proto_derive::CmdID)]
#[cmdid(4531)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnSignScRsp {
    #[prost(uint32, tag = "2")]
    pub opeedjihjop: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub nmklegomepj: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "3")]
    pub ipflhcjiebm: ::prost::alloc::vec::Vec<ItemList>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: GNCEIPBBGHG
#[derive(proto_derive::CmdID)]
#[cmdid(4540)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerReturnPointChangeScNotify {
    #[prost(uint32, tag = "9")]
    pub mamhojmfjof: u32,
}
/// Obf: LKDDLABFIBC
#[derive(proto_derive::CmdID)]
#[cmdid(4576)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakePointRewardCsReq {
    #[prost(uint32, tag = "10")]
    pub iifomgofmdl: u32,
    #[prost(uint32, tag = "8")]
    pub cpnimljnmmf: u32,
}
/// Obf: FJHNMBNNIBK
#[derive(proto_derive::CmdID)]
#[cmdid(4548)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakePointRewardScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub cpnimljnmmf: u32,
    #[prost(message, optional, tag = "10")]
    pub cfidbmmijhg: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "2")]
    pub iifomgofmdl: u32,
}
/// Obf: ODLPHAPJDMH
#[derive(proto_derive::CmdID)]
#[cmdid(4571)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeRewardCsReq {}
/// Obf: NEIOAACEMJA
#[derive(proto_derive::CmdID)]
#[cmdid(4552)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeRewardScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub ipflhcjiebm: ::core::option::Option<ItemList>,
}
/// Obf: MNOOMKEHNOG
#[derive(proto_derive::CmdID)]
#[cmdid(4522)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerReturnInfoQueryCsReq {
    #[prost(uint32, tag = "8")]
    pub cehfiilmjkm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afbneibijnd {
    #[prost(bool, tag = "8")]
    pub is_taken_reward: bool,
    #[prost(int64, tag = "11")]
    pub finish_time: i64,
    #[prost(uint32, tag = "2")]
    pub world_level: u32,
    #[prost(uint32, tag = "13")]
    pub ilcfojcdnhi: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub nmklegomepj: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Nobpmmnfenj", tag = "5")]
    pub status: i32,
    #[prost(uint32, tag = "4")]
    pub ahnfmdnejnl: u32,
    #[prost(uint32, tag = "6")]
    pub mamhojmfjof: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub caimhcaacfg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub bgafghipoje: u32,
    #[prost(bool, tag = "12")]
    pub fjndpcfnflo: bool,
    #[prost(int64, tag = "10")]
    pub coifhfpegph: i64,
}
/// Obf: APNMNGNPFAC
#[derive(proto_derive::CmdID)]
#[cmdid(4556)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnInfoQueryScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub pfeidpolokm: ::core::option::Option<Afbneibijnd>,
    #[prost(uint32, tag = "9")]
    pub gmfidnohgco: u32,
}
/// Obf: JECKOPFFLAA
#[derive(proto_derive::CmdID)]
#[cmdid(4572)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnForceFinishScNotify {
    #[prost(message, optional, tag = "7")]
    pub pfeidpolokm: ::core::option::Option<Afbneibijnd>,
}
/// Obf: AFLMIOMNECM
#[derive(proto_derive::CmdID)]
#[cmdid(4585)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeRelicCsReq {
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
}
/// Obf: ECLOMGJFDIL
#[derive(proto_derive::CmdID)]
#[cmdid(4516)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeRelicScRsp {
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
    #[prost(message, optional, tag = "4")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: CMGDJIOMCLG
#[derive(proto_derive::CmdID)]
#[cmdid(1195)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishPlotCsReq {
    #[prost(uint32, tag = "7")]
    pub cldajdjhoii: u32,
}
/// Obf: CHCNMFDIPFB
#[derive(proto_derive::CmdID)]
#[cmdid(1132)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishPlotScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub cldajdjhoii: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kaoahkaohfi {
    #[prost(message, optional, tag = "13")]
    pub dhlpkmihdnm: ::core::option::Option<PunkLordBattleRecordList>,
    #[prost(uint32, tag = "15")]
    pub cojkeifjnek: u32,
    #[prost(enumeration = "PunkLordAttackerStatus", tag = "10")]
    pub ekkjlaokiji: i32,
    #[prost(message, optional, tag = "7")]
    pub basic_info: ::core::option::Option<PunkLordMonsterBasicInfo>,
}
/// Obf: FAMOHHOHPNL
#[derive(proto_derive::CmdID)]
#[cmdid(3295)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPunkLordMonsterDataCsReq {}
/// Obf: DPGJJNGCGPK
#[derive(proto_derive::CmdID)]
#[cmdid(3232)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordMonsterDataScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "2")]
    pub fijnjgfabjd: ::prost::alloc::vec::Vec<Kaoahkaohfi>,
}
/// Obf: EAGDPCPJOEM
#[derive(proto_derive::CmdID)]
#[cmdid(3231)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartPunkLordRaidCsReq {
    #[prost(uint32, tag = "13")]
    pub monster_id: u32,
    #[prost(bool, tag = "4")]
    pub clommfkjpmm: bool,
    #[prost(uint32, tag = "7")]
    pub uid: u32,
}
/// Obf: CDKHFIPEEIA
#[derive(proto_derive::CmdID)]
#[cmdid(3240)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartPunkLordRaidScRsp {
    #[prost(bool, tag = "14")]
    pub clommfkjpmm: bool,
    #[prost(message, optional, tag = "8")]
    pub dpmkammiolb: ::core::option::Option<Kaoahkaohfi>,
    #[prost(uint32, repeated, tag = "2")]
    pub dmilcfhlihp: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "1")]
    pub scene: ::core::option::Option<Fnlgplncpcl>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(int64, tag = "7")]
    pub agegdmgnpdk: i64,
}
/// Obf: IAGCOPHLMFB
#[derive(proto_derive::CmdID)]
#[cmdid(3276)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SharePunkLordMonsterCsReq {
    #[prost(uint32, tag = "11")]
    pub monster_id: u32,
    #[prost(enumeration = "PunkLordShareType", tag = "2")]
    pub share_type: i32,
    #[prost(uint32, tag = "5")]
    pub uid: u32,
}
/// Obf: ACFAMDBMAOI
#[derive(proto_derive::CmdID)]
#[cmdid(3248)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SharePunkLordMonsterScRsp {
    #[prost(uint32, tag = "7")]
    pub uid: u32,
    #[prost(uint32, tag = "1")]
    pub monster_id: u32,
    #[prost(enumeration = "PunkLordShareType", tag = "14")]
    pub share_type: i32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: GCCFGDENNNK
#[derive(proto_derive::CmdID)]
#[cmdid(3271)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SummonPunkLordMonsterCsReq {}
/// Obf: CFJJEOFIFEB
#[derive(proto_derive::CmdID)]
#[cmdid(3252)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SummonPunkLordMonsterScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub dpmkammiolb: ::core::option::Option<Kaoahkaohfi>,
}
/// Obf: GHMPPIJABNL
#[derive(proto_derive::CmdID)]
#[cmdid(3216)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakePunkLordPointRewardCsReq {
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(bool, tag = "10")]
    pub mdhjkkbnmcf: bool,
}
/// Obf: GDFCPPHAGDA
#[derive(proto_derive::CmdID)]
#[cmdid(3246)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePunkLordPointRewardScRsp {
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(bool, tag = "9")]
    pub mdhjkkbnmcf: bool,
}
/// Obf: IKCKFGPOCIB
#[derive(proto_derive::CmdID)]
#[cmdid(3283)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordMonsterInfoScNotify {
    #[prost(message, optional, tag = "1")]
    pub basic_info: ::core::option::Option<PunkLordMonsterBasicInfo>,
    #[prost(uint32, repeated, tag = "3")]
    pub dmilcfhlihp: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "10")]
    pub dhlpkmihdnm: ::core::option::Option<PunkLordBattleRecord>,
    #[prost(enumeration = "PunkLordMonsterInfoNotifyReason", tag = "13")]
    pub reason: i32,
}
/// Obf: HPOFEOILJCP
#[derive(proto_derive::CmdID)]
#[cmdid(3260)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPunkLordDataCsReq {}
/// Obf: FNCGHMIMJJK
#[derive(proto_derive::CmdID)]
#[cmdid(3202)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordDataScRsp {
    #[prost(int64, tag = "10")]
    pub bedjdeancoj: i64,
    #[prost(uint32, tag = "13")]
    pub ppnkpnbiien: u32,
    #[prost(uint32, tag = "15")]
    pub bdpbdgbkdoo: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub gnlmkkhaekm: u32,
    #[prost(uint32, tag = "9")]
    pub iadcohodgjn: u32,
    #[prost(uint32, tag = "5")]
    pub gbjodjcolga: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub eahbikfallf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GEMELJPBKDL
#[derive(proto_derive::CmdID)]
#[cmdid(3243)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PunkLordRaidTimeOutScNotify {
    #[prost(message, optional, tag = "2")]
    pub dpmkammiolb: ::core::option::Option<PunkLordMonsterBasicInfo>,
}
/// Obf: MIONOBMHAJA
#[derive(proto_derive::CmdID)]
#[cmdid(3258)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleResultScNotify {
    #[prost(uint32, tag = "7")]
    pub ncacoccjnld: u32,
    #[prost(message, optional, tag = "6")]
    pub dpmkammiolb: ::core::option::Option<PunkLordMonsterBasicInfo>,
    #[prost(uint32, tag = "11")]
    pub pgofpnlapoe: u32,
    #[prost(message, optional, tag = "5")]
    pub dhlpkmihdnm: ::core::option::Option<PunkLordBattleRecord>,
    #[prost(uint32, tag = "13")]
    pub ahjfpngdbdo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mdjgoockcmj {
    #[prost(uint32, tag = "1")]
    pub lkkjeilkpni: u32,
    #[prost(uint32, tag = "9")]
    pub monster_id: u32,
    #[prost(uint32, tag = "10")]
    pub config_id: u32,
    #[prost(bool, tag = "11")]
    pub ppboceckcah: bool,
    #[prost(uint32, tag = "15")]
    pub world_level: u32,
    #[prost(int64, tag = "4")]
    pub sent_time: i64,
}
/// Obf: IJJHFBPKBME
#[derive(proto_derive::CmdID)]
#[cmdid(3221)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetKilledPunkLordMonsterDataCsReq {}
/// Obf: PPFKEAJEFLA
#[derive(proto_derive::CmdID)]
#[cmdid(3229)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetKilledPunkLordMonsterDataScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "3")]
    pub ddcemdgedio: ::prost::alloc::vec::Vec<Mdjgoockcmj>,
    #[prost(message, repeated, tag = "15")]
    pub oakkccgaekk: ::prost::alloc::vec::Vec<PunkLordMonsterKey>,
}
/// Obf: HMINDKKLBIG
#[derive(proto_derive::CmdID)]
#[cmdid(3293)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PunkLordMonsterKilledNotify {
    #[prost(message, optional, tag = "4")]
    pub aiecobkeigb: ::core::option::Option<Mdjgoockcmj>,
}
/// Obf: LLDDOHBGEHB
#[derive(proto_derive::CmdID)]
#[cmdid(3225)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeKilledPunkLordMonsterScoreCsReq {
    #[prost(bool, tag = "10")]
    pub kfejgfnonip: bool,
    #[prost(message, optional, tag = "6")]
    pub pkcpjjnoaln: ::core::option::Option<PunkLordMonsterKey>,
}
/// Obf: KOJNFJLOEDG
#[derive(proto_derive::CmdID)]
#[cmdid(3214)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeKilledPunkLordMonsterScoreScRsp {
    #[prost(message, repeated, tag = "6")]
    pub jeahdcgkbbb: ::prost::alloc::vec::Vec<PunkLordMonsterKey>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(bool, tag = "13")]
    pub kfejgfnonip: bool,
    #[prost(uint32, tag = "5")]
    pub score: u32,
}
/// Obf: BAANOGIKBGK
#[derive(proto_derive::CmdID)]
#[cmdid(3284)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PunkLordDataChangeNotify {
    #[prost(uint32, tag = "12")]
    pub bdpbdgbkdoo: u32,
    #[prost(uint32, tag = "11")]
    pub iadcohodgjn: u32,
    #[prost(uint32, tag = "7")]
    pub gbjodjcolga: u32,
}
/// Obf: ILHGMAICAFE
#[derive(proto_derive::CmdID)]
#[cmdid(3237)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPunkLordBattleRecordCsReq {
    #[prost(message, optional, tag = "7")]
    pub pkcpjjnoaln: ::core::option::Option<PunkLordMonsterKey>,
}
/// Obf: JMFGECMDHBB
#[derive(proto_derive::CmdID)]
#[cmdid(3230)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordBattleRecordScRsp {
    #[prost(message, repeated, tag = "10")]
    pub battle_record_list: ::prost::alloc::vec::Vec<PunkLordBattleRecord>,
    #[prost(message, optional, tag = "13")]
    pub pkcpjjnoaln: ::core::option::Option<PunkLordMonsterKey>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "14")]
    pub okobgjhjjoa: ::prost::alloc::vec::Vec<PunkLordBattleReplay>,
}
/// Obf: ACPKEIAOGEG
#[derive(proto_derive::CmdID)]
#[cmdid(995)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetQuestDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Quest {
    #[prost(uint32, repeated, tag = "13")]
    pub pgjngnajhpp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub progress: u32,
    #[prost(uint32, tag = "7")]
    pub id: u32,
    #[prost(int64, tag = "4")]
    pub finish_time: i64,
    #[prost(enumeration = "QuestStatus", tag = "2")]
    pub status: i32,
}
/// Obf: HIACBFNPOEO
#[derive(proto_derive::CmdID)]
#[cmdid(932)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetQuestDataScRsp {
    #[prost(uint32, tag = "6")]
    pub total_achievement_exp: u32,
    #[prost(message, repeated, tag = "4")]
    pub quest_list: ::prost::alloc::vec::Vec<Quest>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: BBAADEDBDAB
#[derive(proto_derive::CmdID)]
#[cmdid(931)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestRewardCsReq {
    #[prost(uint32, repeated, tag = "10")]
    pub dcgjaboniic: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: TakeQuestRewardScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(940)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestRewardScRsp {
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, repeated, tag = "3")]
    pub succ_quest_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub quest_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: DCBEOECBLAC
#[derive(proto_derive::CmdID)]
#[cmdid(985)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeQuestOptionalRewardCsReq {
    #[prost(uint32, tag = "7")]
    pub jlfabhhnhcm: u32,
    #[prost(uint32, tag = "14")]
    pub optional_reward_id: u32,
}
/// Obf: MEFHINFDCEB
#[derive(proto_derive::CmdID)]
#[cmdid(916)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestOptionalRewardScRsp {
    #[prost(uint32, tag = "2")]
    pub jlfabhhnhcm: u32,
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: LAKABGFAIFM
#[derive(proto_derive::CmdID)]
#[cmdid(971)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetQuestRecordCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Epjdfbaofdf {
    #[prost(uint32, tag = "4")]
    pub progress: u32,
    #[prost(uint32, tag = "12")]
    pub ijfihgcknhg: u32,
}
/// Obf: DIINMPDPANG
#[derive(proto_derive::CmdID)]
#[cmdid(952)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetQuestRecordScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "4")]
    pub obemgacmgnh: ::prost::alloc::vec::Vec<Epjdfbaofdf>,
}
/// Obf: NHIGGMGNIAF
#[derive(proto_derive::CmdID)]
#[cmdid(922)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuestRecordScNotify {
    #[prost(message, optional, tag = "11")]
    pub feaocokkgbm: ::core::option::Option<Epjdfbaofdf>,
}
/// Obf: IBGHBKOLKJH
#[derive(proto_derive::CmdID)]
#[cmdid(956)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishQuestCsReq {
    #[prost(uint32, tag = "9")]
    pub jlfabhhnhcm: u32,
    #[prost(uint32, tag = "11")]
    pub prop_id: u32,
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
}
/// Obf: MENHBLJFCHH
#[derive(proto_derive::CmdID)]
#[cmdid(972)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishQuestScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: BMMFBCCJIGF
#[derive(proto_derive::CmdID)]
#[cmdid(983)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetQuestDataCsReq {
    #[prost(uint32, repeated, tag = "15")]
    pub quest_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LDMCJEDOBIK
#[derive(proto_derive::CmdID)]
#[cmdid(960)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetQuestDataScRsp {
    #[prost(message, repeated, tag = "10")]
    pub quest_list: ::prost::alloc::vec::Vec<Quest>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnlgplncpcl {
    #[prost(message, optional, tag = "6")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
    #[prost(uint32, tag = "1")]
    pub cenifnknfnp: u32,
    #[prost(message, optional, tag = "13")]
    pub ghedlclnhij: ::core::option::Option<SceneInfo>,
}
/// Obf: IPCKBDAGHHK
#[derive(proto_derive::CmdID)]
#[cmdid(2295)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRaidCsReq {
    #[prost(uint32, tag = "4")]
    pub cenifnknfnp: u32,
    #[prost(uint32, tag = "15")]
    pub jgeaegmhdoc: u32,
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub prop_entity_id: u32,
}
/// Obf: PPHBJDLLKIG
#[derive(proto_derive::CmdID)]
#[cmdid(2232)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRaidScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub scene: ::core::option::Option<Fnlgplncpcl>,
}
/// Obf: FHKCKEMNMFE
#[derive(proto_derive::CmdID)]
#[cmdid(2231)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveRaidCsReq {
    #[prost(uint32, tag = "13")]
    pub cenifnknfnp: u32,
    #[prost(bool, tag = "3")]
    pub jgeaegmhdoc: bool,
}
/// Obf: IFIEMDNGKIE
#[derive(proto_derive::CmdID)]
#[cmdid(2240)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveRaidScRsp {
    #[prost(uint32, tag = "5")]
    pub world_level: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub cenifnknfnp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hochoihkkdg {
    #[prost(uint32, tag = "6")]
    pub dlppdpbjiim: u32,
    #[prost(enumeration = "Fochdfjanpc", tag = "15")]
    pub mddofmcjjhh: i32,
    #[prost(uint32, tag = "2")]
    pub hfaljihkecn: u32,
}
/// Obf: GBDKFMGFPNL
#[derive(proto_derive::CmdID)]
#[cmdid(2276)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidInfoNotify {
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
    #[prost(enumeration = "Jldfakdkmjj", tag = "14")]
    pub status: i32,
    #[prost(uint32, tag = "12")]
    pub cenifnknfnp: u32,
    #[prost(message, repeated, tag = "15")]
    pub lheilnacnod: ::prost::alloc::vec::Vec<Hochoihkkdg>,
    #[prost(uint64, tag = "7")]
    pub copmfambkdn: u64,
    #[prost(message, optional, tag = "11")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Amdkbohcfia {
    #[prost(uint32, tag = "1")]
    pub cenifnknfnp: u32,
    #[prost(uint32, tag = "15")]
    pub stage_score: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akdajafpdee {
    #[prost(uint32, tag = "10")]
    pub world_level: u32,
    #[prost(uint32, tag = "11")]
    pub cenifnknfnp: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub knibaniilde: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MKDMNMLEFFN
#[derive(proto_derive::CmdID)]
#[cmdid(2272)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRaidInfoCsReq {}
/// Obf: GetRaidInfoScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(2285)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRaidInfoScRsp {
    #[prost(message, repeated, tag = "6")]
    pub finished_raid_info_list: ::prost::alloc::vec::Vec<Akdajafpdee>,
    #[prost(uint32, repeated, tag = "8")]
    pub challenge_taken_reward_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "4")]
    pub challenge_raid_list: ::prost::alloc::vec::Vec<Amdkbohcfia>,
}
/// Obf: AIAMPHNKFBB
#[derive(proto_derive::CmdID)]
#[cmdid(2248)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChallengeRaidInfoCsReq {}
/// Obf: JHPHOLNEMDF
#[derive(proto_derive::CmdID)]
#[cmdid(2271)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeRaidInfoScRsp {
    #[prost(message, repeated, tag = "6")]
    pub mjgffcljgfn: ::prost::alloc::vec::Vec<Amdkbohcfia>,
    #[prost(uint32, repeated, tag = "13")]
    pub ioodmakjdif: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: COLGMGCKFEN
#[derive(proto_derive::CmdID)]
#[cmdid(2252)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeChallengeRaidRewardCsReq {
    #[prost(uint32, tag = "15")]
    pub oehkjoafpba: u32,
}
/// Obf: EGBIALMIDFD
#[derive(proto_derive::CmdID)]
#[cmdid(2222)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengeRaidRewardScRsp {
    #[prost(uint32, tag = "8")]
    pub oehkjoafpba: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: NHDHPHKKJOG
#[derive(proto_derive::CmdID)]
#[cmdid(2256)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeRaidNotify {
    #[prost(message, optional, tag = "4")]
    pub ehmiljfijkh: ::core::option::Option<Amdkbohcfia>,
}
/// Obf: GELPFLAECFD
#[derive(proto_derive::CmdID)]
#[cmdid(2216)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetClientRaidTargetCountCsReq {
    #[prost(uint32, tag = "12")]
    pub dmmppkmjpmm: u32,
    #[prost(uint32, tag = "3")]
    pub progress: u32,
}
/// Obf: PFFLBELDCIP
#[derive(proto_derive::CmdID)]
#[cmdid(2246)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetClientRaidTargetCountScRsp {
    #[prost(uint32, tag = "4")]
    pub progress: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub dmmppkmjpmm: u32,
}
/// Obf: HIIACEHOBBC
#[derive(proto_derive::CmdID)]
#[cmdid(2283)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetSaveRaidCsReq {
    #[prost(uint32, tag = "12")]
    pub cenifnknfnp: u32,
    #[prost(uint32, tag = "1")]
    pub world_level: u32,
}
/// Obf: EKHIKMNOKMD
#[derive(proto_derive::CmdID)]
#[cmdid(2260)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSaveRaidScRsp {
    #[prost(message, repeated, tag = "5")]
    pub lheilnacnod: ::prost::alloc::vec::Vec<Hochoihkkdg>,
    #[prost(bool, tag = "4")]
    pub jgeaegmhdoc: bool,
    #[prost(uint32, tag = "13")]
    pub cenifnknfnp: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub world_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkdinnedbao {
    #[prost(uint32, tag = "4")]
    pub cenifnknfnp: u32,
    #[prost(uint32, tag = "11")]
    pub world_level: u32,
    #[prost(message, repeated, tag = "2")]
    pub lheilnacnod: ::prost::alloc::vec::Vec<Hochoihkkdg>,
}
/// Obf: AHANBGMIBAD
#[derive(proto_derive::CmdID)]
#[cmdid(2202)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAllSaveRaidCsReq {}
/// Obf: FEJLDILDBBM
#[derive(proto_derive::CmdID)]
#[cmdid(2239)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllSaveRaidScRsp {
    #[prost(message, repeated, tag = "2")]
    pub npjhicinona: ::prost::alloc::vec::Vec<Jkdinnedbao>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: FFNAPMOAPNK
#[derive(proto_derive::CmdID)]
#[cmdid(2243)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DelSaveRaidScNotify {
    #[prost(uint32, tag = "3")]
    pub world_level: u32,
    #[prost(uint32, tag = "10")]
    pub cenifnknfnp: u32,
}
/// Obf: FEODPIJLNCC
#[derive(proto_derive::CmdID)]
#[cmdid(2233)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidKickByServerScNotify {
    #[prost(message, optional, tag = "1")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(uint32, tag = "12")]
    pub cenifnknfnp: u32,
    #[prost(uint32, tag = "6")]
    pub world_level: u32,
    #[prost(message, optional, tag = "2")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(enumeration = "Egkfndoopnn", tag = "10")]
    pub reason: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aconlfjejok {
    #[prost(uint32, tag = "12")]
    pub jjdmkhbkplm: u32,
}
/// Obf: AGDLAANKDJM
#[derive(proto_derive::CmdID)]
#[cmdid(6954)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RaidCollectionDataCsReq {}
/// Obf: CECBNFAMLAE
#[derive(proto_derive::CmdID)]
#[cmdid(6953)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionDataScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "3")]
    pub challenge_list: ::prost::alloc::vec::Vec<Aconlfjejok>,
}
/// Obf: CEALIDHPNJE
#[derive(proto_derive::CmdID)]
#[cmdid(6948)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RaidCollectionDataScNotify {
    #[prost(message, optional, tag = "14")]
    pub collection_info: ::core::option::Option<Aconlfjejok>,
}
/// Obf: CEAEPKEGAOK
#[derive(proto_derive::CmdID)]
#[cmdid(6950)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionEnterNextRaidCsReq {
    #[prost(uint32, tag = "8")]
    pub jgeaegmhdoc: u32,
    #[prost(uint32, tag = "5")]
    pub world_level: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub cenifnknfnp: u32,
}
/// Obf: JKOIJMAOLJN
#[derive(proto_derive::CmdID)]
#[cmdid(6944)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionEnterNextRaidScRsp {
    #[prost(message, optional, tag = "3")]
    pub scene: ::core::option::Option<Fnlgplncpcl>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: ABHFJDNFCFL
#[derive(proto_derive::CmdID)]
#[cmdid(8374)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRechargeGiftInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oiopbdbjhie {
    #[prost(uint32, tag = "12")]
    pub index: u32,
    #[prost(enumeration = "oiopbdbjhie::Ipkpkdcebki", tag = "11")]
    pub status: i32,
}
/// Nested message and enum types in `OIOPBDBJHIE`.
pub mod oiopbdbjhie {
    #[derive(proto_derive::CmdID)]
    #[derive(
        Clone,
        Copy,
        Debug,
        PartialEq,
        Eq,
        Hash,
        PartialOrd,
        Ord,
        ::prost::Enumeration
    )]
    #[repr(i32)]
    pub enum Ipkpkdcebki {
        NotReach = 0,
        Received = 1,
        CanReceive = 2,
    }
    impl Ipkpkdcebki {
        /// String value of the enum field names used in the ProtoBuf definition.
        ///
        /// The values are not transformed in any way and thus are considered stable
        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
        pub fn as_str_name(&self) -> &'static str {
            match self {
                Self::NotReach => "NotReach",
                Self::Received => "Received",
                Self::CanReceive => "CanReceive",
            }
        }
        /// Creates an enum from field names used in the ProtoBuf definition.
        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
            match value {
                "NotReach" => Some(Self::NotReach),
                "Received" => Some(Self::Received),
                "CanReceive" => Some(Self::CanReceive),
                _ => None,
            }
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpnjlddamgh {
    #[prost(int64, tag = "15")]
    pub end_time: i64,
    #[prost(message, repeated, tag = "14")]
    pub migfmpjbelg: ::prost::alloc::vec::Vec<Oiopbdbjhie>,
    #[prost(int64, tag = "13")]
    pub coifhfpegph: i64,
    #[prost(uint32, tag = "10")]
    pub dnajfmpcmll: u32,
}
/// Obf: PILPFBJNIOG
#[derive(proto_derive::CmdID)]
#[cmdid(8373)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRechargeGiftInfoScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub mmglcjmggih: ::prost::alloc::vec::Vec<Fpnjlddamgh>,
}
/// Obf: HADFKEGGMCA
#[derive(proto_derive::CmdID)]
#[cmdid(8368)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRechargeGiftRewardCsReq {
    #[prost(uint32, tag = "14")]
    pub dnajfmpcmll: u32,
}
/// Obf: HDAPAPFIGFP
#[derive(proto_derive::CmdID)]
#[cmdid(8370)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRechargeGiftRewardScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub hnkgcndocak: ::core::option::Option<Fpnjlddamgh>,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: NJOOEGFJKIH
#[derive(proto_derive::CmdID)]
#[cmdid(8364)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRechargeBenefitInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmhojkkgnif {
    #[prost(uint32, tag = "4")]
    pub id: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub jclobiapkeg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub progress: u32,
    #[prost(uint32, tag = "8")]
    pub module_id: u32,
}
/// Obf: NIAKKHJBAIH
#[derive(proto_derive::CmdID)]
#[cmdid(8362)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRechargeBenefitInfoScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "14")]
    pub ehndmlffmhi: ::prost::alloc::vec::Vec<Jmhojkkgnif>,
}
/// Obf: CCEDDHEGMEG
#[derive(proto_derive::CmdID)]
#[cmdid(8380)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRechargeBenefitInfoScNotify {
    #[prost(message, optional, tag = "9")]
    pub amefppfcfji: ::core::option::Option<Jmhojkkgnif>,
}
/// Obf: AADIKBDAIMM
#[derive(proto_derive::CmdID)]
#[cmdid(8369)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRechargeBenefitRewardCsReq {
    #[prost(uint32, tag = "7")]
    pub id: u32,
}
/// Obf: JKLJIEBJLMI
#[derive(proto_derive::CmdID)]
#[cmdid(8367)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRechargeBenefitRewardScRsp {
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub amefppfcfji: ::core::option::Option<Jmhojkkgnif>,
}
/// Obf: NFJMMFNGLIJ
#[derive(proto_derive::CmdID)]
#[cmdid(2436)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChallengeRecommendLineupListCsReq {
    #[prost(uint32, tag = "10")]
    pub challenge_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahkggggibif {
    #[prost(uint32, tag = "7")]
    pub dcholkbfbgi: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub first_lineup_ids: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub second_lineup_ids: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub ceifdikpdam: u32,
}
/// Obf: AJAENMGKGLI
#[derive(proto_derive::CmdID)]
#[cmdid(2417)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeRecommendLineupListScRsp {
    #[prost(message, repeated, tag = "4")]
    pub jaejjmjpmnc: ::prost::alloc::vec::Vec<Ahkggggibif>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub challenge_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RecomendedEquipmentInfo {
    #[prost(uint32, tag = "2")]
    pub mdmgkhlhiin: u32,
    #[prost(uint32, tag = "13")]
    pub lgiiahidlmg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecomendedEquipmentData {
    #[prost(message, repeated, tag = "10")]
    pub equipment_list: ::prost::alloc::vec::Vec<RecomendedEquipmentInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RecomendedRelicInfo {
    #[prost(uint32, tag = "5")]
    pub fikkgbibcjk: u32,
    #[prost(uint32, tag = "13")]
    pub pdmgjkodfop: u32,
    #[prost(uint32, tag = "14")]
    pub ehceepmbddi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecomendedRelicData {
    #[prost(message, repeated, tag = "4")]
    pub cdhdmhlocpo: ::prost::alloc::vec::Vec<RecomendedRelicInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cagflkclgch {
    #[prost(uint32, repeated, tag = "7")]
    pub dbgnciomiep: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpcpgbhofcf {
    #[prost(message, repeated, tag = "15")]
    pub jaejjmjpmnc: ::prost::alloc::vec::Vec<Cagflkclgch>,
}
/// Obf: LGPNOIDOJLE
#[derive(proto_derive::CmdID)]
#[cmdid(2427)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBigDataRecommendCsReq {
    #[prost(uint32, tag = "9")]
    pub recommended_avatar_id: u32,
    #[prost(enumeration = "BigDataRecommendType", tag = "4")]
    pub big_data_recommend_type: i32,
}
/// Obf: BLANKJCLNPE
#[derive(proto_derive::CmdID)]
#[cmdid(2415)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBigDataRecommendScRsp {
    #[prost(bool, tag = "8")]
    pub ogegkokgppj: bool,
    #[prost(enumeration = "BigDataRecommendType", tag = "1")]
    pub big_data_recommend_type: i32,
    #[prost(uint32, tag = "13")]
    pub recommended_avatar_id: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(oneof = "get_big_data_recommend_sc_rsp::RecommendType", tags = "4, 10, 12")]
    pub recommend_type: ::core::option::Option<
        get_big_data_recommend_sc_rsp::RecommendType,
    >,
}
/// Nested message and enum types in `GetBigDataRecommendScRsp`.
pub mod get_big_data_recommend_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum RecommendType {
        #[prost(message, tag = "4")]
        RecomendedEquipmentData(super::RecomendedEquipmentData),
        #[prost(message, tag = "10")]
        RecomendedRelicData(super::RecomendedRelicData),
        #[prost(message, tag = "12")]
        Kghlfceobkk(super::Gpcpgbhofcf),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecomendedAvatarInfo {
    #[prost(uint32, repeated, tag = "5")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub relic_set_id: u32,
    #[prost(uint32, tag = "12")]
    pub recommend_avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigDataRecommendRelicAvatar {
    #[prost(message, repeated, tag = "12")]
    pub recommended_avatar_info_list: ::prost::alloc::vec::Vec<RecomendedAvatarInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nkghhafanhn {
    #[prost(uint32, tag = "15")]
    pub kicobnpckae: u32,
    #[prost(uint32, tag = "2")]
    pub iikgcjfjadf: u32,
    #[prost(uint32, tag = "7")]
    pub fleefjlnlch: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ghledkfiijh {
    #[prost(uint32, tag = "15")]
    pub jicdflimhhd: u32,
    #[prost(uint32, tag = "9")]
    pub kicobnpckae: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecommendedRelicInfo {
    #[prost(message, repeated, tag = "8")]
    pub kkcmfgmhimo: ::prost::alloc::vec::Vec<Ghledkfiijh>,
    #[prost(message, repeated, tag = "1")]
    pub fbbajbinglb: ::prost::alloc::vec::Vec<Ghledkfiijh>,
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
    #[prost(message, repeated, tag = "6")]
    pub pdbhnhpcnnj: ::prost::alloc::vec::Vec<Nkghhafanhn>,
    #[prost(message, repeated, tag = "15")]
    pub mpmfahlkeob: ::prost::alloc::vec::Vec<Ghledkfiijh>,
    #[prost(message, repeated, tag = "12")]
    pub nobonccpeng: ::prost::alloc::vec::Vec<Nkghhafanhn>,
    #[prost(message, repeated, tag = "3")]
    pub lgejjajpedk: ::prost::alloc::vec::Vec<Ghledkfiijh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigDataRecommendAvatarRelic {
    #[prost(message, repeated, tag = "14")]
    pub recomended_relic_info_list: ::prost::alloc::vec::Vec<RecommendedRelicInfo>,
}
/// Obf: DILCJFEHKGC
#[derive(proto_derive::CmdID)]
#[cmdid(2443)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBigDataAllRecommendCsReq {
    #[prost(enumeration = "BigDataRecommendType", tag = "2")]
    pub big_data_recommend_type: i32,
}
/// Obf: BCBHNEHMIKN
#[derive(proto_derive::CmdID)]
#[cmdid(2409)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBigDataAllRecommendScRsp {
    #[prost(enumeration = "BigDataRecommendType", tag = "2")]
    pub big_data_recommend_type: i32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(oneof = "get_big_data_all_recommend_sc_rsp::RecommendType", tags = "14, 13")]
    pub recommend_type: ::core::option::Option<
        get_big_data_all_recommend_sc_rsp::RecommendType,
    >,
}
/// Nested message and enum types in `GetBigDataAllRecommendScRsp`.
pub mod get_big_data_all_recommend_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum RecommendType {
        #[prost(message, tag = "14")]
        RelicAvatar(super::BigDataRecommendRelicAvatar),
        #[prost(message, tag = "13")]
        AvatarRelic(super::BigDataRecommendAvatarRelic),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejbiokmolaf {
    #[prost(uint32, repeated, tag = "1")]
    pub ffbeebkogpn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knchlmgiljc {
    #[prost(map = "uint32, message", tag = "13")]
    pub mbgijnjfhge: ::std::collections::HashMap<u32, Ejbiokmolaf>,
    #[prost(uint32, tag = "5")]
    pub module_id: u32,
    #[prost(uint32, tag = "9")]
    pub nopdkldekkf: u32,
}
/// Obf: ONAPBICFOKG
#[derive(proto_derive::CmdID)]
#[cmdid(5995)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAllRedDotDataCsReq {}
/// Obf: KJIPKOMMDII
#[derive(proto_derive::CmdID)]
#[cmdid(5932)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllRedDotDataScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub iagibdaichi: ::prost::alloc::vec::Vec<Knchlmgiljc>,
}
/// Obf: HNPBFPOOJCO
#[derive(proto_derive::CmdID)]
#[cmdid(5931)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateRedDotDataCsReq {
    #[prost(uint32, tag = "4")]
    pub module_id: u32,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(enumeration = "Ojljhfnfdkp", tag = "5")]
    pub honemgcfbgi: i32,
    #[prost(uint32, repeated, tag = "3")]
    pub param_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub nopdkldekkf: u32,
}
/// Obf: BGEJFELHFNL
#[derive(proto_derive::CmdID)]
#[cmdid(5940)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateRedDotDataScRsp {
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
    #[prost(uint32, tag = "4")]
    pub nopdkldekkf: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub module_id: u32,
}
/// Obf: CMMBDGDNHGC
#[derive(proto_derive::CmdID)]
#[cmdid(5976)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetSingleRedDotParamGroupCsReq {
    #[prost(uint32, tag = "6")]
    pub nopdkldekkf: u32,
    #[prost(uint32, tag = "7")]
    pub module_id: u32,
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
}
/// Obf: DHNIBENKEHJ
#[derive(proto_derive::CmdID)]
#[cmdid(5948)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSingleRedDotParamGroupScRsp {
    #[prost(message, optional, tag = "6")]
    pub chpjjklgokm: ::core::option::Option<Ejbiokmolaf>,
    #[prost(uint32, tag = "3")]
    pub nopdkldekkf: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(uint32, tag = "5")]
    pub module_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearPlanData {
    #[prost(uint32, repeated, tag = "7")]
    pub egflalhojkf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub unique_id: u32,
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub fahcacdfeih: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: EHJMBNKJNKO
#[derive(proto_derive::CmdID)]
#[cmdid(8264)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPlanCsReq {
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
}
/// Obf: IIIOAPKPEEK
#[derive(proto_derive::CmdID)]
#[cmdid(8263)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPlanScRsp {
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
    #[prost(message, repeated, tag = "10")]
    pub plan_list: ::prost::alloc::vec::Vec<RelicSmartWearPlanData>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: IBNONNCJIFK
#[derive(proto_derive::CmdID)]
#[cmdid(8258)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearAddPlanCsReq {
    #[prost(message, optional, tag = "4")]
    pub eilidmcocho: ::core::option::Option<RelicSmartWearPlanData>,
}
/// Obf: OGANNCNENBP
#[derive(proto_derive::CmdID)]
#[cmdid(8260)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearAddPlanScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub eilidmcocho: ::core::option::Option<RelicSmartWearPlanData>,
}
/// Obf: CLEFDPIDONA
#[derive(proto_derive::CmdID)]
#[cmdid(8254)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearUpdatePlanCsReq {
    #[prost(message, optional, tag = "15")]
    pub eilidmcocho: ::core::option::Option<RelicSmartWearPlanData>,
}
/// Obf: NLJLABKKHON
#[derive(proto_derive::CmdID)]
#[cmdid(8252)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearUpdatePlanScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub eilidmcocho: ::core::option::Option<RelicSmartWearPlanData>,
}
/// Obf: MPLPIGALHGK
#[derive(proto_derive::CmdID)]
#[cmdid(8270)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicSmartWearDeletePlanCsReq {
    #[prost(uint32, tag = "4")]
    pub unique_id: u32,
}
/// Obf: EGONFNCEMOL
#[derive(proto_derive::CmdID)]
#[cmdid(8259)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicSmartWearDeletePlanScRsp {
    #[prost(uint32, tag = "2")]
    pub unique_id: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: CCFLJFFBHFE
#[derive(proto_derive::CmdID)]
#[cmdid(8257)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicSmartWearPinRelicCsReq {
    #[prost(bool, tag = "9")]
    pub baoonjdcfkd: bool,
    #[prost(uint32, tag = "15")]
    pub slot: u32,
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
/// Obf: AEHPKJOACHB
#[derive(proto_derive::CmdID)]
#[cmdid(8253)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicSmartWearPinRelicScRsp {
    #[prost(bool, tag = "13")]
    pub baoonjdcfkd: bool,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "2")]
    pub slot: u32,
}
/// Obf: NMOGJDPNJEJ
#[derive(proto_derive::CmdID)]
#[cmdid(8255)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPinRelicCsReq {
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
}
/// Obf: PJLOLBEHOEB
#[derive(proto_derive::CmdID)]
#[cmdid(8251)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPinRelicScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub eiihpmpfklg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
}
/// Obf: NFHPFCBBGIP
#[derive(proto_derive::CmdID)]
#[cmdid(8261)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearUpdatePinRelicScNotify {
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub eiihpmpfklg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GCIMJNNOAAF
#[derive(proto_derive::CmdID)]
#[cmdid(3595)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetReplayTokenCsReq {
    #[prost(uint32, tag = "14")]
    pub cmpbkbbkaoa: u32,
    #[prost(string, tag = "6")]
    pub kihbigpfkkn: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub afehlmfibmd: u32,
    #[prost(string, tag = "13")]
    pub bbemidhmnlm: ::prost::alloc::string::String,
    #[prost(enumeration = "ReplayType", tag = "1")]
    pub replay_type: i32,
    #[prost(uint32, tag = "2")]
    pub stage_id: u32,
}
/// Obf: LPEKBEHCBBL
#[derive(proto_derive::CmdID)]
#[cmdid(3532)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetReplayTokenScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub stage_id: u32,
    #[prost(enumeration = "ReplayType", tag = "6")]
    pub replay_type: i32,
    #[prost(string, tag = "4")]
    pub token: ::prost::alloc::string::String,
    #[prost(string, tag = "12")]
    pub kihbigpfkkn: ::prost::alloc::string::String,
}
/// Obf: JEAHCDLLLPG
#[derive(proto_derive::CmdID)]
#[cmdid(3531)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPlayerReplayInfoCsReq {}
/// Obf: AAOOMDCFCBN
#[derive(proto_derive::CmdID)]
#[cmdid(3540)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerReplayInfoScRsp {
    #[prost(message, repeated, tag = "8")]
    pub kgcfealanko: ::prost::alloc::vec::Vec<ReplayInfo>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: JEKBCEFEKKK
#[derive(proto_derive::CmdID)]
#[cmdid(3495)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRndOptionCsReq {
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
/// Obf: LJIINOPGEDI
#[derive(proto_derive::CmdID)]
#[cmdid(3432)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRndOptionScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub eegeggbdhdg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BGIKBJMOKOF
#[derive(proto_derive::CmdID)]
#[cmdid(3431)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DailyFirstMeetPamCsReq {}
/// Obf: HFFMNIJGANJ
#[derive(proto_derive::CmdID)]
#[cmdid(3440)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DailyFirstMeetPamScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mkeelpfdclm {
    #[prost(uint32, tag = "10")]
    pub buff_id: u32,
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oobcejfehmk {
    #[prost(message, repeated, tag = "2")]
    pub buff_list: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gladgjakplc {
    #[prost(enumeration = "Ilnpbecoepl", tag = "10")]
    pub hnlfgdmcjdf: i32,
    #[prost(uint32, tag = "13")]
    pub imimgfaaghm: u32,
    #[prost(uint32, tag = "5")]
    pub site_id: u32,
    #[prost(enumeration = "Ilnpbecoepl", tag = "12")]
    pub beeeboiojif: i32,
    #[prost(uint32, tag = "7")]
    pub room_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijmgmkchhef {
    #[prost(uint32, tag = "6")]
    pub area_id: u32,
    #[prost(message, repeated, tag = "2")]
    pub jdcliamkdhf: ::prost::alloc::vec::Vec<Gladgjakplc>,
    #[prost(uint32, tag = "9")]
    pub cur_site_id: u32,
    #[prost(uint32, tag = "11")]
    pub cikibkaabim: u32,
    #[prost(uint32, tag = "10")]
    pub map_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bkaaebjkjkh {
    #[prost(uint32, tag = "4")]
    pub area_id: u32,
    #[prost(uint32, tag = "9")]
    pub gmpiiaeggek: u32,
    #[prost(enumeration = "Egpimdadfdi", tag = "13")]
    pub mkegbhjljnh: i32,
    #[prost(enumeration = "Jdakamigkhf", tag = "7")]
    pub nookgajmfji: i32,
    #[prost(bool, tag = "6")]
    pub fjoilohphlc: bool,
    #[prost(uint32, tag = "2")]
    pub map_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omogaieofah {
    #[prost(uint32, tag = "11")]
    pub igchbpakbcb: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub pdihilclenm: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "7")]
    pub lhmidpambpd: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
    #[prost(uint32, tag = "3")]
    pub bheidppfcka: u32,
    #[prost(uint32, tag = "1")]
    pub djfckfemgoj: u32,
    #[prost(uint32, tag = "14")]
    pub ipodnbljpol: u32,
    #[prost(bool, tag = "4")]
    pub ehpmcgoelgb: bool,
    #[prost(enumeration = "Nniohhmjghg", tag = "8")]
    pub hhmabjdimgm: i32,
    #[prost(uint32, tag = "6")]
    pub ekflpnlapdf: u32,
    #[prost(uint32, tag = "13")]
    pub pdapeheambm: u32,
    #[prost(message, optional, tag = "10")]
    pub fpoelpfcnbi: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "2")]
    pub cmogblhafhn: u32,
    #[prost(uint32, tag = "12")]
    pub ckkekmjmabc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfejfbbgiad {
    #[prost(message, repeated, tag = "13")]
    pub kmpmdldhabn: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
    #[prost(message, optional, tag = "3")]
    pub noenhhilnah: ::core::option::Option<Mkeelpfdclm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igjenciklof {
    #[prost(uint32, tag = "14")]
    pub bilbohbdbpn: u32,
    #[prost(message, repeated, tag = "10")]
    pub ihgmpjnnmki: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
    #[prost(message, repeated, tag = "3")]
    pub clplefhhafb: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdiilljbdcf {
    #[prost(message, optional, tag = "3")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(float, tag = "10")]
    pub famcmagfkcl: f32,
    #[prost(uint32, tag = "13")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueBuffEnhanceInfoList {
    #[prost(message, repeated, tag = "2")]
    pub dakmmpkbmko: ::prost::alloc::vec::Vec<Gdiilljbdcf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Paimogcigij {
    #[prost(uint32, tag = "4")]
    pub blfaanhjpad: u32,
    #[prost(uint32, tag = "10")]
    pub deidchamdba: u32,
    #[prost(uint32, tag = "9")]
    pub cur_times: u32,
    #[prost(uint32, tag = "14")]
    pub khncedgfpgl: u32,
    #[prost(map = "uint32, uint32", tag = "3")]
    pub gmafejejbho: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olfpckagkak {
    #[prost(message, repeated, tag = "10")]
    pub ckgfonmaeko: ::prost::alloc::vec::Vec<Paimogcigij>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfljdbhbmnp {
    #[prost(message, optional, tag = "8")]
    pub eeppkmpajoh: ::core::option::Option<Olfpckagkak>,
    #[prost(uint32, repeated, tag = "10")]
    pub jacighhgcgb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Keionffflco {
    #[prost(uint32, repeated, tag = "6")]
    pub cmaggnfdkag: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flecflldnfp {
    #[prost(uint32, repeated, tag = "5")]
    pub imoiceebdco: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngffceicacd {
    #[prost(uint32, tag = "15")]
    pub ebnpocidpke: u32,
    #[prost(oneof = "ngffceicacd::Ccpfabancnn", tags = "3, 5")]
    pub ccpfabancnn: ::core::option::Option<ngffceicacd::Ccpfabancnn>,
}
/// Nested message and enum types in `NGFFCEICACD`.
pub mod ngffceicacd {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ccpfabancnn {
        #[prost(message, tag = "3")]
        Jdijkegcibp(super::ItemList),
        #[prost(message, tag = "5")]
        Cndgjjljdof(super::Oobcejfehmk),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejjglgpedee {
    #[prost(message, optional, tag = "12")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jheeloagmig {
    #[prost(uint32, tag = "5")]
    pub nidflbkpoeb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pbekdhclbfb {
    #[prost(uint32, tag = "15")]
    pub gfdbgcolkcp: u32,
    #[prost(uint32, tag = "3")]
    pub ipodnbljpol: u32,
    #[prost(uint32, tag = "12")]
    pub jkjmcfagocf: u32,
    #[prost(uint32, tag = "7")]
    pub hgblomelble: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueInfo {
    #[prost(message, optional, tag = "1069")]
    pub omcbcgchlgn: ::core::option::Option<Dknmkfbobjf>,
    #[prost(message, optional, tag = "1649")]
    pub lagbgldlgcb: ::core::option::Option<Liikcgncbbf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Liikcgncbbf {
    #[prost(message, optional, tag = "13")]
    pub ofolhkcnlba: ::core::option::Option<Kicdahaplch>,
    #[prost(message, optional, tag = "12")]
    pub chmhpcngfao: ::core::option::Option<Icildhnfjfg>,
    #[prost(message, optional, tag = "4")]
    pub pfeaniahfpc: ::core::option::Option<Hghcogepidm>,
    #[prost(message, optional, tag = "8")]
    pub fejgmnnfflg: ::core::option::Option<Bfkmdfgcncd>,
    #[prost(message, optional, tag = "7")]
    pub iblembncgpm: ::core::option::Option<Mmchophfmah>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dknmkfbobjf {
    #[prost(message, optional, tag = "3")]
    pub embagmmhipa: ::core::option::Option<Efjdmhoakoo>,
    #[prost(message, optional, tag = "4")]
    pub map_info: ::core::option::Option<Ijmgmkchhef>,
    #[prost(message, optional, tag = "1")]
    pub chmhpcngfao: ::core::option::Option<Gabcapjghfg>,
    #[prost(message, optional, tag = "6")]
    pub eeppkmpajoh: ::core::option::Option<Omochgkhnik>,
    #[prost(enumeration = "Egpimdadfdi", tag = "13")]
    pub status: i32,
    #[prost(bool, tag = "10")]
    pub gjboljkmgge: bool,
    #[prost(message, optional, tag = "11")]
    pub lgopnbhhhbg: ::core::option::Option<Cfmapimjdfc>,
    #[prost(message, optional, tag = "9")]
    pub aabchfbkpeg: ::core::option::Option<Bcllbmeedkp>,
    #[prost(message, optional, tag = "15")]
    pub kndmeilhkej: ::core::option::Option<Kfpmaiaadmo>,
    #[prost(message, optional, tag = "5")]
    pub cmbhklpppad: ::core::option::Option<Ojcealjifnd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bfkmdfgcncd {
    #[prost(int64, tag = "15")]
    pub begin_time: i64,
    #[prost(int64, tag = "3")]
    pub end_time: i64,
    #[prost(uint32, tag = "9")]
    pub ahanjlehcga: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmchophfmah {
    #[prost(message, repeated, tag = "5")]
    pub jmmnaipoefo: ::prost::alloc::vec::Vec<Bkaaebjkjkh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icildhnfjfg {
    #[prost(bool, tag = "15")]
    pub aoelkjeegkg: bool,
    #[prost(uint32, repeated, tag = "11")]
    pub fpchnblonlc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub alkilfnbfnm: u32,
    #[prost(uint32, tag = "3")]
    pub hlbfbfdlaca: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kicdahaplch {
    #[prost(uint32, tag = "9")]
    pub bileoophjef: u32,
    #[prost(uint32, tag = "4")]
    pub ifehbimemec: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfmapimjdfc {
    #[prost(message, repeated, tag = "3")]
    pub lhmidpambpd: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omochgkhnik {
    #[prost(message, optional, tag = "14")]
    pub eeppkmpajoh: ::core::option::Option<Olfpckagkak>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Efjdmhoakoo {
    #[prost(uint32, repeated, tag = "10")]
    pub mankkfpbfcb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "8")]
    pub fpjckpnlnfm: ::core::option::Option<Ejjglgpedee>,
    #[prost(uint32, repeated, tag = "13")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdjflbmlldp {
    #[prost(message, optional, tag = "4")]
    pub gkflnmojncp: ::core::option::Option<Flecflldnfp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gabcapjghfg {
    #[prost(uint32, tag = "12")]
    pub amnbmjofjoo: u32,
    #[prost(uint32, tag = "8")]
    pub hlbfbfdlaca: u32,
    #[prost(bool, tag = "9")]
    pub aoelkjeegkg: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojcealjifnd {
    #[prost(uint32, repeated, tag = "4")]
    pub gjanfnhlogn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nikkccaknnp {
    #[prost(uint32, tag = "10")]
    pub amnbmjofjoo: u32,
    #[prost(uint32, tag = "2")]
    pub alkilfnbfnm: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub fpchnblonlc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub hlbfbfdlaca: u32,
    #[prost(bool, tag = "7")]
    pub aoelkjeegkg: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mncdpepcfgc {
    #[prost(uint32, tag = "6")]
    pub kobfcomhgce: u32,
    #[prost(uint32, tag = "11")]
    pub fjjdfpkgopc: u32,
    #[prost(uint32, tag = "5")]
    pub score: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aojofbbnepa {
    #[prost(float, tag = "6")]
    pub dpfbdjmnceo: f32,
    #[prost(uint32, tag = "14")]
    pub npjeecedpok: u32,
    #[prost(message, repeated, tag = "5")]
    pub dcmhgokcinf: ::prost::alloc::vec::Vec<Mncdpepcfgc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fgkcambiahb {
    #[prost(enumeration = "AvatarType", tag = "13")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "11")]
    pub slot: u32,
    #[prost(uint32, tag = "14")]
    pub level: u32,
    #[prost(uint32, tag = "8")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkjfbbhhlac {
    #[prost(message, repeated, tag = "10")]
    pub avatar_list: ::prost::alloc::vec::Vec<Fgkcambiahb>,
    #[prost(message, repeated, tag = "14")]
    pub buff_list: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
    #[prost(uint32, repeated, tag = "1")]
    pub ckgfonmaeko: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imcccciccko {
    #[prost(uint32, tag = "10")]
    pub ifehbimemec: u32,
    #[prost(uint32, tag = "11")]
    pub bimdlghkaoi: u32,
    #[prost(uint32, tag = "13")]
    pub mnbiebolccn: u32,
    #[prost(message, optional, tag = "7")]
    pub hlobjooebod: ::core::option::Option<ItemList>,
    #[prost(bool, tag = "15")]
    pub is_win: bool,
    #[prost(message, optional, tag = "2")]
    pub record_info: ::core::option::Option<Gkjfbbhhlac>,
    #[prost(message, optional, tag = "8")]
    pub agppepmgfmf: ::core::option::Option<Hghcogepidm>,
    #[prost(uint32, tag = "1063")]
    pub area_id: u32,
    #[prost(uint32, tag = "9")]
    pub dedlgfjaeam: u32,
    #[prost(uint32, tag = "1")]
    pub score: u32,
    #[prost(uint32, tag = "1445")]
    pub lmmeanjpend: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hghcogepidm {
    #[prost(bool, tag = "2")]
    pub pjhlocdbaeh: bool,
    #[prost(int64, tag = "14")]
    pub hoepojnnfci: i64,
    #[prost(uint32, tag = "12")]
    pub hdladibhbhh: u32,
    #[prost(int64, tag = "4")]
    pub cigboghafof: i64,
    #[prost(bool, tag = "8")]
    pub jomnpadaggk: bool,
    #[prost(uint32, repeated, tag = "15")]
    pub cilnjididhl: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub hhjpblekapn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eacofhbfmlb {
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    #[prost(uint32, tag = "6")]
    pub level: u32,
    #[prost(uint32, tag = "11")]
    pub jgmipmdppij: u32,
    #[prost(uint32, tag = "12")]
    pub elappcmeloa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueDialogueEventParam {
    #[prost(uint32, tag = "14")]
    pub arg_id: u32,
    #[prost(uint32, tag = "8")]
    pub dialogue_event_id: u32,
    #[prost(bool, tag = "12")]
    pub is_valid: bool,
    #[prost(int32, tag = "9")]
    pub int_value: i32,
    #[prost(float, tag = "6")]
    pub ratio: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lanlccobdne {
    #[prost(uint32, tag = "15")]
    pub event_unique_id: u32,
    #[prost(uint32, tag = "14")]
    pub onlhfcoglal: u32,
    #[prost(message, repeated, tag = "8")]
    pub dialogue_event_param_list: ::prost::alloc::vec::Vec<RogueDialogueEventParam>,
    #[prost(uint32, tag = "7")]
    pub game_mode_type: u32,
    #[prost(uint32, tag = "12")]
    pub cdjecokfiof: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub eoheeigobkd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gghfijkpfln {
    #[prost(uint32, repeated, tag = "5")]
    pub jjealoemmkk: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Ffnedmegpjd", tag = "15")]
    pub bplmpmefeam: i32,
    #[prost(oneof = "gghfijkpfln::Ccpfabancnn", tags = "13")]
    pub ccpfabancnn: ::core::option::Option<gghfijkpfln::Ccpfabancnn>,
}
/// Nested message and enum types in `GGHFIJKPFLN`.
pub mod gghfijkpfln {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ccpfabancnn {
        #[prost(message, tag = "13")]
        Jdijkegcibp(super::ItemList),
    }
}
/// Obf: BDMJEAGHPLC
#[derive(proto_derive::CmdID)]
#[cmdid(1895)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueInfoCsReq {}
/// Obf: ADKCCCNPLGC
#[derive(proto_derive::CmdID)]
#[cmdid(1832)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueInfoScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub rogue_info: ::core::option::Option<RogueInfo>,
}
/// Obf: EIHOHLCMLPC
#[derive(proto_derive::CmdID)]
#[cmdid(1831)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRogueCsReq {
    #[prost(uint32, repeated, tag = "11")]
    pub hjgndhlmmib: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub elappcmeloa: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub area_id: u32,
}
/// Obf: PELKOKJHNKO
#[derive(proto_derive::CmdID)]
#[cmdid(1840)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRogueScRsp {
    #[prost(message, optional, tag = "8")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "13")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "10")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
    #[prost(message, optional, tag = "2")]
    pub rogue_info: ::core::option::Option<RogueInfo>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: GFNHCKLFLAP
#[derive(proto_derive::CmdID)]
#[cmdid(1876)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterRogueCsReq {
    #[prost(uint32, tag = "10")]
    pub area_id: u32,
}
/// Obf: NPABJLFGBDI
#[derive(proto_derive::CmdID)]
#[cmdid(1848)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueScRsp {
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
    #[prost(message, optional, tag = "15")]
    pub rogue_info: ::core::option::Option<RogueInfo>,
    #[prost(message, optional, tag = "8")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: JGGMNELNGDE
#[derive(proto_derive::CmdID)]
#[cmdid(1871)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveRogueCsReq {}
/// Obf: IDEOGGBCBII
#[derive(proto_derive::CmdID)]
#[cmdid(1852)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveRogueScRsp {
    #[prost(message, optional, tag = "7")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub rogue_info: ::core::option::Option<RogueInfo>,
    #[prost(message, optional, tag = "4")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
    #[prost(message, optional, tag = "3")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: OBAFPKBHHIL
#[derive(proto_derive::CmdID)]
#[cmdid(1883)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueFinishScNotify {
    #[prost(message, optional, tag = "1")]
    pub finish_info: ::core::option::Option<Imcccciccko>,
}
/// Obf: FOCOFPDDLCM
#[derive(proto_derive::CmdID)]
#[cmdid(1860)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PickRogueAvatarCsReq {
    #[prost(uint32, repeated, tag = "7")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub prop_entity_id: u32,
}
/// Obf: CINPIJDILBP
#[derive(proto_derive::CmdID)]
#[cmdid(1802)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PickRogueAvatarScRsp {
    #[prost(uint32, repeated, tag = "6")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ICDCLEIGDMH
#[derive(proto_derive::CmdID)]
#[cmdid(1843)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReviveRogueAvatarCsReq {
    #[prost(uint32, repeated, tag = "7")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FBGPONNAEFC
#[derive(proto_derive::CmdID)]
#[cmdid(1833)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReviveRogueAvatarScRsp {
    #[prost(uint32, repeated, tag = "6")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "12")]
    pub fpjckpnlnfm: ::core::option::Option<Ejjglgpedee>,
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: DIIFKMDKICI
#[derive(proto_derive::CmdID)]
#[cmdid(1884)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueReviveInfoScNotify {
    #[prost(message, optional, tag = "12")]
    pub fpjckpnlnfm: ::core::option::Option<Ejjglgpedee>,
}
/// Obf: NENAHMOLCCC
#[derive(proto_derive::CmdID)]
#[cmdid(1858)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueBuffEnhanceInfoCsReq {}
/// Obf: MFIONHFHMIL
#[derive(proto_derive::CmdID)]
#[cmdid(1821)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueBuffEnhanceInfoScRsp {
    #[prost(message, optional, tag = "1")]
    pub buff_enhance_info: ::core::option::Option<RogueBuffEnhanceInfoList>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: GJDMAJGBGMB
#[derive(proto_derive::CmdID)]
#[cmdid(1829)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnhanceRogueBuffCsReq {
    #[prost(uint32, tag = "10")]
    pub ojeblmkkmgo: u32,
}
/// Obf: FMAFCNOGFMM
#[derive(proto_derive::CmdID)]
#[cmdid(1863)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnhanceRogueBuffScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(bool, tag = "2")]
    pub is_success: bool,
    #[prost(message, optional, tag = "6")]
    pub anagcoddmom: ::core::option::Option<Mkeelpfdclm>,
}
/// Obf: JNLEPNDPGHE
#[derive(proto_derive::CmdID)]
#[cmdid(1837)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitRogueCsReq {
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
}
/// Obf: APJILFGNOPD
#[derive(proto_derive::CmdID)]
#[cmdid(1830)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitRogueScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub rogue_info: ::core::option::Option<RogueInfo>,
}
/// Obf: BNAAMDHOODE
#[derive(proto_derive::CmdID)]
#[cmdid(1851)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncRogueExploreWinScNotify {
    #[prost(bool, tag = "15")]
    pub gjboljkmgge: bool,
}
/// Obf: EKDFDNOAOAM
#[derive(proto_derive::CmdID)]
#[cmdid(1891)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueSeasonFinishScNotify {
    #[prost(bool, tag = "8")]
    pub nioldfffeln: bool,
    #[prost(message, optional, tag = "3")]
    pub pfeaniahfpc: ::core::option::Option<Hghcogepidm>,
    #[prost(message, optional, tag = "11")]
    pub finish_info: ::core::option::Option<Imcccciccko>,
    #[prost(message, optional, tag = "4")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: OAMBADLBMCE
#[derive(proto_derive::CmdID)]
#[cmdid(1807)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterRogueMapRoomCsReq {
    #[prost(uint32, tag = "4")]
    pub site_id: u32,
    #[prost(uint32, tag = "5")]
    pub room_id: u32,
}
/// Obf: HINEEGEKLPN
#[derive(proto_derive::CmdID)]
#[cmdid(1898)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueMapRoomScRsp {
    #[prost(message, optional, tag = "12")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "11")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
    #[prost(uint32, tag = "10")]
    pub cur_site_id: u32,
    #[prost(message, optional, tag = "5")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: IIJCCDGPOEC
#[derive(proto_derive::CmdID)]
#[cmdid(1845)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncRogueMapRoomScNotify {
    #[prost(message, optional, tag = "10")]
    pub kpekclbepgb: ::core::option::Option<Gladgjakplc>,
    #[prost(uint32, tag = "2")]
    pub map_id: u32,
}
/// Obf: HMIOCDLGEDG
#[derive(proto_derive::CmdID)]
#[cmdid(1835)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpenRogueChestCsReq {
    #[prost(bool, tag = "5")]
    pub eiddmghlpbp: bool,
    #[prost(uint32, tag = "1")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: MOIJDCLIOBJ
#[derive(proto_derive::CmdID)]
#[cmdid(1834)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenRogueChestScRsp {
    #[prost(message, optional, tag = "7")]
    pub nhanakjfeab: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "6")]
    pub kjchgehdlno: ::core::option::Option<Mbkocmmicpg>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: KKFJNFAAIBA
#[derive(proto_derive::CmdID)]
#[cmdid(1868)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExchangeRogueRewardKeyCsReq {
    #[prost(uint32, tag = "14")]
    pub count: u32,
}
/// Obf: ExchangeRogueRewardKeyScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1801)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExchangeRogueRewardKeyScRsp {
    #[prost(uint32, tag = "6")]
    pub count: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: HLFKLMCHOJE
#[derive(proto_derive::CmdID)]
#[cmdid(1810)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncRogueAreaUnlockScNotify {
    #[prost(uint32, tag = "8")]
    pub area_id: u32,
}
/// Obf: CECLOCJFNEC
#[derive(proto_derive::CmdID)]
#[cmdid(1897)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueGetItemScNotify {
    #[prost(message, optional, tag = "14")]
    pub iodfgfomgod: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "15")]
    pub acfcjiomjnf: ::core::option::Option<ItemList>,
}
/// Obf: GNHOEINKCKC
#[derive(proto_derive::CmdID)]
#[cmdid(1879)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRogueAeonLevelRewardCsReq {
    #[prost(uint32, tag = "6")]
    pub elappcmeloa: u32,
    #[prost(uint32, tag = "11")]
    pub level: u32,
}
/// Obf: JOBKDLIPMND
#[derive(proto_derive::CmdID)]
#[cmdid(1870)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueAeonLevelRewardScRsp {
    #[prost(uint32, tag = "14")]
    pub elappcmeloa: u32,
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: BPGHIGPFECL
#[derive(proto_derive::CmdID)]
#[cmdid(1826)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueAeonLevelUpRewardScNotify {
    #[prost(uint32, tag = "4")]
    pub level: u32,
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "8")]
    pub elappcmeloa: u32,
}
/// Obf: MIOMGCJAFBL
#[derive(proto_derive::CmdID)]
#[cmdid(1873)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueScoreRewardInfoCsReq {}
/// Obf: FKLPGPGBAMG
#[derive(proto_derive::CmdID)]
#[cmdid(1867)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueScoreRewardInfoScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub hndlhicdnpc: ::core::option::Option<Hghcogepidm>,
}
/// Obf: IHKPGEEPLIM
#[derive(proto_derive::CmdID)]
#[cmdid(1842)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueScoreRewardCsReq {
    #[prost(uint32, tag = "9")]
    pub hhjpblekapn: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub lmmfpcokhee: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GEMBNLDPOBD
#[derive(proto_derive::CmdID)]
#[cmdid(1877)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueScoreRewardScRsp {
    #[prost(uint32, tag = "2")]
    pub hhjpblekapn: u32,
    #[prost(message, optional, tag = "8")]
    pub pfeaniahfpc: ::core::option::Option<Hghcogepidm>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: HOMKFNNAECD
#[derive(proto_derive::CmdID)]
#[cmdid(1864)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueInitialScoreCsReq {}
/// Obf: CIPBDJILBBD
#[derive(proto_derive::CmdID)]
#[cmdid(1806)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueInitialScoreScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub pfeaniahfpc: ::core::option::Option<Hghcogepidm>,
}
/// Obf: LDOIDBGBFPH
#[derive(proto_derive::CmdID)]
#[cmdid(1855)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueAeonInfoCsReq {}
/// Obf: DCOEBNOMGBP
#[derive(proto_derive::CmdID)]
#[cmdid(1880)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueAeonInfoScRsp {
    #[prost(message, repeated, tag = "4")]
    pub belofmfhfdk: ::prost::alloc::vec::Vec<Eacofhbfmlb>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: ADPHMDMMGLO
#[derive(proto_derive::CmdID)]
#[cmdid(1850)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishAeonDialogueGroupCsReq {
    #[prost(uint32, tag = "1")]
    pub elappcmeloa: u32,
}
/// Obf: IBGMBDCMFLF
#[derive(proto_derive::CmdID)]
#[cmdid(1819)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishAeonDialogueGroupScRsp {
    #[prost(message, optional, tag = "7")]
    pub chmhpcngfao: ::core::option::Option<Eacofhbfmlb>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: MHHJHCPCHFI
#[derive(proto_derive::CmdID)]
#[cmdid(1889)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueTalentInfoCsReq {}
/// Obf: ILCKHHGKEEA
#[derive(proto_derive::CmdID)]
#[cmdid(1888)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueTalentInfoScRsp {
    #[prost(message, optional, tag = "11")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: OODLMLFFKIK
#[derive(proto_derive::CmdID)]
#[cmdid(1838)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnableRogueTalentCsReq {
    #[prost(uint32, tag = "4")]
    pub talent_id: u32,
}
/// Obf: IFCINKBKLNB
#[derive(proto_derive::CmdID)]
#[cmdid(1805)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnableRogueTalentScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
}
/// Obf: KHEPKPAMLIC
#[derive(proto_derive::CmdID)]
#[cmdid(1865)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncRogueVirtualItemInfoScNotify {
    #[prost(message, optional, tag = "11")]
    pub ofolhkcnlba: ::core::option::Option<Pbekdhclbfb>,
}
/// Obf: DAMIJKDDMHG
#[derive(proto_derive::CmdID)]
#[cmdid(1881)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncRogueStatusScNotify {
    #[prost(bool, tag = "1")]
    pub jienhhahfgi: bool,
    #[prost(enumeration = "Egpimdadfdi", tag = "5")]
    pub status: i32,
}
/// Obf: IJLPCNPDIAC
#[derive(proto_derive::CmdID)]
#[cmdid(1866)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueRewardInfoScNotify {
    #[prost(message, optional, tag = "12")]
    pub pfeaniahfpc: ::core::option::Option<Hghcogepidm>,
}
/// Obf: OOPEEPENBLM
#[derive(proto_derive::CmdID)]
#[cmdid(1861)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRoguePickAvatarInfoScNotify {
    #[prost(uint32, repeated, tag = "12")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "7")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DFILFJKBNCN
#[derive(proto_derive::CmdID)]
#[cmdid(1803)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueAeonScNotify {
    #[prost(message, optional, tag = "6")]
    pub gcjogflgbbh: ::core::option::Option<Nikkccaknnp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llpnbnejkii {
    #[prost(message, optional, tag = "3")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "2")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "7")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
}
/// Obf: HNBFGCCIHPL
#[derive(proto_derive::CmdID)]
#[cmdid(7654)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeStartCsReq {
    #[prost(uint32, repeated, tag = "5")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub room_id: u32,
}
/// Obf: DFCGFNCOCDN
#[derive(proto_derive::CmdID)]
#[cmdid(7696)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeStartScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub room_id: u32,
    #[prost(message, optional, tag = "14")]
    pub lcoclenjjai: ::core::option::Option<Llpnbnejkii>,
}
/// Obf: OOBNALGAHBC
#[derive(proto_derive::CmdID)]
#[cmdid(7652)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueArcadeLeaveCsReq {}
/// Obf: PLFJLIKALKC
#[derive(proto_derive::CmdID)]
#[cmdid(7687)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeLeaveScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub lcoclenjjai: ::core::option::Option<Llpnbnejkii>,
}
/// Obf: FBJMBKBMKAC
#[derive(proto_derive::CmdID)]
#[cmdid(7686)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueArcadeRestartCsReq {}
/// Obf: NHLJKOMFHHO
#[derive(proto_derive::CmdID)]
#[cmdid(7667)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeRestartScRsp {
    #[prost(message, optional, tag = "15")]
    pub lcoclenjjai: ::core::option::Option<Llpnbnejkii>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: IBDABBKGKLM
#[derive(proto_derive::CmdID)]
#[cmdid(7677)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueArcadeGetInfoCsReq {}
/// Obf: DAGJBPCCNDJ
#[derive(proto_derive::CmdID)]
#[cmdid(7665)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueArcadeGetInfoScRsp {
    #[prost(uint32, tag = "4")]
    pub room_id: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ffamnkoaihf {
    #[prost(uint32, tag = "6")]
    pub buff_id: u32,
    #[prost(uint32, tag = "15")]
    pub meipgemgacj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gckblhadlgn {
    #[prost(message, repeated, tag = "11")]
    pub buff_list: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elheaghnndm {
    #[prost(uint32, tag = "14")]
    pub cmogblhafhn: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub cpiaahjfigl: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub bheidppfcka: u32,
    #[prost(message, optional, tag = "3")]
    pub fpoelpfcnbi: ::core::option::Option<ItemCostList>,
    #[prost(uint32, repeated, tag = "8")]
    pub pdihilclenm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub ekflpnlapdf: u32,
    #[prost(uint32, tag = "2")]
    pub ckkekmjmabc: u32,
    #[prost(enumeration = "Nniohhmjghg", tag = "1")]
    pub hhmabjdimgm: i32,
    #[prost(uint32, tag = "7")]
    pub igchbpakbcb: u32,
    #[prost(uint32, tag = "13")]
    pub djfckfemgoj: u32,
    #[prost(message, repeated, tag = "9")]
    pub kkhdljfohkc: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
    #[prost(uint32, tag = "15")]
    pub pdapeheambm: u32,
    #[prost(bool, tag = "10")]
    pub ehpmcgoelgb: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hkhfbelmdcg {
    #[prost(uint32, tag = "14")]
    pub dhmnnemgfbl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hcajjefeijd {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mmndajfijoj {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djonnopdjhh {
    #[prost(message, optional, tag = "1")]
    pub nlnbngijafi: ::core::option::Option<Elheaghnndm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kglojonkmkp {
    #[prost(uint32, tag = "12")]
    pub buff_id: u32,
    #[prost(message, optional, tag = "7")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngpimhhelmm {
    #[prost(message, repeated, tag = "12")]
    pub dakmmpkbmko: ::prost::alloc::vec::Vec<Kglojonkmkp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Inempcaknnc {
    #[prost(uint32, tag = "13")]
    pub bilbohbdbpn: u32,
    #[prost(message, repeated, tag = "2")]
    pub ihgmpjnnmki: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
    #[prost(message, repeated, tag = "10")]
    pub clplefhhafb: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lefcomgmpcl {
    #[prost(message, repeated, tag = "1")]
    pub ihgmpjnnmki: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
    #[prost(uint32, tag = "15")]
    pub bilbohbdbpn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pbmaklnjeko {
    #[prost(uint32, tag = "9")]
    pub ljejkccbcha: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fkdbihnpche {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipgkagffbhf {
    #[prost(uint32, tag = "12")]
    pub bilbohbdbpn: u32,
    #[prost(message, repeated, tag = "11")]
    pub dlfmgkpgmhl: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Okefiddnlkg {
    #[prost(uint32, tag = "7")]
    pub dhmnnemgfbl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dlhpdalgdeh {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbpmfkknbjh {
    #[prost(message, repeated, tag = "2")]
    pub kkhdljfohkc: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
    #[prost(uint32, tag = "5")]
    pub bilbohbdbpn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bfbfmlbhgoh {
    #[prost(uint32, tag = "6")]
    pub dhmnnemgfbl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oopdmmnnkgi {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcacnhcadec {
    #[prost(message, optional, tag = "3")]
    pub lchkkhngbgj: ::core::option::Option<Gckblhadlgn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjoibmfanhl {
    #[prost(uint32, tag = "12")]
    pub cur_times: u32,
    #[prost(uint32, tag = "14")]
    pub deidchamdba: u32,
    #[prost(uint32, tag = "10")]
    pub blfaanhjpad: u32,
    #[prost(map = "uint32, uint32", tag = "4")]
    pub gmafejejbho: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lajbhghnbac {
    #[prost(bool, tag = "10")]
    pub ganhklnpapi: bool,
    #[prost(uint32, tag = "5")]
    pub bemceedabfd: u32,
    #[prost(message, optional, tag = "8")]
    pub jalamopldho: ::core::option::Option<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jpajnjbebfb {
    #[prost(message, optional, tag = "8")]
    pub jibdgcfcdio: ::core::option::Option<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gliaipcabim {
    #[prost(uint32, tag = "9")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibibpoopden {
    #[prost(uint32, tag = "1")]
    pub fkpihaahhbi: u32,
    #[prost(uint32, tag = "5")]
    pub lgjfnaiagld: u32,
    #[prost(message, optional, tag = "14")]
    pub jibdgcfcdio: ::core::option::Option<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Maaaagpjjfe {
    #[prost(message, optional, tag = "3")]
    pub jibdgcfcdio: ::core::option::Option<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbaloejcgfn {
    #[prost(uint32, tag = "12")]
    pub bemceedabfd: u32,
    #[prost(message, optional, tag = "15")]
    pub jalamopldho: ::core::option::Option<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hblnhganbab {
    #[prost(message, optional, tag = "11")]
    pub jibdgcfcdio: ::core::option::Option<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajpfphkklpg {
    #[prost(message, repeated, tag = "2")]
    pub ckgfonmaeko: ::prost::alloc::vec::Vec<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ebhghgiigom {
    #[prost(uint32, tag = "4")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub komjmfikbam: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "13")]
    pub apikleggdhm: bool,
    #[prost(uint32, repeated, tag = "12")]
    pub jacighhgcgb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub oooecpaacck: u32,
    #[prost(uint32, tag = "1")]
    pub bmfcbcmclaf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mpphhnaeedk {
    #[prost(uint32, tag = "1")]
    pub cghlhfnladn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cffocchbamh {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jfpfdjppoag {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Honkbmjpjaa {
    #[prost(message, optional, tag = "8")]
    pub cjenjifeidi: ::core::option::Option<Ebhghgiigom>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anmcaimelca {
    #[prost(uint32, repeated, tag = "1")]
    pub cmaggnfdkag: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gabbehoipjc {
    #[prost(uint32, repeated, tag = "1")]
    pub dcjeggjpcdf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub bilbohbdbpn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nalelighdaa {
    #[prost(uint32, tag = "1")]
    pub abmamcfpcci: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Paocongeljk {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mlkiccaelke {
    #[prost(uint32, repeated, tag = "3")]
    pub anbpnihmkah: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub bilbohbdbpn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pkodmmphibc {
    #[prost(uint32, tag = "12")]
    pub jibhljneicm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Blfjbkbhjil {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eakecfappkd {
    #[prost(uint32, tag = "14")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub fikenbeondj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nhckhplklio {
    #[prost(uint32, tag = "6")]
    pub ibemojgallk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Omjfmbjmfmc {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eldafcnmfbf {
    #[prost(uint32, repeated, tag = "2")]
    pub mdpdadooobn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub bilbohbdbpn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lhjpikekpgh {
    #[prost(uint32, tag = "11")]
    pub gakjolgdbbd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Moiknhhcabh {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcagiooiidn {
    #[prost(uint32, repeated, tag = "7")]
    pub jlhfojodokg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub bilbohbdbpn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Imcbiigokpm {
    #[prost(uint32, tag = "10")]
    pub cghlhfnladn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fhikplaioei {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofpeknmfmab {
    #[prost(uint32, tag = "3")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub jlhfojodokg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lkmkhacmapc {
    #[prost(uint32, tag = "2")]
    pub cghlhfnladn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nococfhoajc {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Imlbibjkpdb {
    #[prost(uint32, tag = "8")]
    pub eidnigddohp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jcahmiooldb {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkidddpflje {
    #[prost(message, optional, tag = "10")]
    pub jlnilijomem: ::core::option::Option<Ajpfphkklpg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlcjmohobdh {
    #[prost(uint32, repeated, tag = "13")]
    pub imoiceebdco: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bcllbmeedkp {
    #[prost(uint32, tag = "5")]
    pub mnkeniamhdd: u32,
    #[prost(uint32, tag = "6")]
    pub dafalaoaooi: u32,
    #[prost(uint32, tag = "7")]
    pub bpjoapfafkk: u32,
    #[prost(uint32, tag = "14")]
    pub amnkmbmhkdf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kildamjjlmf {
    #[prost(uint32, tag = "5")]
    pub num: u32,
    #[prost(uint32, tag = "15")]
    pub fgmgpljckpc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mdgjikljdde {
    #[prost(enumeration = "AvatarType", tag = "15")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueSyncContextBoardEvent {
    #[prost(uint32, tag = "1")]
    pub modifier_effect_type: u32,
    #[prost(uint32, tag = "12")]
    pub board_event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfellcpmonh {
    #[prost(message, optional, tag = "11")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oiaolbgoaag {
    #[prost(message, optional, tag = "15")]
    pub noaednnibaf: ::core::option::Option<RogueSyncContextBoardEvent>,
    #[prost(message, optional, tag = "4")]
    pub hhphlegcldm: ::core::option::Option<Cfellcpmonh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ahccdbfmndi {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aokijgcoapd {
    #[prost(int32, tag = "10")]
    pub count: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cihfcleakij {
    #[prost(uint32, tag = "7")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ekelnnlplod {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueAdventureRoomGameplayWolfGunTarget {
    #[prost(
        oneof = "rogue_adventure_room_gameplay_wolf_gun_target::TargetImplCase",
        tags = "8, 12, 14, 10"
    )]
    pub target_impl_case: ::core::option::Option<
        rogue_adventure_room_gameplay_wolf_gun_target::TargetImplCase,
    >,
}
/// Nested message and enum types in `RogueAdventureRoomGameplayWolfGunTarget`.
pub mod rogue_adventure_room_gameplay_wolf_gun_target {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum TargetImplCase {
        #[prost(message, tag = "8")]
        TargetNone(super::Ahccdbfmndi),
        #[prost(message, tag = "12")]
        TargetCoin(super::Aokijgcoapd),
        #[prost(message, tag = "14")]
        TargetMiracle(super::Cihfcleakij),
        #[prost(message, tag = "10")]
        TargetRuanmei(super::Ekelnnlplod),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ckjcfdjkdfg {
    #[prost(message, repeated, tag = "2")]
    pub battle_target_list: ::prost::alloc::vec::Vec<
        RogueAdventureRoomGameplayWolfGunTarget,
    >,
    #[prost(uint32, tag = "7")]
    pub dhpabbnjoli: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhepdkkhfcf {
    #[prost(oneof = "fhepdkkhfcf::Buff", tags = "5")]
    pub buff: ::core::option::Option<fhepdkkhfcf::Buff>,
}
/// Nested message and enum types in `FHEPDKKHFCF`.
pub mod fhepdkkhfcf {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "5")]
        Lachncfkako(super::Ckjcfdjkdfg),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cncajkhccec {
    #[prost(double, tag = "4")]
    pub bdebmbgffka: f64,
    #[prost(uint32, tag = "14")]
    pub score: u32,
    #[prost(uint32, tag = "8")]
    pub status: u32,
    #[prost(uint32, tag = "3")]
    pub mcmclafdldc: u32,
    #[prost(message, optional, tag = "13")]
    pub blndmfgkpmj: ::core::option::Option<Fhepdkkhfcf>,
    #[prost(uint32, tag = "2")]
    pub dpmleipaoil: u32,
}
/// Obf: FAILBACOKOC
#[derive(proto_derive::CmdID)]
#[cmdid(5695)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueAdventureRoomInfoScNotify {
    #[prost(message, optional, tag = "11")]
    pub cdlakdmejlg: ::core::option::Option<Cncajkhccec>,
}
/// Obf: LBPGOHNBLBH
#[derive(proto_derive::CmdID)]
#[cmdid(5632)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PrepareRogueAdventureRoomCsReq {}
/// Obf: IFHLBMILDMA
#[derive(proto_derive::CmdID)]
#[cmdid(5631)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrepareRogueAdventureRoomScRsp {
    #[prost(message, optional, tag = "12")]
    pub cdlakdmejlg: ::core::option::Option<Cncajkhccec>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: BDGBOBPJOGB
#[derive(proto_derive::CmdID)]
#[cmdid(5629)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StopRogueAdventureRoomCsReq {
    #[prost(uint32, tag = "6")]
    pub mmhmdhihcab: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub ipogaccfmol: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DENAOGJPCGJ
#[derive(proto_derive::CmdID)]
#[cmdid(5663)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StopRogueAdventureRoomScRsp {
    #[prost(message, optional, tag = "2")]
    pub cdlakdmejlg: ::core::option::Option<Cncajkhccec>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: LFDFIILGOAD
#[derive(proto_derive::CmdID)]
#[cmdid(5646)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueAdventureRoomInfoCsReq {}
/// Obf: HOOKBCONPPB
#[derive(proto_derive::CmdID)]
#[cmdid(5683)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueAdventureRoomInfoScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub cdlakdmejlg: ::core::option::Option<Cncajkhccec>,
}
/// Obf: NNKAPOCKHDF
#[derive(proto_derive::CmdID)]
#[cmdid(5620)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateRogueAdventureRoomScoreCsReq {
    #[prost(uint32, tag = "3")]
    pub hmffhgbkogl: u32,
    #[prost(uint32, tag = "2")]
    pub score: u32,
}
/// Obf: LDDPPCFOHGJ
#[derive(proto_derive::CmdID)]
#[cmdid(5686)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateRogueAdventureRoomScoreScRsp {
    #[prost(message, optional, tag = "15")]
    pub cdlakdmejlg: ::core::option::Option<Cncajkhccec>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahclnmjpmij {
    #[prost(uint32, tag = "5")]
    pub deidchamdba: u32,
    #[prost(bool, tag = "10")]
    pub bphcbohkhmd: bool,
    #[prost(bool, tag = "4")]
    pub poapegkpfob: bool,
    #[prost(message, optional, tag = "1")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(message, optional, tag = "14")]
    pub nblffdipbhi: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgkfkecfhhm {
    #[prost(message, optional, tag = "11")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(bool, tag = "3")]
    pub bphcbohkhmd: bool,
    #[prost(uint32, tag = "10")]
    pub buff_id: u32,
    #[prost(message, optional, tag = "9")]
    pub nblffdipbhi: ::core::option::Option<ItemCostList>,
    #[prost(bool, tag = "2")]
    pub poapegkpfob: bool,
    #[prost(uint32, tag = "12")]
    pub leaaebafchp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iilhoakjdnh {
    #[prost(message, optional, tag = "7")]
    pub nblffdipbhi: ::core::option::Option<ItemCostList>,
    #[prost(message, optional, tag = "15")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(bool, tag = "6")]
    pub poapegkpfob: bool,
    #[prost(bool, tag = "5")]
    pub bphcbohkhmd: bool,
    #[prost(uint32, tag = "8")]
    pub formula_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnjolkjlpjg {
    #[prost(message, repeated, tag = "3")]
    pub ckgfonmaeko: ::prost::alloc::vec::Vec<Ahclnmjpmij>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anjdkfjoeei {
    #[prost(message, repeated, tag = "9")]
    pub buff_list: ::prost::alloc::vec::Vec<Mgkfkecfhhm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glppdleccli {
    #[prost(message, repeated, tag = "11")]
    pub omfdhfgbgaa: ::prost::alloc::vec::Vec<Iilhoakjdnh>,
}
/// Obf: ELOAFLAJHBO
#[derive(proto_derive::CmdID)]
#[cmdid(5648)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueShopBuffInfoCsReq {
    #[prost(uint32, tag = "7")]
    pub interacted_prop_entity_id: u32,
    #[prost(bool, tag = "10")]
    pub hmilghcpede: bool,
}
/// Obf: OCDHGBDJNEO
#[derive(proto_derive::CmdID)]
#[cmdid(5671)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopBuffInfoScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub lgopnbhhhbg: ::core::option::Option<Anjdkfjoeei>,
    #[prost(message, optional, tag = "4")]
    pub ihjhccfmifd: ::core::option::Option<ItemCostList>,
    #[prost(int32, tag = "10")]
    pub aefhkanbfnc: i32,
    #[prost(int32, tag = "3")]
    pub efojocfgidj: i32,
}
/// Obf: ABDPCGBPFLH
#[derive(proto_derive::CmdID)]
#[cmdid(5640)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueShopMiracleInfoCsReq {
    #[prost(uint32, tag = "7")]
    pub interacted_prop_entity_id: u32,
    #[prost(bool, tag = "11")]
    pub hmilghcpede: bool,
}
/// Obf: LOJEMCFFBJD
#[derive(proto_derive::CmdID)]
#[cmdid(5676)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopMiracleInfoScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub eeppkmpajoh: ::core::option::Option<Nnjolkjlpjg>,
    #[prost(int32, tag = "4")]
    pub efojocfgidj: i32,
    #[prost(int32, tag = "13")]
    pub aefhkanbfnc: i32,
    #[prost(message, optional, tag = "12")]
    pub ihjhccfmifd: ::core::option::Option<ItemCostList>,
}
/// Obf: PPLOEIKJAMO
#[derive(proto_derive::CmdID)]
#[cmdid(5638)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueShopFormulaInfoCsReq {
    #[prost(uint32, tag = "13")]
    pub interacted_prop_entity_id: u32,
    #[prost(bool, tag = "12")]
    pub hmilghcpede: bool,
}
/// Obf: OKNJBLFCFBJ
#[derive(proto_derive::CmdID)]
#[cmdid(5605)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopFormulaInfoScRsp {
    #[prost(int32, tag = "5")]
    pub efojocfgidj: i32,
    #[prost(int32, tag = "3")]
    pub aefhkanbfnc: i32,
    #[prost(message, optional, tag = "12")]
    pub ckaanmddkcj: ::core::option::Option<Glppdleccli>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub ihjhccfmifd: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Agpifofncna {
    #[prost(uint32, tag = "9")]
    pub deidchamdba: u32,
    #[prost(uint32, tag = "8")]
    pub interacted_prop_entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhddhodmmia {
    #[prost(uint32, repeated, tag = "15")]
    pub bought_miracle_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: HMOLHFMAJBG
#[derive(proto_derive::CmdID)]
#[cmdid(5682)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopFormulaCsReq {
    #[prost(uint32, tag = "6")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub aoiihcfmfph: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PDHLODCDANK
#[derive(proto_derive::CmdID)]
#[cmdid(5622)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopMiracleScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub eeppkmpajoh: ::core::option::Option<Nnjolkjlpjg>,
}
/// Obf: JOBBMGDPHDE
#[derive(proto_derive::CmdID)]
#[cmdid(5672)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopBuffScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub lgopnbhhhbg: ::core::option::Option<Anjdkfjoeei>,
}
/// Obf: GLPLAMBGPFJ
#[derive(proto_derive::CmdID)]
#[cmdid(5647)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopFormulaScRsp {
    #[prost(message, optional, tag = "3")]
    pub ckaanmddkcj: ::core::option::Option<Glppdleccli>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: FHGMELFEJKN
#[derive(proto_derive::CmdID)]
#[cmdid(5685)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueNpcDisappearCsReq {
    #[prost(uint32, tag = "8")]
    pub icinggkoemg: u32,
}
/// Obf: DEPHMGJOMCM
#[derive(proto_derive::CmdID)]
#[cmdid(5616)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueNpcDisappearScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: MAJNGEFBHDG
#[derive(proto_derive::CmdID)]
#[cmdid(5692)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueShopBeginBattleCsReq {
    #[prost(uint32, tag = "14")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: GFLHCFLNPBB
#[derive(proto_derive::CmdID)]
#[cmdid(5623)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueShopBeginBattleScRsp {
    #[prost(message, optional, tag = "9")]
    pub nopheehjhek: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: BNCCMIIMGOL
#[derive(proto_derive::CmdID)]
#[cmdid(5613)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonActionResultScNotify {
    #[prost(message, repeated, tag = "1")]
    pub flbmhlphfnd: ::prost::alloc::vec::Vec<Dgnddjgnjlb>,
    #[prost(enumeration = "Nemklkdbeap", tag = "7")]
    pub fgmgpljckpc: i32,
    #[prost(uint32, tag = "6")]
    pub bngfaignphe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dgnddjgnjlb {
    #[prost(enumeration = "Cfjgpifiool", tag = "11")]
    pub source: i32,
    #[prost(message, optional, tag = "5")]
    pub pbhmgchkjgo: ::core::option::Option<Pnieaceijkm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aenockpnfci {
    #[prost(uint32, tag = "2")]
    pub key: u32,
    #[prost(int32, tag = "12")]
    pub jpcllfaieec: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mlpknllaoif {
    #[prost(int32, tag = "11")]
    pub cfclogfjpbd: i32,
    #[prost(uint32, tag = "15")]
    pub jpnfbfkhpgd: u32,
    #[prost(int32, tag = "9")]
    pub eegcbbhophg: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhehpgonepk {
    #[prost(uint32, tag = "12")]
    pub formula_id: u32,
    #[prost(message, repeated, tag = "10")]
    pub kokiifcmogl: ::prost::alloc::vec::Vec<Aenockpnfci>,
    #[prost(bool, tag = "9")]
    pub eeeionccing: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcknnieaohi {
    #[prost(map = "uint32, int32", tag = "2")]
    pub nadoccephjo: ::std::collections::HashMap<u32, i32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbndiagbmji {
    #[prost(message, optional, tag = "14")]
    pub gepenpidkij: ::core::option::Option<Nhehpgonepk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdnejceknlf {
    #[prost(message, optional, tag = "15")]
    pub gepenpidkij: ::core::option::Option<Nhehpgonepk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcgjlcpclbl {
    #[prost(message, optional, tag = "9")]
    pub gepenpidkij: ::core::option::Option<Nhehpgonepk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjcopbfejji {
    #[prost(message, optional, tag = "4")]
    pub gepenpidkij: ::core::option::Option<Nhehpgonepk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fipfphbphlh {
    #[prost(message, repeated, tag = "8")]
    pub ilbkmnajgmo: ::prost::alloc::vec::Vec<Mlpknllaoif>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbkkdlhoegn {
    #[prost(message, optional, tag = "13")]
    pub value: ::core::option::Option<Fcknnieaohi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kaajbaoakbo {
    #[prost(message, optional, tag = "3")]
    pub dlmhaecabod: ::core::option::Option<Fcknnieaohi>,
    #[prost(message, repeated, tag = "11")]
    pub omfdhfgbgaa: ::prost::alloc::vec::Vec<Nhehpgonepk>,
    #[prost(message, repeated, tag = "14")]
    pub ilbkmnajgmo: ::prost::alloc::vec::Vec<Mlpknllaoif>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Goeekpllcbj {
    #[prost(uint32, tag = "7")]
    pub bhapdmjcklb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dflkelghook {
    #[prost(uint32, tag = "1")]
    pub bhapdmjcklb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbnjofcemil {
    #[prost(map = "uint32, bool", tag = "7")]
    pub nfnmbgboccl: ::std::collections::HashMap<u32, bool>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnieaceijkm {
    #[prost(
        oneof = "pnieaceijkm::Buff",
        tags = "2, 12, 750, 1776, 1553, 1300, 1675, 59, 1320, 1023, 546, 1045, 541, 294, 74, 1643, 1865, 1469, 1160, 587, 1521, 1743, 1388, 718, 1960, 1424, 1419, 1813, 1708"
    )]
    pub buff: ::core::option::Option<pnieaceijkm::Buff>,
}
/// Nested message and enum types in `PNIEACEIJKM`.
pub mod pnieaceijkm {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "2")]
        Ieejchfepha(super::Kildamjjlmf),
        #[prost(message, tag = "12")]
        Indnbedjnco(super::Kildamjjlmf),
        #[prost(message, tag = "750")]
        Noenhhilnah(super::Ffamnkoaihf),
        #[prost(message, tag = "1776")]
        Kpbjipgejpl(super::Ffamnkoaihf),
        #[prost(message, tag = "1553")]
        Kbhpfadbdoh(super::Jpajnjbebfb),
        #[prost(message, tag = "1300")]
        Fbnfljkljgc(super::Gliaipcabim),
        #[prost(message, tag = "1675")]
        Apfmfbbdcjk(super::Ibibpoopden),
        #[prost(message, tag = "59")]
        Bmdjopghlca(super::Maaaagpjjfe),
        #[prost(message, tag = "1320")]
        Ompbjjohpoo(super::Pbaloejcgfn),
        #[prost(message, tag = "1023")]
        Iomjmeaomfi(super::Hblnhganbab),
        #[prost(message, tag = "546")]
        Bblgeemhiim(super::Mdgjikljdde),
        #[prost(message, tag = "1045")]
        Manfkmddpeg(super::Dbndiagbmji),
        #[prost(message, tag = "541")]
        Apgccjfbdlh(super::Cdnejceknlf),
        #[prost(message, tag = "294")]
        Jfpmgojdkmd(super::Dcgjlcpclbl),
        #[prost(message, tag = "74")]
        Pkngaijmdao(super::Mjcopbfejji),
        #[prost(message, tag = "1643")]
        Dmkgebhpipj(super::Fipfphbphlh),
        #[prost(message, tag = "1865")]
        Kpbmfkpcbma(super::Lbkkdlhoegn),
        #[prost(message, tag = "1469")]
        Behlmokiafl(super::Goeekpllcbj),
        #[prost(message, tag = "1160")]
        Kaifndmjjmk(super::Dflkelghook),
        #[prost(message, tag = "587")]
        Aidojpolnon(super::Knjaeackjib),
        #[prost(message, tag = "1521")]
        Jblkicbnmhl(super::Lhpdolpkfeo),
        #[prost(message, tag = "1743")]
        Kaailmgchok(super::Aeffjlgfamh),
        #[prost(message, tag = "1388")]
        Jcdmgfpmiam(super::Jfgflgblcaj),
        #[prost(message, tag = "718")]
        Piofbmmeghb(super::Jfgflgblcaj),
        #[prost(message, tag = "1960")]
        Jgdaebnefka(super::Jfgflgblcaj),
        #[prost(message, tag = "1424")]
        Aoibhcmanfk(super::Jbihocioanh),
        #[prost(message, tag = "1419")]
        Mibobjidcad(super::Hobkeoicbmi),
        #[prost(message, tag = "1813")]
        Edbpehabhbi(super::Lnamgomhgjb),
        #[prost(message, tag = "1708")]
        Cjohmipjhnm(super::Lnamgomhgjb),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lojdfdjgoda {
    #[prost(bool, tag = "3")]
    pub ehpmcgoelgb: bool,
    #[prost(uint32, tag = "9")]
    pub acbggdlenhp: u32,
    #[prost(message, optional, tag = "4")]
    pub kidaaobhlpd: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "11")]
    pub kemeoojkoib: u32,
    #[prost(uint32, tag = "6")]
    pub jcoggobkbpj: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub ahcgpccoofo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub habohejfcke: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nolcmkcneaf {
    #[prost(uint32, tag = "12")]
    pub oambghfhfmo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Plcgkieiegd {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhmaianenpo {
    #[prost(uint32, tag = "1")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub laldacmchfi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Onoofhdeidd {
    #[prost(uint32, tag = "8")]
    pub oambghfhfmo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hkjegongjnp {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Khgcdeimlhn {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehefommbnaf {
    #[prost(message, optional, tag = "3")]
    pub bjehoafbhbe: ::core::option::Option<Lojdfdjgoda>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpddobahpna {
    #[prost(message, optional, tag = "1")]
    pub bjehoafbhbe: ::core::option::Option<Lojdfdjgoda>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ekmahafgngj {
    #[prost(uint32, tag = "10")]
    pub oambghfhfmo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hbiblkkeoac {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lgcmeepjmha {
    #[prost(uint32, tag = "9")]
    pub idignadndnf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Koegffomkip {
    #[prost(uint32, tag = "6")]
    pub slot: u32,
    /// uint32 slot = 14;
    #[prost(uint32, tag = "15")]
    pub elpinnnalbd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Inpinnpihob {
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub scepter_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbihocioanh {
    #[prost(map = "uint32, uint32", tag = "9")]
    pub trench_count: ::std::collections::HashMap<u32, u32>,
    #[prost(message, repeated, tag = "1")]
    pub plmkmopcdlm: ::prost::alloc::vec::Vec<Obipoolidal>,
    #[prost(message, repeated, tag = "2")]
    pub fpgefhenccf: ::prost::alloc::vec::Vec<Koegffomkip>,
    #[prost(message, optional, tag = "13")]
    pub scepter: ::core::option::Option<Inpinnpihob>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Obipoolidal {
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "8")]
    pub unit_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jfgflgblcaj {
    #[prost(uint32, tag = "15")]
    pub unique_id: u32,
    #[prost(message, optional, tag = "10")]
    pub lcbecpoogcl: ::core::option::Option<Obipoolidal>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knjaeackjib {
    #[prost(message, optional, tag = "5")]
    pub clmfnahfnll: ::core::option::Option<Jbihocioanh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhpdolpkfeo {
    #[prost(message, optional, tag = "11")]
    pub clmfnahfnll: ::core::option::Option<Jbihocioanh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aeffjlgfamh {
    #[prost(message, optional, tag = "4")]
    pub clmfnahfnll: ::core::option::Option<Jbihocioanh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Okecopgklee {
    #[prost(message, optional, tag = "1")]
    pub pmgjicchhdl: ::core::option::Option<Jfgflgblcaj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pgakdejbohf {
    #[prost(message, optional, tag = "9")]
    pub jfpjbbjlifk: ::core::option::Option<Jfgflgblcaj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oedoaogakpp {
    #[prost(uint32, tag = "1")]
    pub bilbohbdbpn: u32,
    #[prost(message, optional, tag = "10")]
    pub fgdjamhokif: ::core::option::Option<Obipoolidal>,
    #[prost(uint32, tag = "13")]
    pub ckkekmjmabc: u32,
    #[prost(message, repeated, tag = "11")]
    pub gigibipgpfc: ::prost::alloc::vec::Vec<Obipoolidal>,
    #[prost(uint32, tag = "15")]
    pub igchbpakbcb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkagnmemkog {
    #[prost(uint32, tag = "8")]
    pub bilbohbdbpn: u32,
    #[prost(message, repeated, tag = "12")]
    pub gigibipgpfc: ::prost::alloc::vec::Vec<Jfgflgblcaj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hhhcpcofppo {
    #[prost(message, optional, tag = "12")]
    pub pobkdoigdab: ::core::option::Option<Obipoolidal>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iipeghdkhgd {
    #[prost(message, optional, tag = "7")]
    pub pobkdoigdab: ::core::option::Option<Jfgflgblcaj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mhijocjhong {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Abpncpoijci {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Imnnnjggpag {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Imdhpdbhebc {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hobkeoicbmi {
    #[prost(uint32, repeated, tag = "2")]
    pub hkklpldnpkd: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "8")]
    pub eocipkgjfop: ::core::option::Option<Jfgflgblcaj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flnagdeoopg {
    #[prost(uint32, tag = "1")]
    pub bilbohbdbpn: u32,
    #[prost(message, repeated, tag = "14")]
    pub chpkdjnhpfo: ::prost::alloc::vec::Vec<Inpinnpihob>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ahkfiakmklo {
    #[prost(message, optional, tag = "6")]
    pub obfpaiamijl: ::core::option::Option<Inpinnpihob>,
    #[prost(bool, tag = "10")]
    pub abbmhpkgaik: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bledojdglaa {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ikcndljlapp {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jkhkebmobej {
    #[prost(message, optional, tag = "13")]
    pub jbjggnbjkdj: ::core::option::Option<Inpinnpihob>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jcdljbphomd {
    #[prost(message, optional, tag = "10")]
    pub ghelbobfpam: ::core::option::Option<Inpinnpihob>,
    #[prost(bool, tag = "13")]
    pub blciljenelo: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lgpgcjdoibk {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lnamgomhgjb {
    #[prost(uint32, tag = "8")]
    pub iboekjbomog: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cgjnhnmamdh {
    #[prost(uint32, repeated, tag = "10")]
    pub kdaoimpppki: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub ldfgifdfpcf: u32,
    #[prost(int32, tag = "5")]
    pub jmcembehcoj: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cggbpjichgf {
    #[prost(uint32, repeated, tag = "8")]
    pub gbooalmikob: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, tag = "12")]
    pub nclaehaijjb: u32,
    #[prost(enumeration = "Ndkljjiimgm", tag = "11")]
    pub obiedgmebdl: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Haojlhgnfpm {
    #[prost(uint32, tag = "9")]
    pub jmehmhkbjah: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bljoggmjbmd {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pigfbkojnhg {
    #[prost(uint32, tag = "11")]
    pub event_unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ajnajinfjic {
    #[prost(uint32, tag = "14")]
    pub battle_event_id: u32,
    #[prost(bool, tag = "6")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mnmloapbhnf {
    #[prost(uint32, tag = "11")]
    pub event_unique_id: u32,
}
/// Obf: ODFDKILDHBE
#[derive(proto_derive::CmdID)]
#[cmdid(5678)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonPendingActionScNotify {
    #[prost(message, optional, tag = "9")]
    pub nfojnohloac: ::core::option::Option<Kfpmaiaadmo>,
    #[prost(uint32, tag = "3")]
    pub bngfaignphe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfpmaiaadmo {
    #[prost(uint32, tag = "1")]
    pub hbapccegnme: u32,
    #[prost(message, optional, tag = "15")]
    pub pbhmgchkjgo: ::core::option::Option<Eiohagheloa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eiohagheloa {
    #[prost(
        oneof = "eiohagheloa::Buff",
        tags = "620, 616, 1501, 1179, 19, 185, 1572, 1933, 1334, 701, 608, 306, 1346, 722, 1207, 1815, 522, 1078, 308, 625, 1220, 532, 1108, 1142, 631, 1714, 285"
    )]
    pub buff: ::core::option::Option<eiohagheloa::Buff>,
}
/// Nested message and enum types in `EIOHAGHELOA`.
pub mod eiohagheloa {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "620")]
        Nlnbngijafi(super::Elheaghnndm),
        #[prost(message, tag = "616")]
        Fphhhiobfai(super::Lefcomgmpcl),
        #[prost(message, tag = "1501")]
        Ajddfancejn(super::Ipgkagffbhf),
        #[prost(message, tag = "1179")]
        Imikpgfhlhk(super::Kbpmfkknbjh),
        #[prost(message, tag = "19")]
        Cjenjifeidi(super::Ebhghgiigom),
        #[prost(message, tag = "185")]
        Bicjempplam(super::Anmcaimelca),
        #[prost(message, tag = "1572")]
        Aelpppiefab(super::Gabbehoipjc),
        #[prost(message, tag = "1933")]
        Bediachlcii(super::Mlkiccaelke),
        #[prost(message, tag = "1334")]
        Ladgcoomnka(super::Eakecfappkd),
        #[prost(message, tag = "701")]
        Cgkfomncnak(super::Eldafcnmfbf),
        #[prost(message, tag = "608")]
        Eiefmpfllcm(super::Lcagiooiidn),
        #[prost(message, tag = "306")]
        Nkkbodgfclm(super::Ofpeknmfmab),
        #[prost(message, tag = "1346")]
        Gkflnmojncp(super::Dlcjmohobdh),
        #[prost(message, tag = "722")]
        Bjehoafbhbe(super::Lojdfdjgoda),
        #[prost(message, tag = "1207")]
        Jbkpikajpeb(super::Fhmaianenpo),
        #[prost(message, tag = "1815")]
        Hcchfjefanj(super::Bpddobahpna),
        #[prost(message, tag = "522")]
        Oiomhopnimf(super::Oedoaogakpp),
        #[prost(message, tag = "1078")]
        Ifclaafpkhc(super::Flnagdeoopg),
        #[prost(message, tag = "308")]
        Hfjechfannf(super::Jkhkebmobej),
        #[prost(message, tag = "625")]
        Ldjomiojepf(super::Oedoaogakpp),
        #[prost(message, tag = "1220")]
        Lmnoncmbioo(super::Oedoaogakpp),
        #[prost(message, tag = "532")]
        Cnlmcobncai(super::Oedoaogakpp),
        #[prost(message, tag = "1108")]
        Fhokdllicjl(super::Kkagnmemkog),
        #[prost(message, tag = "1142")]
        Phdemdbgoib(super::Kkagnmemkog),
        #[prost(message, tag = "631")]
        Kljjibpjgff(super::Kkagnmemkog),
        #[prost(message, tag = "1714")]
        Dlfalfgfdhe(super::Pigfbkojnhg),
        #[prost(message, tag = "285")]
        Npcdbpndgop(super::Cggbpjichgf),
    }
}
/// Obf: EHGOIEIOLEF
#[derive(proto_derive::CmdID)]
#[cmdid(5687)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HandleRogueCommonPendingActionCsReq {
    #[prost(uint32, tag = "9")]
    pub ifdkllhfpjb: u32,
    #[prost(
        oneof = "handle_rogue_common_pending_action_cs_req::Buff",
        tags = "1893, 864, 1478, 754, 1267, 136, 1573, 817, 427, 1970, 461, 1861, 714, 2032, 234, 960, 106, 1571, 997, 1412, 395, 1429, 232, 1036, 1168, 1115, 183, 71, 1799, 1027, 122087, 221323"
    )]
    pub buff: ::core::option::Option<handle_rogue_common_pending_action_cs_req::Buff>,
}
/// Nested message and enum types in `HandleRogueCommonPendingActionCsReq`.
pub mod handle_rogue_common_pending_action_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "1893")]
        Jkhbbdlchid(super::Hkhfbelmdcg),
        #[prost(message, tag = "864")]
        Kbnegolplfc(super::Pbmaklnjeko),
        #[prost(message, tag = "1478")]
        Gdkgibekgpf(super::Okefiddnlkg),
        #[prost(message, tag = "754")]
        Oncngiilenf(super::Mmndajfijoj),
        #[prost(message, tag = "1267")]
        Glejcdpdjne(super::Bfbfmlbhgoh),
        #[prost(message, tag = "136")]
        Ooagpgdpjoa(super::Mpphhnaeedk),
        #[prost(message, tag = "1573")]
        Idbaljbnbke(super::Jfpfdjppoag),
        #[prost(message, tag = "817")]
        Gnebjeppkej(super::Nalelighdaa),
        #[prost(message, tag = "427")]
        Kjlafilapjf(super::Pkodmmphibc),
        #[prost(message, tag = "1970")]
        Flfpcphlago(super::Nhckhplklio),
        #[prost(message, tag = "461")]
        Epoakmfmflm(super::Lhjpikekpgh),
        #[prost(message, tag = "1861")]
        Fkpfokhbpkk(super::Imcbiigokpm),
        #[prost(message, tag = "714")]
        Eodclaipcae(super::Lkmkhacmapc),
        #[prost(message, tag = "2032")]
        Aocodaobkhm(super::Imlbibjkpdb),
        #[prost(message, tag = "234")]
        Egggggglfho(super::Nolcmkcneaf),
        #[prost(message, tag = "960")]
        Lnploeofccj(super::Khgcdeimlhn),
        #[prost(message, tag = "106")]
        Ieabohkeapa(super::Onoofhdeidd),
        #[prost(message, tag = "1571")]
        Nediibjhgfo(super::Ekmahafgngj),
        #[prost(message, tag = "997")]
        Jgpcbcjkonh(super::Hhhcpcofppo),
        #[prost(message, tag = "1412")]
        Hknjipjhocg(super::Ahkfiakmklo),
        #[prost(message, tag = "395")]
        Ldaglimnman(super::Jcdljbphomd),
        #[prost(message, tag = "1429")]
        Aflheikjnbn(super::Hhhcpcofppo),
        #[prost(message, tag = "232")]
        Phkbflnpefi(super::Hhhcpcofppo),
        #[prost(message, tag = "1036")]
        Gocmndkfoab(super::Hhhcpcofppo),
        #[prost(message, tag = "1168")]
        Chonecoliha(super::Iipeghdkhgd),
        #[prost(message, tag = "1115")]
        Moaogacboij(super::Iipeghdkhgd),
        #[prost(message, tag = "183")]
        Kilhfppbbfm(super::Iipeghdkhgd),
        #[prost(message, tag = "71")]
        Blhdfajhcja(super::Haojlhgnfpm),
        #[prost(message, tag = "1799")]
        Lpjbaimjaik(super::Haojlhgnfpm),
        #[prost(message, tag = "1027")]
        Ecegpejcpbl(super::Lgcmeepjmha),
        #[prost(message, tag = "122087")]
        Fkpdkfemkec(super::Ajnajinfjic),
        #[prost(message, tag = "221323")]
        Llnmcjcfbmj(super::Mnmloapbhnf),
    }
}
/// Obf: DFNKMPOMIEH
#[derive(proto_derive::CmdID)]
#[cmdid(5608)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandleRogueCommonPendingActionScRsp {
    #[prost(uint32, tag = "10")]
    pub ifdkllhfpjb: u32,
    #[prost(uint32, tag = "11")]
    pub hbapccegnme: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(
        oneof = "handle_rogue_common_pending_action_sc_rsp::Buff",
        tags = "810, 239, 553, 653, 1123, 1248, 672, 1714, 524, 347, 1934, 90, 1639, 400, 1066, 1688, 1813, 1856, 639, 1917, 1297, 1554, 727, 629, 1822, 771, 1651"
    )]
    pub buff: ::core::option::Option<handle_rogue_common_pending_action_sc_rsp::Buff>,
}
/// Nested message and enum types in `HandleRogueCommonPendingActionScRsp`.
pub mod handle_rogue_common_pending_action_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "810")]
        Pnadbjejbof(super::Hcajjefeijd),
        #[prost(message, tag = "239")]
        Kkiangabfnj(super::Fkdbihnpche),
        #[prost(message, tag = "553")]
        Cldbplniaen(super::Dlhpdalgdeh),
        #[prost(message, tag = "653")]
        Goomopmalol(super::Djonnopdjhh),
        #[prost(message, tag = "1123")]
        Kbflnjpmoah(super::Oopdmmnnkgi),
        #[prost(message, tag = "1248")]
        Jkjofmhjgib(super::Cffocchbamh),
        #[prost(message, tag = "672")]
        Dddenapjbka(super::Honkbmjpjaa),
        #[prost(message, tag = "1714")]
        Dmcepjkoogc(super::Paocongeljk),
        #[prost(message, tag = "524")]
        Fdppgkddpgc(super::Blfjbkbhjil),
        #[prost(message, tag = "347")]
        Mapbdbmfimd(super::Omjfmbjmfmc),
        #[prost(message, tag = "1934")]
        Oihjekimppd(super::Moiknhhcabh),
        #[prost(message, tag = "90")]
        Okpcjlpmbad(super::Fhikplaioei),
        #[prost(message, tag = "1639")]
        Dpgbcafkdpm(super::Nococfhoajc),
        #[prost(message, tag = "400")]
        Hmobefjkdpd(super::Jcahmiooldb),
        #[prost(message, tag = "1066")]
        Japiiijmpge(super::Plcgkieiegd),
        #[prost(message, tag = "1688")]
        Cpopchnddfm(super::Ehefommbnaf),
        #[prost(message, tag = "1813")]
        Ndjbgfheici(super::Hkjegongjnp),
        #[prost(message, tag = "1856")]
        Cobeibnlgjf(super::Hbiblkkeoac),
        #[prost(message, tag = "639")]
        Blefmehonoo(super::Mhijocjhong),
        #[prost(message, tag = "1917")]
        Ihbodkmfpnf(super::Bledojdglaa),
        #[prost(message, tag = "1297")]
        Lbojliiabap(super::Lgpgcjdoibk),
        #[prost(message, tag = "1554")]
        Ilhbhphdedl(super::Abpncpoijci),
        #[prost(message, tag = "727")]
        Dicgeadecpk(super::Imnnnjggpag),
        #[prost(message, tag = "629")]
        Gabicmfakpd(super::Imdhpdbhebc),
        #[prost(message, tag = "1822")]
        Dkmmoimojdm(super::Ikcndljlapp),
        #[prost(message, tag = "771")]
        Hcfopgmleno(super::Bljoggmjbmd),
        #[prost(message, tag = "1651")]
        Gdmgoelomfk(super::Bljoggmjbmd),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fcpmbjhfbnj {
    #[prost(uint32, tag = "1")]
    pub ojeblmkkmgo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Giadlheephd {
    #[prost(uint32, tag = "14")]
    pub fhhgdpcecee: u32,
    #[prost(bool, tag = "5")]
    pub fjoilohphlc: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lognkekhbai {
    #[prost(bool, tag = "15")]
    pub fjoilohphlc: bool,
    #[prost(uint32, tag = "14")]
    pub ajbepahcgik: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knijhgnjijm {
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "5")]
    pub elappcmeloa: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub dpmibdhkdae: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub jgmipmdppij: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub ddgcfjdbooh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ooceoilkcfi {
    #[prost(message, optional, tag = "14")]
    pub jlfddmekljk: ::core::option::Option<Inpinnpihob>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eoejhkjllpk {
    #[prost(uint32, tag = "9")]
    pub ppmiogcfooc: u32,
    #[prost(uint32, tag = "12")]
    pub unit_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aeknflomljh {
    #[prost(message, repeated, tag = "6")]
    pub ckgfonmaeko: ::prost::alloc::vec::Vec<Giadlheephd>,
    #[prost(message, repeated, tag = "8")]
    pub buff_list: ::prost::alloc::vec::Vec<Fcpmbjhfbnj>,
    #[prost(message, repeated, tag = "2")]
    pub bjcmphlpknf: ::prost::alloc::vec::Vec<Lognkekhbai>,
    #[prost(message, repeated, tag = "7")]
    pub belofmfhfdk: ::prost::alloc::vec::Vec<Knijhgnjijm>,
}
/// Obf: GILIPEKOEAF
#[derive(proto_derive::CmdID)]
#[cmdid(5624)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueHandbookDataCsReq {}
/// Obf: GetRogueHandbookDataScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(5657)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueHandbookDataScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub handbook_info: ::core::option::Option<Aeknflomljh>,
}
/// Obf: NNLIMACBCJJ
#[derive(proto_derive::CmdID)]
#[cmdid(5607)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueHandbookDataUpdateScNotify {
    #[prost(message, repeated, tag = "12")]
    pub bjkpkfbfdff: ::prost::alloc::vec::Vec<Ooceoilkcfi>,
    #[prost(message, repeated, tag = "3")]
    pub haebaambnbb: ::prost::alloc::vec::Vec<Lognkekhbai>,
    #[prost(message, repeated, tag = "11")]
    pub abibobfdkld: ::prost::alloc::vec::Vec<Fcpmbjhfbnj>,
    #[prost(message, repeated, tag = "7")]
    pub idddcjonpfn: ::prost::alloc::vec::Vec<Giadlheephd>,
    #[prost(message, repeated, tag = "1")]
    pub mmhchhcofpb: ::prost::alloc::vec::Vec<Eoejhkjllpk>,
}
/// Obf: FNOHCPGCENO
#[derive(proto_derive::CmdID)]
#[cmdid(5698)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueMiracleHandbookRewardCsReq {
    #[prost(uint32, repeated, tag = "13")]
    pub afhddnggnbf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KMLGJIMHJJC
#[derive(proto_derive::CmdID)]
#[cmdid(5664)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueMiracleHandbookRewardScRsp {
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub feifjadcdfl: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CMDEHEACAHM
#[derive(proto_derive::CmdID)]
#[cmdid(5606)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEventHandbookRewardCsReq {
    #[prost(uint32, repeated, tag = "10")]
    pub idoecnpkgce: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BIDOHEPEMKO
#[derive(proto_derive::CmdID)]
#[cmdid(5645)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEventHandbookRewardScRsp {
    #[prost(uint32, repeated, tag = "4")]
    pub dpjhilhgoke: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Findafkpoof {
    #[prost(map = "uint32, uint32", tag = "7")]
    pub glaphhabohp: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ladhikpajcj {
    #[prost(message, optional, tag = "9")]
    pub bohdminejno: ::core::option::Option<Eendhpkpflp>,
    #[prost(int32, tag = "4")]
    pub icjabpgmacj: i32,
    #[prost(uint32, tag = "13")]
    pub amnbmjofjoo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohlcjedcofn {
    #[prost(uint32, repeated, tag = "13")]
    pub dimhpbcpnlc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omdefbabnnb {
    #[prost(message, optional, tag = "9")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
    #[prost(uint32, repeated, tag = "2")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgkgehhajje {
    #[prost(oneof = "lgkgehhajje::Hloekmdpgif", tags = "15, 6, 8, 1, 14, 12, 2, 11")]
    pub hloekmdpgif: ::core::option::Option<lgkgehhajje::Hloekmdpgif>,
}
/// Nested message and enum types in `LGKGEHHAJJE`.
pub mod lgkgehhajje {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Hloekmdpgif {
        #[prost(message, tag = "15")]
        Lgopnbhhhbg(super::Kcacnhcadec),
        #[prost(message, tag = "6")]
        Eeppkmpajoh(super::Nkidddpflje),
        #[prost(message, tag = "8")]
        Fffccejifdk(super::Findafkpoof),
        #[prost(message, tag = "1")]
        Chmhpcngfao(super::Ladhikpajcj),
        #[prost(message, tag = "14")]
        Fiocabcbnkb(super::Ohlcjedcofn),
        #[prost(message, tag = "12")]
        Ckaanmddkcj(super::Kaajbaoakbo),
        #[prost(message, tag = "2")]
        Nbdacdnbjik(super::Fbnjofcemil),
        #[prost(message, tag = "11")]
        Embagmmhipa(super::Omdefbabnnb),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmjgkhpkhcm {
    #[prost(uint32, tag = "6")]
    pub agebambkkbc: u32,
    #[prost(message, repeated, tag = "14")]
    pub biphngcadde: ::prost::alloc::vec::Vec<Lgkgehhajje>,
    #[prost(uint32, tag = "11")]
    pub illodgaefae: u32,
    #[prost(uint32, tag = "12")]
    pub egmebanhhnf: u32,
    #[prost(uint32, tag = "15")]
    pub bngfaignphe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueUnlockProgress {
    #[prost(bool, tag = "11")]
    pub finish: bool,
    #[prost(uint32, tag = "2")]
    pub unlock_id: u32,
    #[prost(uint32, tag = "8")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibcknkpjfoj {
    #[prost(message, repeated, tag = "3")]
    pub pgimncfhjea: ::prost::alloc::vec::Vec<RogueUnlockProgress>,
    #[prost(uint32, tag = "4")]
    pub talent_id: u32,
    #[prost(enumeration = "Kpabffanjbk", tag = "7")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTalentInfoList {
    #[prost(message, repeated, tag = "6")]
    pub lgnnmajmeil: ::prost::alloc::vec::Vec<Ibcknkpjfoj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pojeeialjfi {
    #[prost(uint32, tag = "14")]
    pub mgkkgnldgcl: u32,
    #[prost(uint32, tag = "1")]
    pub baphhckihmo: u32,
}
/// Obf: BHJCKFBHJAA
#[derive(proto_derive::CmdID)]
#[cmdid(5700)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonVirtualItemInfoScNotify {
    #[prost(message, repeated, tag = "6")]
    pub idjjpafpmdm: ::prost::alloc::vec::Vec<Pojeeialjfi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mapomoilgeh {
    #[prost(uint32, tag = "12")]
    pub mbkfininnek: u32,
    #[prost(uint32, tag = "5")]
    pub gedjniaefho: u32,
    #[prost(uint32, tag = "10")]
    pub bdcffobgkoa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plgdcfipeaa {
    #[prost(enumeration = "Odopdkelaeb", repeated, tag = "15")]
    pub jpgcdjdgdbi: ::prost::alloc::vec::Vec<i32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilaekjcnemf {
    #[prost(uint32, repeated, tag = "4")]
    pub afedjkmfodp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgjmdnnmppe {
    #[prost(message, optional, tag = "5")]
    pub ongpjogkkjn: ::core::option::Option<Mapomoilgeh>,
    #[prost(message, optional, tag = "15")]
    pub nolhgnhaema: ::core::option::Option<Ilaekjcnemf>,
    #[prost(message, optional, tag = "13")]
    pub kjkbkegighk: ::core::option::Option<Plgdcfipeaa>,
}
/// Obf: EDEGKIBNHPD
#[derive(proto_derive::CmdID)]
#[cmdid(5635)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CommonRogueQueryCsReq {}
/// Obf: IIJKNHFGBBM
#[derive(proto_derive::CmdID)]
#[cmdid(5634)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRogueQueryScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub lagbgldlgcb: ::core::option::Option<Lgjmdnnmppe>,
    #[prost(uint32, tag = "10")]
    pub fhhbjlhajfj: u32,
}
/// Obf: AJAJIDCBOHC
#[derive(proto_derive::CmdID)]
#[cmdid(5668)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRogueUpdateScNotify {
    #[prost(oneof = "common_rogue_update_sc_notify::Ncekdikcbhp", tags = "15, 3, 12")]
    pub ncekdikcbhp: ::core::option::Option<common_rogue_update_sc_notify::Ncekdikcbhp>,
}
/// Nested message and enum types in `CommonRogueUpdateScNotify`.
pub mod common_rogue_update_sc_notify {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ncekdikcbhp {
        #[prost(message, tag = "15")]
        Ongpjogkkjn(super::Mapomoilgeh),
        #[prost(message, tag = "3")]
        Kjkbkegighk(super::Plgdcfipeaa),
        #[prost(message, tag = "12")]
        Nolhgnhaema(super::Ilaekjcnemf),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ikamknhggok {
    #[prost(uint32, tag = "9")]
    pub onlhfcoglal: u32,
    #[prost(uint32, tag = "11")]
    pub cdjecokfiof: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gnjapomllhe {
    #[prost(uint32, tag = "6")]
    pub bglehmkmapg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cnhhpdhbmdc {
    #[prost(uint32, tag = "9")]
    pub bglehmkmapg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jieaafjenlk {
    #[prost(uint32, tag = "15")]
    pub formula_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hpjlafhhgjg {
    #[prost(uint32, tag = "7")]
    pub bglehmkmapg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Afccaoacnak {
    #[prost(uint32, tag = "8")]
    pub dgaklnofdpp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jbmeclkggdk {
    #[prost(oneof = "jbmeclkggdk::Afblajkdhhf", tags = "9, 4, 8, 2, 6, 1")]
    pub afblajkdhhf: ::core::option::Option<jbmeclkggdk::Afblajkdhhf>,
}
/// Nested message and enum types in `JBMECLKGGDK`.
pub mod jbmeclkggdk {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Afblajkdhhf {
        #[prost(message, tag = "9")]
        Hpnoggfdpkm(super::Ikamknhggok),
        #[prost(message, tag = "4")]
        Admahlaalnh(super::Gnjapomllhe),
        #[prost(message, tag = "8")]
        Oddgcbpoplf(super::Cnhhpdhbmdc),
        #[prost(message, tag = "2")]
        Gmakhonaeph(super::Jieaafjenlk),
        #[prost(message, tag = "6")]
        Cacgekaankl(super::Hpjlafhhgjg),
        #[prost(message, tag = "1")]
        Aggblhgkpfj(super::Afccaoacnak),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Abenfanelfl {
    #[prost(float, tag = "14")]
    pub lmbiodpohge: f32,
    #[prost(int32, tag = "1")]
    pub ggplcpchadn: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gokkmeomofc {
    #[prost(uint32, tag = "7")]
    pub battle_event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nebpghddepc {
    #[prost(int32, tag = "10")]
    pub jefioihhclg: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hjpgncngilg {
    #[prost(oneof = "hjpgncngilg::Hpnhnmbabfn", tags = "8, 4")]
    pub hpnhnmbabfn: ::core::option::Option<hjpgncngilg::Hpnhnmbabfn>,
}
/// Nested message and enum types in `HJPGNCNGILG`.
pub mod hjpgncngilg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Hpnhnmbabfn {
        #[prost(message, tag = "8")]
        Capijnmcdam(super::Gokkmeomofc),
        #[prost(message, tag = "4")]
        Hmlcehikffk(super::Nebpghddepc),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbabekpblhn {
    #[prost(bool, tag = "14")]
    pub gldjnhiggje: bool,
    #[prost(bool, tag = "6")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, tag = "13")]
    pub arg_id: u32,
    #[prost(message, repeated, tag = "7")]
    pub pocjcmkkjik: ::prost::alloc::vec::Vec<Hjpgncngilg>,
    #[prost(uint32, tag = "12")]
    pub kdmlllghjon: u32,
    #[prost(message, optional, tag = "3")]
    pub display_value: ::core::option::Option<Abenfanelfl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgeknliffed {
    #[prost(message, repeated, tag = "4")]
    pub lekpkocnjal: ::prost::alloc::vec::Vec<Gbabekpblhn>,
    #[prost(uint32, tag = "5")]
    pub event_unique_id: u32,
    #[prost(message, optional, tag = "11")]
    pub bdoemgmhalj: ::core::option::Option<Jbmeclkggdk>,
}
/// Obf: JENIAHELNPF
#[derive(proto_derive::CmdID)]
#[cmdid(5601)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueCommonDialogueDataCsReq {}
/// Obf: MHGANOEPLIP
#[derive(proto_derive::CmdID)]
#[cmdid(5653)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueCommonDialogueDataScRsp {
    #[prost(message, repeated, tag = "9")]
    pub dckilldonhg: ::prost::alloc::vec::Vec<Hgeknliffed>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: LLBPCHBONCK
#[derive(proto_derive::CmdID)]
#[cmdid(5636)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectRogueCommonDialogueOptionCsReq {
    #[prost(uint32, tag = "9")]
    pub kdmlllghjon: u32,
    #[prost(uint32, tag = "12")]
    pub event_unique_id: u32,
}
/// Obf: PGBOPNMMJBB
#[derive(proto_derive::CmdID)]
#[cmdid(5694)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectRogueCommonDialogueOptionScRsp {
    #[prost(uint32, repeated, tag = "4")]
    pub jidlbfoebid: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "14")]
    pub oidiaddnacm: ::core::option::Option<Hgeknliffed>,
    #[prost(uint32, tag = "2")]
    pub event_unique_id: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub kdmlllghjon: u32,
    #[prost(bool, tag = "8")]
    pub adjgdbbnplc: bool,
}
/// Obf: CJLNCCDAHOA
#[derive(proto_derive::CmdID)]
#[cmdid(5627)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishRogueCommonDialogueCsReq {
    #[prost(uint32, tag = "6")]
    pub event_unique_id: u32,
}
/// Obf: IFNNGEFFFGP
#[derive(proto_derive::CmdID)]
#[cmdid(5674)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishRogueCommonDialogueScRsp {
    #[prost(uint32, tag = "9")]
    pub event_unique_id: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: ODONIMBGLJN
#[derive(proto_derive::CmdID)]
#[cmdid(5690)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonDialogueDataScNotify {
    #[prost(message, repeated, tag = "1")]
    pub dckilldonhg: ::prost::alloc::vec::Vec<Hgeknliffed>,
}
/// Obf: KAMCLHLJJPM
#[derive(proto_derive::CmdID)]
#[cmdid(5617)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonDialogueOptionFinishScNotify {
    #[prost(message, optional, tag = "12")]
    pub oidiaddnacm: ::core::option::Option<Hgeknliffed>,
    #[prost(message, optional, tag = "4")]
    pub dgncfmdppbf: ::core::option::Option<Gbabekpblhn>,
    #[prost(uint32, tag = "5")]
    pub kdmlllghjon: u32,
    #[prost(uint32, tag = "9")]
    pub event_unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mikfnbbopip {
    #[prost(message, optional, tag = "7")]
    pub kndmeilhkej: ::core::option::Option<Kfpmaiaadmo>,
    #[prost(string, tag = "9")]
    pub mdlndgijnml: ::prost::alloc::string::String,
    #[prost(uint32, tag = "4")]
    pub agebambkkbc: u32,
    #[prost(uint32, tag = "8")]
    pub bngfaignphe: u32,
    #[prost(uint32, tag = "3")]
    pub egmebanhhnf: u32,
    #[prost(uint32, tag = "5")]
    pub illodgaefae: u32,
}
/// Obf: DBOKNOPCNGG
#[derive(proto_derive::CmdID)]
#[cmdid(5649)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchGetInfoCsReq {
    #[prost(uint32, tag = "10")]
    pub prop_entity_id: u32,
}
/// Obf: GINOHIHIKHN
#[derive(proto_derive::CmdID)]
#[cmdid(5603)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchGetInfoScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(map = "uint32, message", tag = "15")]
    pub gajpnngmhnk: ::std::collections::HashMap<u32, Mhccpddkkda>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhccpddkkda {
    #[prost(
        oneof = "mhccpddkkda::Jcfkgndaphj",
        tags = "15, 8, 12, 11, 13, 3, 5, 6, 7, 14"
    )]
    pub jcfkgndaphj: ::core::option::Option<mhccpddkkda::Jcfkgndaphj>,
}
/// Nested message and enum types in `MHCCPDDKKDA`.
pub mod mhccpddkkda {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Jcfkgndaphj {
        #[prost(message, tag = "15")]
        Cggnfjcbbkm(super::Glpeeijalgf),
        #[prost(message, tag = "8")]
        Piclegggncf(super::Jcijcafjjkn),
        #[prost(message, tag = "12")]
        Eapmicbgoio(super::Ajmibfecflj),
        #[prost(message, tag = "11")]
        Nnchmgdgdfi(super::Lpilgjepagj),
        #[prost(message, tag = "13")]
        Ndkhogemkja(super::Igilogohejp),
        #[prost(message, tag = "3")]
        Jlfddmekljk(super::Khcbgnlnpel),
        #[prost(message, tag = "5")]
        Lcbecpoogcl(super::Kmhibngafeo),
        #[prost(message, tag = "6")]
        Ceajnliofhf(super::Dmkpfgebilh),
        #[prost(message, tag = "7")]
        Pgpaapopdoc(super::Lfggpngkbch),
        #[prost(message, tag = "14")]
        Pmkehgbpcng(super::Dhmfcidjbfd),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glpeeijalgf {
    #[prost(uint32, tag = "10")]
    pub jifkhckpnfm: u32,
    #[prost(bool, tag = "2")]
    pub fobaoeafnam: bool,
    #[prost(message, optional, tag = "13")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(int32, tag = "15")]
    pub dmmamjgngnn: i32,
    #[prost(uint32, tag = "3")]
    pub anlincfgfan: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcijcafjjkn {
    #[prost(uint32, tag = "10")]
    pub jifkhckpnfm: u32,
    #[prost(bool, tag = "3")]
    pub fobaoeafnam: bool,
    #[prost(uint32, tag = "12")]
    pub anlincfgfan: u32,
    #[prost(int32, tag = "2")]
    pub dmmamjgngnn: i32,
    #[prost(message, optional, tag = "13")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajmibfecflj {
    #[prost(map = "uint32, uint32", tag = "9")]
    pub hcpacbhcmhn: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "14")]
    pub cur_num: u32,
    #[prost(uint32, tag = "13")]
    pub max_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpilgjepagj {
    #[prost(message, optional, tag = "4")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(int32, tag = "5")]
    pub dmmamjgngnn: i32,
    #[prost(uint32, tag = "14")]
    pub jifkhckpnfm: u32,
    #[prost(map = "uint32, bool", tag = "10")]
    pub nfnicipmjii: ::std::collections::HashMap<u32, bool>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igilogohejp {
    #[prost(message, optional, tag = "6")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "3")]
    pub jifkhckpnfm: u32,
    #[prost(int32, tag = "15")]
    pub dmmamjgngnn: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Coahgflonan {
    #[prost(message, optional, tag = "8")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(message, optional, tag = "6")]
    pub hbpblgllien: ::core::option::Option<ItemCostList>,
    #[prost(message, optional, tag = "10")]
    pub jlfddmekljk: ::core::option::Option<Inpinnpihob>,
    #[prost(bool, tag = "1")]
    pub ngkjpcehmba: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Khcbgnlnpel {
    #[prost(message, repeated, tag = "13")]
    pub picfhpkdnel: ::prost::alloc::vec::Vec<Coahgflonan>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aogiimkcjdj {
    #[prost(bool, tag = "6")]
    pub ngkjpcehmba: bool,
    #[prost(uint32, tag = "14")]
    pub unit_id: u32,
    #[prost(message, optional, tag = "1")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(message, optional, tag = "4")]
    pub hbpblgllien: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "9")]
    pub ppmiogcfooc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmhibngafeo {
    #[prost(message, repeated, tag = "12")]
    pub magic_list: ::prost::alloc::vec::Vec<Aogiimkcjdj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmkpfgebilh {
    #[prost(uint32, tag = "4")]
    pub jifkhckpnfm: u32,
    #[prost(int32, tag = "7")]
    pub dmmamjgngnn: i32,
    #[prost(message, optional, tag = "9")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lfggpngkbch {
    #[prost(int32, tag = "1")]
    pub dmmamjgngnn: i32,
    #[prost(message, optional, tag = "2")]
    pub faidibodmch: ::core::option::Option<ItemCostList>,
    #[prost(map = "uint32, message", tag = "7")]
    pub iakhmmelmfd: ::std::collections::HashMap<u32, ItemCostList>,
    #[prost(uint32, tag = "11")]
    pub jifkhckpnfm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kifilcjolch {
    #[prost(message, optional, tag = "3")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "8")]
    pub scepter_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhmfcidjbfd {
    #[prost(message, repeated, tag = "13")]
    pub eldolkcakae: ::prost::alloc::vec::Vec<Kifilcjolch>,
}
/// Obf: BCMDOEOIAGB
#[derive(proto_derive::CmdID)]
#[cmdid(5610)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchHandleFuncCsReq {
    #[prost(uint32, tag = "7")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "5")]
    pub hobjminnbop: u32,
    #[prost(message, optional, tag = "6")]
    pub lbobpbhelgj: ::core::option::Option<Akmbehgcbhe>,
}
/// Obf: LMPBJLIBHCA
#[derive(proto_derive::CmdID)]
#[cmdid(5697)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchHandleFuncScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub hobjminnbop: u32,
    #[prost(message, optional, tag = "15")]
    pub mlkioodnllf: ::core::option::Option<Mhccpddkkda>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akmbehgcbhe {
    #[prost(oneof = "akmbehgcbhe::Item", tags = "1, 5, 11, 3, 2, 13, 7, 14, 8, 10")]
    pub item: ::core::option::Option<akmbehgcbhe::Item>,
}
/// Nested message and enum types in `AKMBEHGCBHE`.
pub mod akmbehgcbhe {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Item {
        #[prost(message, tag = "1")]
        Cggnfjcbbkm(super::Akkcdlmlkdf),
        #[prost(message, tag = "5")]
        Piclegggncf(super::Alnigmcjfdm),
        #[prost(message, tag = "11")]
        Eapmicbgoio(super::Neoccicfned),
        #[prost(message, tag = "3")]
        Nnchmgdgdfi(super::Kojkplcegen),
        #[prost(message, tag = "2")]
        Ndkhogemkja(super::Bhjhapdlpno),
        #[prost(message, tag = "13")]
        Jlfddmekljk(super::Jdooidbkcim),
        #[prost(message, tag = "7")]
        Lcbecpoogcl(super::Gjbblcipbhd),
        #[prost(message, tag = "14")]
        Ceajnliofhf(super::Lehglceljmf),
        #[prost(message, tag = "8")]
        Pgpaapopdoc(super::Fhjglopmfnc),
        #[prost(message, tag = "10")]
        Pmkehgbpcng(super::Jbncdffpdop),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Akkcdlmlkdf {
    #[prost(uint32, tag = "8")]
    pub hifgeekagla: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Alnigmcjfdm {
    #[prost(uint32, tag = "13")]
    pub pfmgabppdfl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Neoccicfned {
    #[prost(uint32, tag = "13")]
    pub amohedgmlee: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kojkplcegen {
    #[prost(uint32, repeated, tag = "14")]
    pub nlklhflbjfm: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bhjhapdlpno {
    #[prost(uint32, tag = "5")]
    pub icaeccokajp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jdooidbkcim {
    #[prost(uint32, tag = "15")]
    pub fpljoaacdgd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjbblcipbhd {
    #[prost(uint32, repeated, tag = "10")]
    pub clopkobkhma: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lehglceljmf {
    #[prost(uint32, repeated, tag = "7")]
    pub dnkccibpfgk: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fhjglopmfnc {
    #[prost(uint32, tag = "11")]
    pub unit_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jbncdffpdop {
    #[prost(uint32, tag = "14")]
    pub scepter_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fkbfooefpae {
    #[prost(uint32, tag = "13")]
    pub infbhpgdlnd: u32,
    #[prost(enumeration = "Hgpokmdgknn", tag = "6")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ajakdcddamo {
    #[prost(uint32, tag = "1")]
    pub infbhpgdlnd: u32,
    #[prost(enumeration = "Hhiclpljnco", tag = "15")]
    pub status: i32,
    #[prost(uint32, tag = "3")]
    pub eonlmdcbnme: u32,
}
/// Obf: CKLNGGBJMHD
#[derive(proto_derive::CmdID)]
#[cmdid(5679)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueCollectionCsReq {}
/// Obf: CHLEKGNDAKJ
#[derive(proto_derive::CmdID)]
#[cmdid(5670)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueCollectionScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "4")]
    pub pahpdbiacha: ::prost::alloc::vec::Vec<Ajakdcddamo>,
    #[prost(message, repeated, tag = "1")]
    pub pcpedflnbga: ::prost::alloc::vec::Vec<Fkbfooefpae>,
}
/// Obf: GFIACEHAOFI
#[derive(proto_derive::CmdID)]
#[cmdid(5604)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueCollectionCsReq {
    #[prost(uint32, repeated, tag = "6")]
    pub fpipmkcagpd: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Mhkmpgabbpl", repeated, tag = "13")]
    pub lghphfppjen: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, repeated, tag = "9")]
    pub opkmciffcch: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MGEPEKLCAPM
#[derive(proto_derive::CmdID)]
#[cmdid(5618)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueCollectionScRsp {
    #[prost(message, repeated, tag = "14")]
    pub pcpedflnbga: ::prost::alloc::vec::Vec<Fkbfooefpae>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub pahpdbiacha: ::prost::alloc::vec::Vec<Ajakdcddamo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gbpflagfaij {
    #[prost(enumeration = "Ehcobodeeje", tag = "4")]
    pub status: i32,
    #[prost(uint32, tag = "8")]
    pub kbdfbginnbj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dmodinlgccb {
    #[prost(uint32, tag = "12")]
    pub eonlmdcbnme: u32,
    #[prost(enumeration = "Hhiclpljnco", tag = "10")]
    pub status: i32,
    #[prost(uint32, tag = "6")]
    pub kbdfbginnbj: u32,
}
/// Obf: GAFKHGLMDKJ
#[derive(proto_derive::CmdID)]
#[cmdid(5644)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueExhibitionCsReq {}
/// Obf: AKKEABKJKMK
#[derive(proto_derive::CmdID)]
#[cmdid(5626)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueExhibitionScRsp {
    #[prost(message, repeated, tag = "13")]
    pub pjpjokkfnim: ::prost::alloc::vec::Vec<Dmodinlgccb>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "7")]
    pub mkcefancaig: ::prost::alloc::vec::Vec<Gbpflagfaij>,
}
/// Obf: FGHCIEOMINE
#[derive(proto_derive::CmdID)]
#[cmdid(5673)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueExhibitionCsReq {
    #[prost(uint32, repeated, tag = "11")]
    pub ldifbjdgffe: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Mhkmpgabbpl", repeated, tag = "10")]
    pub anekpinlkfj: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, repeated, tag = "7")]
    pub heepoeolilo: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MBDACGMFDBA
#[derive(proto_derive::CmdID)]
#[cmdid(5667)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueExhibitionScRsp {
    #[prost(message, repeated, tag = "4")]
    pub pjpjokkfnim: ::prost::alloc::vec::Vec<Dmodinlgccb>,
    #[prost(message, repeated, tag = "1")]
    pub mkcefancaig: ::prost::alloc::vec::Vec<Gbpflagfaij>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ehkegmcgcmh {
    #[prost(uint32, tag = "1")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pndnjbbdhdp {
    #[prost(uint32, tag = "7")]
    pub bimbfjgnpfb: u32,
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dopjlbmmphb {
    #[prost(bool, tag = "1")]
    pub kdgbjgopehi: bool,
    #[prost(uint32, tag = "7")]
    pub bimbfjgnpfb: u32,
    #[prost(oneof = "dopjlbmmphb::Oonijkkdllp", tags = "14, 15")]
    pub oonijkkdllp: ::core::option::Option<dopjlbmmphb::Oonijkkdllp>,
}
/// Nested message and enum types in `DOPJLBMMPHB`.
pub mod dopjlbmmphb {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Oonijkkdllp {
        #[prost(message, tag = "14")]
        Djnabioeenf(super::Ehkegmcgcmh),
        #[prost(message, tag = "15")]
        Imcajaogclg(super::Pndnjbbdhdp),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lopjejmofbg {
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    #[prost(message, repeated, tag = "14")]
    pub bbpapddenhb: ::prost::alloc::vec::Vec<Dopjlbmmphb>,
    #[prost(bool, tag = "7")]
    pub enbijbfbnec: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eomodelgnhe {
    #[prost(uint32, tag = "6")]
    pub ddjddbknpff: u32,
    #[prost(message, repeated, tag = "13")]
    pub maze_group_list: ::prost::alloc::vec::Vec<Lopjejmofbg>,
    #[prost(bool, tag = "15")]
    pub loffeohfpfl: bool,
    #[prost(message, optional, tag = "8")]
    pub kedcohkknak: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "2")]
    pub akkonobbjnk: u32,
    #[prost(uint32, tag = "1")]
    pub hfbkbhjiegd: u32,
    #[prost(uint32, tag = "4")]
    pub cur_times: u32,
}
/// Obf: JLEMAPHNDDK
#[derive(proto_derive::CmdID)]
#[cmdid(5628)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueGetGambleInfoCsReq {
    #[prost(uint32, tag = "11")]
    pub prop_entity_id: u32,
}
/// Obf: KGMFOEAIEJA
#[derive(proto_derive::CmdID)]
#[cmdid(5615)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueGetGambleInfoScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub ffmifpfibdd: ::core::option::Option<Eomodelgnhe>,
}
/// Obf: PLNFKHDHDBP
#[derive(proto_derive::CmdID)]
#[cmdid(5655)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueDoGambleCsReq {
    #[prost(uint32, tag = "4")]
    pub prop_entity_id: u32,
}
/// Obf: CGDANCPMJAE
#[derive(proto_derive::CmdID)]
#[cmdid(5680)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueDoGambleScRsp {
    #[prost(message, optional, tag = "7")]
    pub ffmifpfibdd: ::core::option::Option<Eomodelgnhe>,
    #[prost(uint32, tag = "12")]
    pub cfbglfojoda: u32,
    #[prost(uint32, tag = "1")]
    pub jpklmppogdh: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: NOLOILJJAKG
#[derive(proto_derive::CmdID)]
#[cmdid(5688)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueDebugReplaySaveScNotify {
    #[prost(string, tag = "14")]
    pub jhjgfdmkihg: ::prost::alloc::string::String,
    #[prost(string, tag = "15")]
    pub jdedckkacgo: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub nepgeejclah: ::prost::alloc::string::String,
    #[prost(string, tag = "12")]
    pub kfamackfhpm: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub ijppknknlnl: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(string, tag = "9")]
    pub dfpfalbjhjh: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnfelckiocm {
    #[prost(uint32, tag = "8")]
    pub map_id: u32,
    #[prost(enumeration = "Egpimdadfdi", tag = "10")]
    pub status: i32,
    #[prost(uint32, tag = "15")]
    pub gmpiiaeggek: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "11")]
    pub jlnilijomem: ::core::option::Option<Ajpfphkklpg>,
    #[prost(uint32, tag = "14")]
    pub ffkpegnbhod: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "12")]
    pub lchkkhngbgj: ::core::option::Option<Gckblhadlgn>,
    #[prost(uint32, tag = "9")]
    pub kjgimhfkgbn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oendafiaecg {
    #[prost(uint32, tag = "5")]
    pub kkpkaljmamf: u32,
    #[prost(uint32, tag = "1")]
    pub hdjcjbbknaf: u32,
    #[prost(uint32, tag = "11")]
    pub aeieojgcmmo: u32,
    #[prost(uint32, tag = "12")]
    pub bpekcejpofe: u32,
    #[prost(uint32, tag = "13")]
    pub battle_id: u32,
    #[prost(bool, tag = "14")]
    pub ighlhohcckc: bool,
    #[prost(uint32, tag = "15")]
    pub jpkjkimnigg: u32,
    #[prost(uint32, tag = "2")]
    pub hdllmdnlokp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Peodocnclnp {
    #[prost(uint32, tag = "6")]
    pub area_id: u32,
    #[prost(message, optional, tag = "1")]
    pub bopaangkogh: ::core::option::Option<Oendafiaecg>,
    #[prost(uint32, tag = "4")]
    pub module_id: u32,
    #[prost(message, optional, tag = "7")]
    pub aeloipgfodb: ::core::option::Option<Jnfelckiocm>,
}
/// Obf: JGHNPPCKJOE
#[derive(proto_derive::CmdID)]
#[cmdid(6002)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueEndlessActivityDataCsReq {}
/// Obf: ELKMJMAANCM
#[derive(proto_derive::CmdID)]
#[cmdid(6005)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueEndlessActivityDataScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub anameobfkgn: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub eahbikfallf: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "7")]
    pub data: ::prost::alloc::vec::Vec<Peodocnclnp>,
    #[prost(uint32, tag = "13")]
    pub jchchlmdpen: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bbnhemckdin {
    #[prost(enumeration = "AvatarType", tag = "8")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
}
/// Obf: MKCPGOPOHNH
#[derive(proto_derive::CmdID)]
#[cmdid(6004)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueEndlessActivityStageCsReq {
    #[prost(message, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<Bbnhemckdin>,
    #[prost(uint32, tag = "15")]
    pub mgigdcmleog: u32,
}
/// Obf: BNBIAMBDALL
#[derive(proto_derive::CmdID)]
#[cmdid(6007)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueEndlessActivityStageScRsp {
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(message, optional, tag = "12")]
    pub bopaangkogh: ::core::option::Option<Oendafiaecg>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: CKKLIEMDEOF
#[derive(proto_derive::CmdID)]
#[cmdid(6001)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueEndlessActivityBattleEndScNotify {
    #[prost(message, optional, tag = "15")]
    pub bopaangkogh: ::core::option::Option<Oendafiaecg>,
}
/// Obf: BCNDKNLJOEP
#[derive(proto_derive::CmdID)]
#[cmdid(6009)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityPointRewardCsReq {
    #[prost(uint32, tag = "5")]
    pub level: u32,
    #[prost(bool, tag = "12")]
    pub mdhjkkbnmcf: bool,
}
/// Obf: FMCEDJKIHNP
#[derive(proto_derive::CmdID)]
#[cmdid(6006)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityPointRewardScRsp {
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub level: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub eahbikfallf: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "9")]
    pub mdhjkkbnmcf: bool,
    #[prost(uint32, tag = "2")]
    pub jchchlmdpen: u32,
}
/// Obf: HLEKECOCGJI
#[derive(proto_derive::CmdID)]
#[cmdid(6003)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityAllBonusRewardCsReq {}
/// Obf: JJPPDHEHFIM
#[derive(proto_derive::CmdID)]
#[cmdid(6010)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityAllBonusRewardScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub eahbikfallf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub jchchlmdpen: u32,
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfippdggjol {
    #[prost(message, optional, tag = "3")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
    #[prost(message, optional, tag = "14")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "7")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpaifngedgh {
    #[prost(uint32, tag = "6")]
    pub ppjbgnbmkpm: u32,
    #[prost(enumeration = "Jlcbbkkgoej", tag = "3")]
    pub status: i32,
    #[prost(uint32, tag = "4")]
    pub bhpgjcicmjm: u32,
    #[prost(uint32, tag = "1")]
    pub ogldnefkndo: u32,
    #[prost(message, repeated, tag = "11")]
    pub mnfjeiininl: ::prost::alloc::vec::Vec<Oiikgfipmfg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oiikgfipmfg {
    #[prost(uint32, tag = "14")]
    pub eipnnejnnkj: u32,
    #[prost(enumeration = "Jiokhlhgeod", tag = "5")]
    pub status: i32,
    #[prost(uint32, tag = "7")]
    pub akdleblpbmd: u32,
    #[prost(uint32, tag = "9")]
    pub room_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjkkoneiobo {
    #[prost(uint32, tag = "4")]
    pub acgbelaigbo: u32,
    #[prost(message, repeated, tag = "6")]
    pub ahooafgdehf: ::prost::alloc::vec::Vec<Bpaifngedgh>,
    #[prost(enumeration = "Behfnmkdomk", tag = "15")]
    pub status: i32,
    #[prost(uint32, tag = "2")]
    pub lfcdodfmhhn: u32,
    #[prost(enumeration = "Jmpphgigffi", tag = "1")]
    pub reason: i32,
    #[prost(uint32, tag = "9")]
    pub bgokheibnkl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jchcgfmgbak {
    #[prost(message, repeated, tag = "6")]
    pub eldolkcakae: ::prost::alloc::vec::Vec<Jbihocioanh>,
    #[prost(uint32, tag = "7")]
    pub nmjaibbldoc: u32,
    #[prost(bool, tag = "11")]
    pub jfcnajmihci: bool,
    #[prost(message, repeated, tag = "1")]
    pub magic_list: ::prost::alloc::vec::Vec<Jfgflgblcaj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llnhfmgmcmn {
    #[prost(uint32, repeated, tag = "3")]
    pub dimhpbcpnlc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Klohnfgbnph {
    #[prost(uint32, tag = "3")]
    pub laeejiikmpi: u32,
}
/// Obf: ODFPBAAGAPO
#[derive(proto_derive::CmdID)]
#[cmdid(7795)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicStartCsReq {
    #[prost(uint32, tag = "1")]
    pub jeafpigjdol: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub ahiibhkdfjb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub area_id: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aapkbpeggbh {
    #[prost(message, optional, tag = "15")]
    pub cacgekaankl: ::core::option::Option<Klohnfgbnph>,
    #[prost(message, optional, tag = "10")]
    pub basic_info: ::core::option::Option<Mikfnbbopip>,
    #[prost(message, optional, tag = "6")]
    pub jibdgcfcdio: ::core::option::Option<Nkidddpflje>,
    #[prost(message, optional, tag = "5")]
    pub jlfddmekljk: ::core::option::Option<Jchcgfmgbak>,
    #[prost(message, optional, tag = "2")]
    pub lineup: ::core::option::Option<Omdefbabnnb>,
    #[prost(message, optional, tag = "11")]
    pub level: ::core::option::Option<Mjkkoneiobo>,
    #[prost(message, optional, tag = "3")]
    pub kkobbenpfph: ::core::option::Option<Llnhfmgmcmn>,
    #[prost(message, optional, tag = "9")]
    pub item_value: ::core::option::Option<Findafkpoof>,
}
/// Obf: BEACKFEHJIJ
#[derive(proto_derive::CmdID)]
#[cmdid(7732)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicStartScRsp {
    #[prost(message, optional, tag = "13")]
    pub bhmhlpchklg: ::core::option::Option<Aapkbpeggbh>,
    #[prost(message, optional, tag = "2")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: NMAEBMBEGOL
#[derive(proto_derive::CmdID)]
#[cmdid(7731)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterCsReq {}
/// Obf: FOJGIIBDBPJ
#[derive(proto_derive::CmdID)]
#[cmdid(7740)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterScRsp {
    #[prost(message, optional, tag = "4")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub bhmhlpchklg: ::core::option::Option<Aapkbpeggbh>,
}
/// Obf: JPNGLDLLJCP
#[derive(proto_derive::CmdID)]
#[cmdid(7776)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicLeaveCsReq {}
/// Obf: JOEGNNIECCN
#[derive(proto_derive::CmdID)]
#[cmdid(7748)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicLeaveScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
}
/// Obf: BKFDIABHNDA
#[derive(proto_derive::CmdID)]
#[cmdid(7722)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterRoomCsReq {
    #[prost(uint32, tag = "13")]
    pub bhpgjcicmjm: u32,
    #[prost(uint32, tag = "11")]
    pub fllablfbeik: u32,
}
/// Obf: ELMOIGEFFGB
#[derive(proto_derive::CmdID)]
#[cmdid(7756)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterRoomScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
}
/// Obf: OIOHPPMCMHE
#[derive(proto_derive::CmdID)]
#[cmdid(7772)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterLayerCsReq {
    #[prost(uint32, tag = "5")]
    pub fllablfbeik: u32,
    #[prost(uint32, tag = "1")]
    pub lfcdodfmhhn: u32,
}
/// Obf: LDALHBMJLPD
#[derive(proto_derive::CmdID)]
#[cmdid(7785)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterLayerScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
}
/// Obf: NMAAKGGGDDE
#[derive(proto_derive::CmdID)]
#[cmdid(7716)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicLevelInfoUpdateScNotify {
    #[prost(message, repeated, tag = "3")]
    pub ahooafgdehf: ::prost::alloc::vec::Vec<Bpaifngedgh>,
    #[prost(enumeration = "Jmpphgigffi", tag = "15")]
    pub reason: i32,
    #[prost(uint32, tag = "2")]
    pub acgbelaigbo: u32,
    #[prost(uint32, tag = "1")]
    pub bgokheibnkl: u32,
    #[prost(uint32, tag = "14")]
    pub lfcdodfmhhn: u32,
    #[prost(enumeration = "Behfnmkdomk", tag = "13")]
    pub status: i32,
}
/// Obf: BJMDBIIDBPH
#[derive(proto_derive::CmdID)]
#[cmdid(7746)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicAreaUpdateScNotify {
    #[prost(message, repeated, tag = "13")]
    pub jidjeamdkde: ::prost::alloc::vec::Vec<Pjebcbnpdic>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Caclanloolk {
    #[prost(uint32, tag = "2")]
    pub efkegdoajbh: u32,
    #[prost(bool, tag = "14")]
    pub fbjhgpdkbgm: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fjjdkdndfdj {
    #[prost(bool, tag = "2")]
    pub fbjhgpdkbgm: bool,
    #[prost(uint32, tag = "9")]
    pub kknghgbhcgg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ognbigkhhbm {
    #[prost(message, optional, tag = "7")]
    pub gcglnkfdkkn: ::core::option::Option<Caclanloolk>,
    #[prost(message, optional, tag = "4")]
    pub bjlemfmcodd: ::core::option::Option<Fjjdkdndfdj>,
    #[prost(message, optional, tag = "5")]
    pub embagmmhipa: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "3")]
    pub bhmhlpchklg: ::core::option::Option<Aapkbpeggbh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hcjgpmdgbjo {
    #[prost(message, repeated, tag = "2")]
    pub epckcookclj: ::prost::alloc::vec::Vec<Obipoolidal>,
    #[prost(uint32, repeated, tag = "5")]
    pub blbfdcgceda: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "3")]
    pub klmgaebeagk: ::prost::alloc::vec::Vec<Inpinnpihob>,
    #[prost(uint32, repeated, tag = "11")]
    pub mnkcjfelcng: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LPHOAKOKCGL
#[derive(proto_derive::CmdID)]
#[cmdid(7739)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicBattleFailSettleInfoScNotify {
    #[prost(message, optional, tag = "1")]
    pub njnjebodmnl: ::core::option::Option<Ognbigkhhbm>,
    #[prost(message, optional, tag = "13")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
}
/// Obf: PICMLKBCPGJ
#[derive(proto_derive::CmdID)]
#[cmdid(7771)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicSettleCsReq {}
/// Obf: MMFBKKPAIAK
#[derive(proto_derive::CmdID)]
#[cmdid(7752)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicSettleScRsp {
    #[prost(message, optional, tag = "15")]
    pub njnjebodmnl: ::core::option::Option<Ognbigkhhbm>,
    #[prost(message, optional, tag = "6")]
    pub mgcfoglkmch: ::core::option::Option<Hcjgpmdgbjo>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub gfonfdbfbna: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "12")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
}
/// Obf: MHPBBOBPBDK
#[derive(proto_derive::CmdID)]
#[cmdid(7743)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicReviveCostUpdateScNotify {
    #[prost(message, optional, tag = "14")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
}
/// Obf: PHCBEONFBHA
#[derive(proto_derive::CmdID)]
#[cmdid(7733)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicReviveAvatarCsReq {
    #[prost(uint32, tag = "11")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CPMJBEHCKNB
#[derive(proto_derive::CmdID)]
#[cmdid(7742)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicReviveAvatarScRsp {
    #[prost(message, optional, tag = "12")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: JCNFFMKKAKM
#[derive(proto_derive::CmdID)]
#[cmdid(7777)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicQueryCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olfgbamefji {
    #[prost(uint32, tag = "10")]
    pub blfdfmcffim: u32,
    #[prost(uint32, tag = "9")]
    pub nnnkjkclblo: u32,
    #[prost(uint32, tag = "6")]
    pub fonnghlgjfa: u32,
    #[prost(message, repeated, tag = "685")]
    pub eldolkcakae: ::prost::alloc::vec::Vec<Jbihocioanh>,
    #[prost(message, repeated, tag = "1062")]
    pub magic_list: ::prost::alloc::vec::Vec<Jfgflgblcaj>,
    #[prost(uint32, tag = "8")]
    pub ofbiahgopcm: u32,
    #[prost(uint32, tag = "5")]
    pub ipodnbljpol: u32,
    #[prost(uint32, tag = "15")]
    pub njiempgeeog: u32,
    #[prost(uint32, tag = "4")]
    pub hmkgbmidgop: u32,
    #[prost(uint32, tag = "3")]
    pub bgokheibnkl: u32,
    #[prost(uint32, repeated, tag = "1190")]
    pub jlhfojodokg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub nmjaibbldoc: u32,
    #[prost(uint32, repeated, tag = "512")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Koiicmieaef {
    #[prost(uint32, repeated, tag = "1458")]
    pub dpplcddhbge: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjebcbnpdic {
    #[prost(uint32, tag = "6")]
    pub area_id: u32,
    #[prost(uint32, tag = "14")]
    pub ifpoilopfag: u32,
    #[prost(bool, tag = "11")]
    pub is_taken_reward: bool,
    #[prost(uint32, repeated, tag = "13")]
    pub npbnmmkhkop: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "5")]
    pub record_info: ::core::option::Option<Olfgbamefji>,
    #[prost(bool, tag = "7")]
    pub knbdpfeidnm: bool,
    #[prost(message, optional, tag = "1")]
    pub cgaijcclkbh: ::core::option::Option<Koiicmieaef>,
    #[prost(bool, tag = "12")]
    pub biifelfegnk: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cchiedibofm {
    #[prost(bool, tag = "13")]
    pub knbdpfeidnm: bool,
    #[prost(uint32, tag = "6")]
    pub handcdpibld: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgapfbpijhp {
    #[prost(uint32, repeated, tag = "9")]
    pub eacemapdndh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbbedpiipek {
    #[prost(message, repeated, tag = "14")]
    pub dimgdinccji: ::prost::alloc::vec::Vec<Cchiedibofm>,
    #[prost(message, repeated, tag = "2")]
    pub picfhpkdnel: ::prost::alloc::vec::Vec<Ooceoilkcfi>,
    #[prost(uint32, repeated, tag = "5")]
    pub kglbndeaphf: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "13")]
    pub okakamonpfl: ::core::option::Option<Iejppfjfjlj>,
    #[prost(message, optional, tag = "9")]
    pub story_buff_info: ::core::option::Option<Bgapfbpijhp>,
    #[prost(message, repeated, tag = "4")]
    pub jidjeamdkde: ::prost::alloc::vec::Vec<Pjebcbnpdic>,
    #[prost(message, repeated, tag = "12")]
    pub magic_list: ::prost::alloc::vec::Vec<Eoejhkjllpk>,
}
/// Obf: JAFOJENLDJP
#[derive(proto_derive::CmdID)]
#[cmdid(7758)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicQueryScRsp {
    #[prost(message, optional, tag = "4")]
    pub bhmhlpchklg: ::core::option::Option<Aapkbpeggbh>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub lagbgldlgcb: ::core::option::Option<Pbbedpiipek>,
}
/// Obf: MDLNPIMICMD
#[derive(proto_derive::CmdID)]
#[cmdid(7729)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicScepterDressInUnitCsReq {
    #[prost(uint32, tag = "12")]
    pub scepter_id: u32,
    #[prost(uint32, tag = "7")]
    pub elpinnnalbd: u32,
    #[prost(uint32, tag = "5")]
    pub slot_id: u32,
}
/// Obf: AAGDKJFNAKG
#[derive(proto_derive::CmdID)]
#[cmdid(7763)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicScepterDressInUnitScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: CHJNEKCPADA
#[derive(proto_derive::CmdID)]
#[cmdid(7764)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicAutoDressInUnitCsReq {
    #[prost(uint32, repeated, tag = "4")]
    pub bhkankfpdcp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DMKCMBHADOL
#[derive(proto_derive::CmdID)]
#[cmdid(7706)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicAutoDressInUnitScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: LIAJHMCJDLO
#[derive(proto_derive::CmdID)]
#[cmdid(7724)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicSetAutoDressInMagicUnitCsReq {
    #[prost(bool, tag = "5")]
    pub khdhahnnalm: bool,
}
/// Obf: NNJADFLFHEB
#[derive(proto_derive::CmdID)]
#[cmdid(7757)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicSetAutoDressInMagicUnitScRsp {
    #[prost(bool, tag = "1")]
    pub khdhahnnalm: bool,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: AMBAEBKGJIB
#[derive(proto_derive::CmdID)]
#[cmdid(7713)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicAutoDressInMagicUnitChangeScNotify {
    #[prost(bool, tag = "5")]
    pub khdhahnnalm: bool,
}
/// Obf: LLCCLFEGKHD
#[derive(proto_derive::CmdID)]
#[cmdid(7711)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicScepterTakeOffUnitCsReq {
    #[prost(uint32, tag = "8")]
    pub scepter_id: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub bhkankfpdcp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FJKAPMKLJAE
#[derive(proto_derive::CmdID)]
#[cmdid(7793)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicScepterTakeOffUnitScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: IHBDBADPBEH
#[derive(proto_derive::CmdID)]
#[cmdid(7725)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicUnitComposeCsReq {
    #[prost(uint32, repeated, tag = "10")]
    pub bhkankfpdcp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GPLNECHOOCF
#[derive(proto_derive::CmdID)]
#[cmdid(7714)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicUnitComposeScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: DDIECBDNCIJ
#[derive(proto_derive::CmdID)]
#[cmdid(7784)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicUnitReforgeCsReq {
    #[prost(uint32, repeated, tag = "4")]
    pub bhkankfpdcp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AJMPFOIJAML
#[derive(proto_derive::CmdID)]
#[cmdid(7737)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicUnitReforgeScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iejppfjfjlj {
    #[prost(uint32, tag = "1")]
    pub cmadmlialjl: u32,
    #[prost(message, optional, tag = "13")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
}
/// Obf: MKFONFJNKDB
#[derive(proto_derive::CmdID)]
#[cmdid(7730)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicGetTalentInfoCsReq {}
/// Obf: CMFPLABIBCD
#[derive(proto_derive::CmdID)]
#[cmdid(7775)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicGetTalentInfoScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub okakamonpfl: ::core::option::Option<Iejppfjfjlj>,
}
/// Obf: HHMFEHGPHIL
#[derive(proto_derive::CmdID)]
#[cmdid(7751)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicEnableTalentCsReq {
    #[prost(uint32, tag = "3")]
    pub talent_id: u32,
}
/// Obf: BLCHCIIGNDB
#[derive(proto_derive::CmdID)]
#[cmdid(7791)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnableTalentScRsp {
    #[prost(message, optional, tag = "4")]
    pub okakamonpfl: ::core::option::Option<Iejppfjfjlj>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: ECEGEHKCEBB
#[derive(proto_derive::CmdID)]
#[cmdid(7707)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicGetMiscRealTimeDataCsReq {}
/// Obf: FANODLFGDEG
#[derive(proto_derive::CmdID)]
#[cmdid(7798)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicGetMiscRealTimeDataScRsp {
    #[prost(message, optional, tag = "9")]
    pub gcglnkfdkkn: ::core::option::Option<Caclanloolk>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub bjlemfmcodd: ::core::option::Option<Fjjdkdndfdj>,
}
/// Obf: GCIONHDOOCC
#[derive(proto_derive::CmdID)]
#[cmdid(7745)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicStoryInfoUpdateScNotify {
    #[prost(uint32, tag = "9")]
    pub mnbccbabcha: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eddhmigfdji {
    #[prost(uint32, tag = "9")]
    pub mbgkckldhib: u32,
    #[prost(bool, tag = "5")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, tag = "4")]
    pub inbjppapcag: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Foiacpfkdhk {
    #[prost(bool, tag = "3")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, tag = "2")]
    pub mbgkckldhib: u32,
    #[prost(uint32, tag = "7")]
    pub inbjppapcag: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub onnjgdjnflg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pogcnjmngpi {
    #[prost(uint32, repeated, tag = "9")]
    pub onnjgdjnflg: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "8")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, tag = "12")]
    pub inbjppapcag: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ainblbbfdbj {
    #[prost(bool, tag = "4")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, repeated, tag = "3")]
    pub nhgojdodgma: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub nijagoajpem: u32,
    #[prost(uint32, tag = "9")]
    pub inbjppapcag: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ajeeiakemip {
    #[prost(uint32, tag = "9")]
    pub cehfiilmjkm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Khmjbjlobpg {
    #[prost(uint32, tag = "6")]
    pub cpocngekiib: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gfgdodhmbpk {
    #[prost(uint32, tag = "13")]
    pub kokpceamabc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Npdipkhdcnf {
    #[prost(uint32, tag = "5")]
    pub inbjppapcag: u32,
    #[prost(uint32, tag = "1")]
    pub iigoemfhgll: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub nhgojdodgma: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "14")]
    pub pipmgacmjnn: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Egalagnaefb {
    #[prost(uint32, tag = "7")]
    pub gpdeiiioipn: u32,
    #[prost(uint32, tag = "3")]
    pub olgljhecdof: u32,
    #[prost(uint32, tag = "15")]
    pub gclebgddiip: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ndgljknkefk {
    #[prost(uint32, tag = "1")]
    pub ojeblmkkmgo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Egfdajdihnj {
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    #[prost(uint32, tag = "12")]
    pub mbejblfhcbh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pnikofbimjl {
    #[prost(uint32, tag = "5")]
    pub nejdmegnfgk: u32,
    #[prost(uint32, tag = "13")]
    pub eoaefbknffe: u32,
    #[prost(uint32, tag = "12")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jjdkoeehbjo {
    #[prost(uint32, tag = "6")]
    pub num: u32,
    #[prost(uint32, tag = "13")]
    pub ooofgdbldce: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Okgmdmjhcmk {
    #[prost(uint32, tag = "4")]
    pub cehfiilmjkm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cfkbhpnbcnb {
    #[prost(uint32, tag = "3")]
    pub mbgkckldhib: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbbeoeoifjk {
    #[prost(uint32, repeated, tag = "10")]
    pub onnjgdjnflg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub inbjppapcag: u32,
    #[prost(bool, tag = "12")]
    pub pipmgacmjnn: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ahpnapgpjeg {
    #[prost(uint32, tag = "1")]
    pub ojeblmkkmgo: u32,
    #[prost(uint32, tag = "9")]
    pub amojfmfeoge: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fpchmkkcgfa {
    #[prost(enumeration = "Njchljfiodm", tag = "10")]
    pub lghokgabgck: i32,
    #[prost(uint32, tag = "3")]
    pub bnckfbfmgmi: u32,
    #[prost(uint32, tag = "8")]
    pub affjhmjdibn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndfookghhop {
    #[prost(uint32, repeated, tag = "1")]
    pub cegckbndalf: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "7")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, tag = "6")]
    pub inbjppapcag: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mdbjbiekkee {
    #[prost(uint32, tag = "6")]
    pub lipapomhmce: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Blcpnbikclp {
    #[prost(uint32, tag = "4")]
    pub count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aekpjeldapd {
    #[prost(uint64, tag = "12")]
    pub pkfcldincal: u64,
    #[prost(message, optional, tag = "9")]
    pub scepter: ::core::option::Option<Fpchmkkcgfa>,
    #[prost(enumeration = "Lgmdbcffjof", tag = "2")]
    pub hhmabjdimgm: i32,
    #[prost(oneof = "aekpjeldapd::Buff", tags = "1234")]
    pub buff: ::core::option::Option<aekpjeldapd::Buff>,
}
/// Nested message and enum types in `AEKPJELDAPD`.
pub mod aekpjeldapd {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "1234")]
        Kbobeemcndd(super::Ndfookghhop),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eendhpkpflp {
    #[prost(message, repeated, tag = "11")]
    pub mebjclenpio: ::prost::alloc::vec::Vec<Aekpjeldapd>,
}
/// Obf: BMPIBDIIFBE
#[derive(proto_derive::CmdID)]
#[cmdid(5331)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierAddNotify {
    #[prost(message, optional, tag = "6")]
    pub pdaampcelaa: ::core::option::Option<Aekpjeldapd>,
}
/// Obf: ICHALPIPMMJ
#[derive(proto_derive::CmdID)]
#[cmdid(5340)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueModifierSelectCellCsReq {
    #[prost(uint32, tag = "6")]
    pub hhcbjghkcpc: u32,
}
/// Obf: DEMFLHNIOGF
#[derive(proto_derive::CmdID)]
#[cmdid(5376)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierSelectCellScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub hhcbjghkcpc: u32,
    #[prost(message, optional, tag = "3")]
    pub jdijkegcibp: ::core::option::Option<ItemList>,
}
/// Obf: JGDGHGEKGPG
#[derive(proto_derive::CmdID)]
#[cmdid(5352)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierUpdateNotify {
    #[prost(message, optional, tag = "3")]
    pub pdaampcelaa: ::core::option::Option<Aekpjeldapd>,
}
/// Obf: HOCIFOBCEOM
#[derive(proto_derive::CmdID)]
#[cmdid(5322)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueModifierDelNotify {
    #[prost(uint64, tag = "15")]
    pub pkfcldincal: u64,
}
/// Obf: HCGBFLPOCPI
#[derive(proto_derive::CmdID)]
#[cmdid(5356)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueModifierStageStartNotify {
    #[prost(enumeration = "Lgmdbcffjof", tag = "9")]
    pub hhmabjdimgm: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjemjbnajfj {
    #[prost(message, optional, tag = "4")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "5")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "1")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfcdhlpoogc {
    #[prost(message, optional, tag = "6")]
    pub ikobkinkhcf: ::core::option::Option<Mikfnbbopip>,
    #[prost(oneof = "cfcdhlpoogc::Buff", tags = "1752")]
    pub buff: ::core::option::Option<cfcdhlpoogc::Buff>,
}
/// Nested message and enum types in `CFCDHLPOOGC`.
pub mod cfcdhlpoogc {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "1752")]
        Icffjlicimb(super::Lhadmkcgcko),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nkpkiaamodg {
    #[prost(uint32, tag = "10")]
    pub jdbahpebfjc: u32,
    #[prost(uint32, tag = "6")]
    pub mnnkjpliilj: u32,
    #[prost(uint32, tag = "14")]
    pub ldfehkdcnel: u32,
    #[prost(bool, tag = "1")]
    pub fbjhgpdkbgm: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nnijcdkhpkl {
    #[prost(bool, tag = "15")]
    pub fbjhgpdkbgm: bool,
    #[prost(uint32, tag = "6")]
    pub jedjbedkcji: u32,
    #[prost(uint32, tag = "7")]
    pub aiplflibpkj: u32,
    #[prost(uint32, tag = "12")]
    pub cdinhfhbmog: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gpnjmehndmn {
    #[prost(uint32, tag = "6")]
    pub hipjhpjolbe: u32,
    #[prost(bool, tag = "10")]
    pub fbjhgpdkbgm: bool,
    #[prost(uint32, tag = "2")]
    pub japdcmjpiej: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fbhnfjcnhml {
    #[prost(bool, tag = "14")]
    pub fbjhgpdkbgm: bool,
    #[prost(uint32, tag = "3")]
    pub japdcmjpiej: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bmnmbpnbbhm {
    #[prost(bool, tag = "13")]
    pub pgcbeoleioo: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhadmkcgcko {
    #[prost(message, optional, tag = "13")]
    pub jmidlldkjbi: ::core::option::Option<Cgjnhnmamdh>,
    #[prost(message, optional, tag = "9")]
    pub lmpgbonbhgn: ::core::option::Option<Bmnmbpnbbhm>,
    #[prost(message, optional, tag = "2")]
    pub item_value: ::core::option::Option<Findafkpoof>,
    #[prost(message, optional, tag = "1")]
    pub level: ::core::option::Option<Gekleellcbf>,
    #[prost(message, optional, tag = "14")]
    pub jibdgcfcdio: ::core::option::Option<Nkidddpflje>,
    #[prost(message, optional, tag = "5")]
    pub ijbphigkmhf: ::core::option::Option<Aggmhdjgfdi>,
    #[prost(message, optional, tag = "10")]
    pub kkobbenpfph: ::core::option::Option<Fnijjhaenbl>,
    #[prost(message, optional, tag = "8")]
    pub hpdbjalemmo: ::core::option::Option<Kaajbaoakbo>,
    #[prost(message, optional, tag = "3")]
    pub lineup: ::core::option::Option<Omdefbabnnb>,
    #[prost(message, optional, tag = "15")]
    pub bdjebpnjelp: ::core::option::Option<Fbnjofcemil>,
    #[prost(message, optional, tag = "12")]
    pub lkkfhfdpfke: ::core::option::Option<Kcacnhcadec>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gekleellcbf {
    #[prost(bool, tag = "2")]
    pub ejoijgclcjo: bool,
    #[prost(enumeration = "Ogadimmljhn", tag = "9")]
    pub status: i32,
    #[prost(bool, tag = "6")]
    pub lgbohdicfpk: bool,
    #[prost(message, repeated, tag = "8")]
    pub ahooafgdehf: ::prost::alloc::vec::Vec<Babhbomomdf>,
    #[prost(enumeration = "Akkhkmecafl", tag = "14")]
    pub reason: i32,
    #[prost(uint32, tag = "4")]
    pub lfcdodfmhhn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aggmhdjgfdi {
    #[prost(uint32, tag = "3")]
    pub ognhpkojhjp: u32,
    #[prost(uint32, tag = "13")]
    pub klgmnchbicp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnijjhaenbl {
    #[prost(uint32, repeated, tag = "13")]
    pub dimhpbcpnlc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Babhbomomdf {
    #[prost(message, repeated, tag = "2")]
    pub mnfjeiininl: ::prost::alloc::vec::Vec<Lhomiedaoid>,
    #[prost(enumeration = "Odbnigdlncf", tag = "13")]
    pub status: i32,
    #[prost(uint32, tag = "15")]
    pub ppjbgnbmkpm: u32,
    #[prost(uint32, tag = "9")]
    pub bhpgjcicmjm: u32,
    #[prost(uint32, tag = "4")]
    pub ogldnefkndo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lhomiedaoid {
    #[prost(uint32, tag = "14")]
    pub akdleblpbmd: u32,
    #[prost(uint32, tag = "4")]
    pub room_id: u32,
    #[prost(uint32, tag = "15")]
    pub eipnnejnnkj: u32,
    #[prost(enumeration = "Lmiknfdlffo", tag = "1")]
    pub status: i32,
}
/// Obf: BENEIABJKJJ
#[derive(proto_derive::CmdID)]
#[cmdid(6032)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournStartCsReq {
    #[prost(uint32, repeated, tag = "15")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "1")]
    pub lgbohdicfpk: bool,
    #[prost(bool, tag = "11")]
    pub ejoijgclcjo: bool,
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
}
/// Obf: JHDPEKDNLJA
#[derive(proto_derive::CmdID)]
#[cmdid(6078)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournStartScRsp {
    #[prost(uint32, tag = "3")]
    pub khjcgnllfoh: u32,
    #[prost(message, optional, tag = "11")]
    pub bhmhlpchklg: ::core::option::Option<Cfcdhlpoogc>,
    #[prost(message, optional, tag = "1")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: BGHMEOBMOLD
#[derive(proto_derive::CmdID)]
#[cmdid(6064)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournEnterCsReq {}
/// Obf: LIHHHJPDFJP
#[derive(proto_derive::CmdID)]
#[cmdid(6070)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterScRsp {
    #[prost(message, optional, tag = "10")]
    pub bhmhlpchklg: ::core::option::Option<Cfcdhlpoogc>,
    #[prost(message, optional, tag = "14")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: EAKFLBEGFOC
#[derive(proto_derive::CmdID)]
#[cmdid(6026)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveCsReq {}
/// Obf: KLBFIAEDCKA
#[derive(proto_derive::CmdID)]
#[cmdid(6042)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveScRsp {
    #[prost(message, optional, tag = "4")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: PGAJDCGCLDK
#[derive(proto_derive::CmdID)]
#[cmdid(6080)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournSettleCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhllljajkep {
    #[prost(message, optional, tag = "15")]
    pub clkhpondddo: ::core::option::Option<Kclchjmnpgl>,
    #[prost(message, optional, tag = "13")]
    pub embagmmhipa: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "3")]
    pub kgciaiafibe: ::core::option::Option<Gpnjmehndmn>,
    #[prost(message, optional, tag = "6")]
    pub gcglnkfdkkn: ::core::option::Option<Nnijcdkhpkl>,
    #[prost(message, optional, tag = "2")]
    pub cjcojamleel: ::core::option::Option<Nkpkiaamodg>,
    #[prost(message, optional, tag = "5")]
    pub bhmhlpchklg: ::core::option::Option<Cfcdhlpoogc>,
    #[prost(message, optional, tag = "4")]
    pub pfoepfphfnj: ::core::option::Option<Fbhnfjcnhml>,
}
/// Obf: FOKBKLIAFOL
#[derive(proto_derive::CmdID)]
#[cmdid(6056)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournSettleScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub njnjebodmnl: ::core::option::Option<Jhllljajkep>,
    #[prost(message, optional, tag = "12")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
}
/// Obf: HCBPGMHLBPN
#[derive(proto_derive::CmdID)]
#[cmdid(6084)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRoomCsReq {
    #[prost(uint32, tag = "15")]
    pub bhpgjcicmjm: u32,
    #[prost(uint32, tag = "7")]
    pub fllablfbeik: u32,
}
/// Obf: CDGLINBMGNK
#[derive(proto_derive::CmdID)]
#[cmdid(6061)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRoomScRsp {
    #[prost(message, optional, tag = "7")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: EHOIEFKOAGF
#[derive(proto_derive::CmdID)]
#[cmdid(6081)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournEnterLayerCsReq {
    #[prost(uint32, tag = "4")]
    pub fllablfbeik: u32,
    #[prost(uint32, tag = "11")]
    pub lfcdodfmhhn: u32,
}
/// Obf: JPAGIJLIDLH
#[derive(proto_derive::CmdID)]
#[cmdid(6073)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterLayerScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
}
/// Obf: EDLKHKLMEFN
#[derive(proto_derive::CmdID)]
#[cmdid(6087)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLevelInfoUpdateScNotify {
    #[prost(message, repeated, tag = "12")]
    pub ahooafgdehf: ::prost::alloc::vec::Vec<Babhbomomdf>,
    #[prost(enumeration = "Ogadimmljhn", tag = "14")]
    pub status: i32,
    #[prost(enumeration = "Akkhkmecafl", tag = "9")]
    pub reason: i32,
    #[prost(uint32, tag = "15")]
    pub lfcdodfmhhn: u32,
}
/// Obf: DHMMALPJOEO
#[derive(proto_derive::CmdID)]
#[cmdid(6039)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournTakeExpRewardCsReq {
    #[prost(uint32, tag = "15")]
    pub acgkfedndfh: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub lopmhjfbhim: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CMJJOJDPFCE
#[derive(proto_derive::CmdID)]
#[cmdid(6094)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournTakeExpRewardScRsp {
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub ckbmgabeego: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PNDLKBFADJJ
#[derive(proto_derive::CmdID)]
#[cmdid(6030)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournExpNotify {
    #[prost(uint32, tag = "13")]
    pub exp: u32,
}
/// Obf: AHAAMLBKFHF
#[derive(proto_derive::CmdID)]
#[cmdid(6095)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournQueryCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olkfphpbpdl {
    #[prost(uint32, repeated, tag = "4")]
    pub hdmdaodjacb: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "14")]
    pub biifelfegnk: bool,
    #[prost(uint32, tag = "7")]
    pub area_id: u32,
    #[prost(bool, tag = "13")]
    pub gmopljjgbpo: bool,
    #[prost(bool, tag = "12")]
    pub knbdpfeidnm: bool,
    #[prost(bool, tag = "8")]
    pub is_taken_reward: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lhaeabojgop {
    #[prost(uint32, tag = "3")]
    pub lfpccpoljpc: u32,
    #[prost(uint32, tag = "12")]
    pub khjcgnllfoh: u32,
    #[prost(int64, tag = "14")]
    pub end_time: i64,
    #[prost(bool, tag = "6")]
    pub gpodhhaohnp: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndnkbaggdhd {
    #[prost(uint32, tag = "2")]
    pub exp: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub ckbmgabeego: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Boicekfmcic {
    #[prost(uint32, tag = "7")]
    pub bjceklknlcd: u32,
    #[prost(message, optional, tag = "14")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jigdnfdnojd {
    #[prost(bool, tag = "7")]
    pub knbdpfeidnm: bool,
    #[prost(uint32, tag = "3")]
    pub handcdpibld: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pmbnjoonhpa {
    #[prost(uint32, tag = "15")]
    pub kaeojcobihc: u32,
    #[prost(uint32, tag = "2")]
    pub acgkfedndfh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgdofadndaj {
    #[prost(uint32, tag = "6")]
    pub boflhofkacn: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub nffbjbbcdmg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "7")]
    pub ppconkkpipm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub fajcnmekknn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub idoecnpkgce: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub kcdlmnincge: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub bkgjpcclidn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kclchjmnpgl {
    #[prost(uint32, tag = "6")]
    pub ofgbjcccike: u32,
    #[prost(uint32, tag = "13")]
    pub ngiambeihpi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chgggegamdi {
    #[prost(message, repeated, tag = "7")]
    pub dimgdinccji: ::prost::alloc::vec::Vec<Jigdnfdnojd>,
    #[prost(message, optional, tag = "11")]
    pub ehobbjmedee: ::core::option::Option<Boicekfmcic>,
    #[prost(message, optional, tag = "4")]
    pub iakcmplpoee: ::core::option::Option<Kgdofadndaj>,
    #[prost(message, optional, tag = "13")]
    pub hndbkklomlc: ::core::option::Option<Ndnkbaggdhd>,
    #[prost(message, optional, tag = "2")]
    pub jdbmbikpbjb: ::core::option::Option<Lhaeabojgop>,
    #[prost(message, optional, tag = "14")]
    pub fejgmnnfflg: ::core::option::Option<Pmbnjoonhpa>,
    #[prost(message, optional, tag = "12")]
    pub llaoogchhdk: ::core::option::Option<Gigpoffbieo>,
    #[prost(message, repeated, tag = "3")]
    pub gmopekcolbe: ::prost::alloc::vec::Vec<Cjpkpjfjkdg>,
    #[prost(message, repeated, tag = "8")]
    pub jidjeamdkde: ::prost::alloc::vec::Vec<Olkfphpbpdl>,
    #[prost(message, optional, tag = "15")]
    pub lkcefcljcbm: ::core::option::Option<Kclchjmnpgl>,
}
/// Obf: EKMABILMFGP
#[derive(proto_derive::CmdID)]
#[cmdid(6052)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournQueryScRsp {
    #[prost(message, optional, tag = "1")]
    pub lagbgldlgcb: ::core::option::Option<Chgggegamdi>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub bhmhlpchklg: ::core::option::Option<Cfcdhlpoogc>,
}
/// Obf: IGGANJCLBGC
#[derive(proto_derive::CmdID)]
#[cmdid(6040)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournAreaUpdateScNotify {
    #[prost(message, repeated, tag = "8")]
    pub jidjeamdkde: ::prost::alloc::vec::Vec<Olkfphpbpdl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjpkpjfjkdg {
    #[prost(message, optional, tag = "15")]
    pub bhmhlpchklg: ::core::option::Option<Cfcdhlpoogc>,
    #[prost(int64, tag = "3")]
    pub end_time: i64,
    #[prost(int64, tag = "10")]
    pub time: i64,
    #[prost(uint32, tag = "8")]
    pub khncedgfpgl: u32,
    #[prost(string, tag = "12")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "13")]
    pub fejgmnnfflg: ::core::option::Option<Pmbnjoonhpa>,
    #[prost(message, optional, tag = "4")]
    pub data: ::core::option::Option<Bkffnnaiodc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkffnnaiodc {
    #[prost(message, repeated, tag = "5")]
    pub ckgfonmaeko: ::prost::alloc::vec::Vec<Gjoibmfanhl>,
    #[prost(uint32, tag = "12")]
    pub item_value: u32,
    #[prost(message, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
}
/// Obf: JAIKOKAHCLG
#[derive(proto_derive::CmdID)]
#[cmdid(6021)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetAllArchiveCsReq {}
/// Obf: ILMJEOBPDLK
#[derive(proto_derive::CmdID)]
#[cmdid(6100)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetAllArchiveScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "13")]
    pub edjpodpnmed: ::prost::alloc::vec::Vec<Cjpkpjfjkdg>,
}
/// Obf: JHENEDOMODK
#[derive(proto_derive::CmdID)]
#[cmdid(6043)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournDeleteArchiveCsReq {
    #[prost(uint32, tag = "11")]
    pub khncedgfpgl: u32,
}
/// Obf: EABBDEIEDCB
#[derive(proto_derive::CmdID)]
#[cmdid(6049)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournDeleteArchiveScRsp {
    #[prost(uint32, tag = "8")]
    pub khncedgfpgl: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: ODHIICJDKOL
#[derive(proto_derive::CmdID)]
#[cmdid(6024)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournRenameArchiveCsReq {
    #[prost(uint32, tag = "10")]
    pub khncedgfpgl: u32,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: KLCPHCOMDPF
#[derive(proto_derive::CmdID)]
#[cmdid(6093)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournRenameArchiveScRsp {
    #[prost(uint32, tag = "11")]
    pub khncedgfpgl: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(string, tag = "15")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: IOMGAOKICLC
#[derive(proto_derive::CmdID)]
#[cmdid(6082)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournClearArchiveNameScNotify {
    #[prost(uint32, tag = "10")]
    pub khncedgfpgl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oomghibbcbn {
    #[prost(uint32, repeated, tag = "13")]
    pub jncbpdhcahi: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub mkaifjibjik: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "10")]
    pub hgcgilabndl: ::prost::alloc::vec::Vec<Bmpcjdeaiih>,
    #[prost(uint32, repeated, tag = "6")]
    pub hmjfcdlcifd: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub acgkfedndfh: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub amldailbmbo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub kaeojcobihc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmpcjdeaiih {
    #[prost(uint32, repeated, tag = "10")]
    pub bijgjecjmhm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "2")]
    pub ofikkogklgo: u32,
    #[prost(uint32, tag = "4")]
    pub fclolobfpal: u32,
    #[prost(uint32, tag = "3")]
    pub khncedgfpgl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abdabiikojc {
    #[prost(message, optional, tag = "1")]
    pub gndiodgogpi: ::core::option::Option<Oomghibbcbn>,
    #[prost(string, tag = "14")]
    pub name: ::prost::alloc::string::String,
    #[prost(int64, tag = "4")]
    pub time: i64,
    #[prost(uint32, tag = "13")]
    pub khncedgfpgl: u32,
}
/// Obf: NEMPMKMLMPA
#[derive(proto_derive::CmdID)]
#[cmdid(6035)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetAllBuildRefCsReq {}
/// Obf: PIFEBIKOBKK
#[derive(proto_derive::CmdID)]
#[cmdid(6046)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetAllBuildRefScRsp {
    #[prost(message, repeated, tag = "5")]
    pub iiccngokklf: ::prost::alloc::vec::Vec<Abdabiikojc>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: NAFDLMKOPKI
#[derive(proto_derive::CmdID)]
#[cmdid(6085)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournDeleteBuildRefCsReq {
    #[prost(uint32, repeated, tag = "5")]
    pub ndobmajmlnk: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IMJLMLGPDKN
#[derive(proto_derive::CmdID)]
#[cmdid(6083)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournDeleteBuildRefScRsp {
    #[prost(uint32, repeated, tag = "3")]
    pub ndobmajmlnk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: HCKHBFLLEPL
#[derive(proto_derive::CmdID)]
#[cmdid(6012)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournSaveBuildRefCsReq {
    #[prost(uint32, tag = "13")]
    pub khncedgfpgl: u32,
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub gndiodgogpi: ::core::option::Option<Oomghibbcbn>,
}
/// Obf: BKHCDHKLADH
#[derive(proto_derive::CmdID)]
#[cmdid(6020)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournSaveBuildRefScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "11")]
    pub khncedgfpgl: u32,
}
/// Obf: EGHMOPNDPPB
#[derive(proto_derive::CmdID)]
#[cmdid(6014)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournRenameBuildRefCsReq {
    #[prost(uint32, tag = "5")]
    pub khncedgfpgl: u32,
    #[prost(string, tag = "10")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: DJICLHILEPO
#[derive(proto_derive::CmdID)]
#[cmdid(6028)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournRenameBuildRefScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub khncedgfpgl: u32,
    #[prost(string, tag = "15")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: OCKCOECJEJG
#[derive(proto_derive::CmdID)]
#[cmdid(6099)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetPermanentTalentInfoCsReq {}
/// Obf: NPEGPLAKNPO
#[derive(proto_derive::CmdID)]
#[cmdid(6067)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetPermanentTalentInfoScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub ehobbjmedee: ::core::option::Option<Boicekfmcic>,
}
/// Obf: OPDIFHCIMBE
#[derive(proto_derive::CmdID)]
#[cmdid(6013)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournEnablePermanentTalentCsReq {
    #[prost(uint32, tag = "13")]
    pub talent_id: u32,
}
/// Obf: IHGOFIKKCCE
#[derive(proto_derive::CmdID)]
#[cmdid(6058)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnablePermanentTalentScRsp {
    #[prost(message, optional, tag = "5")]
    pub ehobbjmedee: ::core::option::Option<Boicekfmcic>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: PHGKPBPDDAD
#[derive(proto_derive::CmdID)]
#[cmdid(6031)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournResetPermanentTalentCsReq {}
/// Obf: GCEPBOAKGCI
#[derive(proto_derive::CmdID)]
#[cmdid(6089)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournResetPermanentTalentScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub ehobbjmedee: ::core::option::Option<Boicekfmcic>,
}
/// Obf: GFHOMFLLKND
#[derive(proto_derive::CmdID)]
#[cmdid(6034)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRogueCocoonSceneCsReq {
    #[prost(uint32, tag = "7")]
    pub pilmkhckmed: u32,
    #[prost(uint32, tag = "3")]
    pub ibgnlboebcg: u32,
    #[prost(bool, tag = "15")]
    pub eiddmghlpbp: bool,
    #[prost(uint32, tag = "9")]
    pub pbalfienefo: u32,
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<Phhkombgppk>,
}
/// Obf: NDMMGDAGIAI
#[derive(proto_derive::CmdID)]
#[cmdid(6062)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRogueCocoonSceneScRsp {
    #[prost(message, optional, tag = "15")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: DCPEPJDFJGM
#[derive(proto_derive::CmdID)]
#[cmdid(6017)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveRogueCocoonSceneCsReq {}
/// Obf: MCCGKGLHEJE
#[derive(proto_derive::CmdID)]
#[cmdid(6066)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveRogueCocoonSceneScRsp {
    #[prost(message, optional, tag = "15")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: GOHLBLIADDP
#[derive(proto_derive::CmdID)]
#[cmdid(6027)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournReEnterRogueCocoonStageCsReq {
    #[prost(bool, tag = "8")]
    pub eiddmghlpbp: bool,
}
/// Obf: MAGDGKDOGGF
#[derive(proto_derive::CmdID)]
#[cmdid(6016)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReEnterRogueCocoonStageScRsp {
    #[prost(message, optional, tag = "1")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: BFIHHAAKHKA
#[derive(proto_derive::CmdID)]
#[cmdid(6055)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetCurRogueCocoonInfoCsReq {}
/// Obf: GJKFFJJHCKF
#[derive(proto_derive::CmdID)]
#[cmdid(6063)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetCurRogueCocoonInfoScRsp {
    #[prost(uint32, tag = "15")]
    pub pilmkhckmed: u32,
    #[prost(uint32, tag = "2")]
    pub ibgnlboebcg: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub pbalfienefo: u32,
}
/// Obf: KDIMMBPEHIP
#[derive(proto_derive::CmdID)]
#[cmdid(6050)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournDifficultyCompNotify {
    #[prost(uint32, repeated, tag = "11")]
    pub gggfigcpklf: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jniaogiiogb {
    #[prost(uint32, tag = "9")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jcccacnfdjg {
    #[prost(uint32, tag = "11")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jfihgdpoiid {
    #[prost(uint32, tag = "11")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ecgochpmcpd {
    #[prost(uint32, tag = "14")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Apfjlofinfj {
    #[prost(uint32, tag = "15")]
    pub formula_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fidfnncjaje {
    #[prost(uint32, tag = "2")]
    pub ijppknknlnl: u32,
    #[prost(uint32, tag = "5")]
    pub dchpogobdko: u32,
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub iboekjbomog: u32,
}
/// Obf: IDJEPIBJFDF
#[derive(proto_derive::CmdID)]
#[cmdid(6023)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournHandBookNotify {
    #[prost(oneof = "rogue_tourn_hand_book_notify::Buff", tags = "11, 10, 5, 3, 9, 13")]
    pub buff: ::core::option::Option<rogue_tourn_hand_book_notify::Buff>,
}
/// Nested message and enum types in `RogueTournHandBookNotify`.
pub mod rogue_tourn_hand_book_notify {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "11")]
        Iihopmeeaja(super::Jniaogiiogb),
        #[prost(message, tag = "10")]
        Gpolbdgoood(super::Jcccacnfdjg),
        #[prost(message, tag = "5")]
        Lkkfhfdpfke(super::Jfihgdpoiid),
        #[prost(message, tag = "3")]
        Nfldodiabcl(super::Ecgochpmcpd),
        #[prost(message, tag = "9")]
        Hpdbjalemmo(super::Apfjlofinfj),
        #[prost(message, tag = "13")]
        Jmidlldkjbi(super::Fidfnncjaje),
    }
}
/// Obf: HBBPLJNFJOE
#[derive(proto_derive::CmdID)]
#[cmdid(6068)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetSettleInfoCsReq {
    #[prost(uint32, tag = "1")]
    pub area_id: u32,
}
/// Obf: MBKBNHIHPHH
#[derive(proto_derive::CmdID)]
#[cmdid(6059)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetSettleInfoScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub njnjebodmnl: ::core::option::Option<Jhllljajkep>,
}
/// Obf: LFEGHEBNLID
#[derive(proto_derive::CmdID)]
#[cmdid(6088)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournConfirmSettleCsReq {
    #[prost(string, tag = "9")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "6")]
    pub area_id: u32,
    #[prost(uint32, tag = "15")]
    pub khncedgfpgl: u32,
}
/// Obf: KNFNPCHJNEA
#[derive(proto_derive::CmdID)]
#[cmdid(6090)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournConfirmSettleScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(message, optional, tag = "3")]
    pub ohhjkgfofhb: ::core::option::Option<Cjpkpjfjkdg>,
    #[prost(message, optional, tag = "10")]
    pub gfonfdbfbna: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "12")]
    pub jplaapjccbh: ::core::option::Option<ItemList>,
}
/// Obf: AAHKKCDIDDL
#[derive(proto_derive::CmdID)]
#[cmdid(6018)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournWeekChallengeUpdateScNotify {
    #[prost(message, optional, tag = "14")]
    pub jdbmbikpbjb: ::core::option::Option<Lhaeabojgop>,
}
/// Obf: MKGHIJOGPEJ
#[derive(proto_derive::CmdID)]
#[cmdid(6045)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetMiscRealTimeDataCsReq {}
/// Obf: FGPHEAEKDFK
#[derive(proto_derive::CmdID)]
#[cmdid(6044)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetMiscRealTimeDataScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub gcglnkfdkkn: ::core::option::Option<Nnijcdkhpkl>,
    #[prost(message, optional, tag = "6")]
    pub cjcojamleel: ::core::option::Option<Nkpkiaamodg>,
    #[prost(message, optional, tag = "12")]
    pub kgciaiafibe: ::core::option::Option<Gpnjmehndmn>,
    #[prost(message, optional, tag = "10")]
    pub clkhpondddo: ::core::option::Option<Kclchjmnpgl>,
    #[prost(message, optional, tag = "8")]
    pub pfoepfphfnj: ::core::option::Option<Fbhnfjcnhml>,
}
/// Obf: DANDBOKPCOD
#[derive(proto_derive::CmdID)]
#[cmdid(6074)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetArchiveRepositoryCsReq {}
/// Obf: KHCPHANCILB
#[derive(proto_derive::CmdID)]
#[cmdid(6011)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetArchiveRepositoryScRsp {
    #[prost(uint32, repeated, tag = "10")]
    pub hkdoclopkoh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "14")]
    pub lnejmjbfllh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: NOGKPEIBCGP
#[derive(proto_derive::CmdID)]
#[cmdid(6086)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReviveCostUpdateScNotify {
    #[prost(message, optional, tag = "3")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
}
/// Obf: KGNIIBGNPNC
#[derive(proto_derive::CmdID)]
#[cmdid(6098)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReviveAvatarCsReq {
    #[prost(uint32, tag = "5")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LHPBCLDIOCF
#[derive(proto_derive::CmdID)]
#[cmdid(6047)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReviveAvatarScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
}
/// Obf: FHOCCHFLAFE
#[derive(proto_derive::CmdID)]
#[cmdid(6037)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournBattleFailSettleInfoScNotify {
    #[prost(message, optional, tag = "12")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(message, optional, tag = "7")]
    pub njnjebodmnl: ::core::option::Option<Jhllljajkep>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gigpoffbieo {
    #[prost(message, optional, tag = "5")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
    #[prost(uint32, tag = "6")]
    pub cmoghiandfl: u32,
}
/// Obf: NKNJFCGHEIF
#[derive(proto_derive::CmdID)]
#[cmdid(6079)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetSeasonTalentInfoCsReq {}
/// Obf: ACNOIBHNLCD
#[derive(proto_derive::CmdID)]
#[cmdid(6097)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetSeasonTalentInfoScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub llaoogchhdk: ::core::option::Option<Gigpoffbieo>,
}
/// Obf: LBCCBGPPNND
#[derive(proto_derive::CmdID)]
#[cmdid(6019)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournEnableSeasonTalentCsReq {
    #[prost(uint32, tag = "12")]
    pub talent_id: u32,
}
/// Obf: CAAKGIBCGJF
#[derive(proto_derive::CmdID)]
#[cmdid(6041)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnableSeasonTalentScRsp {
    #[prost(message, optional, tag = "9")]
    pub llaoogchhdk: ::core::option::Option<Gigpoffbieo>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: PALMBOJAJCE
#[derive(proto_derive::CmdID)]
#[cmdid(6053)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournTitanUpdateTitanBlessProgressScNotify {
    #[prost(uint32, tag = "15")]
    pub ldfgifdfpcf: u32,
}
/// Obf: AOMFJFLCDON
#[derive(proto_derive::CmdID)]
#[cmdid(6914)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRollShopInfoCsReq {
    #[prost(uint32, tag = "14")]
    pub roll_shop_id: u32,
}
/// Obf: PGAFADIAONA
#[derive(proto_derive::CmdID)]
#[cmdid(6913)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRollShopInfoScRsp {
    #[prost(uint32, tag = "12")]
    pub gacha_random: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub bchaohddila: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub roll_shop_id: u32,
}
/// Obf: DFAGJNNKKDM
#[derive(proto_derive::CmdID)]
#[cmdid(6908)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DoGachaInRollShopCsReq {
    #[prost(uint32, tag = "3")]
    pub ifngnhhcngl: u32,
    #[prost(uint32, tag = "4")]
    pub gacha_random: u32,
    #[prost(uint32, tag = "11")]
    pub roll_shop_id: u32,
}
/// Obf: AHBFBJKMOCO
#[derive(proto_derive::CmdID)]
#[cmdid(6910)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoGachaInRollShopScRsp {
    #[prost(uint32, tag = "4")]
    pub roll_shop_id: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub penilhglhhm: u32,
    #[prost(uint32, tag = "3")]
    pub ordering_index: u32,
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: KJOEHGLJEPA
#[derive(proto_derive::CmdID)]
#[cmdid(6904)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRollShopRewardCsReq {
    #[prost(uint32, tag = "9")]
    pub roll_shop_id: u32,
}
/// Obf: TakeRollShopRewardScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(6902)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRollShopRewardScRsp {
    #[prost(uint32, tag = "9")]
    pub roll_shop_id: u32,
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub group_type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneActorInfo {
    #[prost(uint32, tag = "11")]
    pub uid: u32,
    #[prost(uint32, tag = "15")]
    pub map_layer: u32,
    #[prost(uint32, tag = "12")]
    pub base_avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "9")]
    pub avatar_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eehijpmfiin {
    #[prost(uint32, tag = "13")]
    pub ehieoodecmi: u32,
    #[prost(uint32, tag = "1")]
    pub elite_group: u32,
    #[prost(uint32, tag = "9")]
    pub hard_level_group: u32,
    #[prost(uint32, tag = "3")]
    pub dneampllfme: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Edbjjknjpfm {
    #[prost(oneof = "edbjjknjpfm::Buff", tags = "3")]
    pub buff: ::core::option::Option<edbjjknjpfm::Buff>,
}
/// Nested message and enum types in `EDBJJKNJPFM`.
pub mod edbjjknjpfm {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "3")]
        RogueInfo(super::Eehijpmfiin),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneNpcMonsterInfo {
    #[prost(uint32, tag = "3")]
    pub monster_id: u32,
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
    #[prost(bool, tag = "13")]
    pub mpfedfbkkdf: bool,
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
    #[prost(message, optional, tag = "6")]
    pub extra_info: ::core::option::Option<Edbjjknjpfm>,
    #[prost(bool, tag = "15")]
    pub idpjidnlehh: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NpcDialogueEventParam {
    #[prost(uint32, tag = "9")]
    pub rogue_dialogue_event_id: u32,
    #[prost(uint32, tag = "6")]
    pub arg_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcRogueGameInfo {
    #[prost(uint32, tag = "5")]
    pub event_unique_id: u32,
    #[prost(uint32, tag = "2")]
    pub cdjecokfiof: u32,
    #[prost(bool, tag = "11")]
    pub lomilomcaom: bool,
    #[prost(map = "uint32, uint32", tag = "4")]
    pub kjcbneindhl: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "1")]
    pub onlhfcoglal: u32,
    #[prost(bool, tag = "7")]
    pub eccdglbkeje: bool,
    #[prost(bool, tag = "6")]
    pub jenfhombkke: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kkfkkppldai {
    #[prost(bool, tag = "13")]
    pub iagodfdjaik: bool,
    #[prost(uint32, tag = "7")]
    pub amlkpohdeln: u32,
    #[prost(uint32, tag = "14")]
    pub visitor_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Clfacbcgifl {
    #[prost(uint32, tag = "1")]
    pub klfcnoaggpc: u32,
    #[prost(uint32, tag = "9")]
    pub incagnldjmn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcExtraInfo {
    #[prost(oneof = "npc_extra_info::Buff", tags = "11, 7, 5")]
    pub buff: ::core::option::Option<npc_extra_info::Buff>,
}
/// Nested message and enum types in `NpcExtraInfo`.
pub mod npc_extra_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "11")]
        RogueInfo(super::NpcRogueGameInfo),
        #[prost(message, tag = "7")]
        Jkjopmefcbo(super::Kkfkkppldai),
        #[prost(message, tag = "5")]
        Pnbjjbjnmgl(super::Clfacbcgifl),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneNpcInfo {
    #[prost(uint32, tag = "12")]
    pub npc_id: u32,
    #[prost(message, optional, tag = "6")]
    pub extra_info: ::core::option::Option<NpcExtraInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PropRogueInfo {
    #[prost(uint32, tag = "9")]
    pub room_id: u32,
    #[prost(uint32, tag = "13")]
    pub site_id: u32,
    #[prost(uint32, tag = "15")]
    pub bbnfiifmgak: u32,
    #[prost(uint32, tag = "6")]
    pub ccdepapjnko: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PropAeonInfo {
    #[prost(uint32, tag = "2")]
    pub dialogue_group_id: u32,
    #[prost(uint32, tag = "4")]
    pub add_exp: u32,
    #[prost(uint32, tag = "10")]
    pub aeon_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aoiheklndid {
    #[prost(bool, tag = "3")]
    pub algafomniia: bool,
    #[prost(bool, tag = "13")]
    pub akcghbfgbcc: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hdocjdhlapd {
    #[prost(uint32, tag = "8")]
    pub nbocipljmhi: u32,
    #[prost(bool, tag = "2")]
    pub pjdnhbhddha: bool,
    #[prost(uint32, tag = "13")]
    pub eipnnejnnkj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jeghkicdaoo {
    #[prost(bool, tag = "8")]
    pub pjdnhbhddha: bool,
    #[prost(uint32, tag = "10")]
    pub nbocipljmhi: u32,
    #[prost(uint32, tag = "7")]
    pub eipnnejnnkj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Akmciglbjad {
    #[prost(bool, tag = "6")]
    pub gldjnhiggje: bool,
    #[prost(uint32, tag = "14")]
    pub hobjminnbop: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eekihhefaic {
    #[prost(message, repeated, tag = "5")]
    pub gnoncmjmcbf: ::prost::alloc::vec::Vec<Akmciglbjad>,
    #[prost(uint32, tag = "4")]
    pub pmjaippjfkc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eigoiecdmna {
    #[prost(message, optional, tag = "12")]
    pub ffmifpfibdd: ::core::option::Option<Eomodelgnhe>,
    #[prost(uint32, tag = "11")]
    pub mgdmhlgjhoc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ojckhbbbfef {
    #[prost(uint32, tag = "5")]
    pub kigaehdgklm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnojkicccme {
    #[prost(bool, tag = "9")]
    pub mbankgmdfmj: bool,
    #[prost(bytes = "vec", tag = "6")]
    pub ddcjbfloame: ::prost::alloc::vec::Vec<u8>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropExtraInfo {
    #[prost(message, optional, tag = "9")]
    pub timeline_info: ::core::option::Option<Lnojkicccme>,
    #[prost(oneof = "prop_extra_info::InfoCase", tags = "5, 11, 6, 7, 3, 10, 14, 12")]
    pub info_case: ::core::option::Option<prop_extra_info::InfoCase>,
}
/// Nested message and enum types in `PropExtraInfo`.
pub mod prop_extra_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum InfoCase {
        #[prost(message, tag = "5")]
        RogueInfo(super::PropRogueInfo),
        #[prost(message, tag = "11")]
        AeonInfo(super::PropAeonInfo),
        #[prost(message, tag = "6")]
        ChessRogueInfo(super::Aoiheklndid),
        #[prost(message, tag = "7")]
        RogueTournDoorInfo(super::Hdocjdhlapd),
        #[prost(message, tag = "3")]
        RogueTournWorkbenchInfo(super::Eekihhefaic),
        #[prost(message, tag = "10")]
        RogueGambleMachineInfo(super::Eigoiecdmna),
        #[prost(message, tag = "14")]
        RogueCurseChestInfo(super::Ojckhbbbfef),
        #[prost(message, tag = "12")]
        RogueMagicDoorInfo(super::Jeghkicdaoo),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScenePropInfo {
    #[prost(uint32, tag = "1")]
    pub life_time_ms: u32,
    #[prost(uint32, tag = "14")]
    pub prop_state: u32,
    #[prost(message, optional, tag = "13")]
    pub extra_info: ::core::option::Option<PropExtraInfo>,
    #[prost(uint64, tag = "6")]
    pub create_time_ms: u64,
    #[prost(string, repeated, tag = "4")]
    pub trigger_name_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(uint32, tag = "3")]
    pub prop_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneSummonUnitInfo {
    #[prost(uint64, tag = "13")]
    pub create_time_ms: u64,
    #[prost(uint32, tag = "15")]
    pub summon_unit_id: u32,
    #[prost(uint32, tag = "2")]
    pub caster_entity_id: u32,
    #[prost(int32, tag = "7")]
    pub life_time_ms: i32,
    #[prost(uint32, tag = "5")]
    pub attach_entity_id: u32,
    #[prost(string, repeated, tag = "4")]
    pub trigger_name_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityInfo {
    #[prost(message, optional, tag = "9")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
    #[prost(uint32, tag = "8")]
    pub inst_id: u32,
    #[prost(uint32, tag = "2")]
    pub entity_id: u32,
    #[prost(oneof = "scene_entity_info::Entity", tags = "6, 4, 12, 5, 7")]
    pub entity: ::core::option::Option<scene_entity_info::Entity>,
}
/// Nested message and enum types in `SceneEntityInfo`.
pub mod scene_entity_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Entity {
        #[prost(message, tag = "6")]
        Actor(super::SceneActorInfo),
        #[prost(message, tag = "4")]
        NpcMonster(super::SceneNpcMonsterInfo),
        #[prost(message, tag = "12")]
        Npc(super::SceneNpcInfo),
        #[prost(message, tag = "5")]
        Prop(super::ScenePropInfo),
        #[prost(message, tag = "7")]
        SummonUnit(super::SceneSummonUnitInfo),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuffInfo {
    #[prost(uint32, tag = "5")]
    pub level: u32,
    #[prost(uint32, tag = "11")]
    pub buff_id: u32,
    #[prost(uint32, tag = "6")]
    pub count: u32,
    #[prost(uint32, tag = "8")]
    pub target_entity_id: u32,
    #[prost(map = "string, float", tag = "1")]
    pub dynamic_values: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
    #[prost(uint32, tag = "3")]
    pub base_avatar_id: u32,
    #[prost(float, tag = "9")]
    pub life_time: f32,
    #[prost(uint64, tag = "2")]
    pub add_time_ms: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityBuffInfo {
    #[prost(uint32, tag = "14")]
    pub entity_id: u32,
    #[prost(message, repeated, tag = "15")]
    pub buff_list: ::prost::alloc::vec::Vec<BuffInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nomfjhmoeah {
    #[prost(uint32, tag = "3")]
    pub value: u32,
    #[prost(uint32, tag = "2")]
    pub ohdeoighiem: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomSaveData {
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
    #[prost(string, tag = "9")]
    pub save_data: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kegmihdfpmm {
    #[prost(uint32, tag = "14")]
    pub blogjdckahm: u32,
    #[prost(uint32, tag = "6")]
    pub cppdjfkiihk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityGroupInfo {
    #[prost(uint32, tag = "6")]
    pub state: u32,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(message, repeated, tag = "12")]
    pub entity_list: ::prost::alloc::vec::Vec<SceneEntityInfo>,
    #[prost(map = "string, int32", tag = "3")]
    pub hejamoojbcj: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneGroupState {
    #[prost(uint32, tag = "12")]
    pub state: u32,
    #[prost(bool, tag = "4")]
    pub is_default: bool,
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionStatusBySceneInfo {
    #[prost(uint32, repeated, tag = "8")]
    pub disabled_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub unfinished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub finished_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "14")]
    pub bigehkdpgpn: ::prost::alloc::vec::Vec<MainMissionCustomValue>,
    #[prost(message, repeated, tag = "13")]
    pub sub_mission_status_list: ::prost::alloc::vec::Vec<Mission>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneInfo {
    #[prost(map = "string, int32", tag = "1560")]
    pub floor_saved_data: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        i32,
    >,
    #[prost(message, repeated, tag = "11")]
    pub entity_buff_info_list: ::prost::alloc::vec::Vec<EntityBuffInfo>,
    #[prost(message, repeated, tag = "9")]
    pub custom_data_list: ::prost::alloc::vec::Vec<CustomSaveData>,
    #[prost(uint32, tag = "7")]
    pub world_id: u32,
    #[prost(uint32, tag = "8")]
    pub entry_id: u32,
    #[prost(uint32, tag = "2")]
    pub game_mode_type: u32,
    #[prost(message, repeated, tag = "5")]
    pub icclnhkdbbm: ::prost::alloc::vec::Vec<BuffInfo>,
    #[prost(uint32, tag = "1168")]
    pub content_id: u32,
    #[prost(uint32, tag = "6")]
    pub floor_id: u32,
    #[prost(uint32, tag = "1925")]
    pub emdhekkocmd: u32,
    #[prost(uint32, tag = "3")]
    pub client_pos_version: u32,
    #[prost(uint32, repeated, tag = "624")]
    pub chest_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "15")]
    pub entity_list: ::prost::alloc::vec::Vec<SceneEntityInfo>,
    #[prost(message, repeated, tag = "351")]
    pub entity_group_list: ::prost::alloc::vec::Vec<SceneEntityGroupInfo>,
    #[prost(uint32, tag = "4")]
    pub leader_entity_id: u32,
    #[prost(uint32, tag = "1384")]
    pub gfhglffhfbd: u32,
    #[prost(message, optional, tag = "976")]
    pub scene_mission_info: ::core::option::Option<MissionStatusBySceneInfo>,
    #[prost(map = "uint32, message", tag = "10")]
    pub mpehibkeobe: ::std::collections::HashMap<u32, Kegmihdfpmm>,
    #[prost(uint32, tag = "14")]
    pub plane_id: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub lighten_section_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "524")]
    pub group_state_list: ::prost::alloc::vec::Vec<SceneGroupState>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EntityMotion {
    #[prost(uint32, tag = "12")]
    pub entity_id: u32,
    #[prost(uint32, tag = "10")]
    pub map_layer: u32,
    #[prost(message, optional, tag = "13")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(bool, tag = "1")]
    pub nfopikdkpgg: bool,
}
/// Obf: CIPDBAAAPCE
#[derive(proto_derive::CmdID)]
#[cmdid(1495)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveCsReq {
    #[prost(uint32, tag = "14")]
    pub entry_id: u32,
    #[prost(message, repeated, tag = "15")]
    pub entity_motion_list: ::prost::alloc::vec::Vec<EntityMotion>,
    #[prost(uint64, tag = "6")]
    pub pemlejjbaje: u64,
}
/// Obf: LNIOMOHNMCA
#[derive(proto_derive::CmdID)]
#[cmdid(1432)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub entity_motion_list: ::prost::alloc::vec::Vec<EntityMotion>,
    #[prost(message, optional, tag = "2")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
}
/// Obf: CGGEMOEPGHF
#[derive(proto_derive::CmdID)]
#[cmdid(1472)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveScNotify {
    #[prost(message, optional, tag = "5")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "2")]
    pub client_pos_version: u32,
    #[prost(uint32, tag = "6")]
    pub entry_id: u32,
    #[prost(uint32, tag = "14")]
    pub entity_id: u32,
}
/// Obf: BGJHILOCEOG
#[derive(proto_derive::CmdID)]
#[cmdid(1485)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneUpdatePositionVersionNotify {
    #[prost(uint32, tag = "9")]
    pub djjbkeiaobd: u32,
}
/// Obf: HLEFIDCMBJA
#[derive(proto_derive::CmdID)]
#[cmdid(1431)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InteractPropCsReq {
    #[prost(uint32, tag = "13")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "10")]
    pub interact_id: u32,
}
/// Obf: GEPAMEPINIH
#[derive(proto_derive::CmdID)]
#[cmdid(1440)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InteractPropScRsp {
    #[prost(uint32, tag = "2")]
    pub prop_state: u32,
    #[prost(uint32, tag = "12")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: DAEHNKJJIDI
#[derive(proto_derive::CmdID)]
#[cmdid(1422)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangePropTimelineInfoCsReq {
    #[prost(uint64, tag = "9")]
    pub miilnlhddjm: u64,
    #[prost(message, optional, tag = "11")]
    pub djnfcmfddoa: ::core::option::Option<Lnojkicccme>,
    #[prost(bool, tag = "2")]
    pub dlbedaonnkh: bool,
    #[prost(uint32, tag = "8")]
    pub prop_entity_id: u32,
}
/// Obf: LAHIOIBKPGO
#[derive(proto_derive::CmdID)]
#[cmdid(1456)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChangePropTimelineInfoScRsp {
    #[prost(uint32, tag = "10")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dkijloakkbo {
    #[prost(enumeration = "MonsterBattleType", tag = "9")]
    pub endjgmlkpbp: i32,
    #[prost(uint32, tag = "7")]
    pub gbllcemjjfi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnhlelnabbd {
    #[prost(string, tag = "3")]
    pub key: ::prost::alloc::string::String,
    #[prost(float, tag = "10")]
    pub value: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssistMonsterWave {
    #[prost(uint32, repeated, tag = "11")]
    pub entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MJHLIMKLNOD
#[derive(proto_derive::CmdID)]
#[cmdid(1476)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillCsReq {
    #[prost(uint32, tag = "11")]
    pub caster_id: u32,
    #[prost(uint32, tag = "14")]
    pub attacked_group_id: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "8")]
    pub hit_target_entity_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "SceneCastSkillType", repeated, tag = "5")]
    pub casted_skill_type_list: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, tag = "1")]
    pub hchdhljcije: u32,
    #[prost(uint32, tag = "10")]
    pub skill_index: u32,
    #[prost(message, optional, tag = "13")]
    pub target_motion: ::core::option::Option<MotionInfo>,
    #[prost(message, repeated, tag = "6")]
    pub assist_monster_wave_list: ::prost::alloc::vec::Vec<AssistMonsterWave>,
    #[prost(message, repeated, tag = "7")]
    pub dynamic_values: ::prost::alloc::vec::Vec<Jnhlelnabbd>,
    #[prost(string, tag = "3")]
    pub kegdfimpnkh: ::prost::alloc::string::String,
}
/// Obf: KPNOOJMCCCI
#[derive(proto_derive::CmdID)]
#[cmdid(1448)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillScRsp {
    #[prost(message, repeated, tag = "9")]
    pub kgnglgmiebg: ::prost::alloc::vec::Vec<Dkijloakkbo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub attacked_group_id: u32,
    #[prost(message, optional, tag = "11")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: HIKCPJGJEHH
#[derive(proto_derive::CmdID)]
#[cmdid(1446)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneCastSkillCostMpCsReq {
    #[prost(uint32, tag = "8")]
    pub skill_index: u32,
    #[prost(uint32, tag = "5")]
    pub caster_id: u32,
    #[prost(uint32, tag = "10")]
    pub attacked_group_id: u32,
}
/// Obf: FBBHCGOLMLF
#[derive(proto_derive::CmdID)]
#[cmdid(1483)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneCastSkillCostMpScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub attacked_group_id: u32,
}
/// Obf: CFBDAOAGFII
#[derive(proto_derive::CmdID)]
#[cmdid(1460)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneCastSkillMpUpdateScNotify {
    #[prost(uint32, tag = "5")]
    pub mp: u32,
    #[prost(uint32, tag = "10")]
    pub attacked_group_id: u32,
}
/// Obf: BJCADMHJOFB
#[derive(proto_derive::CmdID)]
#[cmdid(1458)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneEnterStageCsReq {
    #[prost(enumeration = "Lipekjfjmnm", tag = "4")]
    pub nikhbkchhjg: i32,
    #[prost(bool, tag = "13")]
    pub pmjahilblfl: bool,
    #[prost(uint32, tag = "3")]
    pub event_id: u32,
}
/// Obf: OHOOIMFNPIO
#[derive(proto_derive::CmdID)]
#[cmdid(1421)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEnterStageScRsp {
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: ABPCFHDBFGO
#[derive(proto_derive::CmdID)]
#[cmdid(1429)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneReviveAfterRebattleCsReq {
    #[prost(enumeration = "Lipekjfjmnm", tag = "12")]
    pub nikhbkchhjg: i32,
}
/// Obf: JEBJCABFJNA
#[derive(proto_derive::CmdID)]
#[cmdid(1463)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneReviveAfterRebattleScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: GBAONLFLKMJ
#[derive(proto_derive::CmdID)]
#[cmdid(1471)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCurSceneInfoCsReq {}
/// Obf: DDNODHNOKHH
#[derive(proto_derive::CmdID)]
#[cmdid(1452)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurSceneInfoScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityBuffChangeInfo {
    #[prost(uint32, tag = "15")]
    pub attacked_group_id: u32,
    #[prost(uint32, tag = "12")]
    pub entity_id: u32,
    #[prost(enumeration = "EntityBuffChangeType", tag = "7")]
    pub reason: i32,
    #[prost(oneof = "entity_buff_change_info::Buff", tags = "6, 2")]
    pub buff: ::core::option::Option<entity_buff_change_info::Buff>,
}
/// Nested message and enum types in `EntityBuffChangeInfo`.
pub mod entity_buff_change_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "6")]
        AddBuffInfo(super::BuffInfo),
        #[prost(uint32, tag = "2")]
        RemoveBuffId(u32),
    }
}
/// Obf: IMNJNKPICAF
#[derive(proto_derive::CmdID)]
#[cmdid(1416)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncEntityBuffChangeListScNotify {
    #[prost(message, repeated, tag = "3")]
    pub entity_buff_info_list: ::prost::alloc::vec::Vec<EntityBuffChangeInfo>,
}
/// Obf: BIPGPKHCJNG
#[derive(proto_derive::CmdID)]
#[cmdid(1439)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpringRefreshCsReq {
    #[prost(uint32, tag = "13")]
    pub floor_id: u32,
    #[prost(uint32, tag = "9")]
    pub plane_id: u32,
    #[prost(uint32, tag = "5")]
    pub prop_entity_id: u32,
}
/// Obf: KBEOJIAJBHO
#[derive(proto_derive::CmdID)]
#[cmdid(1443)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpringRefreshScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: GPOPGOFKHFJ
#[derive(proto_derive::CmdID)]
#[cmdid(1433)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LastSpringRefreshTimeNotify {
    #[prost(int64, tag = "3")]
    pub jbicindpigm: i64,
}
/// Obf: NKFBPFNHCDL
#[derive(proto_derive::CmdID)]
#[cmdid(1442)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReturnLastTownCsReq {}
/// Obf: EBKDCIDEFEG
#[derive(proto_derive::CmdID)]
#[cmdid(1477)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReturnLastTownScRsp {
    #[prost(message, optional, tag = "15")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: FHFLJPFCOOJ
#[derive(proto_derive::CmdID)]
#[cmdid(1411)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterSectionCsReq {
    #[prost(uint32, tag = "7")]
    pub lbmncagokif: u32,
}
/// Obf: LEJKNHNDIBO
#[derive(proto_derive::CmdID)]
#[cmdid(1493)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterSectionScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: BBNOINDEFKD
#[derive(proto_derive::CmdID)]
#[cmdid(1484)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetCurInteractEntityCsReq {
    #[prost(uint32, tag = "14")]
    pub entity_id: u32,
}
/// Obf: BGMHIBGBJMJ
#[derive(proto_derive::CmdID)]
#[cmdid(1437)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetCurInteractEntityScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: HCHMJOHLMDA
#[derive(proto_derive::CmdID)]
#[cmdid(1430)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RecoverAllLineupCsReq {}
/// Obf: CMLNFHPNDEG
#[derive(proto_derive::CmdID)]
#[cmdid(1475)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RecoverAllLineupScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: SavePointsInfoNotify
#[derive(proto_derive::CmdID)]
#[cmdid(1451)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SavePointsInfoNotify {
    #[prost(uint32, tag = "3")]
    pub valid_times: u32,
    #[prost(int64, tag = "10")]
    pub refresh_time: i64,
}
/// Obf: JKIMJCCFMPI
#[derive(proto_derive::CmdID)]
#[cmdid(1491)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartCocoonStageCsReq {
    #[prost(uint32, tag = "9")]
    pub cocoon_id: u32,
    #[prost(uint32, tag = "14")]
    pub wave: u32,
    #[prost(uint32, tag = "4")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "6")]
    pub world_level: u32,
}
/// Obf: StartCocoonStageScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1424)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartCocoonStageScRsp {
    #[prost(uint32, tag = "14")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "6")]
    pub cocoon_id: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub wave: u32,
    #[prost(message, optional, tag = "8")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: FFIHDGGAEKN
#[derive(proto_derive::CmdID)]
#[cmdid(1457)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EntityBindPropCsReq {
    #[prost(message, optional, tag = "11")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(bool, tag = "10")]
    pub mjjmpiflmkf: bool,
}
/// Obf: MNILDBFIHNM
#[derive(proto_derive::CmdID)]
#[cmdid(1407)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EntityBindPropScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: FINBEHEFKPL
#[derive(proto_derive::CmdID)]
#[cmdid(1498)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetClientPausedCsReq {
    #[prost(bool, tag = "1")]
    pub paused: bool,
}
/// Obf: MLDMMOMNJPF
#[derive(proto_derive::CmdID)]
#[cmdid(1464)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetClientPausedScRsp {
    #[prost(bool, tag = "9")]
    pub paused: bool,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: PLFDILGNLLH
#[derive(proto_derive::CmdID)]
#[cmdid(1445)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeactivateFarmElementCsReq {
    #[prost(uint32, tag = "13")]
    pub entity_id: u32,
}
/// Obf: JBEDHCJJDGC
#[derive(proto_derive::CmdID)]
#[cmdid(1413)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeactivateFarmElementScRsp {
    #[prost(uint32, tag = "13")]
    pub entity_id: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: JPFHHINHOHI
#[derive(proto_derive::CmdID)]
#[cmdid(1478)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ActivateFarmElementCsReq {
    #[prost(uint32, tag = "5")]
    pub entity_id: u32,
    #[prost(uint32, tag = "13")]
    pub world_level: u32,
}
/// Obf: LNPHFEBJKAA
#[derive(proto_derive::CmdID)]
#[cmdid(1420)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ActivateFarmElementScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub entity_id: u32,
    #[prost(uint32, tag = "3")]
    pub world_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Heejkkagimo {
    #[prost(uint32, tag = "1")]
    pub jlafldchdgj: u32,
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpdakbkbjkf {
    #[prost(message, repeated, tag = "1")]
    pub bcglmlabogf: ::prost::alloc::vec::Vec<Heejkkagimo>,
    #[prost(uint32, tag = "9")]
    pub eidnigifnaa: u32,
    #[prost(bool, tag = "15")]
    pub ghdepancgpf: bool,
}
/// Obf: NIIKLJIBJEP
#[derive(proto_derive::CmdID)]
#[cmdid(1468)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateMechanismBarScNotify {
    #[prost(uint32, tag = "3")]
    pub floor_id: u32,
    #[prost(message, optional, tag = "8")]
    pub gigkdapgnme: ::core::option::Option<Nomfjhmoeah>,
    #[prost(uint32, tag = "5")]
    pub plane_id: u32,
}
/// Obf: OKLENHLIIGG
#[derive(proto_derive::CmdID)]
#[cmdid(1401)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGroupCustomSaveDataCsReq {
    #[prost(string, tag = "7")]
    pub save_data: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub entry_id: u32,
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
}
/// Obf: AIAFOJMJHKK
#[derive(proto_derive::CmdID)]
#[cmdid(1453)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetGroupCustomSaveDataScRsp {
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
    #[prost(uint32, tag = "13")]
    pub entry_id: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: IGPOPOJDLOH
#[derive(proto_derive::CmdID)]
#[cmdid(1427)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReEnterLastElementStageCsReq {
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
}
/// Obf: HAKNDGDAEOF
#[derive(proto_derive::CmdID)]
#[cmdid(1474)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReEnterLastElementStageScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: MFKPBBGBIAO
#[derive(proto_derive::CmdID)]
#[cmdid(1490)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneEntityTeleportCsReq {
    #[prost(uint32, tag = "3")]
    pub entry_id: u32,
    #[prost(message, optional, tag = "8")]
    pub entity_motion: ::core::option::Option<EntityMotion>,
}
/// Obf: MBJFPBAHEGB
#[derive(proto_derive::CmdID)]
#[cmdid(1417)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneEntityTeleportScRsp {
    #[prost(uint32, tag = "4")]
    pub client_pos_version: u32,
    #[prost(message, optional, tag = "3")]
    pub entity_motion: ::core::option::Option<EntityMotion>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: KFJJHAIMMHG
#[derive(proto_derive::CmdID)]
#[cmdid(1469)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterSceneCsReq {
    #[prost(uint32, tag = "4")]
    pub emdhekkocmd: u32,
    #[prost(uint32, tag = "6")]
    pub entry_id: u32,
    #[prost(uint32, tag = "1")]
    pub teleport_id: u32,
    #[prost(uint32, tag = "7")]
    pub content_id: u32,
    #[prost(bool, tag = "10")]
    pub dlbedaonnkh: bool,
}
/// Obf: OPBPKAAGIBE
#[derive(proto_derive::CmdID)]
#[cmdid(1449)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterSceneScRsp {
    #[prost(bool, tag = "1")]
    pub dlbedaonnkh: bool,
    #[prost(bool, tag = "10")]
    pub iiaafopfcbn: bool,
    #[prost(uint32, tag = "15")]
    pub content_id: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub emdhekkocmd: u32,
}
/// Obf: OLLMMKGBDGO
#[derive(proto_derive::CmdID)]
#[cmdid(1403)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSceneByServerScNotify {
    #[prost(message, optional, tag = "2")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(enumeration = "EnterSceneReason", tag = "15")]
    pub reason: i32,
}
/// Obf: KIFHBHNPCOC
#[derive(proto_derive::CmdID)]
#[cmdid(1410)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScenePlaneEventScNotify {
    #[prost(message, optional, tag = "11")]
    pub get_item_list: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "7")]
    pub acfcjiomjnf: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "13")]
    pub mhdjadhndkd: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "2")]
    pub meekfpcobai: ::core::option::Option<ItemList>,
}
/// Obf: MBLCANFKHCP
#[derive(proto_derive::CmdID)]
#[cmdid(1497)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSceneMapInfoCsReq {
    #[prost(uint32, tag = "1")]
    pub cur_map_entry_id: u32,
    #[prost(uint32, tag = "9")]
    pub content_id: u32,
    #[prost(bool, tag = "7")]
    pub igfikghllno: bool,
    #[prost(uint32, repeated, tag = "15")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub floor_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MazeProp {
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
    #[prost(uint32, tag = "11")]
    pub config_id: u32,
    #[prost(uint32, tag = "6")]
    pub state: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofcaigdhpoh {
    #[prost(uint32, tag = "5")]
    pub state: u32,
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
    #[prost(message, optional, tag = "1")]
    pub extra_info: ::core::option::Option<PropExtraInfo>,
    #[prost(uint32, tag = "3")]
    pub config_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeGroup {
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    #[prost(bool, tag = "1")]
    pub ilbeaaoojjp: bool,
    #[prost(uint32, repeated, tag = "12")]
    pub nobkeonakle: ::prost::alloc::vec::Vec<u32>,
    #[prost(int64, tag = "4")]
    pub modify_time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MazeChest {
    #[prost(enumeration = "MapInfoChestType", tag = "8")]
    pub map_info_chest_type: i32,
    #[prost(uint32, tag = "14")]
    pub unlocked_amount_list: u32,
    #[prost(uint32, tag = "1")]
    pub total_amount_list: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Npaogkfkaae {
    #[prost(uint32, tag = "9")]
    pub fljindnjphl: u32,
    #[prost(uint32, tag = "10")]
    pub slot: u32,
    #[prost(uint32, tag = "11")]
    pub fokcifjmjgl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeMapData {
    #[prost(message, repeated, tag = "1")]
    pub unlocked_chest_list: ::prost::alloc::vec::Vec<MazeChest>,
    #[prost(uint32, repeated, tag = "11")]
    pub lighten_section_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub entry_id: u32,
    #[prost(map = "string, int32", tag = "15")]
    pub floor_saved_data: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        i32,
    >,
    #[prost(message, repeated, tag = "6")]
    pub lmngahfnaon: ::prost::alloc::vec::Vec<Ofcaigdhpoh>,
    #[prost(uint32, tag = "12")]
    pub gfhglffhfbd: u32,
    #[prost(message, repeated, tag = "7")]
    pub jmldmocnmhm: ::prost::alloc::vec::Vec<Npaogkfkaae>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub unlocked_teleport_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub lmeefkjbpec: u32,
    #[prost(message, repeated, tag = "4")]
    pub maze_prop_list: ::prost::alloc::vec::Vec<MazeProp>,
    #[prost(uint32, tag = "2")]
    pub floor_id: u32,
    #[prost(message, repeated, tag = "5")]
    pub maze_group_list: ::prost::alloc::vec::Vec<MazeGroup>,
}
/// Obf: PGMDNIBOJIK
#[derive(proto_derive::CmdID)]
#[cmdid(1479)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSceneMapInfoScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub content_id: u32,
    #[prost(bool, tag = "1")]
    pub igfikghllno: bool,
    #[prost(message, repeated, tag = "12")]
    pub map_list: ::prost::alloc::vec::Vec<MazeMapData>,
    #[prost(uint32, tag = "6")]
    pub cur_map_entry_id: u32,
}
/// Obf: FGDBIJGOBEA
#[derive(proto_derive::CmdID)]
#[cmdid(1470)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncServerSceneChangeNotify {}
/// Obf: HKIJFKJGMCM
#[derive(proto_derive::CmdID)]
#[cmdid(1473)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GameplayCounterCountDownCsReq {
    #[prost(uint32, tag = "6")]
    pub nmglnhpanah: u32,
    #[prost(uint32, tag = "9")]
    pub cur_times: u32,
}
/// Obf: JDHNNOHMMEF
#[derive(proto_derive::CmdID)]
#[cmdid(1467)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GameplayCounterCountDownScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: MDBDLPEODKD
#[derive(proto_derive::CmdID)]
#[cmdid(1496)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GameplayCounterUpdateScNotify {
    #[prost(uint32, tag = "13")]
    pub blogjdckahm: u32,
    #[prost(enumeration = "Cnppaammffd", tag = "5")]
    pub reason: i32,
    #[prost(uint32, tag = "15")]
    pub nmglnhpanah: u32,
}
/// Obf: MFKPBCIAKCM
#[derive(proto_derive::CmdID)]
#[cmdid(1441)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GameplayCounterRecoverCsReq {
    #[prost(uint32, tag = "14")]
    pub nmglnhpanah: u32,
    #[prost(uint32, tag = "8")]
    pub labooddaloe: u32,
}
/// Obf: LLBMDKIPMHM
#[derive(proto_derive::CmdID)]
#[cmdid(1462)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GameplayCounterRecoverScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: FBJOCFCINKO
#[derive(proto_derive::CmdID)]
#[cmdid(1426)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateFloorSavedValueNotify {
    #[prost(uint32, tag = "7")]
    pub gfhglffhfbd: u32,
    #[prost(map = "string, int32", tag = "10")]
    pub oaifmglieep: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
    #[prost(uint32, tag = "12")]
    pub floor_id: u32,
    #[prost(uint32, tag = "1")]
    pub plane_id: u32,
}
/// Obf: PCFOFDPKLHJ
#[derive(proto_derive::CmdID)]
#[cmdid(1404)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUnlockTeleportCsReq {
    #[prost(uint32, repeated, tag = "4")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CGOLBMHDACA
#[derive(proto_derive::CmdID)]
#[cmdid(1418)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUnlockTeleportScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub unlocked_teleport_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MKMAMJECDAH
#[derive(proto_derive::CmdID)]
#[cmdid(1444)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpenChestScNotify {
    #[prost(uint32, tag = "8")]
    pub kigaehdgklm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityRefreshInfo {
    #[prost(oneof = "scene_entity_refresh_info::RefreshType", tags = "3, 9, 5")]
    pub refresh_type: ::core::option::Option<scene_entity_refresh_info::RefreshType>,
}
/// Nested message and enum types in `SceneEntityRefreshInfo`.
pub mod scene_entity_refresh_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum RefreshType {
        #[prost(message, tag = "3")]
        AddEntity(super::SceneEntityInfo),
        #[prost(uint32, tag = "9")]
        DelEntity(u32),
        #[prost(uint32, tag = "5")]
        Mhhoaahdgao(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmgfhbhaffb {
    #[prost(int32, tag = "8")]
    pub dlmamkinnco: i32,
    #[prost(int32, tag = "7")]
    pub agfijniebkf: i32,
    #[prost(string, tag = "1")]
    pub jaibieekheg: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneGroupRefreshInfo {
    #[prost(message, repeated, tag = "3")]
    pub refresh_entity: ::prost::alloc::vec::Vec<SceneEntityRefreshInfo>,
    #[prost(enumeration = "SceneGroupRefreshType", tag = "14")]
    pub group_refresh_type: i32,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(uint32, tag = "5")]
    pub state: u32,
    #[prost(message, repeated, tag = "11")]
    pub bccgjihncdn: ::prost::alloc::vec::Vec<Cmgfhbhaffb>,
}
/// Obf: DNIDLPMBJGI
#[derive(proto_derive::CmdID)]
#[cmdid(1412)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneGroupRefreshScNotify {
    #[prost(uint32, tag = "14")]
    pub gfhglffhfbd: u32,
    #[prost(uint32, tag = "10")]
    pub floor_id: u32,
    #[prost(message, repeated, tag = "4")]
    pub group_refresh_info: ::prost::alloc::vec::Vec<SceneGroupRefreshInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GroupStateInfo {
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
    #[prost(uint32, tag = "10")]
    pub entry_id: u32,
    #[prost(uint32, tag = "15")]
    pub group_state: u32,
    #[prost(uint32, tag = "3")]
    pub player_uid: u32,
}
/// Obf: EPALKAAFOPL
#[derive(proto_derive::CmdID)]
#[cmdid(1428)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GroupStateChangeCsReq {
    #[prost(message, optional, tag = "9")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
/// Obf: HDJPNIADMMH
#[derive(proto_derive::CmdID)]
#[cmdid(1415)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GroupStateChangeScRsp {
    #[prost(message, optional, tag = "13")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: NEEPAILHCAD
#[derive(proto_derive::CmdID)]
#[cmdid(1455)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GroupStateChangeScNotify {
    #[prost(message, optional, tag = "14")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnteredSceneInfo {
    #[prost(uint32, tag = "12")]
    pub plane_id: u32,
    #[prost(uint32, tag = "11")]
    pub floor_id: u32,
}
/// Obf: IKCIBNFGIGD
#[derive(proto_derive::CmdID)]
#[cmdid(1480)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetEnteredSceneCsReq {}
/// Obf: FFKICDPOBHE
#[derive(proto_derive::CmdID)]
#[cmdid(1450)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEnteredSceneScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "14")]
    pub entered_scene_info: ::prost::alloc::vec::Vec<EnteredSceneInfo>,
}
/// Obf: KCMGLHOAMMA
#[derive(proto_derive::CmdID)]
#[cmdid(1419)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnteredSceneChangeScNotify {
    #[prost(message, repeated, tag = "2")]
    pub entered_scene_info: ::prost::alloc::vec::Vec<EnteredSceneInfo>,
}
/// Obf: KIOMIEGGBEN
#[derive(proto_derive::CmdID)]
#[cmdid(1489)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefreshTriggerByClientCsReq {
    #[prost(uint32, repeated, tag = "7")]
    pub trigger_target_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(string, tag = "3")]
    pub trigger_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub trigger_entity_id: u32,
    #[prost(message, optional, tag = "2")]
    pub trigger_motion: ::core::option::Option<MotionInfo>,
}
/// Obf: JGDKAEIDJND
#[derive(proto_derive::CmdID)]
#[cmdid(1488)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefreshTriggerByClientScRsp {
    #[prost(string, tag = "3")]
    pub trigger_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub trigger_entity_id: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(bool, tag = "15")]
    pub refresh_trigger: bool,
}
/// Obf: AHMJLGKLLKF
#[derive(proto_derive::CmdID)]
#[cmdid(1438)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefreshTriggerByClientScNotify {
    #[prost(string, tag = "11")]
    pub trigger_name: ::prost::alloc::string::String,
    #[prost(uint32, repeated, tag = "13")]
    pub trigger_target_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub trigger_entity_id: u32,
}
/// Obf: PPKGLDLFMHB
#[derive(proto_derive::CmdID)]
#[cmdid(1405)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSummonUnitCsReq {
    #[prost(uint32, repeated, tag = "3")]
    pub entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AMHALMPHADG
#[derive(proto_derive::CmdID)]
#[cmdid(1482)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSummonUnitScRsp {
    #[prost(uint32, repeated, tag = "2")]
    pub entity_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: NDJAIEFKJDC
#[derive(proto_derive::CmdID)]
#[cmdid(1447)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockedAreaMapScNotify {
    #[prost(uint32, repeated, tag = "4")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MECGPLPPPLF
#[derive(proto_derive::CmdID)]
#[cmdid(1466)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockTeleportNotify {
    #[prost(uint32, tag = "15")]
    pub entry_id: u32,
    #[prost(uint32, tag = "2")]
    pub teleport_id: u32,
}
/// Obf: PFGIGAKAMGI
#[derive(proto_derive::CmdID)]
#[cmdid(1461)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateGroupPropertyCsReq {
    #[prost(string, tag = "4")]
    pub jaibieekheg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "10")]
    pub gfhglffhfbd: u32,
    #[prost(uint32, tag = "7")]
    pub floor_id: u32,
    #[prost(int32, tag = "2")]
    pub mojohjebcnj: i32,
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
}
/// Obf: FKPHAPJNAED
#[derive(proto_derive::CmdID)]
#[cmdid(1459)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateGroupPropertyScRsp {
    #[prost(uint32, tag = "2")]
    pub gfhglffhfbd: u32,
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
    #[prost(string, tag = "10")]
    pub jaibieekheg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "9")]
    pub floor_id: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(int32, tag = "5")]
    pub agfijniebkf: i32,
    #[prost(int32, tag = "1")]
    pub dlmamkinnco: i32,
}
/// Obf: IBGAGNCFDEN
#[derive(proto_derive::CmdID)]
#[cmdid(1492)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainWorldIdChangeScNotify {
    #[prost(uint32, tag = "15")]
    pub npebnekdlen: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerPrefs {
    #[prost(uint32, tag = "3")]
    pub server_prefs_id: u32,
    #[prost(bytes = "vec", tag = "2")]
    pub data: ::prost::alloc::vec::Vec<u8>,
}
/// Obf: ODFDCOFIFNE
#[derive(proto_derive::CmdID)]
#[cmdid(6195)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAllServerPrefsDataCsReq {}
/// Obf: ANIEMJCBMEH
#[derive(proto_derive::CmdID)]
#[cmdid(6132)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllServerPrefsDataScRsp {
    #[prost(message, repeated, tag = "2")]
    pub lfbeohkkdoi: ::prost::alloc::vec::Vec<ServerPrefs>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: FLGFMAOEILG
#[derive(proto_derive::CmdID)]
#[cmdid(6131)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetServerPrefsDataCsReq {
    #[prost(uint32, tag = "9")]
    pub server_prefs_id: u32,
}
/// Obf: DMLKMBPBNDF
#[derive(proto_derive::CmdID)]
#[cmdid(6140)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetServerPrefsDataScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub server_prefs: ::core::option::Option<ServerPrefs>,
}
/// Obf: HEPBIHIMJAC
#[derive(proto_derive::CmdID)]
#[cmdid(6176)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateServerPrefsDataCsReq {
    #[prost(message, optional, tag = "10")]
    pub server_prefs: ::core::option::Option<ServerPrefs>,
}
/// Obf: LOIEDLCJAED
#[derive(proto_derive::CmdID)]
#[cmdid(6148)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateServerPrefsDataScRsp {
    #[prost(uint32, tag = "12")]
    pub server_prefs_id: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Shop {
    #[prost(uint32, tag = "15")]
    pub city_exp: u32,
    #[prost(uint32, tag = "13")]
    pub shop_id: u32,
    #[prost(int64, tag = "2")]
    pub begin_time: i64,
    #[prost(uint32, tag = "4")]
    pub city_level: u32,
    #[prost(uint64, tag = "8")]
    pub city_taken_level_reward: u64,
    #[prost(int64, tag = "5")]
    pub end_time: i64,
    #[prost(message, repeated, tag = "7")]
    pub goods_list: ::prost::alloc::vec::Vec<Goods>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Goods {
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
    #[prost(uint32, tag = "13")]
    pub buy_times: u32,
    #[prost(int64, tag = "12")]
    pub begin_time: i64,
    #[prost(uint32, tag = "15")]
    pub goods_id: u32,
    #[prost(int64, tag = "5")]
    pub end_time: i64,
}
/// Obf: FCKAFIDILMG
#[derive(proto_derive::CmdID)]
#[cmdid(1595)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetShopListCsReq {
    #[prost(uint32, tag = "10")]
    pub shop_type: u32,
}
/// Obf: GetShopListScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1532)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShopListScRsp {
    #[prost(message, repeated, tag = "2")]
    pub shop_list: ::prost::alloc::vec::Vec<Shop>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub shop_type: u32,
}
/// Obf: CMOBCAPIPLL
#[derive(proto_derive::CmdID)]
#[cmdid(1531)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyGoodsCsReq {
    #[prost(uint32, tag = "6")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub fmpnheaimdn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
    #[prost(uint32, tag = "7")]
    pub goods_id: u32,
    #[prost(uint32, tag = "9")]
    pub shop_id: u32,
    #[prost(uint32, tag = "1")]
    pub goods_num: u32,
}
/// Obf: BuyGoodsScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1540)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyGoodsScRsp {
    #[prost(uint32, tag = "15")]
    pub goods_id: u32,
    #[prost(uint32, tag = "10")]
    pub goods_buy_times: u32,
    #[prost(uint32, tag = "9")]
    pub shop_id: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub return_item_list: ::core::option::Option<ItemList>,
}
/// Obf: GLKECELEPCE
#[derive(proto_derive::CmdID)]
#[cmdid(1576)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeCityShopRewardCsReq {
    #[prost(uint32, tag = "10")]
    pub level: u32,
    #[prost(uint32, tag = "11")]
    pub shop_id: u32,
}
/// Obf: TakeCityShopRewardScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1548)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeCityShopRewardScRsp {
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "10")]
    pub shop_id: u32,
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: CityShopInfoScNotify
#[derive(proto_derive::CmdID)]
#[cmdid(1571)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CityShopInfoScNotify {
    #[prost(uint32, tag = "6")]
    pub exp: u32,
    #[prost(uint64, tag = "12")]
    pub taken_level_reward: u64,
    #[prost(uint32, tag = "7")]
    pub level: u32,
    #[prost(uint32, tag = "5")]
    pub shop_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fafgmlpadmi {
    #[prost(uint32, repeated, tag = "7")]
    pub item_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub bejeedaebbe: u32,
    #[prost(uint32, tag = "3")]
    pub unique_id: u32,
    #[prost(uint32, tag = "1")]
    pub fclnoogehmc: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub igjcppkaibi: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "5")]
    pub halbhknpikh: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ipjaiinegel {
    #[prost(uint32, tag = "2")]
    pub bejeedaebbe: u32,
    #[prost(uint32, tag = "9")]
    pub ecbalmaebjc: u32,
}
/// Obf: HINEAHNNJOL
#[derive(proto_derive::CmdID)]
#[cmdid(6795)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpaceZooDataCsReq {}
/// Obf: AMIJINMJHPI
#[derive(proto_derive::CmdID)]
#[cmdid(6732)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooDataScRsp {
    #[prost(message, repeated, tag = "5")]
    pub aagihkbfmfi: ::prost::alloc::vec::Vec<Fafgmlpadmi>,
    #[prost(uint32, repeated, tag = "11")]
    pub kjfhkicggde: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "12")]
    pub bnhndbnabfn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "14")]
    pub dplkbeehplb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub pblcahnmfjg: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub pmcmecdlemc: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "4")]
    pub inihlancnfi: ::prost::alloc::vec::Vec<Ipjaiinegel>,
    #[prost(uint32, repeated, tag = "3")]
    pub kmoadeogapa: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: ACOPFJAGDAN
#[derive(proto_derive::CmdID)]
#[cmdid(6731)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooBornCsReq {
    #[prost(uint32, repeated, tag = "12")]
    pub hdcbacooind: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub lheonphgbnb: u32,
}
/// Obf: GMDMLBNDCAD
#[derive(proto_derive::CmdID)]
#[cmdid(6740)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooBornScRsp {
    #[prost(bool, tag = "3")]
    pub iklpncgbppc: bool,
    #[prost(message, optional, tag = "1")]
    pub kpkdhghdgnb: ::core::option::Option<Fafgmlpadmi>,
    #[prost(message, repeated, tag = "9")]
    pub goeaofnfjod: ::prost::alloc::vec::Vec<Ipjaiinegel>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: CLGEJEGDOHO
#[derive(proto_derive::CmdID)]
#[cmdid(6776)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpaceZooMutateCsReq {
    #[prost(uint32, tag = "4")]
    pub item_id: u32,
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
}
/// Obf: CCFOFENAHCA
#[derive(proto_derive::CmdID)]
#[cmdid(6748)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooMutateScRsp {
    #[prost(message, optional, tag = "5")]
    pub eflcmhmajal: ::core::option::Option<Fafgmlpadmi>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub goeaofnfjod: ::prost::alloc::vec::Vec<Ipjaiinegel>,
    #[prost(bool, tag = "12")]
    pub iklpncgbppc: bool,
}
/// Obf: KFIBELFOHCF
#[derive(proto_derive::CmdID)]
#[cmdid(6771)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpaceZooOpCatteryCsReq {
    #[prost(uint32, tag = "1")]
    pub nileedjlgin: u32,
    #[prost(uint32, tag = "8")]
    pub op_type: u32,
    #[prost(uint32, tag = "3")]
    pub algeienioan: u32,
}
/// Obf: HHPGBIFODOJ
#[derive(proto_derive::CmdID)]
#[cmdid(6752)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooOpCatteryScRsp {
    #[prost(uint32, repeated, tag = "11")]
    pub kjfhkicggde: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: KHBDFDGDLLK
#[derive(proto_derive::CmdID)]
#[cmdid(6722)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooDeleteCatCsReq {
    #[prost(uint32, repeated, tag = "2")]
    pub dejaooebbha: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CAINCJCDALE
#[derive(proto_derive::CmdID)]
#[cmdid(6756)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooDeleteCatScRsp {
    #[prost(uint32, repeated, tag = "3")]
    pub nfheagelici: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: JPAKGAEBCFG
#[derive(proto_derive::CmdID)]
#[cmdid(6772)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooCatUpdateNotify {
    #[prost(bool, tag = "14")]
    pub fpmncagjebg: bool,
    #[prost(bool, tag = "1")]
    pub iklpncgbppc: bool,
    #[prost(message, repeated, tag = "10")]
    pub aikmbppnokd: ::prost::alloc::vec::Vec<Fafgmlpadmi>,
}
/// Obf: LCLIHAJNNDF
#[derive(proto_derive::CmdID)]
#[cmdid(6785)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpaceZooExchangeItemCsReq {
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
}
/// Obf: EHMCHGFLGGO
#[derive(proto_derive::CmdID)]
#[cmdid(6716)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpaceZooExchangeItemScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub item_id: u32,
}
/// Obf: HBFKBBBEHGJ
#[derive(proto_derive::CmdID)]
#[cmdid(6746)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpaceZooTakeCsReq {
    #[prost(uint32, tag = "9")]
    pub hlnmajidifd: u32,
}
/// Obf: JJNKPICGLPG
#[derive(proto_derive::CmdID)]
#[cmdid(6783)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooTakeScRsp {
    #[prost(uint32, tag = "4")]
    pub hlnmajidifd: u32,
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mjcjaikpllm {
    #[prost(uint32, tag = "7")]
    pub ifangmhnkbb: u32,
    #[prost(uint32, tag = "11")]
    pub mpaecapoheo: u32,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(bool, tag = "10")]
    pub acelagjphma: bool,
    #[prost(uint32, tag = "4")]
    pub cbindiaamjg: u32,
}
/// Obf: HECAEIHOCCE
#[derive(proto_derive::CmdID)]
#[cmdid(7162)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetStarFightDataCsReq {}
/// Obf: HOLCFKIOBGN
#[derive(proto_derive::CmdID)]
#[cmdid(7165)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStarFightDataScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "7")]
    pub bdiimmhjlcn: ::prost::alloc::vec::Vec<Mjcjaikpllm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aedaoiffign {
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "8")]
    pub avatar_type: i32,
}
/// Obf: JDOLCCABFOH
#[derive(proto_derive::CmdID)]
#[cmdid(7164)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartStarFightLevelCsReq {
    #[prost(message, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<Aedaoiffign>,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(uint32, tag = "3")]
    pub nedfibonlkb: u32,
}
/// Obf: BCOKPHCMNOH
#[derive(proto_derive::CmdID)]
#[cmdid(7167)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartStarFightLevelScRsp {
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
    #[prost(uint32, tag = "12")]
    pub nedfibonlkb: u32,
}
/// Obf: AHCKMCCDIIJ
#[derive(proto_derive::CmdID)]
#[cmdid(7161)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StarFightDataChangeNotify {
    #[prost(message, optional, tag = "11")]
    pub fmcdalalfia: ::core::option::Option<Mjcjaikpllm>,
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
/// Obf: NPHIJIJDPHC
#[derive(proto_derive::CmdID)]
#[cmdid(6295)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetStoryLineInfoCsReq {}
/// Obf: KCBPBDJNPEG
#[derive(proto_derive::CmdID)]
#[cmdid(6232)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStoryLineInfoScRsp {
    #[prost(uint32, repeated, tag = "8")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "1")]
    pub fmihhbhfhoa: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub glhflieimjk: u32,
}
/// Obf: CPDNCFCHAJG
#[derive(proto_derive::CmdID)]
#[cmdid(6231)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StoryLineInfoScNotify {
    #[prost(uint32, repeated, tag = "3")]
    pub fmihhbhfhoa: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub glhflieimjk: u32,
    #[prost(uint32, tag = "14")]
    pub fimcejgdagf: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MDOGEPCPFJO
#[derive(proto_derive::CmdID)]
#[cmdid(6248)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChangeStoryLineFinishScNotify {
    #[prost(uint32, tag = "9")]
    pub kidkhjecjlf: u32,
    #[prost(uint32, tag = "8")]
    pub glhflieimjk: u32,
    #[prost(enumeration = "Amjocdiaphf", tag = "15")]
    pub nfojnohloac: i32,
    #[prost(bool, tag = "10")]
    pub koocceighma: bool,
}
/// Obf: POOIBGCAMCD
#[derive(proto_derive::CmdID)]
#[cmdid(6271)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StoryLineTrialAvatarChangeScNotify {
    #[prost(uint32, repeated, tag = "10")]
    pub kfmffggjmne: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "9")]
    pub iblbnianphd: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "3")]
    pub cliigmnmhna: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StrongChallengeAvatar {
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "3")]
    pub avatar_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jpfjgfopkhb {
    #[prost(uint32, repeated, tag = "11")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<StrongChallengeAvatar>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Caaakpfoeji {
    #[prost(uint32, tag = "4")]
    pub module_id: u32,
    #[prost(message, optional, tag = "9")]
    pub ahinpckgkjg: ::core::option::Option<Jpfjgfopkhb>,
    #[prost(uint32, tag = "10")]
    pub jgbainfdban: u32,
    #[prost(uint32, tag = "6")]
    pub stage_score: u32,
    #[prost(uint32, tag = "2")]
    pub stage_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hlkgcnfccia {
    #[prost(map = "uint32, message", tag = "8")]
    pub alcedmlhflm: ::std::collections::HashMap<u32, Caaakpfoeji>,
}
/// Obf: DCIGBDPOOCP
#[derive(proto_derive::CmdID)]
#[cmdid(6695)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetStrongChallengeActivityDataCsReq {}
/// Obf: OPFOLDIBJPE
#[derive(proto_derive::CmdID)]
#[cmdid(6632)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStrongChallengeActivityDataScRsp {
    #[prost(message, optional, tag = "8")]
    pub giilgffkhda: ::core::option::Option<Hlkgcnfccia>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: AMMBLGICEAI
#[derive(proto_derive::CmdID)]
#[cmdid(6631)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterStrongChallengeActivityStageCsReq {
    #[prost(uint32, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<StrongChallengeAvatar>,
}
/// Obf: PAPOJHEABLF
#[derive(proto_derive::CmdID)]
#[cmdid(6640)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterStrongChallengeActivityStageScRsp {
    #[prost(message, optional, tag = "7")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: BHOPHDIKNHE
#[derive(proto_derive::CmdID)]
#[cmdid(6676)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StrongChallengeActivityBattleEndScNotify {
    #[prost(uint32, tag = "6")]
    pub score: u32,
    #[prost(uint32, tag = "10")]
    pub total_damage: u32,
    #[prost(uint32, tag = "4")]
    pub ahjfpngdbdo: u32,
    #[prost(uint32, tag = "11")]
    pub stage_id: u32,
    #[prost(uint32, tag = "1")]
    pub stage_score: u32,
    #[prost(uint32, tag = "7")]
    pub jamlokncakc: u32,
    #[prost(uint32, tag = "2")]
    pub ggbecchphcd: u32,
    #[prost(enumeration = "BattleEndStatus", tag = "5")]
    pub end_status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pgbhmolfbmm {
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
    #[prost(uint32, tag = "8")]
    pub stars: u32,
    #[prost(uint32, tag = "15")]
    pub nedfibonlkb: u32,
}
/// Obf: POPIFPMLMAN
#[derive(proto_derive::CmdID)]
#[cmdid(7562)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetSummonActivityDataCsReq {}
/// Obf: LCDFPJKEPCN
#[derive(proto_derive::CmdID)]
#[cmdid(7565)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSummonActivityDataScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "1")]
    pub jhomkemcdmg: ::prost::alloc::vec::Vec<Pgbhmolfbmm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Onoeplfnell {
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
/// Obf: FCLMMIMNEKI
#[derive(proto_derive::CmdID)]
#[cmdid(7564)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSummonActivityStageCsReq {
    #[prost(uint32, tag = "9")]
    pub nedfibonlkb: u32,
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
    #[prost(message, repeated, tag = "12")]
    pub avatar_list: ::prost::alloc::vec::Vec<Onoeplfnell>,
    #[prost(message, optional, tag = "6")]
    pub mnoedeclhbj: ::core::option::Option<Onoeplfnell>,
}
/// Obf: HBHJHHOBNDN
#[derive(proto_derive::CmdID)]
#[cmdid(7567)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSummonActivityStageScRsp {
    #[prost(uint32, tag = "2")]
    pub nedfibonlkb: u32,
    #[prost(message, optional, tag = "3")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
}
/// Obf: FNGLNJJJJGI
#[derive(proto_derive::CmdID)]
#[cmdid(7561)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SummonActivityBattleEndScNotify {
    #[prost(uint32, tag = "11")]
    pub hmffhgbkogl: u32,
    #[prost(uint32, tag = "13")]
    pub nedfibonlkb: u32,
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    #[prost(uint32, tag = "7")]
    pub stars: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpppjcpijjf {
    #[prost(uint32, tag = "2")]
    pub config_id: u32,
    #[prost(message, optional, tag = "14")]
    pub ofolpkmalgi: ::core::option::Option<MotionInfo>,
    #[prost(bytes = "vec", tag = "9")]
    pub mjnnblcdcbj: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "5")]
    pub gfjiiabanlm: u32,
    #[prost(uint32, tag = "4")]
    pub mcbiohmimgn: u32,
}
/// Obf: KOENHFBKMIH
#[derive(proto_derive::CmdID)]
#[cmdid(8114)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandDataCsReq {
    #[prost(uint32, tag = "13")]
    pub config_id: u32,
}
/// Obf: EGGGCFAPAHG
#[derive(proto_derive::CmdID)]
#[cmdid(8113)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandDataScRsp {
    #[prost(uint32, tag = "5")]
    pub dlnghhdmjjm: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub abojjandfno: u32,
    #[prost(message, repeated, tag = "9")]
    pub lbomdfhffcf: ::prost::alloc::vec::Vec<Fpppjcpijjf>,
}
/// Obf: FFCCFLLHHMC
#[derive(proto_derive::CmdID)]
#[cmdid(8108)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandStartCsReq {
    #[prost(uint32, tag = "3")]
    pub config_id: u32,
}
/// Obf: POGCIOCHLCF
#[derive(proto_derive::CmdID)]
#[cmdid(8110)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandStartScRsp {
    #[prost(uint32, tag = "6")]
    pub config_id: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: JAMMDOJMEPN
#[derive(proto_derive::CmdID)]
#[cmdid(8104)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandFinishCsReq {}
/// Obf: HOHCGKAGLIP
#[derive(proto_derive::CmdID)]
#[cmdid(8102)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandFinishScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub cmfmacmipee: ::core::option::Option<Fpppjcpijjf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pmgecpbkjcj {
    #[prost(uint32, tag = "15")]
    pub kdlpeighjak: u32,
    #[prost(uint32, tag = "7")]
    pub iefmadjgadb: u32,
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    #[prost(enumeration = "Leglgdjopkc", tag = "3")]
    pub op_type: i32,
}
/// Obf: MAHJCOPDGDM
#[derive(proto_derive::CmdID)]
#[cmdid(8120)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandUpdateCsReq {
    #[prost(message, optional, tag = "14")]
    pub opbhjagoagg: ::core::option::Option<Fpppjcpijjf>,
    #[prost(message, optional, tag = "11")]
    pub clbmgbfanlc: ::core::option::Option<Pmgecpbkjcj>,
}
/// Obf: CGAJJADDPCI
#[derive(proto_derive::CmdID)]
#[cmdid(8109)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandUpdateScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub cmfmacmipee: ::core::option::Option<Fpppjcpijjf>,
    #[prost(message, optional, tag = "2")]
    pub clbmgbfanlc: ::core::option::Option<Pmgecpbkjcj>,
}
/// Obf: MMANBFNCBDO
#[derive(proto_derive::CmdID)]
#[cmdid(8107)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandCoinUpdateCsReq {
    #[prost(uint32, tag = "11")]
    pub mcbiohmimgn: u32,
}
/// Obf: BBKEFFCLBML
#[derive(proto_derive::CmdID)]
#[cmdid(8103)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandCoinUpdateScRsp {
    #[prost(uint32, tag = "9")]
    pub mcbiohmimgn: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: DKPOABHCEAK
#[derive(proto_derive::CmdID)]
#[cmdid(8105)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandResetHandPosCsReq {
    #[prost(message, optional, tag = "13")]
    pub ofolpkmalgi: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "3")]
    pub config_id: u32,
}
/// Obf: CNFOMDLCLMB
#[derive(proto_derive::CmdID)]
#[cmdid(8101)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandResetHandPosScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub lbomdfhffcf: ::core::option::Option<Fpppjcpijjf>,
}
/// Obf: DBLBNBLLGLN
#[derive(proto_derive::CmdID)]
#[cmdid(8111)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandResetGameCsReq {
    #[prost(message, optional, tag = "5")]
    pub dpjncbbohke: ::core::option::Option<Fpppjcpijjf>,
}
/// Obf: DLHEAHANALL
#[derive(proto_derive::CmdID)]
#[cmdid(8119)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandResetGameScRsp {
    #[prost(message, optional, tag = "10")]
    pub lbomdfhffcf: ::core::option::Option<Fpppjcpijjf>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alefdnllklb {
    #[prost(message, optional, tag = "11")]
    pub kndmeilhkej: ::core::option::Option<Jkmfmmpmnam>,
    #[prost(message, optional, tag = "13")]
    pub nncjoeckcka: ::core::option::Option<Bppmeigahgi>,
    #[prost(message, optional, tag = "5")]
    pub skill_info: ::core::option::Option<Gjbniiinkfb>,
    #[prost(uint32, repeated, tag = "4")]
    pub fdeigepccbp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub eenjbpmndol: u32,
    #[prost(message, optional, tag = "9")]
    pub gbeabimobic: ::core::option::Option<Pgggcfbkdpk>,
    #[prost(message, optional, tag = "14")]
    pub afpdjdkneni: ::core::option::Option<Ocbolhfoigi>,
    #[prost(message, optional, tag = "2")]
    pub ljgcpnogifo: ::core::option::Option<Dmjlkifemmn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjbniiinkfb {
    #[prost(uint32, repeated, tag = "3")]
    pub cckhkbnmapn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub bilegelkmcb: u32,
    #[prost(uint32, tag = "4")]
    pub mcegaibnmgb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgggcfbkdpk {
    #[prost(uint32, repeated, tag = "1")]
    pub cnbckefnfge: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub emdhekkocmd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mmoibacbpka {
    #[prost(enumeration = "Hdijjmdpile", tag = "1")]
    pub pjgbfknjpno: i32,
    #[prost(uint32, tag = "6")]
    pub value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bppmeigahgi {
    #[prost(message, repeated, tag = "14")]
    pub migfmpjbelg: ::prost::alloc::vec::Vec<Mmoibacbpka>,
    #[prost(uint32, tag = "13")]
    pub iomgdikelia: u32,
    #[prost(uint32, tag = "10")]
    pub pdmdkapcojm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Leehjgnbgnk {
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(uint32, tag = "10")]
    pub hbapccegnme: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ocbolhfoigi {
    #[prost(message, repeated, tag = "11")]
    pub fmdkhadmcoc: ::prost::alloc::vec::Vec<Leehjgnbgnk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmjlkifemmn {
    #[prost(uint32, tag = "1245")]
    pub ighlabggije: u32,
    #[prost(oneof = "dmjlkifemmn::Buff", tags = "10, 11")]
    pub buff: ::core::option::Option<dmjlkifemmn::Buff>,
}
/// Nested message and enum types in `DMJLKIFEMMN`.
pub mod dmjlkifemmn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "10")]
        Gaibhjhdohb(super::Klinpbnkiia),
        #[prost(message, tag = "11")]
        Kpjafbcpegi(super::Pbmkkicmlda),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Piibojcejjn {
    #[prost(uint32, tag = "6")]
    pub colbgejelgi: u32,
    #[prost(uint32, tag = "4")]
    pub gimlndloffa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klinpbnkiia {
    #[prost(enumeration = "Bjncdefeeji", tag = "3")]
    pub ccljmnckecp: i32,
    #[prost(uint32, repeated, tag = "9")]
    pub eijdeopofnb: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "14")]
    pub dncbpcenkif: ::prost::alloc::vec::Vec<Piibojcejjn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pbmkkicmlda {
    #[prost(uint32, tag = "2")]
    pub fhbomfblgpd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jkmfmmpmnam {
    #[prost(oneof = "jkmfmmpmnam::Buff", tags = "14, 10, 4, 9, 15, 12, 8, 1")]
    pub buff: ::core::option::Option<jkmfmmpmnam::Buff>,
}
/// Nested message and enum types in `JKMFMMPMNAM`.
pub mod jkmfmmpmnam {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "14")]
        Kangpcokfne(super::Dpdiegoagbp),
        #[prost(message, tag = "10")]
        Hhcifnfmkla(super::Fpegpjceoei),
        #[prost(message, tag = "4")]
        Ocgplmnkmlk(super::Fkhfonpkdip),
        #[prost(message, tag = "9")]
        Akmnkladolm(super::Aejccmeplgo),
        #[prost(message, tag = "15")]
        Kkddandlfbd(super::Nigcopghamj),
        #[prost(message, tag = "12")]
        Affnconkekp(super::Khphaifnjei),
        #[prost(message, tag = "8")]
        Cnibngjdnjp(super::Plodidcjoka),
        #[prost(message, tag = "1")]
        Oapmklfjkkg(super::Khcakpomgnk),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dpdiegoagbp {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fpegpjceoei {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fkhfonpkdip {
    #[prost(uint32, tag = "5")]
    pub dgaklnofdpp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aejccmeplgo {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nigcopghamj {
    #[prost(bool, tag = "6")]
    pub hhgapdfindi: bool,
    #[prost(uint32, tag = "11")]
    pub bglehmkmapg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Khphaifnjei {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Plodidcjoka {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Khcakpomgnk {
    #[prost(bool, tag = "11")]
    pub mmkijaemnbl: bool,
    #[prost(uint32, tag = "12")]
    pub bglehmkmapg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omojdeifdam {
    #[prost(message, optional, tag = "1")]
    pub pbhmgchkjgo: ::core::option::Option<Cghkidbjhfh>,
    #[prost(enumeration = "Pkhjbpmibba", tag = "15")]
    pub source: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cghkidbjhfh {
    #[prost(
        oneof = "cghkidbjhfh::Buff",
        tags = "4, 14, 11, 3, 5, 6, 13, 8, 626, 1218, 1923, 940"
    )]
    pub buff: ::core::option::Option<cghkidbjhfh::Buff>,
}
/// Nested message and enum types in `CGHKIDBJHFH`.
pub mod cghkidbjhfh {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "4")]
        Pjabkifdnnd(super::Nlcalklpgog),
        #[prost(message, tag = "14")]
        Nihifemokam(super::Ojlehppjbbc),
        #[prost(message, tag = "11")]
        Mlcgalihaip(super::Ojlehppjbbc),
        #[prost(message, tag = "3")]
        Bidddnipble(super::Ocjgnpifobm),
        #[prost(message, tag = "5")]
        Dijhpehonok(super::Nmenkignbca),
        #[prost(message, tag = "6")]
        Edhbkecgoli(super::Nigcopghamj),
        #[prost(message, tag = "13")]
        Mfhbhkimdca(super::Hjkdngihmaa),
        #[prost(uint32, tag = "8")]
        Npfpajlclnn(u32),
        #[prost(uint32, tag = "626")]
        Iomgdikelia(u32),
        #[prost(message, tag = "1218")]
        Gkahdhelild(super::Khcakpomgnk),
        #[prost(message, tag = "1923")]
        Gnpeameljdj(super::Khphaifnjei),
        #[prost(uint32, tag = "940")]
        Cbakihcdenp(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hjkdngihmaa {
    #[prost(uint32, tag = "3")]
    pub dgaklnofdpp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nlcalklpgog {
    #[prost(enumeration = "Hdijjmdpile", tag = "8")]
    pub pjgbfknjpno: i32,
    #[prost(uint32, tag = "1")]
    pub bmalpkekbel: u32,
    #[prost(uint32, tag = "9")]
    pub ogjofmcmfpg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ojlehppjbbc {
    #[prost(uint32, tag = "7")]
    pub bmalpkekbel: u32,
    #[prost(uint32, tag = "6")]
    pub ogjofmcmfpg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ocjgnpifobm {
    #[prost(uint32, tag = "15")]
    pub gffbdandhmk: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
    #[prost(uint32, tag = "6")]
    pub hbapccegnme: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmenkignbca {
    #[prost(message, optional, tag = "4")]
    pub ifnmbngifph: ::core::option::Option<Dmjlkifemmn>,
    #[prost(uint32, tag = "15")]
    pub eenjbpmndol: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fgpbibijcoh {
    #[prost(uint32, tag = "15")]
    pub bglehmkmapg: u32,
    #[prost(bool, tag = "14")]
    pub hhgapdfindi: bool,
}
/// Obf: ELFHACGFJLA
#[derive(proto_derive::CmdID)]
#[cmdid(7454)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingGameSyncChangeScNotify {
    #[prost(message, repeated, tag = "3")]
    pub leadmneimdp: ::prost::alloc::vec::Vec<Omojdeifdam>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hdfkpeebgen {
    #[prost(uint32, tag = "8")]
    pub progress: u32,
    #[prost(uint32, tag = "3")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nokodmnohmn {
    #[prost(message, repeated, tag = "2")]
    pub nckcmgcbehk: ::prost::alloc::vec::Vec<Hdfkpeebgen>,
    #[prost(uint32, repeated, tag = "8")]
    pub onilffenamo: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LHJKEPDFKNE
#[derive(proto_derive::CmdID)]
#[cmdid(7496)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetSwordTrainingDataCsReq {}
/// Obf: KKBLLPIMOFE
#[derive(proto_derive::CmdID)]
#[cmdid(7452)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSwordTrainingDataScRsp {
    #[prost(bool, tag = "11")]
    pub klbpecanfig: bool,
    #[prost(message, optional, tag = "9")]
    pub kjkbkegighk: ::core::option::Option<Nokodmnohmn>,
    #[prost(uint32, repeated, tag = "3")]
    pub joefnhggago: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub dchgiodeddk: u32,
    #[prost(message, optional, tag = "14")]
    pub gajbfpcpigm: ::core::option::Option<Alefdnllklb>,
    #[prost(uint32, repeated, tag = "10")]
    pub fabkphmjghl: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub cnbckefnfge: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JJLBIMDBBFO
#[derive(proto_derive::CmdID)]
#[cmdid(7487)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingTurnActionCsReq {
    #[prost(uint32, repeated, tag = "3")]
    pub bhnfgpehomo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "8")]
    pub phajehibkfi: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KCEGAODICJI
#[derive(proto_derive::CmdID)]
#[cmdid(7486)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingTurnActionScRsp {
    #[prost(uint32, repeated, tag = "1")]
    pub bhnfgpehomo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: FGKECAODGEJ
#[derive(proto_derive::CmdID)]
#[cmdid(7467)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingDailyPhaseConfirmCsReq {
    #[prost(enumeration = "Bjncdefeeji", tag = "5")]
    pub ifenlnhlbab: i32,
}
/// Obf: PEGEPJMHJIB
#[derive(proto_derive::CmdID)]
#[cmdid(7477)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingDailyPhaseConfirmScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(bool, tag = "12")]
    pub mllaefjemcf: bool,
}
/// Obf: LPNMKOBGOGP
#[derive(proto_derive::CmdID)]
#[cmdid(7465)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingDialogueSelectOptionCsReq {
    #[prost(uint32, tag = "2")]
    pub kdmlllghjon: u32,
}
/// Obf: AOGGAIFEDNB
#[derive(proto_derive::CmdID)]
#[cmdid(7493)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingDialogueSelectOptionScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: CPECMGMHIDJ
#[derive(proto_derive::CmdID)]
#[cmdid(7464)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingExamResultConfirmCsReq {}
/// Obf: BBOJCPFOMIK
#[derive(proto_derive::CmdID)]
#[cmdid(7458)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingExamResultConfirmScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: PCMEEBKMAHE
#[derive(proto_derive::CmdID)]
#[cmdid(7490)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterSwordTrainingExamCsReq {}
/// Obf: DLMIPAJAPDF
#[derive(proto_derive::CmdID)]
#[cmdid(7470)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSwordTrainingExamScRsp {
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: EAPONEPJPJP
#[derive(proto_derive::CmdID)]
#[cmdid(7494)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingLearnSkillCsReq {
    #[prost(uint32, tag = "8")]
    pub skill_id: u32,
}
/// Obf: JEADDDHEHND
#[derive(proto_derive::CmdID)]
#[cmdid(7482)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingLearnSkillScRsp {
    #[prost(uint32, tag = "5")]
    pub skill_id: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: JIKIHMKJIEO
#[derive(proto_derive::CmdID)]
#[cmdid(7473)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingStartGameCsReq {
    #[prost(uint32, tag = "10")]
    pub emdhekkocmd: u32,
}
/// Obf: MFCGPEOMKJE
#[derive(proto_derive::CmdID)]
#[cmdid(7476)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingStartGameScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub gajbfpcpigm: ::core::option::Option<Alefdnllklb>,
}
/// Obf: LOAPBEMIDAM
#[derive(proto_derive::CmdID)]
#[cmdid(7472)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryConfirmCsReq {
    #[prost(uint32, tag = "12")]
    pub bglehmkmapg: u32,
}
/// Obf: JENLLNIJOBE
#[derive(proto_derive::CmdID)]
#[cmdid(7466)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryConfirmScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub bglehmkmapg: u32,
}
/// Obf: JJKIJLKPOKL
#[derive(proto_derive::CmdID)]
#[cmdid(7492)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingGiveUpGameCsReq {}
/// Obf: OEIGKGMBLBG
#[derive(proto_derive::CmdID)]
#[cmdid(7479)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingGiveUpGameScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: DGNDIFJABGO
#[derive(proto_derive::CmdID)]
#[cmdid(7468)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingGameSettleScNotify {
    #[prost(uint32, tag = "7")]
    pub pigeebckcoo: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub ppimfpoookb: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "11")]
    pub emdhekkocmd: u32,
    #[prost(enumeration = "Hdmkphalalg", tag = "10")]
    pub reason: i32,
    #[prost(uint32, tag = "8")]
    pub fpbnipmhanh: u32,
    #[prost(uint32, tag = "3")]
    pub ifnmbngifph: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub ccdchkkmgjf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ENFADGFGDBJ
#[derive(proto_derive::CmdID)]
#[cmdid(7451)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingUnlockSyncScNotify {
    #[prost(message, repeated, tag = "6")]
    pub nckcmgcbehk: ::prost::alloc::vec::Vec<Hdfkpeebgen>,
    #[prost(uint32, repeated, tag = "14")]
    pub onilffenamo: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MKHLGDKELHO
#[derive(proto_derive::CmdID)]
#[cmdid(7489)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingSelectEndingCsReq {
    #[prost(uint32, tag = "12")]
    pub decjmbhnnhd: u32,
}
/// Obf: KFLBGENLBFF
#[derive(proto_derive::CmdID)]
#[cmdid(7461)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingSelectEndingScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub decjmbhnnhd: u32,
}
/// Obf: CJHKGENFDCH
#[derive(proto_derive::CmdID)]
#[cmdid(7456)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingRestoreGameCsReq {}
/// Obf: FHBBIAGBEJI
#[derive(proto_derive::CmdID)]
#[cmdid(7471)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingRestoreGameScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub gajbfpcpigm: ::core::option::Option<Alefdnllklb>,
}
/// Obf: CCMJFLHNGGI
#[derive(proto_derive::CmdID)]
#[cmdid(7460)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryBattleCsReq {}
/// Obf: HIOHBJOANDD
#[derive(proto_derive::CmdID)]
#[cmdid(7469)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryBattleScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: OAPHHNLJCHK
#[derive(proto_derive::CmdID)]
#[cmdid(7499)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingActionTurnSettleScNotify {
    #[prost(uint32, tag = "6")]
    pub cgfcmknccdc: u32,
    #[prost(message, repeated, tag = "13")]
    pub mcccnliiibc: ::prost::alloc::vec::Vec<Mmoibacbpka>,
}
/// Obf: NNDFDPAEKJJ
#[derive(proto_derive::CmdID)]
#[cmdid(7453)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingResumeGameCsReq {
    #[prost(uint32, tag = "12")]
    pub emdhekkocmd: u32,
}
/// Obf: EAFLOMBBLJK
#[derive(proto_derive::CmdID)]
#[cmdid(7497)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingResumeGameScRsp {
    #[prost(message, optional, tag = "15")]
    pub gajbfpcpigm: ::core::option::Option<Alefdnllklb>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: OODJIEAHFBF
#[derive(proto_derive::CmdID)]
#[cmdid(7498)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingSetSkillTraceCsReq {
    #[prost(uint32, tag = "3")]
    pub skill_id: u32,
}
/// Obf: EFPCOKHFFLP
#[derive(proto_derive::CmdID)]
#[cmdid(7491)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingSetSkillTraceScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub skill_id: u32,
}
/// Obf: KPMHLMPAFHH
#[derive(proto_derive::CmdID)]
#[cmdid(7483)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingMarkEndingViewedCsReq {}
/// Obf: FDMEPFLFBKM
#[derive(proto_derive::CmdID)]
#[cmdid(7481)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingMarkEndingViewedScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Blpmhfgioac {
    #[prost(uint32, tag = "7")]
    pub stamina: u32,
    #[prost(uint32, tag = "13")]
    pub keneknbjgmg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoardDataSync {
    #[prost(string, tag = "8")]
    pub signature: ::prost::alloc::string::String,
    #[prost(bool, tag = "2")]
    pub pagjkdjigpi: bool,
    #[prost(message, repeated, tag = "10")]
    pub unlocked_head_icon_list: ::prost::alloc::vec::Vec<HeadIcon>,
    #[prost(uint32, repeated, tag = "12")]
    pub almmhkfkhlk: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarSync {
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<Avatar>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionSync {
    #[prost(uint32, repeated, tag = "9")]
    pub hnepoedcidk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub mcfonopkokd: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "11")]
    pub gaegmbiogoh: ::prost::alloc::vec::Vec<Fhabeikafbo>,
    #[prost(message, repeated, tag = "7")]
    pub mission_list: ::prost::alloc::vec::Vec<Mission>,
    #[prost(uint32, repeated, tag = "10")]
    pub finished_mission_id: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub anihpckngbm: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "6")]
    pub ejbggjonbol: ::prost::alloc::vec::Vec<Ikammklboco>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmbmpahkhla {
    #[prost(uint32, repeated, tag = "4")]
    pub dingkfdbcjj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub lkkidnjcfja: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpfmhajhdmm {
    #[prost(uint32, repeated, tag = "14")]
    pub cngldjnpopi: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "7")]
    pub lnejlgefple: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "15")]
    pub kmmbeandijh: ::prost::alloc::vec::Vec<Gemjdhnlklc>,
    #[prost(message, repeated, tag = "3")]
    pub omaalpkjiih: ::prost::alloc::vec::Vec<Lopcjeojhcb>,
}
/// Obf: DBGAEOOJOJA
#[derive(proto_derive::CmdID)]
#[cmdid(695)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerSyncScNotify {
    #[prost(uint32, repeated, tag = "1")]
    pub del_relic_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "3")]
    pub avatar_sync: ::core::option::Option<AvatarSync>,
    #[prost(uint32, repeated, tag = "526")]
    pub olflkcbbjoh: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "161")]
    pub multi_path_avatar_type_info_list: ::prost::alloc::vec::Vec<
        MultiPathAvatarTypeInfo,
    >,
    #[prost(message, repeated, tag = "10")]
    pub material_list: ::prost::alloc::vec::Vec<Material>,
    #[prost(uint32, repeated, tag = "5")]
    pub del_equipment_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "6")]
    pub quest_list: ::prost::alloc::vec::Vec<Quest>,
    #[prost(message, optional, tag = "14")]
    pub iggogfjfpdj: ::core::option::Option<Blpmhfgioac>,
    #[prost(message, repeated, tag = "1611")]
    pub fcokffeapmi: ::prost::alloc::vec::Vec<Material>,
    #[prost(message, optional, tag = "8")]
    pub basic_info: ::core::option::Option<PlayerBasicInfo>,
    #[prost(message, optional, tag = "1698")]
    pub omjopkgjplg: ::core::option::Option<Dmbmpahkhla>,
    #[prost(uint32, tag = "920")]
    pub total_achievement_exp: u32,
    #[prost(message, repeated, tag = "9")]
    pub equipment_list: ::prost::alloc::vec::Vec<Equipment>,
    #[prost(message, repeated, tag = "11")]
    pub relic_list: ::prost::alloc::vec::Vec<Relic>,
    #[prost(message, optional, tag = "1333")]
    pub bkebjfipjeh: ::core::option::Option<Lpfmhajhdmm>,
    #[prost(message, repeated, tag = "177")]
    pub igipeimgeaa: ::prost::alloc::vec::Vec<Gkdihiffhfd>,
    #[prost(message, optional, tag = "740")]
    pub board_data_sync: ::core::option::Option<BoardDataSync>,
    #[prost(message, optional, tag = "510")]
    pub mjoklhfpgad: ::core::option::Option<ItemList>,
    #[prost(message, repeated, tag = "7")]
    pub hlinmkbdknc: ::prost::alloc::vec::Vec<WaitDelResource>,
    #[prost(message, optional, tag = "2")]
    pub gejlekbbfnc: ::core::option::Option<MissionSync>,
}
/// Obf: NCIPMMDBMFO
#[derive(proto_derive::CmdID)]
#[cmdid(2195)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetNpcTakenRewardCsReq {
    #[prost(uint32, tag = "9")]
    pub npc_id: u32,
}
/// Obf: CGLKMNBLCJE
#[derive(proto_derive::CmdID)]
#[cmdid(2132)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcTakenRewardScRsp {
    #[prost(uint32, tag = "4")]
    pub npc_id: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub iifaoneejck: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: KBCCBPPBMAJ
#[derive(proto_derive::CmdID)]
#[cmdid(2131)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeTalkRewardCsReq {
    #[prost(message, optional, tag = "9")]
    pub olconcnjmmp: ::core::option::Option<Vector>,
    #[prost(uint32, tag = "3")]
    pub iemoeoimhma: u32,
}
/// Obf: KDPLIJBIDGG
#[derive(proto_derive::CmdID)]
#[cmdid(2140)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTalkRewardScRsp {
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub iemoeoimhma: u32,
}
/// Obf: ICIAIKMGAHC
#[derive(proto_derive::CmdID)]
#[cmdid(2176)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkNpcCsReq {
    #[prost(uint32, repeated, tag = "9")]
    pub npc_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FirstNpcTalkInfo {
    #[prost(uint32, tag = "5")]
    pub npc_id: u32,
    #[prost(bool, tag = "4")]
    pub iagodfdjaik: bool,
}
/// Obf: ALHBIKAJFLD
#[derive(proto_derive::CmdID)]
#[cmdid(2148)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkNpcScRsp {
    #[prost(message, repeated, tag = "9")]
    pub npc_talk_info_list: ::prost::alloc::vec::Vec<FirstNpcTalkInfo>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: ILNJIODJHKG
#[derive(proto_derive::CmdID)]
#[cmdid(2171)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkNpcCsReq {
    #[prost(uint32, tag = "10")]
    pub npc_id: u32,
}
/// Obf: PPEGBECCDPK
#[derive(proto_derive::CmdID)]
#[cmdid(2152)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkNpcScRsp {
    #[prost(uint32, tag = "3")]
    pub npc_id: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: OJJHHHGOMNH
#[derive(proto_derive::CmdID)]
#[cmdid(2122)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectInclinationTextCsReq {
    #[prost(uint32, tag = "10")]
    pub pkdcpmnagbc: u32,
}
/// Obf: KIHHNLOOGAG
#[derive(proto_derive::CmdID)]
#[cmdid(2156)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectInclinationTextScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub pkdcpmnagbc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NpcTalkInfo {
    #[prost(uint32, tag = "15")]
    pub npc_talk_id: u32,
    #[prost(bool, tag = "4")]
    pub iagodfdjaik: bool,
}
/// Obf: JBMHEKHJDPP
#[derive(proto_derive::CmdID)]
#[cmdid(2172)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkByPerformanceNpcCsReq {
    #[prost(uint32, repeated, tag = "6")]
    pub npc_talk_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LHKKJHDMOEK
#[derive(proto_derive::CmdID)]
#[cmdid(2185)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkByPerformanceNpcScRsp {
    #[prost(message, repeated, tag = "14")]
    pub npc_talk_info_list: ::prost::alloc::vec::Vec<NpcTalkInfo>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: BCOFMAKPDMJ
#[derive(proto_derive::CmdID)]
#[cmdid(2116)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkByPerformanceNpcCsReq {
    #[prost(uint32, tag = "8")]
    pub npc_talk_id: u32,
}
/// Obf: PCBEHBGJJHO
#[derive(proto_derive::CmdID)]
#[cmdid(2146)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkByPerformanceNpcScRsp {
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub npc_talk_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ejdgknkhkhh {
    #[prost(uint32, tag = "14")]
    pub id: u32,
    #[prost(uint32, tag = "7")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bkmgdphacke {
    #[prost(uint32, tag = "3")]
    pub id: u32,
    #[prost(bool, tag = "15")]
    pub biinncndpcg: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Floickmnmll {
    #[prost(message, repeated, tag = "4")]
    pub dgpejfljnoj: ::prost::alloc::vec::Vec<Bkmgdphacke>,
    #[prost(message, repeated, tag = "11")]
    pub cnijnmdgedd: ::prost::alloc::vec::Vec<Ejdgknkhkhh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofdgogdbhac {
    #[prost(uint32, repeated, tag = "6")]
    pub libllkbldch: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AGOOPHCEBGA
#[derive(proto_derive::CmdID)]
#[cmdid(8154)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookGetDataCsReq {}
/// Obf: FEAOPDEBLKH
#[derive(proto_derive::CmdID)]
#[cmdid(8153)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookGetDataScRsp {
    #[prost(map = "uint32, uint32", tag = "1")]
    pub jkemdjiamhi: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub hefjejhojea: ::core::option::Option<Floickmnmll>,
    #[prost(map = "uint32, uint32", tag = "5")]
    pub ndcjjpgnfln: ::std::collections::HashMap<u32, u32>,
    #[prost(message, optional, tag = "15")]
    pub ipninopekbp: ::core::option::Option<Ofdgogdbhac>,
    #[prost(uint32, tag = "4")]
    pub fdckfkfkhlo: u32,
    #[prost(uint32, tag = "13")]
    pub energy_info: u32,
}
/// Obf: JKKNJEBJOAE
#[derive(proto_derive::CmdID)]
#[cmdid(8148)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookOpenPackCsReq {}
/// Obf: CEJEJDMNDMC
#[derive(proto_derive::CmdID)]
#[cmdid(8150)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookOpenPackScRsp {
    #[prost(uint32, tag = "15")]
    pub fdckfkfkhlo: u32,
    #[prost(map = "uint32, uint32", tag = "11")]
    pub cjencdiflcf: ::std::collections::HashMap<u32, u32>,
    #[prost(map = "uint32, uint32", tag = "13")]
    pub iikbcnbjkki: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub energy_info: u32,
}
/// Obf: IANILBPCLKD
#[derive(proto_derive::CmdID)]
#[cmdid(8144)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookUnlockStoryCsReq {
    #[prost(uint32, repeated, tag = "4")]
    pub ppimfpoookb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OPPAPMHJMPI
#[derive(proto_derive::CmdID)]
#[cmdid(8142)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookUnlockStoryScRsp {
    #[prost(map = "uint32, uint32", tag = "15")]
    pub ndcjjpgnfln: ::std::collections::HashMap<u32, u32>,
    #[prost(map = "uint32, uint32", tag = "10")]
    pub jkemdjiamhi: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub ppdggociede: ::core::option::Option<Ejdgknkhkhh>,
    #[prost(uint32, repeated, tag = "1")]
    pub ppimfpoookb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KPDNPGFDOBI
#[derive(proto_derive::CmdID)]
#[cmdid(8160)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookFinishStoryCsReq {
    #[prost(uint32, tag = "7")]
    pub bglehmkmapg: u32,
}
/// Obf: PMGLNLDDNJE
#[derive(proto_derive::CmdID)]
#[cmdid(8149)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookFinishStoryScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub hefjejhojea: ::core::option::Option<Floickmnmll>,
    #[prost(uint32, tag = "14")]
    pub bglehmkmapg: u32,
}
/// Obf: HDMJLGMDIFG
#[derive(proto_derive::CmdID)]
#[cmdid(8147)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookModifyEnergyScNotify {
    #[prost(uint32, tag = "10")]
    pub lplhiabdbbg: u32,
    #[prost(uint32, tag = "11")]
    pub energy_info: u32,
}
/// Obf: LDDNFMIHEEH
#[derive(proto_derive::CmdID)]
#[cmdid(8143)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookFinishInteractionCsReq {
    #[prost(uint32, tag = "5")]
    pub nblhjjjegno: u32,
}
/// Obf: EKPJDGCKGMN
#[derive(proto_derive::CmdID)]
#[cmdid(8145)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookFinishInteractionScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub nblhjjjegno: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ogjdnlijkfb {
    #[prost(uint32, tag = "13")]
    pub kegcjppokbk: u32,
    #[prost(uint32, tag = "6")]
    pub ninlfbglbll: u32,
    #[prost(uint32, tag = "8")]
    pub stage_score: u32,
}
/// Obf: KPKGBOGHIJN
#[derive(proto_derive::CmdID)]
#[cmdid(6974)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTelevisionActivityDataCsReq {}
/// Obf: PHNAEIKGJHB
#[derive(proto_derive::CmdID)]
#[cmdid(6973)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTelevisionActivityDataScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub kadgmhhgkmp: ::prost::alloc::vec::Vec<Ogjdnlijkfb>,
}
/// Obf: LFJAAEAPBJE
#[derive(proto_derive::CmdID)]
#[cmdid(6968)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TelevisionActivityDataChangeScNotify {
    #[prost(message, repeated, tag = "11")]
    pub kadgmhhgkmp: ::prost::alloc::vec::Vec<Ogjdnlijkfb>,
}
/// Obf: JPADDPIGGCK
#[derive(proto_derive::CmdID)]
#[cmdid(6962)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TelevisionActivityBattleEndScNotify {
    #[prost(uint32, tag = "1")]
    pub fcepipccomn: u32,
    #[prost(uint32, tag = "14")]
    pub hoehiobiiej: u32,
    #[prost(message, optional, tag = "6")]
    pub dfccbdpnlea: ::core::option::Option<Ogjdnlijkfb>,
    #[prost(uint32, tag = "12")]
    pub fidioihllga: u32,
    #[prost(uint32, tag = "11")]
    pub npjeecedpok: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Depeahjnkgj {
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
}
/// Obf: NDNCAPJMPEG
#[derive(proto_derive::CmdID)]
#[cmdid(6970)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTelevisionActivityStageCsReq {
    #[prost(uint32, tag = "1")]
    pub ninlfbglbll: u32,
    #[prost(message, repeated, tag = "8")]
    pub avatar_list: ::prost::alloc::vec::Vec<Depeahjnkgj>,
    #[prost(uint32, repeated, tag = "3")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AHGENONAOFK
#[derive(proto_derive::CmdID)]
#[cmdid(6964)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTelevisionActivityStageScRsp {
    #[prost(message, optional, tag = "4")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub ninlfbglbll: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinInfo {
    #[prost(uint32, tag = "14")]
    pub nlfnjpmacpm: u32,
    #[prost(uint32, tag = "10")]
    pub adinnbpinak: u32,
    #[prost(string, tag = "13")]
    pub nkioiioiaog: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub hbjkeebdjml: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub fanokembmpb: u32,
}
/// Obf: AKOIBDEGONH
#[derive(proto_derive::CmdID)]
#[cmdid(3895)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinSaveCsReq {
    #[prost(string, tag = "7")]
    pub hbjkeebdjml: ::prost::alloc::string::String,
    #[prost(uint32, tag = "6")]
    pub adinnbpinak: u32,
    #[prost(uint32, tag = "5")]
    pub fanokembmpb: u32,
}
/// Obf: ILLGPCDIGCM
#[derive(proto_derive::CmdID)]
#[cmdid(3832)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinSaveScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(string, tag = "13")]
    pub hbjkeebdjml: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub adinnbpinak: u32,
    #[prost(uint32, tag = "12")]
    pub fanokembmpb: u32,
}
/// Obf: CIMBHJDHAFO
#[derive(proto_derive::CmdID)]
#[cmdid(3831)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinQueryCsReq {
    #[prost(uint32, repeated, tag = "13")]
    pub text_join_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: EEELMIPKGIJ
#[derive(proto_derive::CmdID)]
#[cmdid(3840)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinQueryScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "3")]
    pub text_join_list: ::prost::alloc::vec::Vec<TextJoinInfo>,
}
/// Obf: EIGPGMEMLAJ
#[derive(proto_derive::CmdID)]
#[cmdid(3876)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinBatchSaveCsReq {
    #[prost(message, repeated, tag = "1")]
    pub text_join_list: ::prost::alloc::vec::Vec<TextJoinInfo>,
}
/// Obf: MCCFKFOMIBA
#[derive(proto_derive::CmdID)]
#[cmdid(3848)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinBatchSaveScRsp {
    #[prost(message, repeated, tag = "12")]
    pub text_join_list: ::prost::alloc::vec::Vec<TextJoinInfo>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cgligecgakn {
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
    #[prost(uint32, tag = "5")]
    pub stage_score: u32,
}
/// Obf: EMFNMIFOFMH
#[derive(proto_derive::CmdID)]
#[cmdid(7552)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTrackPhotoActivityDataCsReq {}
/// Obf: OINMKCHEDBO
#[derive(proto_derive::CmdID)]
#[cmdid(7555)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrackPhotoActivityDataScRsp {
    #[prost(message, repeated, tag = "1")]
    pub emgfldopkgl: ::prost::alloc::vec::Vec<Cgligecgakn>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Geoaeofjogc {
    #[prost(bool, tag = "5")]
    pub kfboaonldem: bool,
    #[prost(uint32, tag = "12")]
    pub entity_id: u32,
}
/// Obf: GBHMOCOJBGB
#[derive(proto_derive::CmdID)]
#[cmdid(7554)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettleTrackPhotoStageCsReq {
    #[prost(uint32, tag = "4")]
    pub bclnmidffoh: u32,
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
    #[prost(message, repeated, tag = "2")]
    pub lpihaniojfi: ::prost::alloc::vec::Vec<Geoaeofjogc>,
}
/// Obf: FPHPGHHMODG
#[derive(proto_derive::CmdID)]
#[cmdid(7557)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettleTrackPhotoStageScRsp {
    #[prost(uint32, tag = "6")]
    pub score: u32,
    #[prost(message, repeated, tag = "12")]
    pub lpihaniojfi: ::prost::alloc::vec::Vec<Geoaeofjogc>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub stage_id: u32,
}
/// Obf: DLGOPBGKGGL
#[derive(proto_derive::CmdID)]
#[cmdid(7551)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartTrackPhotoStageCsReq {
    #[prost(bool, tag = "2")]
    pub djfcmlipdab: bool,
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
}
/// Obf: LDKCMMDKEGJ
#[derive(proto_derive::CmdID)]
#[cmdid(7559)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartTrackPhotoStageScRsp {
    #[prost(uint32, tag = "4")]
    pub mdlndgijnml: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: LGKCKIKGNEN
#[derive(proto_derive::CmdID)]
#[cmdid(7556)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitTrackPhotoStageCsReq {
    #[prost(uint32, tag = "5")]
    pub stage_id: u32,
}
/// Obf: IHLJCHKAJPG
#[derive(proto_derive::CmdID)]
#[cmdid(7553)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitTrackPhotoStageScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyCardData {
    #[prost(uint32, tag = "1")]
    pub upgrade_level: u32,
    #[prost(uint32, tag = "4")]
    pub card_id: u32,
    #[prost(uint32, tag = "15")]
    pub unique_id: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub hcpgealodme: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyCards {
    #[prost(message, repeated, tag = "11")]
    pub card_data_list: ::prost::alloc::vec::Vec<TrainPartyCardData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyCard {
    #[prost(message, optional, tag = "14")]
    pub card_data_list: ::core::option::Option<TrainPartyCards>,
    #[prost(uint32, tag = "2")]
    pub extra_ratio: u32,
    #[prost(bool, tag = "6")]
    pub has_modify_all_passenger_stat_effect: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyGridData {
    #[prost(uint32, tag = "13")]
    pub unique_id: u32,
    #[prost(uint32, tag = "11")]
    pub hfnhlcfnhkd: u32,
    #[prost(uint32, tag = "7")]
    pub ghfaihlceln: u32,
    #[prost(uint32, tag = "4")]
    pub display_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyMeetingCountInfo {
    #[prost(uint32, tag = "2")]
    pub ncdcgfkoloe: u32,
    #[prost(uint32, tag = "10")]
    pub papkgjojpii: u32,
    #[prost(uint32, tag = "7")]
    pub hcfocpkfobg: u32,
    #[prost(uint32, tag = "1")]
    pub jodnmdoamkc: u32,
    #[prost(uint32, tag = "13")]
    pub blhpiciofai: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub kddppgocomb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGrids {
    #[prost(uint32, tag = "8")]
    pub bihmelmjhpo: u32,
    #[prost(message, repeated, tag = "7")]
    pub mkoambmkdid: ::prost::alloc::vec::Vec<TrainPartyGridData>,
    #[prost(message, optional, tag = "11")]
    pub gdghcbghlnd: ::core::option::Option<TrainPartyMeetingCountInfo>,
    #[prost(uint32, tag = "9")]
    pub lljefmpdjkh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyPassengerStatusInfo {
    #[prost(uint32, tag = "14")]
    pub khhlnggecpb: u32,
    #[prost(uint32, tag = "6")]
    pub kpakapnhnnd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyPassengerSkillInfo {
    #[prost(uint32, tag = "13")]
    pub jgmipmdppij: u32,
    #[prost(uint32, tag = "9")]
    pub skill_id: u32,
    #[prost(uint32, tag = "4")]
    pub skill_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyPassengerData {
    #[prost(message, optional, tag = "9")]
    pub status_info: ::core::option::Option<TrainPartyPassengerStatusInfo>,
    #[prost(uint32, tag = "13")]
    pub passenger_id: u32,
    #[prost(uint32, tag = "12")]
    pub mihlfgcgkno: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyPassengerPersistentData {
    #[prost(uint32, repeated, tag = "11")]
    pub diary_data_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "8")]
    pub cinmlckbhim: bool,
    #[prost(uint32, tag = "4")]
    pub passenger_id: u32,
    #[prost(uint32, tag = "6")]
    pub attempts: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyPassenger {
    #[prost(uint32, repeated, tag = "11")]
    pub cfkpaicdjpj: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "1")]
    pub skill_info_list: ::prost::alloc::vec::Vec<TrainPartyPassengerSkillInfo>,
    #[prost(message, repeated, tag = "15")]
    pub kbgdcehiffj: ::prost::alloc::vec::Vec<TrainPartyPassengerData>,
    #[prost(uint32, tag = "12")]
    pub upgrade_level: u32,
    #[prost(uint32, tag = "14")]
    pub pkidbdgpilo: u32,
    #[prost(uint32, tag = "10")]
    pub oafaaeemnfb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oibmnpclnjj {
    #[prost(uint32, repeated, tag = "6")]
    pub diary_data_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "14")]
    pub mebofhokepi: ::prost::alloc::vec::Vec<TrainPartyPassengerPersistentData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyAreaInfo {
    #[prost(uint32, tag = "12")]
    pub progress: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub elfphfpkbfi: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "8")]
    pub opdipfbcfdp: ::prost::alloc::vec::Vec<Mcnckbnoejg>,
    #[prost(message, optional, tag = "9")]
    pub mlhdkjmfdai: ::core::option::Option<Daipphmlpcb>,
    #[prost(uint32, tag = "14")]
    pub area_id: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub knojnbjiokb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub hbccbgbfplo: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Indffnnhohc {
    #[prost(uint32, tag = "13")]
    pub area_id: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub elfphfpkbfi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ppkdpajpagf {
    #[prost(uint32, tag = "10")]
    pub jlhdkolmeda: u32,
    #[prost(uint32, tag = "1")]
    pub gjfhpcieboj: u32,
    #[prost(enumeration = "TrainPartyBuildStatus", tag = "7")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Daipphmlpcb {
    #[prost(message, repeated, tag = "13")]
    pub imekhgciedn: ::prost::alloc::vec::Vec<Ppkdpajpagf>,
    #[prost(uint32, tag = "3")]
    pub heidcikedpd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mcnckbnoejg {
    #[prost(uint32, tag = "14")]
    pub cigajenpmkh: u32,
    #[prost(uint32, tag = "13")]
    pub slot_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhallekojia {
    #[prost(uint32, tag = "8")]
    pub eebnaapbkcn: u32,
    #[prost(uint32, tag = "7")]
    pub ppffkfgollj: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub mcfmaepokbk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub flbnekgidbo: u32,
    #[prost(message, repeated, tag = "3")]
    pub llephoelgda: ::prost::alloc::vec::Vec<TrainPartyAreaInfo>,
    #[prost(message, repeated, tag = "10")]
    pub eohbbeakodf: ::prost::alloc::vec::Vec<Indffnnhohc>,
    #[prost(uint32, tag = "4")]
    pub cnajoignmlj: u32,
    #[prost(uint32, tag = "6")]
    pub dbjhemippim: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub cigacghpdgk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub obokglcmkke: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpkdpmlbejo {
    #[prost(message, optional, tag = "6")]
    pub cefmbafcnpk: ::core::option::Option<Cdngndnlnaj>,
    #[prost(uint32, tag = "5")]
    pub attempts: u32,
    #[prost(message, optional, tag = "11")]
    pub nhjjbkokldb: ::core::option::Option<Hhallekojia>,
    #[prost(uint32, tag = "9")]
    pub klgbflnjkbl: u32,
    #[prost(uint32, tag = "15")]
    pub aianofknlhg: u32,
    #[prost(message, optional, tag = "3")]
    pub ijmekpadhjj: ::core::option::Option<Oibmnpclnjj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdngndnlnaj {
    #[prost(message, optional, tag = "7")]
    pub gbfclmlimhc: ::core::option::Option<Gcfehmenonm>,
    #[prost(message, optional, tag = "2")]
    pub eeihdcpolef: ::core::option::Option<TrainPartyGrids>,
    #[prost(message, optional, tag = "6")]
    pub aakhcnedbcd: ::core::option::Option<TrainPartyPassenger>,
    #[prost(message, optional, tag = "9")]
    pub hbheajijegf: ::core::option::Option<TrainPartyCard>,
    #[prost(uint32, tag = "4")]
    pub goneakbdgek: u32,
}
/// Obf: DBOEHMHGICC
#[derive(proto_derive::CmdID)]
#[cmdid(8095)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyGetDataCsReq {}
/// Obf: CFNECNJGENN
#[derive(proto_derive::CmdID)]
#[cmdid(8032)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGetDataScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub behnkmghghd: ::core::option::Option<Lpkdpmlbejo>,
}
/// Obf: IAGDGOEBLAL
#[derive(proto_derive::CmdID)]
#[cmdid(8031)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyUseCardCsReq {
    #[prost(uint32, tag = "12")]
    pub eeghhhkcghb: u32,
}
/// Obf: KNBKOEDFCBE
#[derive(proto_derive::CmdID)]
#[cmdid(8040)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyUseCardScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub eeghhhkcghb: u32,
}
/// Obf: OOGNJJIPCNK
#[derive(proto_derive::CmdID)]
#[cmdid(8076)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyMoveScNotify {
    #[prost(uint32, tag = "11")]
    pub gheeoeohmfi: u32,
    #[prost(message, repeated, tag = "14")]
    pub peadiocnimf: ::prost::alloc::vec::Vec<TrainPartyGridData>,
}
/// Obf: JGPGPFCLEAI
#[derive(proto_derive::CmdID)]
#[cmdid(8071)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartySettleNotify {
    #[prost(message, optional, tag = "10")]
    pub hilomekafbp: ::core::option::Option<Fkmbflmegeb>,
    #[prost(uint32, tag = "5")]
    pub eeghhhkcghb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkmbflmegeb {
    #[prost(message, repeated, tag = "10")]
    pub foaplialhdi: ::prost::alloc::vec::Vec<Baepnhdciem>,
    #[prost(uint32, tag = "7")]
    pub heijcnlnhhi: u32,
    #[prost(message, repeated, tag = "14")]
    pub kbgdcehiffj: ::prost::alloc::vec::Vec<TrainPartyPassengerData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Baepnhdciem {
    #[prost(uint32, tag = "1")]
    pub ijfihgcknhg: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub param_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nclcbopcejg {
    #[prost(message, optional, tag = "3")]
    pub hmffhbhalge: ::core::option::Option<TrainPartyCardData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Idbeommckik {
    #[prost(uint32, tag = "15")]
    pub passenger_id: u32,
    #[prost(message, optional, tag = "1")]
    pub status_info: ::core::option::Option<TrainPartyPassengerStatusInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibomhkhbaao {
    #[prost(message, repeated, tag = "9")]
    pub nfeolnaogdk: ::prost::alloc::vec::Vec<Idbeommckik>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enjhdlhkino {
    #[prost(message, optional, tag = "3")]
    pub kndmeilhkej: ::core::option::Option<Gcfehmenonm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fnoghghpjpd {
    #[prost(uint32, tag = "4")]
    pub upgrade_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jldhcfggeao {
    #[prost(message, optional, tag = "12")]
    pub mhmeddehbhi: ::core::option::Option<TrainPartyPassengerSkillInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pfgiahaidlm {
    #[prost(message, repeated, tag = "12")]
    pub skill_info_list: ::prost::alloc::vec::Vec<TrainPartyPassengerSkillInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhmnlcobjcj {
    #[prost(message, optional, tag = "12")]
    pub abbnhmggpil: ::core::option::Option<TrainPartyPassengerPersistentData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkjlbfniggm {
    #[prost(uint32, repeated, tag = "13")]
    pub diary_data_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hakmebiajcf {
    #[prost(message, repeated, tag = "10")]
    pub mkoambmkdid: ::prost::alloc::vec::Vec<TrainPartyGridData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmopiblfcln {
    #[prost(message, optional, tag = "12")]
    pub gdghcbghlnd: ::core::option::Option<TrainPartyMeetingCountInfo>,
    #[prost(message, optional, tag = "14")]
    pub lnmmkfmeajm: ::core::option::Option<TrainPartyCards>,
    #[prost(uint32, tag = "3")]
    pub extra_ratio: u32,
    #[prost(bool, tag = "8")]
    pub has_modify_all_passenger_stat_effect: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plkcmgdedck {
    #[prost(enumeration = "TrainPartyUpdateSrc", tag = "9")]
    pub src: i32,
    #[prost(
        oneof = "plkcmgdedck::Lgnaklfmhff",
        tags = "1121, 1638, 900, 542, 379, 250, 1085, 1394, 865, 1321"
    )]
    pub lgnaklfmhff: ::core::option::Option<plkcmgdedck::Lgnaklfmhff>,
}
/// Nested message and enum types in `PLKCMGDEDCK`.
pub mod plkcmgdedck {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Lgnaklfmhff {
        #[prost(message, tag = "1121")]
        Lnmmkfmeajm(super::TrainPartyCards),
        #[prost(message, tag = "1638")]
        Fpfdjndnpim(super::Ibomhkhbaao),
        #[prost(message, tag = "900")]
        Njkjnbdboca(super::Enjhdlhkino),
        #[prost(message, tag = "542")]
        Lgjgbighonp(super::Fnoghghpjpd),
        #[prost(message, tag = "379")]
        Dgnkbngipki(super::Hakmebiajcf),
        #[prost(message, tag = "250")]
        Mkkpchhnhcj(super::Jldhcfggeao),
        #[prost(message, tag = "1085")]
        Pkpjefggboo(super::Hmopiblfcln),
        #[prost(message, tag = "1394")]
        Nhacnnjpalp(super::Pfgiahaidlm),
        #[prost(message, tag = "865")]
        Ahpdpooljle(super::Jhmnlcobjcj),
        #[prost(message, tag = "1321")]
        Afmieicdnea(super::Fkjlbfniggm),
    }
}
/// Obf: JFJKLHGFDKP
#[derive(proto_derive::CmdID)]
#[cmdid(8022)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartySyncUpdateScNotify {
    #[prost(message, repeated, tag = "4")]
    pub fflpklldhlm: ::prost::alloc::vec::Vec<Plkcmgdedck>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gcfehmenonm {
    #[prost(uint32, tag = "14")]
    pub hbapccegnme: u32,
    #[prost(oneof = "gcfehmenonm::Ajobhbklmji", tags = "1184, 343, 238, 700")]
    pub ajobhbklmji: ::core::option::Option<gcfehmenonm::Ajobhbklmji>,
}
/// Nested message and enum types in `GCFEHMENONM`.
pub mod gcfehmenonm {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ajobhbklmji {
        #[prost(message, tag = "1184")]
        Iamkdjcfmib(super::Njkenncjlcf),
        #[prost(message, tag = "343")]
        Leehaeobeba(super::Miiaiodleoa),
        #[prost(message, tag = "238")]
        Oaoofnjgidh(super::Emmdenjbfpf),
        #[prost(message, tag = "700")]
        Pmmgocjfeej(super::Epbgfbedanm),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hhpiafbhjcf {
    #[prost(uint32, tag = "8")]
    pub kdmlllghjon: u32,
    #[prost(bool, tag = "12")]
    pub pipmgacmjnn: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njkenncjlcf {
    #[prost(uint32, tag = "7")]
    pub event_id: u32,
    #[prost(enumeration = "Ijdnojemian", tag = "10")]
    pub hoiokbkgfdn: i32,
    #[prost(message, repeated, tag = "9")]
    pub lekpkocnjal: ::prost::alloc::vec::Vec<Hhpiafbhjcf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hpfkgddifhg {
    #[prost(uint32, tag = "4")]
    pub kdmlllghjon: u32,
    #[prost(uint32, tag = "3")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfifanaocpc {
    #[prost(message, optional, tag = "5")]
    pub hilomekafbp: ::core::option::Option<Fkmbflmegeb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ocmhofemnhi {
    #[prost(uint32, tag = "7")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub skill_id: u32,
    #[prost(uint32, tag = "4")]
    pub jgmipmdppij: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Miiaiodleoa {
    #[prost(message, repeated, tag = "10")]
    pub ganakfaibfc: ::prost::alloc::vec::Vec<Ocmhofemnhi>,
    #[prost(uint32, tag = "11")]
    pub passenger_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epbgfbedanm {
    #[prost(message, repeated, tag = "8")]
    pub llijagdkjco: ::prost::alloc::vec::Vec<TrainPartyPassengerSkillInfo>,
    #[prost(uint32, tag = "11")]
    pub idaihkmmdek: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Glbfbnhfcno {
    #[prost(uint32, tag = "15")]
    pub iehhdalhgpi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbinmaonbcd {
    #[prost(message, repeated, tag = "14")]
    pub skill_info_list: ::prost::alloc::vec::Vec<TrainPartyPassengerSkillInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pjjdmmbkkcn {
    #[prost(uint32, tag = "14")]
    pub khhlnggecpb: u32,
    #[prost(uint32, tag = "11")]
    pub passenger_id: u32,
    #[prost(uint32, tag = "2")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Heojldbkkge {
    #[prost(uint32, tag = "14")]
    pub passenger_id: u32,
    #[prost(uint32, tag = "15")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emmdenjbfpf {
    #[prost(uint32, tag = "9")]
    pub cfokigihcfp: u32,
    #[prost(uint32, tag = "2")]
    pub kmlppmnmpke: u32,
    #[prost(message, repeated, tag = "7")]
    pub mmeiphbnked: ::prost::alloc::vec::Vec<Pjjdmmbkkcn>,
    #[prost(uint32, tag = "14")]
    pub mlipplkiifd: u32,
    #[prost(uint32, tag = "8")]
    pub mliijgoaeck: u32,
    #[prost(message, repeated, tag = "4")]
    pub ccgbhhfbafj: ::prost::alloc::vec::Vec<Heojldbkkge>,
    #[prost(message, repeated, tag = "3")]
    pub kjmliamgdle: ::prost::alloc::vec::Vec<Bjgldljkidh>,
    #[prost(uint32, tag = "12")]
    pub npjeecedpok: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlaySkillBrief {
    #[prost(uint32, tag = "11")]
    pub skill_id: u32,
    #[prost(uint32, tag = "12")]
    pub skill_param: u32,
    #[prost(enumeration = "Lcdemgacekd", tag = "10")]
    pub skill_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayCardBrief {
    #[prost(uint32, tag = "8")]
    pub base_value: u32,
    #[prost(message, repeated, tag = "15")]
    pub skill_brief_list: ::prost::alloc::vec::Vec<PlaySkillBrief>,
    #[prost(uint32, tag = "5")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phoefkfbikd {
    #[prost(uint32, repeated, tag = "1")]
    pub npojmhhibki: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub mkegodinhnc: u32,
    #[prost(message, optional, tag = "4")]
    pub ojcjnbgnicf: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pecglkcicgo {
    #[prost(uint32, repeated, tag = "13")]
    pub canngfdafoe: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbocjhndamc {
    #[prost(message, repeated, tag = "14")]
    pub mmeiphbnked: ::prost::alloc::vec::Vec<Pjjdmmbkkcn>,
    #[prost(message, optional, tag = "12")]
    pub gdghcbghlnd: ::core::option::Option<TrainPartyMeetingCountInfo>,
    #[prost(message, optional, tag = "10")]
    pub mfakjhfmaib: ::core::option::Option<Phoefkfbikd>,
    #[prost(uint32, tag = "5")]
    pub score: u32,
    #[prost(message, repeated, tag = "7")]
    pub omggnaeahif: ::prost::alloc::vec::Vec<PlayCardBrief>,
    #[prost(enumeration = "TrainPartyMtSkillType", tag = "3")]
    pub ijppknknlnl: i32,
    #[prost(message, repeated, tag = "9")]
    pub ccgbhhfbafj: ::prost::alloc::vec::Vec<Heojldbkkge>,
    #[prost(message, repeated, tag = "1")]
    pub bihfecjhpgh: ::prost::alloc::vec::Vec<PlaySkillBrief>,
    #[prost(uint32, tag = "8")]
    pub npjeecedpok: u32,
    #[prost(uint32, tag = "11")]
    pub cfokigihcfp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Encjkpgoial {
    #[prost(uint32, repeated, tag = "13")]
    pub canngfdafoe: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbglldnlgpe {
    #[prost(message, repeated, tag = "12")]
    pub mmeiphbnked: ::prost::alloc::vec::Vec<Pjjdmmbkkcn>,
    #[prost(message, repeated, tag = "8")]
    pub nicgnemched: ::prost::alloc::vec::Vec<PlaySkillBrief>,
    #[prost(uint32, tag = "9")]
    pub kmlppmnmpke: u32,
    #[prost(message, repeated, tag = "4")]
    pub ccgbhhfbafj: ::prost::alloc::vec::Vec<Heojldbkkge>,
}
/// Obf: BHEIBFHJFID
#[derive(proto_derive::CmdID)]
#[cmdid(8072)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyHandlePendingActionCsReq {
    #[prost(uint32, tag = "14")]
    pub hbapccegnme: u32,
    #[prost(
        oneof = "train_party_handle_pending_action_cs_req::Phkgcbnejco",
        tags = "147, 1939, 1515, 1133"
    )]
    pub phkgcbnejco: ::core::option::Option<
        train_party_handle_pending_action_cs_req::Phkgcbnejco,
    >,
}
/// Nested message and enum types in `TrainPartyHandlePendingActionCsReq`.
pub mod train_party_handle_pending_action_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Phkgcbnejco {
        #[prost(message, tag = "147")]
        Iamkdjcfmib(super::Hpfkgddifhg),
        #[prost(message, tag = "1939")]
        Pmmgocjfeej(super::Glbfbnhfcno),
        #[prost(message, tag = "1515")]
        Lgbjaeldpnb(super::Pecglkcicgo),
        #[prost(message, tag = "1133")]
        Bgjmfbhcmkl(super::Encjkpgoial),
    }
}
/// Obf: FKNAGADELDE
#[derive(proto_derive::CmdID)]
#[cmdid(8085)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyHandlePendingActionScRsp {
    #[prost(message, optional, tag = "2")]
    pub hilomekafbp: ::core::option::Option<Fkmbflmegeb>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub hbapccegnme: u32,
    #[prost(bool, tag = "9")]
    pub dlncbjfgkaa: bool,
    #[prost(
        oneof = "train_party_handle_pending_action_sc_rsp::Phkgcbnejco",
        tags = "1786, 1293, 1590, 1088"
    )]
    pub phkgcbnejco: ::core::option::Option<
        train_party_handle_pending_action_sc_rsp::Phkgcbnejco,
    >,
}
/// Nested message and enum types in `TrainPartyHandlePendingActionScRsp`.
pub mod train_party_handle_pending_action_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Phkgcbnejco {
        #[prost(message, tag = "1786")]
        Laelpnhhjik(super::Bfifanaocpc),
        #[prost(message, tag = "1293")]
        Pmojbjmkfan(super::Mbinmaonbcd),
        #[prost(message, tag = "1590")]
        Afdndbaddkp(super::Jbocjhndamc),
        #[prost(message, tag = "1088")]
        Ledfncdfamk(super::Fbglldnlgpe),
    }
}
/// Obf: LHHGJPGIAFE
#[derive(proto_derive::CmdID)]
#[cmdid(8016)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildStartStepCsReq {
    #[prost(uint32, tag = "6")]
    pub area_id: u32,
    #[prost(uint32, tag = "13")]
    pub heidcikedpd: u32,
    #[prost(message, optional, tag = "9")]
    pub alaoddbghpl: ::core::option::Option<Mcnckbnoejg>,
    #[prost(uint32, tag = "2")]
    pub gjfhpcieboj: u32,
}
/// Obf: FLPDEABALAB
#[derive(proto_derive::CmdID)]
#[cmdid(8046)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildStartStepScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub dbjhemippim: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cikohjnagon {
    #[prost(message, optional, tag = "1")]
    pub kcjbmkjlfba: ::core::option::Option<Mcnckbnoejg>,
    #[prost(uint32, tag = "13")]
    pub area_id: u32,
}
/// Obf: IGIOFLAJOLK
#[derive(proto_derive::CmdID)]
#[cmdid(8083)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildDiyCsReq {
    #[prost(uint32, tag = "13")]
    pub cigajenpmkh: u32,
    #[prost(uint32, tag = "3")]
    pub slot_id: u32,
    #[prost(uint32, tag = "8")]
    pub area_id: u32,
    #[prost(bool, tag = "10")]
    pub ganhklnpapi: bool,
}
/// Obf: IGOGLPAJAND
#[derive(proto_derive::CmdID)]
#[cmdid(8060)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildDiyScRsp {
    #[prost(message, repeated, tag = "9")]
    pub fflpklldhlm: ::prost::alloc::vec::Vec<Cikohjnagon>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(bool, tag = "5")]
    pub ganhklnpapi: bool,
    #[prost(message, repeated, tag = "10")]
    pub opdipfbcfdp: ::prost::alloc::vec::Vec<Mcnckbnoejg>,
    #[prost(uint32, tag = "11")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmbdkdlnhmc {
    #[prost(message, repeated, tag = "11")]
    pub cgfihjccgcd: ::prost::alloc::vec::Vec<Ppkdpajpagf>,
    #[prost(uint32, tag = "1")]
    pub okhcjkljghf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnahojlcnja {
    #[prost(uint32, tag = "13")]
    pub heidcikedpd: u32,
    #[prost(uint32, tag = "7")]
    pub progress: u32,
    #[prost(uint32, tag = "9")]
    pub area_id: u32,
    #[prost(message, repeated, tag = "5")]
    pub cgfihjccgcd: ::prost::alloc::vec::Vec<Ppkdpajpagf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iefkfkfmepl {
    #[prost(uint32, tag = "11")]
    pub obokglcmkke: u32,
    #[prost(uint32, tag = "8")]
    pub ppffkfgollj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fnpmcdnkdfj {
    #[prost(uint32, tag = "11")]
    pub bdccopiehin: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gegjhbmloem {
    #[prost(uint32, tag = "10")]
    pub flbnekgidbo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bfddpplmkpg {
    #[prost(uint32, tag = "6")]
    pub mnleikiehhp: u32,
    #[prost(uint32, tag = "15")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kmlehllogjg {
    #[prost(uint32, tag = "13")]
    pub cigajenpmkh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Okfgjeihljm {
    #[prost(uint32, tag = "5")]
    pub fbfihjiiabo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kakjcjomfgh {
    #[prost(uint32, tag = "15")]
    pub cnajoignmlj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mclncbcpaff {
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub cgfihjccgcd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lndgcgobdjl {
    #[prost(message, repeated, tag = "9")]
    pub llephoelgda: ::prost::alloc::vec::Vec<Mclncbcpaff>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppkgjkifelk {
    #[prost(
        oneof = "ppkgjkifelk::Lgnaklfmhff",
        tags = "917, 1834, 645, 497, 265, 204, 1686, 803, 1940, 152"
    )]
    pub lgnaklfmhff: ::core::option::Option<ppkgjkifelk::Lgnaklfmhff>,
}
/// Nested message and enum types in `PPKGJKIFELK`.
pub mod ppkgjkifelk {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Lgnaklfmhff {
        #[prost(message, tag = "917")]
        Maplogdnbgb(super::Okfgjeihljm),
        #[prost(message, tag = "1834")]
        Ekflejankme(super::Kmbdkdlnhmc),
        #[prost(message, tag = "645")]
        Jobejafkecd(super::Jnahojlcnja),
        #[prost(message, tag = "497")]
        Dblbhnphhkb(super::Iefkfkfmepl),
        #[prost(message, tag = "265")]
        Ckbnojapnnb(super::Fnpmcdnkdfj),
        #[prost(message, tag = "204")]
        Nepconhofkj(super::Bfddpplmkpg),
        #[prost(message, tag = "1686")]
        Egdgpikbnlk(super::Kmlehllogjg),
        #[prost(message, tag = "803")]
        Bhofhhemlog(super::Gegjhbmloem),
        #[prost(message, tag = "1940")]
        Haeadfoolnd(super::Kakjcjomfgh),
        #[prost(message, tag = "152")]
        Gaibcbghhgl(super::Lndgcgobdjl),
    }
}
/// Obf: BMOPHHIBHCP
#[derive(proto_derive::CmdID)]
#[cmdid(8002)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildingUpdateNotify {
    #[prost(message, repeated, tag = "15")]
    pub bjdfkemkaol: ::prost::alloc::vec::Vec<Ppkgjkifelk>,
}
/// Obf: DGHAJAOFFAE
#[derive(proto_derive::CmdID)]
#[cmdid(8043)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyEnterCsReq {}
/// Obf: LCOFPKJDPJI
#[derive(proto_derive::CmdID)]
#[cmdid(8033)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyEnterScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: NPBHFJLHLNL
#[derive(proto_derive::CmdID)]
#[cmdid(8042)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyLeaveCsReq {}
/// Obf: JJLKBFPGBIG
#[derive(proto_derive::CmdID)]
#[cmdid(8077)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyLeaveScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bjgldljkidh {
    #[prost(enumeration = "TrainPartyMtSkillType", tag = "3")]
    pub jllnmgbenaf: i32,
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
/// Obf: FPKBMIHOLMG
#[derive(proto_derive::CmdID)]
#[cmdid(8025)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGamePlaySettleNotify {
    #[prost(uint32, repeated, tag = "8")]
    pub olbagkmfdaj: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "6")]
    pub hanfphgemgf: ::core::option::Option<Oibmnpclnjj>,
    #[prost(uint32, tag = "13")]
    pub attempts: u32,
    #[prost(uint32, tag = "3")]
    pub aianofknlhg: u32,
}
/// Obf: DKGFBNFIOBL
#[derive(proto_derive::CmdID)]
#[cmdid(8011)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGamePlayStartCsReq {
    #[prost(uint32, tag = "4")]
    pub goneakbdgek: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub kbgdcehiffj: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IPCPHCIPFBG
#[derive(proto_derive::CmdID)]
#[cmdid(8093)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGamePlayStartScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub kmdphcmbjgb: ::core::option::Option<Cdngndnlnaj>,
}
/// Obf: CCGLODLDCCG
#[derive(proto_derive::CmdID)]
#[cmdid(8051)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyAddBuildDynamicBuffCsReq {}
/// Obf: PAKLHDBGCLE
#[derive(proto_derive::CmdID)]
#[cmdid(8091)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyAddBuildDynamicBuffScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub buff_id: u32,
}
/// Obf: FLACIGJGGCJ
#[derive(proto_derive::CmdID)]
#[cmdid(8030)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyTakeBuildLevelAwardCsReq {
    #[prost(uint32, tag = "14")]
    pub ecclpifmmpp: u32,
}
/// Obf: EMLBHKHIBGI
#[derive(proto_derive::CmdID)]
#[cmdid(8075)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyTakeBuildLevelAwardScRsp {
    #[prost(uint32, tag = "7")]
    pub ecclpifmmpp: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gbcdkgekcpp {
    #[prost(uint32, tag = "2")]
    pub visitor_id: u32,
    #[prost(bool, tag = "9")]
    pub iagodfdjaik: bool,
}
/// Obf: OACBEIPOBJI
#[derive(proto_derive::CmdID)]
#[cmdid(3795)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainVisitorBehaviorFinishCsReq {
    #[prost(uint32, tag = "5")]
    pub visitor_id: u32,
}
/// Obf: FKIFBIGHAAP
#[derive(proto_derive::CmdID)]
#[cmdid(3732)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainVisitorBehaviorFinishScRsp {
    #[prost(uint32, tag = "3")]
    pub visitor_id: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: LMINIONBHAM
#[derive(proto_derive::CmdID)]
#[cmdid(3731)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrainVisitorBehaviorCsReq {
    #[prost(uint32, repeated, tag = "4")]
    pub oifnlnbkdma: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ALNDKEMKEBB
#[derive(proto_derive::CmdID)]
#[cmdid(3740)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrainVisitorBehaviorScRsp {
    #[prost(message, repeated, tag = "5")]
    pub ecfopdhgkfb: ::prost::alloc::vec::Vec<Gbcdkgekcpp>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: BELCDBIGMEO
#[derive(proto_derive::CmdID)]
#[cmdid(3776)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainRefreshTimeNotify {
    #[prost(uint64, tag = "4")]
    pub train_refresh_time: u64,
}
/// Obf: OCGDCMPOEDA
#[derive(proto_derive::CmdID)]
#[cmdid(3748)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainVisitorRewardSendNotify {
    #[prost(enumeration = "Iippjkhmpch", tag = "9")]
    pub slot: i32,
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "12")]
    pub visitor_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hglkmjfehmb {
    #[prost(bool, tag = "15")]
    pub ijabkdepgma: bool,
    #[prost(uint32, tag = "1")]
    pub visitor_id: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub edhhgcpdkik: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Llmibdpfjnd", tag = "6")]
    pub status: i32,
    #[prost(uint32, tag = "13")]
    pub opaokgjbooe: u32,
}
/// Obf: JDJCNCPPAMF
#[derive(proto_derive::CmdID)]
#[cmdid(3771)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTrainVisitorRegisterCsReq {
    #[prost(enumeration = "Jfjjfgaeoab", tag = "1")]
    pub slot: i32,
}
/// Obf: HNGKFNOAJFH
#[derive(proto_derive::CmdID)]
#[cmdid(3752)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrainVisitorRegisterScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "5")]
    pub fdmfkaljbaj: ::prost::alloc::vec::Vec<Hglkmjfehmb>,
    #[prost(uint32, repeated, tag = "15")]
    pub famhpmfoijh: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FNLKMOEFPDA
#[derive(proto_derive::CmdID)]
#[cmdid(3722)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeTrainVisitorUntakenBehaviorRewardCsReq {
    #[prost(uint32, tag = "8")]
    pub visitor_id: u32,
}
/// Obf: ODJGBFIMGCK
#[derive(proto_derive::CmdID)]
#[cmdid(3756)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTrainVisitorUntakenBehaviorRewardScRsp {
    #[prost(uint32, repeated, tag = "6")]
    pub edhhgcpdkik: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub visitor_id: u32,
}
/// Obf: ONLDPCLJMLP
#[derive(proto_derive::CmdID)]
#[cmdid(3772)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShowNewSupplementVisitorCsReq {
    #[prost(uint32, repeated, tag = "6")]
    pub famhpmfoijh: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GMJIFOALLOJ
#[derive(proto_derive::CmdID)]
#[cmdid(3785)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ShowNewSupplementVisitorScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nhbddinfkoh {
    #[prost(uint32, tag = "3")]
    pub iimoplcfhah: u32,
    #[prost(int32, tag = "10")]
    pub lljaegobhmp: i32,
    #[prost(uint32, tag = "11")]
    pub item_id: u32,
    #[prost(uint64, tag = "12")]
    pub unique_id: u64,
    #[prost(int32, tag = "2")]
    pub ieagbpemflg: i32,
    #[prost(uint32, tag = "14")]
    pub kbcdecdnefm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kchjhcljock {
    #[prost(uint32, tag = "1")]
    pub diphgghfmcp: u32,
    #[prost(uint32, tag = "10")]
    pub cpodejofpdd: u32,
    #[prost(enumeration = "Dcjaopdinoi", tag = "7")]
    pub embkicmefco: i32,
    #[prost(message, repeated, tag = "8")]
    pub hjbpkcfkhli: ::prost::alloc::vec::Vec<Nhbddinfkoh>,
    #[prost(enumeration = "Hgkkppljboi", tag = "4")]
    pub clfgfaboiop: i32,
}
/// Obf: NKPEMNOPMNO
#[derive(proto_derive::CmdID)]
#[cmdid(6495)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureGetDataCsReq {}
/// Obf: OEPEPLALCOB
#[derive(proto_derive::CmdID)]
#[cmdid(6432)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureGetDataScRsp {
    #[prost(uint32, tag = "1")]
    pub kmhdfladepi: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(map = "uint32, uint32", tag = "8")]
    pub fkbbomhekpe: ::std::collections::HashMap<u32, u32>,
    #[prost(map = "uint32, message", tag = "14")]
    pub mibclbgmdla: ::std::collections::HashMap<u32, Kchjhcljock>,
}
/// Obf: ICIFONJONFA
#[derive(proto_derive::CmdID)]
#[cmdid(6431)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochurePageUnlockScNotify {
    #[prost(uint32, tag = "6")]
    pub cpodejofpdd: u32,
}
/// Obf: ELLAHNNAPLN
#[derive(proto_derive::CmdID)]
#[cmdid(6476)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureSelectMessageCsReq {
    #[prost(uint32, tag = "10")]
    pub diphgghfmcp: u32,
    #[prost(uint32, tag = "6")]
    pub cpodejofpdd: u32,
}
/// Obf: IOHEBKBCGNE
#[derive(proto_derive::CmdID)]
#[cmdid(6448)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureSelectMessageScRsp {
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "13")]
    pub cagglkliimf: ::core::option::Option<Kchjhcljock>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: FBLEAEPJAMC
#[derive(proto_derive::CmdID)]
#[cmdid(6471)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureApplyPasterCsReq {
    #[prost(uint32, tag = "11")]
    pub item_id: u32,
    #[prost(uint32, tag = "12")]
    pub kbcdecdnefm: u32,
    #[prost(uint32, tag = "9")]
    pub iimoplcfhah: u32,
    #[prost(uint32, tag = "3")]
    pub cpodejofpdd: u32,
    #[prost(int32, tag = "5")]
    pub lljaegobhmp: i32,
    #[prost(int32, tag = "2")]
    pub ieagbpemflg: i32,
}
/// Obf: CHEPGAMCBIH
#[derive(proto_derive::CmdID)]
#[cmdid(6452)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureApplyPasterScRsp {
    #[prost(message, optional, tag = "4")]
    pub cagglkliimf: ::core::option::Option<Kchjhcljock>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: CHGGONIIOHA
#[derive(proto_derive::CmdID)]
#[cmdid(6422)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureRemovePasterCsReq {
    #[prost(uint64, tag = "11")]
    pub unique_id: u64,
    #[prost(uint32, tag = "4")]
    pub cpodejofpdd: u32,
    #[prost(uint32, tag = "9")]
    pub item_id: u32,
}
/// Obf: ECBKPCALDFD
#[derive(proto_derive::CmdID)]
#[cmdid(6456)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureRemovePasterScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub cagglkliimf: ::core::option::Option<Kchjhcljock>,
}
/// Obf: BNIFAHOFPCL
#[derive(proto_derive::CmdID)]
#[cmdid(6472)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureUpdatePasterPosCsReq {
    #[prost(uint32, tag = "8")]
    pub cpodejofpdd: u32,
    #[prost(int32, tag = "9")]
    pub lljaegobhmp: i32,
    #[prost(uint32, tag = "14")]
    pub kbcdecdnefm: u32,
    #[prost(uint32, tag = "5")]
    pub iimoplcfhah: u32,
    #[prost(uint32, tag = "12")]
    pub item_id: u32,
    #[prost(uint64, tag = "1")]
    pub unique_id: u64,
    #[prost(int32, tag = "7")]
    pub ieagbpemflg: i32,
}
/// Obf: BLKKMEBCFNC
#[derive(proto_derive::CmdID)]
#[cmdid(6485)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureUpdatePasterPosScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub cagglkliimf: ::core::option::Option<Kchjhcljock>,
}
/// Obf: CCCDIFAFKDA
#[derive(proto_derive::CmdID)]
#[cmdid(6416)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureGetPasterScNotify {
    #[prost(uint32, tag = "8")]
    pub num: u32,
    #[prost(uint32, tag = "1")]
    pub fkkobdmfhil: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gkdihiffhfd {
    #[prost(uint32, tag = "13")]
    pub num: u32,
    #[prost(uint32, tag = "3")]
    pub fkkobdmfhil: u32,
}
/// Obf: EFDCMPEMNDE
#[derive(proto_derive::CmdID)]
#[cmdid(6483)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureSetCustomValueCsReq {
    #[prost(uint32, tag = "4")]
    pub value: u32,
}
/// Obf: NHHPGHKFOKA
#[derive(proto_derive::CmdID)]
#[cmdid(6460)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureSetCustomValueScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: FPNIALGEAGM
#[derive(proto_derive::CmdID)]
#[cmdid(6402)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureSetPageDescStatusCsReq {
    #[prost(uint32, tag = "12")]
    pub cpodejofpdd: u32,
    #[prost(enumeration = "Dcjaopdinoi", tag = "9")]
    pub geibgfdenja: i32,
}
/// Obf: BIDKIKBGMPF
#[derive(proto_derive::CmdID)]
#[cmdid(6439)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureSetPageDescStatusScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: HBDADEIJEMO
#[derive(proto_derive::CmdID)]
#[cmdid(6443)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochurePageResetCsReq {
    #[prost(uint32, tag = "1")]
    pub cpodejofpdd: u32,
}
/// Obf: DFLIIEMHJBI
#[derive(proto_derive::CmdID)]
#[cmdid(6433)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochurePageResetScRsp {
    #[prost(message, optional, tag = "9")]
    pub cagglkliimf: ::core::option::Option<Kchjhcljock>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kbjphlnapgi {
    #[prost(uint32, tag = "1")]
    pub iimoplcfhah: u32,
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
    #[prost(uint32, tag = "12")]
    pub kbcdecdnefm: u32,
    #[prost(int32, tag = "2")]
    pub ieagbpemflg: i32,
    #[prost(int32, tag = "10")]
    pub lljaegobhmp: i32,
}
/// Obf: NLJPMPBFPAF
#[derive(proto_derive::CmdID)]
#[cmdid(6442)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureApplyPasterListCsReq {
    #[prost(uint32, tag = "9")]
    pub cpodejofpdd: u32,
    #[prost(message, repeated, tag = "7")]
    pub gedglncpggn: ::prost::alloc::vec::Vec<Kbjphlnapgi>,
}
/// Obf: HOOFPBMCIBH
#[derive(proto_derive::CmdID)]
#[cmdid(6477)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureApplyPasterListScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub cagglkliimf: ::core::option::Option<Kchjhcljock>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TreasureDungeonRecordData {
    #[prost(uint32, tag = "7")]
    pub source_grid_id: u32,
    #[prost(uint32, tag = "10")]
    pub target_grid_id: u32,
    #[prost(uint32, tag = "8")]
    pub param1: u32,
    #[prost(uint32, tag = "12")]
    pub param2: u32,
    #[prost(enumeration = "Imknbjcoiop", tag = "4")]
    pub r#type: i32,
}
/// Obf: OEKOJKFLFMM
#[derive(proto_derive::CmdID)]
#[cmdid(4495)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TreasureDungeonDataScNotify {
    #[prost(message, optional, tag = "5")]
    pub dlejpjjcelj: ::core::option::Option<Klcknklponm>,
}
/// Obf: KIIHPDMPPAK
#[derive(proto_derive::CmdID)]
#[cmdid(4432)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TreasureDungeonFinishScNotify {
    #[prost(uint32, tag = "7")]
    pub pikapdjhgnd: u32,
    #[prost(map = "uint32, uint32", tag = "3")]
    pub kgmmpgfgodj: ::std::collections::HashMap<u32, u32>,
    #[prost(map = "uint32, uint32", tag = "8")]
    pub jbcgkldmhnl: ::std::collections::HashMap<u32, u32>,
    #[prost(bool, tag = "12")]
    pub is_win: bool,
    #[prost(uint32, tag = "13")]
    pub aecncdpjpdg: u32,
    #[prost(uint32, tag = "5")]
    pub hohhbihfjeh: u32,
    #[prost(uint32, tag = "4")]
    pub nlmdemohboo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klcknklponm {
    #[prost(uint32, tag = "12")]
    pub fcjeckcickb: u32,
    #[prost(message, repeated, tag = "56")]
    pub avatar_list: ::prost::alloc::vec::Vec<Pcaignjkafa>,
    #[prost(message, repeated, tag = "11")]
    pub mkoambmkdid: ::prost::alloc::vec::Vec<Lkcmfeaahhm>,
    #[prost(uint32, tag = "14")]
    pub phhkbaenbmm: u32,
    #[prost(uint32, tag = "13")]
    pub pikapdjhgnd: u32,
    #[prost(uint32, tag = "9")]
    pub map_id: u32,
    #[prost(message, repeated, tag = "1002")]
    pub item_list: ::prost::alloc::vec::Vec<Lhanbgnjcif>,
    #[prost(bool, tag = "885")]
    pub nodbpkhojec: bool,
    #[prost(message, repeated, tag = "3")]
    pub bbckfjihidm: ::prost::alloc::vec::Vec<TreasureDungeonRecordData>,
    #[prost(uint32, tag = "8")]
    pub ncbhadloaga: u32,
    #[prost(bool, tag = "121")]
    pub cfdpdenppdh: bool,
    #[prost(uint32, tag = "363")]
    pub iialglddnad: u32,
    #[prost(message, repeated, tag = "268")]
    pub gffojccklfm: ::prost::alloc::vec::Vec<Pcaignjkafa>,
    #[prost(bool, tag = "1435")]
    pub nmfapgolodj: bool,
    #[prost(message, repeated, tag = "36")]
    pub buff_list: ::prost::alloc::vec::Vec<Enbnfolcdie>,
    #[prost(uint32, tag = "6")]
    pub jafnpnmohcm: u32,
    #[prost(message, repeated, tag = "1232")]
    pub kjjomephjee: ::prost::alloc::vec::Vec<Lkhhgjppmpp>,
    #[prost(uint32, tag = "4")]
    pub nlmdemohboo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lhanbgnjcif {
    #[prost(uint32, tag = "1")]
    pub mbejblfhcbh: u32,
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pcaignjkafa {
    #[prost(uint32, tag = "4")]
    pub hp: u32,
    #[prost(uint32, tag = "7")]
    pub avatar_type: u32,
    #[prost(message, optional, tag = "10")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    #[prost(uint32, tag = "14")]
    pub eajljnbnpnp: u32,
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lkhhgjppmpp {
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "1")]
    pub avatar_type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Enbnfolcdie {
    #[prost(uint32, tag = "9")]
    pub akahnmlnefn: u32,
    #[prost(uint32, tag = "12")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkcmfeaahhm {
    #[prost(bool, tag = "3")]
    pub locked: bool,
    #[prost(bool, tag = "7")]
    pub demncglljcp: bool,
    #[prost(message, repeated, tag = "1329")]
    pub buff_list: ::prost::alloc::vec::Vec<Gggcocpgbbh>,
    #[prost(uint32, tag = "11")]
    pub monhibbpkee: u32,
    #[prost(bool, tag = "12")]
    pub knlfeldecal: bool,
    #[prost(uint32, tag = "4")]
    pub ollhobhdden: u32,
    #[prost(bool, tag = "13")]
    pub limmileapjm: bool,
    #[prost(uint32, tag = "1")]
    pub hfnhlcfnhkd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gggcocpgbbh {
    #[prost(uint32, tag = "11")]
    pub leaaebafchp: u32,
    #[prost(uint32, tag = "12")]
    pub ecghnfccbjj: u32,
    #[prost(uint32, tag = "6")]
    pub hfnhlcfnhkd: u32,
    #[prost(uint32, tag = "3")]
    pub buff_id: u32,
    #[prost(uint32, tag = "1")]
    pub egkdinmmena: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Abhfabfgpof {
    #[prost(uint32, tag = "7")]
    pub fcjeckcickb: u32,
    #[prost(uint32, tag = "9")]
    pub nlmdemohboo: u32,
    #[prost(bool, tag = "5")]
    pub cloonoifefo: bool,
    #[prost(uint32, tag = "3")]
    pub jafnpnmohcm: u32,
    #[prost(uint32, tag = "12")]
    pub pikapdjhgnd: u32,
    #[prost(bool, tag = "4")]
    pub biinncndpcg: bool,
    #[prost(uint32, tag = "13")]
    pub nkhkdjkegdh: u32,
}
/// Obf: NKFCKCACHEC
#[derive(proto_derive::CmdID)]
#[cmdid(4472)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTreasureDungeonActivityDataCsReq {}
/// Obf: HPFFPDGLGKL
#[derive(proto_derive::CmdID)]
#[cmdid(4485)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTreasureDungeonActivityDataScRsp {
    #[prost(message, repeated, tag = "9")]
    pub hiookmoandn: ::prost::alloc::vec::Vec<Abhfabfgpof>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: AKOOMBKLAMP
#[derive(proto_derive::CmdID)]
#[cmdid(4416)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTreasureDungeonCsReq {
    #[prost(message, repeated, tag = "8")]
    pub avatar_list: ::prost::alloc::vec::Vec<Jackejlkjna>,
    #[prost(uint32, tag = "11")]
    pub nlmdemohboo: u32,
}
/// Obf: GMLFLPNFDOH
#[derive(proto_derive::CmdID)]
#[cmdid(4446)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTreasureDungeonScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub dlejpjjcelj: ::core::option::Option<Klcknklponm>,
}
/// Obf: GFDIOLJOMAJ
#[derive(proto_derive::CmdID)]
#[cmdid(4483)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpenTreasureDungeonGridCsReq {
    #[prost(uint32, tag = "7")]
    pub hfnhlcfnhkd: u32,
    #[prost(uint32, tag = "5")]
    pub nlmdemohboo: u32,
}
/// Obf: IAABENEAADF
#[derive(proto_derive::CmdID)]
#[cmdid(4460)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenTreasureDungeonGridScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub dlejpjjcelj: ::core::option::Option<Klcknklponm>,
}
/// Obf: JFMCKKGFKFI
#[derive(proto_derive::CmdID)]
#[cmdid(4443)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InteractTreasureDungeonGridCsReq {
    #[prost(uint32, tag = "4")]
    pub hfnhlcfnhkd: u32,
    #[prost(uint32, tag = "6")]
    pub display_value: u32,
    #[prost(uint32, tag = "12")]
    pub nlmdemohboo: u32,
}
/// Obf: MMEEDEJFBAC
#[derive(proto_derive::CmdID)]
#[cmdid(4433)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InteractTreasureDungeonGridScRsp {
    #[prost(message, optional, tag = "9")]
    pub dlejpjjcelj: ::core::option::Option<Klcknklponm>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: GEHCEAFOCHN
#[derive(proto_derive::CmdID)]
#[cmdid(4442)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UseTreasureDungeonItemCsReq {
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
    #[prost(uint32, tag = "3")]
    pub hfnhlcfnhkd: u32,
    #[prost(uint32, tag = "14")]
    pub nlmdemohboo: u32,
}
/// Obf: OLHDFPOJCNN
#[derive(proto_derive::CmdID)]
#[cmdid(4477)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UseTreasureDungeonItemScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub dlejpjjcelj: ::core::option::Option<Klcknklponm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jackejlkjna {
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "14")]
    pub avatar_type: i32,
}
/// Obf: LBMFNALBLOK
#[derive(proto_derive::CmdID)]
#[cmdid(4402)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightTreasureDungeonMonsterCsReq {
    #[prost(uint32, tag = "13")]
    pub hfnhlcfnhkd: u32,
    #[prost(message, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<Jackejlkjna>,
    #[prost(uint32, tag = "14")]
    pub nlmdemohboo: u32,
}
/// Obf: KAFEBFDKNIE
#[derive(proto_derive::CmdID)]
#[cmdid(4439)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightTreasureDungeonMonsterScRsp {
    #[prost(message, optional, tag = "8")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: FPKJPABNAPF
#[derive(proto_derive::CmdID)]
#[cmdid(4458)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitTreasureDungeonCsReq {
    #[prost(uint32, tag = "6")]
    pub nlmdemohboo: u32,
    #[prost(bool, tag = "1")]
    pub pcpdfjhdjcc: bool,
}
/// Obf: IAMOBNBMCIF
#[derive(proto_derive::CmdID)]
#[cmdid(4421)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitTreasureDungeonScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Tutorial {
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(enumeration = "TutorialStatus", tag = "3")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TutorialGuide {
    #[prost(enumeration = "TutorialStatus", tag = "6")]
    pub status: i32,
    #[prost(uint32, tag = "7")]
    pub id: u32,
}
/// Obf: FKJBDHDHNNH
#[derive(proto_derive::CmdID)]
#[cmdid(1695)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTutorialCsReq {}
/// Obf: GetTutorialScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1632)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "9")]
    pub tutorial_list: ::prost::alloc::vec::Vec<Tutorial>,
}
/// Obf: LCNDJLKGLNN
#[derive(proto_derive::CmdID)]
#[cmdid(1631)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTutorialGuideCsReq {}
/// Obf: GetTutorialGuideScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1640)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialGuideScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "5")]
    pub tutorial_guide_list: ::prost::alloc::vec::Vec<TutorialGuide>,
}
/// Obf: HBLPNJNGONJ
#[derive(proto_derive::CmdID)]
#[cmdid(1676)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockTutorialCsReq {
    #[prost(uint32, tag = "7")]
    pub tutorial_id: u32,
}
/// Obf: UnlockTutorialScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1648)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockTutorialScRsp {
    #[prost(message, optional, tag = "10")]
    pub tutorial: ::core::option::Option<Tutorial>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: ACGNLIALGGG
#[derive(proto_derive::CmdID)]
#[cmdid(1671)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockTutorialGuideCsReq {
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
}
/// Obf: UnlockTutorialGuideScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1652)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockTutorialGuideScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub tutorial_guide: ::core::option::Option<TutorialGuide>,
}
/// Obf: AJEMPHNPADK
#[derive(proto_derive::CmdID)]
#[cmdid(1622)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishTutorialCsReq {
    #[prost(uint32, tag = "15")]
    pub tutorial_id: u32,
}
/// Obf: FinishTutorialScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1656)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishTutorialScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub tutorial: ::core::option::Option<Tutorial>,
}
/// Obf: FLHGCMBLLFH
#[derive(proto_derive::CmdID)]
#[cmdid(1672)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishTutorialGuideCsReq {
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
}
/// Obf: FinishTutorialGuideScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1685)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTutorialGuideScRsp {
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "6")]
    pub tutorial_guide: ::core::option::Option<TutorialGuide>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oiphnjefjlp {
    #[prost(uint32, tag = "9")]
    pub khfgdkngfdp: u32,
    #[prost(uint32, tag = "14")]
    pub id: u32,
    #[prost(bool, tag = "6")]
    pub is_new: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eikmjejlmgc {
    #[prost(bool, tag = "14")]
    pub is_new: bool,
    #[prost(uint32, repeated, tag = "15")]
    pub ioodmakjdif: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub nckelkegbgl: u32,
    #[prost(uint32, tag = "11")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljjokghfidf {
    #[prost(message, repeated, tag = "5")]
    pub konbfjpinhn: ::prost::alloc::vec::Vec<Oiphnjefjlp>,
    #[prost(message, optional, tag = "11")]
    pub gokhjlmpnff: ::core::option::Option<Eikmjejlmgc>,
}
/// Obf: PLHMKHOFDHI
#[derive(proto_derive::CmdID)]
#[cmdid(495)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetWaypointCsReq {
    #[prost(uint32, tag = "15")]
    pub kiekjeffphk: u32,
}
/// Obf: BEBAEGDMBEL
#[derive(proto_derive::CmdID)]
#[cmdid(432)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetWaypointScRsp {
    #[prost(message, optional, tag = "9")]
    pub fjjflkcmidj: ::core::option::Option<Ljjokghfidf>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub hoeahbifkci: u32,
}
/// Obf: FPGAEHAKKAF
#[derive(proto_derive::CmdID)]
#[cmdid(431)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetCurWaypointCsReq {
    #[prost(uint32, tag = "13")]
    pub nkcmnafaioi: u32,
}
/// Obf: HMBALMGNPCK
#[derive(proto_derive::CmdID)]
#[cmdid(440)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetCurWaypointScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub hoeahbifkci: u32,
}
/// Obf: IHIHLPFGCGN
#[derive(proto_derive::CmdID)]
#[cmdid(476)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChapterCsReq {}
/// Obf: LEGFMFINLNL
#[derive(proto_derive::CmdID)]
#[cmdid(448)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChapterScRsp {
    #[prost(uint32, tag = "8")]
    pub hoeahbifkci: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub ielpiclbbji: ::prost::alloc::vec::Vec<Eikmjejlmgc>,
}
/// Obf: MIBOLEPDJAB
#[derive(proto_derive::CmdID)]
#[cmdid(471)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WaypointShowNewCsNotify {
    #[prost(uint32, tag = "8")]
    pub kiekjeffphk: u32,
    #[prost(uint32, tag = "3")]
    pub nkcmnafaioi: u32,
}
/// Obf: INMIPNINICF
#[derive(proto_derive::CmdID)]
#[cmdid(452)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeChapterRewardCsReq {
    #[prost(uint32, tag = "14")]
    pub akdghhnklej: u32,
    #[prost(uint32, tag = "3")]
    pub kiekjeffphk: u32,
}
/// Obf: FMEOOOHLMEJ
#[derive(proto_derive::CmdID)]
#[cmdid(422)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeChapterRewardScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub kiekjeffphk: u32,
    #[prost(uint32, tag = "3")]
    pub akdghhnklej: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfpffjimckm {
    #[prost(bool, tag = "3")]
    pub bdnflicnfhn: bool,
    #[prost(message, repeated, tag = "2")]
    pub opcldnllnfh: ::prost::alloc::vec::Vec<Vector>,
    #[prost(uint32, tag = "7")]
    pub lkjmlidaodm: u32,
    #[prost(message, optional, tag = "14")]
    pub motion: ::core::option::Option<MotionInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hehpioggieg {
    #[prost(string, tag = "9")]
    pub miilnlhddjm: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub lkjmlidaodm: u32,
    #[prost(message, repeated, tag = "2")]
    pub opcldnllnfh: ::prost::alloc::vec::Vec<Vector>,
    #[prost(uint32, tag = "6")]
    pub id: u32,
    #[prost(bool, tag = "5")]
    pub bdnflicnfhn: bool,
    #[prost(message, optional, tag = "12")]
    pub hefjejhojea: ::core::option::Option<Hfpffjimckm>,
}
/// Obf: PPNCELOONKK
#[derive(proto_derive::CmdID)]
#[cmdid(6504)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartWolfBroGameCsReq {
    #[prost(bool, tag = "3")]
    pub djfcmlipdab: bool,
    #[prost(uint32, tag = "12")]
    pub id: u32,
    #[prost(message, optional, tag = "5")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(message, optional, tag = "11")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
/// Obf: CLLNMGKEFAM
#[derive(proto_derive::CmdID)]
#[cmdid(6546)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartWolfBroGameScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
}
/// Obf: GMMCJKMEGNO
#[derive(proto_derive::CmdID)]
#[cmdid(6502)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ArchiveWolfBroGameCsReq {
    #[prost(uint32, tag = "3")]
    pub id: u32,
    #[prost(message, optional, tag = "4")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Obf: LBHKNCBDGCO
#[derive(proto_derive::CmdID)]
#[cmdid(6537)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArchiveWolfBroGameScRsp {
    #[prost(message, optional, tag = "6")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: GIGAEOCILFF
#[derive(proto_derive::CmdID)]
#[cmdid(6536)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RestoreWolfBroGameArchiveCsReq {
    #[prost(uint32, tag = "11")]
    pub id: u32,
}
/// Obf: GAGANNMHEPA
#[derive(proto_derive::CmdID)]
#[cmdid(6517)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestoreWolfBroGameArchiveScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
}
/// Obf: FEFMJKKEMKP
#[derive(proto_derive::CmdID)]
#[cmdid(6527)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitWolfBroGameCsReq {
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
/// Obf: CKLCOEHEMKE
#[derive(proto_derive::CmdID)]
#[cmdid(6515)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitWolfBroGameScRsp {
    #[prost(message, optional, tag = "10")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: KNPEDHPKKHC
#[derive(proto_derive::CmdID)]
#[cmdid(6543)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetWolfBroGameDataCsReq {
    #[prost(uint32, tag = "10")]
    pub id: u32,
}
/// Obf: LJEMHMMIAGF
#[derive(proto_derive::CmdID)]
#[cmdid(6509)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetWolfBroGameDataScRsp {
    #[prost(message, optional, tag = "12")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: LPFGHGCJBIL
#[derive(proto_derive::CmdID)]
#[cmdid(6545)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGameDataChangeScNotify {
    #[prost(message, optional, tag = "4")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
}
/// Obf: DPAPCGKGEKC
#[derive(proto_derive::CmdID)]
#[cmdid(6507)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGameUseBulletCsReq {
    #[prost(message, optional, tag = "12")]
    pub mibcfimmikg: ::core::option::Option<Vector>,
    #[prost(uint32, repeated, tag = "4")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JNDKCCLFKIF
#[derive(proto_derive::CmdID)]
#[cmdid(6550)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGameUseBulletScRsp {
    #[prost(message, optional, tag = "11")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: FDKODKFMHLK
#[derive(proto_derive::CmdID)]
#[cmdid(6540)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WolfBroGamePickupBulletCsReq {
    #[prost(message, optional, tag = "11")]
    pub mibcfimmikg: ::core::option::Option<Vector>,
}
/// Obf: JABEPKAINFO
#[derive(proto_derive::CmdID)]
#[cmdid(6520)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGamePickupBulletScRsp {
    #[prost(message, optional, tag = "15")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: FKOLLCMEFIJ
#[derive(proto_derive::CmdID)]
#[cmdid(6544)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WolfBroGameActivateBulletCsReq {
    #[prost(uint32, tag = "10")]
    pub config_id: u32,
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
}
/// Obf: FKHKJGFHAHE
#[derive(proto_derive::CmdID)]
#[cmdid(6532)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WolfBroGameActivateBulletScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: PHHDAGNAABO
#[derive(proto_derive::CmdID)]
#[cmdid(6523)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGameExplodeMonsterCsReq {
    #[prost(uint32, repeated, tag = "14")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IHPNAMPDBGJ
#[derive(proto_derive::CmdID)]
#[cmdid(6526)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WolfBroGameExplodeMonsterScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: CCIFHOLFGNG
#[derive(proto_derive::CmdID)]
#[cmdid(7626)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WorldUnlockCsReq {
    #[prost(uint32, tag = "7")]
    pub npebnekdlen: u32,
}
/// Obf: LEMIOKMIODL
#[derive(proto_derive::CmdID)]
#[cmdid(7627)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WorldUnlockScRsp {
    #[prost(uint32, tag = "2")]
    pub npebnekdlen: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lnkfbaedodi {
    #[prost(uint32, tag = "1")]
    pub dghngblhail: u32,
    #[prost(uint32, tag = "2")]
    pub mpgpgfkbmhg: u32,
    #[prost(uint32, tag = "3")]
    pub gkjkkdaopam: u32,
    #[prost(uint32, tag = "4")]
    pub olccimlmmad: u32,
    #[prost(uint32, tag = "5")]
    pub elhepmnlapg: u32,
    #[prost(uint32, tag = "6")]
    pub piamlfbihpi: u32,
    #[prost(uint32, tag = "7")]
    pub cfcajemdfkj: u32,
    #[prost(uint32, tag = "8")]
    pub fephhkigoop: u32,
    #[prost(uint32, tag = "9")]
    pub mopdhnencpc: u32,
    #[prost(uint32, tag = "10")]
    pub edfpconikdc: u32,
    #[prost(uint32, tag = "11")]
    pub id: u32,
    #[prost(uint32, tag = "12")]
    pub hoghlbeedga: u32,
    #[prost(uint32, tag = "13")]
    pub bipfifcjcbn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlayerActionType {
    PlayerActionNone = 0,
    PlayerActionRegister = 1,
    PlayerActionLogin = 2,
    PlayerActionLogout = 3,
    PlayerActionAddExp = 4,
    PlayerActionLevelUp = 5,
    PlayerActionAddMaterial = 6,
    PlayerActionSaveStat = 7,
    PlayerActionTravelBrochureInteract = 8,
    PlayerActionRecharge = 101,
    PlayerActionBuyGoods = 102,
    PlayerActionAddCoin = 103,
    PlayerActionMonthCardDailyHcoin = 104,
    PlayerActionMonthCardBuyMcoin = 105,
    PlayerActionRechargeFreeCoin = 106,
    PlayerActionAddMonthCard = 107,
    PlayerActionRechargeGiftPay = 108,
    PlayerActionRechargeGiftFree = 109,
    PlayerActionRechargeBenefit = 110,
    PlayerActionRechargeGiftTakeReward = 111,
    PlayerActionRechargeGiftReach = 112,
    PlayerActionRechargeBenefitReach = 113,
    PlayerActionMissionAccept = 201,
    PlayerActionMissionFinish = 202,
    PlayerActionMissionFail = 203,
    PlayerActionMainMissionAccept = 204,
    PlayerActionSubMissionAccept = 205,
    PlayerActionMainMissionFinish = 206,
    PlayerActionSubMissionFinish = 207,
    PlayerActionDailyTaskFinish = 208,
    PlayerActionDailyTaskTakeReward = 209,
    PlayerActionNpcTalkReward = 210,
    PlayerActionMainMissionRecover = 211,
    PlayerActionMainMissionDisable = 212,
    PlayerActionConsumeItemSubMissionFinish = 213,
    PlayerActionGm = 1001,
    PlayerActionCustomOp = 1002,
    PlayerActionCheckSum = 1003,
    PlayerActionPlayerLocation = 1004,
    PlayerActionChangeLanguage = 1005,
    PlayerActionClientReport = 1006,
    PlayerActionAceReport = 1007,
    PlayerActionPlayerPowerInfo = 1008,
    PlayerActionDailyRefresh = 1009,
    PlayerActionAvatarValueInfo = 1010,
    PlayerActionMoveCheckFailedReport = 1011,
    PlayerActionBattleFailedReport = 1012,
    PlayerActionSecurityReport = 1013,
    PlayerActionAvatarPromotion = 1101,
    PlayerActionAvatarAdd = 1103,
    PlayerActionAvatarUseExpItem = 1104,
    PlayerActionAvatarLevelUp = 1105,
    PlayerActionSkillTreeUp = 1106,
    PlayerActionAvatarHpChange = 1107,
    PlayerActionAvatarMpChange = 1108,
    PlayerActionAvatarAddExp = 1109,
    PlayerActionAvatarRankUp = 1110,
    PlayerActionAvatarRepeated = 1111,
    PlayerActionMpMaxChange = 1112,
    PlayerActionAvatarTakePromotionReward = 1113,
    PlayerActionAvatarRelicAffixInfo = 1114,
    PlayerActionAvatarMark = 1115,
    PlayerActionAvatarSystemPowerReset = 1116,
    PlayerActionAvatarChangePath = 1119,
    PlayerActionSetGrowthTargetAvatar = 1120,
    PlayerActionDelAvatar = 1121,
    PlayerActionAvatarSkinChange = 1122,
    PlayerActionSetGrowthTargetFunctionConfig = 1123,
    PlayerActionAvatarSkinActivityReissue = 1124,
    PlayerActionStageBegin = 1202,
    PlayerActionStageEnd = 1203,
    PlayerActionCocoonStageBegin = 1205,
    PlayerActionCocoonStageEnd = 1206,
    PlayerActionFarmElementEnd = 1207,
    PlayerActionElementStageEnd = 1208,
    PlayerActionCocoonSweep = 1209,
    PlayerActionFarmElementSweep = 1210,
    PlayerActionRecoverStamina = 1301,
    PlayerActionExchangeStamina = 1302,
    PlayerActionLoginReward = 1303,
    PlayerActionModifyNickname = 1304,
    PlayerActionGetLevelReward = 1305,
    PlayerActionWorldLevelUp = 1306,
    PlayerActionAddStamina = 1307,
    PlayerActionGameplayBirthdayRewardMail = 1308,
    PlayerActionRechargeRebateReward = 1309,
    PlayerActionGameplayBirthdaySet = 1310,
    PlayerActionReserveStaminaExchange = 1311,
    PlayerActionReserveStaminaAdd = 1312,
    PlayerActionReserveStaminaChange = 1313,
    PlayerActionNowStamina = 1314,
    PlayerActionMail = 1401,
    PlayerActionMailOpByUser = 1402,
    PlayerActionMailOpByMuip = 1403,
    PlayerActionMailOpByGm = 1404,
    PlayerActionMailOpByFull = 1405,
    PlayerActionMailOpByExpire = 1406,
    PlayerActionMailOpByInternal = 1407,
    PlayerActionAddMail = 1408,
    PlayerActionDelMail = 1409,
    PlayerActionTakeAttachment = 1410,
    PlayerActionReadMail = 1411,
    PlayerActionBattleAvatar = 1501,
    PlayerActionBattleMonster = 1502,
    PlayerActionBattleEnd = 1504,
    PlayerActionBattleReplay = 1505,
    PlayerActionBattleAvatarDeath = 1506,
    PlayerActionBattleSwitchPhase = 1507,
    PlayerActionBattleMonsterSkill = 1508,
    PlayerActionBattleRebattle = 1509,
    PlayerActionBattleAvatarServant = 1510,
    PlayerActionMissionReward = 1602,
    PlayerActionQuestAccept = 1603,
    PlayerActionQuestFinish = 1604,
    PlayerActionQuestRemove = 1605,
    PlayerActionQuestReward = 1606,
    PlayerActionQuestAutoClose = 1607,
    PlayerActionQuestExpired = 1608,
    PlayerActionMissionRequired = 1609,
    PlayerActionSubmissionReward = 1610,
    PlayerActionAchievementLevelReward = 1611,
    PlayerActionQuestDelete = 1612,
    PlayerActionSubMissionReward = 1613,
    PlayerActionMissionCompensate = 1614,
    PlayerActionMissionRecycle = 1615,
    PlayerActionQuestReset = 1616,
    PlayerActionQuestOptionalReward = 1617,
    PlayerActionMcvChange = 1618,
    PlayerActionPropInteract = 1704,
    PlayerActionAvatarMazeSkill = 1705,
    PlayerActionEnterMaze = 1706,
    PlayerActionOrdinaryInteract = 1707,
    PlayerActionChestInteract = 1708,
    PlayerActionCheckPointUnlock = 1709,
    PlayerActionCheckPointInteract = 1710,
    PlayerActionCheckPointRevive = 1711,
    PlayerActionCheckPointTransfer = 1712,
    PlayerActionMonsterInteract = 1714,
    PlayerActionNpcInteract = 1716,
    PlayerActionPropHit = 1717,
    PlayerActionPrelogueRevive = 1718,
    PlayerActionPropState = 1719,
    PlayerActionCheckPointRecover = 1720,
    PlayerActionMechanismBar = 1722,
    PlayerActionSubmitOrigamiItem = 1723,
    PlayerActionMazeBuffDropItem = 1724,
    PlayerActionFsvChange = 1725,
    PlayerActionTimelinePropState = 1726,
    PlayerActionGroupPropertyChange = 1727,
    PlayerActionEquipmentPromotion = 1901,
    PlayerActionAddItem = 1902,
    PlayerActionUseItem = 1904,
    PlayerActionEquipmentRankUp = 1905,
    PlayerActionEquipmentLevelUp = 1906,
    PlayerActionExpUpEquipmentReturn = 1907,
    PlayerActionBagFullRewardMail = 1908,
    PlayerActionEquipmentAdd = 1909,
    PlayerActionEquipmentWear = 1910,
    PlayerActionItemCompose = 1911,
    PlayerActionRelicLevelUp = 1912,
    PlayerActionExpUpRelicReturn = 1913,
    PlayerActionRelicNumChanged = 1914,
    PlayerActionRelicWear = 1915,
    PlayerActionRelicCompose = 1916,
    PlayerActionSellItem = 1917,
    PlayerActionUnlockMusic = 1918,
    PlayerActionExchangeHcoinWithPayMcoin = 1919,
    PlayerActionGetReward = 1920,
    PlayerActionExchangeHcoinWithFreeMcoin = 1921,
    PlayerActionItemComposeFormulaUnlock = 1922,
    PlayerActionExchangeHcoin = 1923,
    PlayerActionCityShopLevelReward = 1924,
    PlayerActionItemRecycle = 1925,
    PlayerActionMuseumFundsConsume = 1926,
    PlayerActionMuseumEventBuyStuff = 1927,
    PlayerActionMuseumMarketBuyStuff = 1928,
    PlayerActionMuseumRandomEvent = 1929,
    PlayerActionMuseumInitialItem = 1930,
    PlayerActionOptionalBoxReward = 1931,
    PlayerActionDestroyItem = 1932,
    PlayerActionTransferExp = 1933,
    PlayerActionOndutyUse = 1934,
    PlayerActionItemMark = 1935,
    PlayerActionRelicDiscard = 1936,
    PlayerActionGeneralVirtualItemChange = 1937,
    PlayerActionRelicLock = 1938,
    PlayerActionRelicFilterPlanSave = 1939,
    PlayerActionRelicFilterPlanDelete = 1940,
    PlayerActionRelicFilterPlanMark = 1941,
    PlayerActionRelicSell = 1942,
    PlayerActionRelicReforge = 1943,
    PlayerActionRelicSmartWearCustomPlan = 1944,
    PlayerActionRecoverRelic = 1945,
    PlayerActionRecoverEquipment = 1946,
    PlayerActionEquipmentSell = 1947,
    PlayerActionRelicSmartWearPinRelic = 1948,
    PlayerActionRelicCocoonSetting = 1949,
    PlayerActionPersonalCardChange = 1950,
    PlayerActionPhoneCaseChange = 1951,
    PlayerActionTutorialGuideFinish = 2001,
    PlayerActionTutorial = 2002,
    PlayerActionTutorialGuide = 2003,
    PlayerActionMonsterDrop = 2101,
    PlayerActionFinishChallenge = 2201,
    PlayerActionChallengeStars = 2202,
    PlayerActionChallengeStart = 2203,
    PlayerActionChallengeEnd = 2204,
    PlayerActionChallengeWin = 2205,
    PlayerActionChallengeFail = 2206,
    PlayerActionChallengeLeave = 2207,
    PlayerActionChallengeSwitch = 2208,
    PlayerActionChallengeBonusReward = 2210,
    PlayerActionChallengeStarsReward = 2211,
    PlayerActionChallengeRestart = 2212,
    PlayerActionChallengeStoryStart = 2213,
    PlayerActionChallengeStoryEnd = 2214,
    PlayerActionChallengeFastPass = 2215,
    PlayerActionChallengeStoryFastPass = 2216,
    PlayerActionChallengeMemoryFastPass = 2217,
    PlayerActionChallengeBattleTarget = 2218,
    PlayerActionChallengeBossEnd = 2219,
    PlayerActionChallengeBossFastPass = 2220,
    PlayerActionChallengeStartPartial = 2221,
    PlayerActionChallengeBossPhaseStart = 2222,
    PlayerActionChallengeBossPhaseEnd = 2223,
    PlayerActionChallengeBossPhaseEndBeforeBattle = 2224,
    PlayerActionChallengeRecommendLineup = 2225,
    PlayerActionChallengeStoryFeverBattleEnd = 2226,
    PlayerActionTeamInfoChange = 2301,
    PlayerActionChangeCurrentAvatar = 2302,
    PlayerActionCreateVirtualTeam = 2303,
    PlayerActionTeamNameEdit = 2304,
    PlayerActionAvatarBuffChange = 2401,
    PlayerActionEnvBuffChange = 2402,
    PlayerActionGameCore = 2403,
    PlayerActionAvatarGlobalBuff = 2404,
    PlayerActionRogueExploreStart = 2501,
    PlayerActionRogueEnterRoom = 2502,
    PlayerActionRogueLeaveRoom = 2503,
    PlayerActionRogueExploreFinish = 2504,
    PlayerActionRogueSelectBuff = 2505,
    PlayerActionRogueRollBuff = 2506,
    PlayerActionRogueRevive = 2507,
    PlayerActionRogueChallengeStart = 2512,
    PlayerActionRogueMiracle = 2514,
    PlayerActionRogueAddBuff = 2515,
    PlayerActionRoguePickAvatar = 2516,
    PlayerActionRogueSeasonChanged = 2522,
    PlayerActionRogueAeonLevelUp = 2524,
    PlayerActionRogueOpenDoor = 2525,
    PlayerActionRogueScoreReward = 2526,
    PlayerActionRogueEnhanceBuff = 2527,
    PlayerActionRogueSelectBonus = 2528,
    PlayerActionRogueAreaFirstReward = 2529,
    PlayerActionRogueEnableTalent = 2530,
    PlayerActionRogueAeonUnlock = 2531,
    PlayerActionRogueAeonAddExp = 2532,
    PlayerActionRogueImmerseLevelUp = 2533,
    PlayerActionRogueSelectMiracle = 2534,
    PlayerActionRogueUnlockArea = 2535,
    PlayerActionRogueExploreScoreChange = 2536,
    PlayerActionRogueUpdateRewardPool = 2537,
    PlayerActionRogueSwapBuff = 2539,
    PlayerActionRogueWeeklyRefresh = 2540,
    PlayerActionRogueExchangeKey = 2541,
    PlayerActionRogueGetObjectReward = 2542,
    PlayerActionRogueAreaMonsterDrop = 2543,
    PlayerActionRogueAddMiracle = 2544,
    PlayerActionRogueSwapMiracle = 2545,
    PlayerActionRogueOpenObjectReward = 2546,
    PlayerActionRogueAeonEffect = 2547,
    PlayerActionRogueReforgeBuff = 2548,
    PlayerActionRogueTradeMiracle = 2549,
    PlayerActionRogueRemoveAvatar = 2550,
    PlayerActionRogueDialogueSelect = 2551,
    PlayerActionRogueSelectAeon = 2552,
    PlayerActionRogueDialogueFinish = 2553,
    PlayerActionRogueHandbookReward = 2554,
    PlayerActionRogueAdventureRoomReward = 2555,
    PlayerActionRogueShopBuy = 2556,
    PlayerActionRogueRepairMiracle = 2557,
    PlayerActionRogueReplaceAllMiracle = 2558,
    PlayerActionRogueMiracleBroken = 2559,
    PlayerActionRogueShopRefresh = 2560,
    PlayerActionRogueLevelMechanism = 2561,
    PlayerActionRogueRemoveMiracle = 2562,
    PlayerActionRogueDropBuff = 2563,
    PlayerActionRogueDestroyMiracle = 2564,
    PlayerActionRogueActivateFormula = 2565,
    PlayerActionRogueDeactivateFormula = 2566,
    PlayerActionRogueRemoveBuff = 2567,
    PlayerActionRogueSelectFormula = 2568,
    PlayerActionRogueDropFormula = 2569,
    PlayerActionRogueRollFormula = 2570,
    PlayerActionRogueReforgeFormula = 2571,
    PlayerActionRogueComposeMiracle = 2572,
    PlayerActionRogueReforgeMiracle = 2573,
    PlayerActionRogueDoGamble = 2574,
    PlayerActionRogueKeywordActivate = 2575,
    PlayerActionRogueKeywordDeactivate = 2576,
    PlayerActionRogueSourceDefault = 2577,
    PlayerActionRoguePlayerSelect = 2578,
    PlayerActionRogueLayerSettlement = 2579,
    PlayerActionRogueFormula = 2580,
    PlayerActionRogueWorkbench = 2581,
    PlayerActionRogueModifier = 2582,
    PlayerActionRogueReforge = 2583,
    PlayerActionRogueTalent = 2584,
    PlayerActionRogueReroll = 2585,
    PlayerActionRogueCoinChange = 2586,
    PlayerActionRogueMagicScepterShop = 2587,
    PlayerActionRogueMagicUnitShop = 2588,
    PlayerActionRogueMagicScepterLevelUp = 2589,
    PlayerActionGacha = 2601,
    PlayerActionAddGachaTicket = 2602,
    PlayerActionGachaExchange = 2603,
    PlayerActionSetGachaDecideItem = 2604,
    PlayerActionEventMissionAccept = 2801,
    PlayerActionEventMissionFinish = 2802,
    PlayerActionEventMissionReward = 2803,
    PlayerActionRaidFinish = 2901,
    PlayerActionRaidBegin = 2902,
    PlayerActionChallengeRaidReward = 2903,
    PlayerActionStartRaid = 2904,
    PlayerActionEndRaid = 2905,
    PlayerActionRaidTargetFinish = 2906,
    PlayerActionArchiveRaid = 2907,
    PlayerActionHeroBaseTypeChange = 3051,
    PlayerActionHeroBaseTypeAddByMission = 3052,
    PlayerActionHeroBaseTypeAddByReq = 3053,
    PlayerActionHeroBaseTypeAdd = 3054,
    PlayerActionDialogueSelect = 3101,
    PlayerActionExpeditionStart = 3151,
    PlayerActionExpeditionFinish = 3152,
    PlayerActionExpeditionReward = 3153,
    PlayerActionActivityExpeditionStart = 3154,
    PlayerActionActivityExpeditionFinish = 3155,
    PlayerActionActivityExpeditionReward = 3156,
    PlayerActionActivityExpeditionBegin = 3157,
    PlayerActionActivityExpeditionEnd = 3158,
    PlayerActionActivityLoginReward = 3201,
    PlayerActionFriendReport = 3301,
    PlayerActionAssistReward = 3302,
    PlayerActionAssistAvatarRefresh = 3303,
    PlayerActionAssistAvatarBattleStart = 3304,
    PlayerActionAssistAvatarBattleEnd = 3305,
    PlayerActionFriendApply = 3306,
    PlayerActionFriendManage = 3307,
    PlayerActionFriendBlacklist = 3308,
    PlayerActionFriendModifyRemarkName = 3309,
    PlayerActionFriendMark = 3310,
    PlayerActionFriendAssistList = 3311,
    PlayerActionBattlePassLevelReward = 3202,
    PlayerActionBattlePass128tierReward = 3203,
    PlayerActionBattlePassLevelRewardAutoMail = 3204,
    PlayerActionBuyBattlePass = 3205,
    PlayerActionAddBattlePassExp = 3206,
    PlayerActionBattlePassLevelUp = 3207,
    PlayerActionBuyBattlePassLevel = 3208,
    PlayerActionBattlePassEndMail = 3209,
    PlayerActionBattlePass68tierReward = 3210,
    PlayerActionModifySign = 3401,
    PlayerActionDisplayAvatarSet = 3402,
    PlayerActionAssistAvatarSet = 3403,
    PlayerActionAchievementFinish = 3501,
    PlayerActionAchievementReward = 3502,
    PlayerActionAchievementAddExp = 3503,
    PlayerActionAchievementLevelUp = 3504,
    PlayerActionPunkLordReward = 3601,
    PlayerActionPunkLordBossSearch = 3604,
    PlayerActionPunkLordBossShare = 3605,
    PlayerActionStartPunkLordRaid = 3606,
    PlayerActionPunkLordSupportTimes = 3608,
    PlayerActionPunkLordScoreReward = 3609,
    PlayerActionPunkLordListRefresh = 3610,
    PlayerActionPunkLordPowerAttack = 3611,
    PlayerActionPunkLordBattleEnd = 3612,
    PlayerActionPunkLordBossDeath = 3613,
    PlayerActionPunkLordBossScore = 3614,
    PlayerActionDailyActiveLevelReward = 3701,
    PlayerActionDailyActiveAddPoint = 3702,
    PlayerActionDailyActiveDeleteOldQuest = 3703,
    PlayerActionFightActivityBegin = 3791,
    PlayerActionFightActivityEnd = 3792,
    PlayerActionFightActivityReward = 3801,
    PlayerActionActivityEndMail = 3802,
    PlayerActionAppointmentMail = 3803,
    PlayerActionShareReward = 3804,
    PlayerActionActivityTrialReward = 3805,
    PlayerActionActivityTrialStart = 3806,
    PlayerActionPsPreOrderMail1 = 3811,
    PlayerActionPsPreOrderMail2 = 3812,
    PlayerActionPsLoginMail = 3813,
    PlayerActionLoginMail = 3814,
    PlayerActionGooglePoints100Mail = 3821,
    PlayerActionGooglePoints150Mail = 3822,
    PlayerActionTrainVisitorBehaviorFinish = 3901,
    PlayerActionEnterViewTrain = 3902,
    PlayerActionTrainVisitorBehaviorRewardForceSend = 3903,
    PlayerActionTrainVisitorRegisterOpen = 3904,
    PlayerActionTrainVisitorBehaviorRewardForceSendByRegister = 3905,
    PlayerActionTrainVisitorClearLastTrainVisitor = 3906,
    PlayerActionTrainVisitorRefreshTrainVisitor = 3907,
    PlayerActionTrainVisitorRefreshNpc = 3908,
    PlayerActionMessageGroupAccept = 3951,
    PlayerActionMessageSectionAccept = 3952,
    PlayerActionMessageSectionFinish = 3953,
    PlayerActionMessageItemFinish = 3954,
    PlayerActionFinishMessageGroupReward = 3955,
    PlayerActionSubstituteMessageGroupReward = 3956,
    PlayerActionDeleteMessageGroup = 3957,
    PlayerActionDeleteMessageSection = 3958,
    PlayerActionDeleteMessageGroupByConfig = 3959,
    PlayerActionDeleteMessageGroupByActivity = 3960,
    PlayerActionDeleteMessageGroupByMission = 3961,
    PlayerActionTextJoinSave = 4001,
    PlayerActionBoxingClubStart = 4051,
    PlayerActionBoxingClubFinish = 4052,
    PlayerActionBoxingClubPause = 4053,
    PlayerActionBoxingClubStageStart = 4054,
    PlayerActionTalkSend = 4101,
    PlayerActionSelectInclinationText = 4102,
    PlayerActionMuseumSettleTurnOpen = 4201,
    PlayerActionMuseumUpgradeArea = 4202,
    PlayerActionMuseumUpgradeAreaStat = 4203,
    PlayerActionMuseumDispatchRewardRegular = 4204,
    PlayerActionMuseumDispatchRewardDirectional = 4205,
    PlayerActionMuseumPhaseTargetFinished = 4206,
    PlayerActionMuseumGetStuff = 4207,
    PlayerActionMuseumGetExhibit = 4208,
    PlayerActionMuseumTakeCollectMission = 4209,
    PlayerActionMuseumAreaUnlock = 4210,
    PlayerActionMuseumAreaUpgrade = 4211,
    PlayerActionMuseumAreaStatUpgrade = 4212,
    PlayerActionMuseumEnterNextRound = 4213,
    PlayerActionMuseumStartDispatch = 4214,
    PlayerActionMuseumSettleDispatch = 4215,
    PlayerActionMuseumRenewPointChanged = 4216,
    PlayerActionMuseumTargetReward = 4217,
    PlayerActionMuseumPhaseUpgrade = 4218,
    PlayerActionMuseumCollectReward = 4219,
    PlayerActionMuseumTargetStart = 4220,
    PlayerActionMuseumTargetFinish = 4221,
    PlayerActionActivityMonsterResearchConsumeMaterial = 4301,
    PlayerActionActivityMonsterResearchTakeReward = 4302,
    PlayerActionPlayerReturnStart = 4401,
    PlayerActionPlayerReturnSign = 4402,
    PlayerActionPlayerReturnPoint = 4403,
    PlayerActionPlayerReturnCountdown = 4404,
    PlayerActionPlayerReturnFinish = 4405,
    PlayerActionPlayerReturnCompensate = 4406,
    PlayerActionPlayerReturnGetRelic = 4407,
    PlayerActionRogueChallengeActivityStart = 4411,
    PlayerActionRogueChallengeActivityFinish = 4412,
    PlayerActionRogueChallengeActivitySave = 4413,
    PlayerActionAetherDivideUsePassiveSkillItem = 4450,
    PlayerActionAetherDivideClearPassiveSkill = 4451,
    PlayerActionAetherDivideFinishChallenge = 4452,
    PlayerActionAetherDivideOverflowChunkReward = 4453,
    PlayerActionAetherDivideLevelUp = 4454,
    PlayerActionAetherDivideNewReward = 4455,
    PlayerActionAetherDivideMonsterAdd = 4456,
    PlayerActionAetherDivideMonsterLevel = 4457,
    PlayerActionAetherDivideMonsterSkillWear = 4458,
    PlayerActionAetherDivideTeamChange = 4459,
    PlayerActionAetherDivideStageBegin = 4460,
    PlayerActionAetherDivideStageEnd = 4461,
    PlayerActionAetherDivideStageRoll = 4462,
    PlayerActionAlleyEventFinish = 4501,
    PlayerActionAlleyTakeReward = 4502,
    PlayerActionAlleyPrestigeLevelUp = 4503,
    PlayerActionAlleyLogisticsFinish = 4504,
    PlayerActionAlleyPlacingGameFinish = 4505,
    PlayerActionAlleyGuaranteedFunds = 4506,
    PlayerActionAlleyTakeEventReward = 4507,
    PlayerActionAlleySpecialOrderFinish = 4508,
    PlayerActionSensitiveWordShield = 4601,
    PlayerActionSensitiveWordServerInternalError = 4602,
    PlayerActionSensitiveWordPlatformError = 4603,
    PlayerActionTreasureDungeonStart = 4701,
    PlayerActionTreasureDungeonFinish = 4702,
    PlayerActionTreasureDungeonEnterFloor = 4703,
    PlayerActionTreasureDungeonLeaveFloor = 4704,
    PlayerActionTreasureDungeonUseItem = 4705,
    PlayerActionTreasureDungeonAvatarChange = 4706,
    PlayerActionTreasureDungeonBattleStart = 4707,
    PlayerActionTreasureDungeonBattleEnd = 4708,
    PlayerActionTreasureDungeonPickupBuff = 4709,
    PlayerActionChessRogueFirstFinish = 4801,
    PlayerActionChessRogueGiveupDice = 4802,
    PlayerActionChessRogueSubStorySelect = 4803,
    PlayerActionChessRogueActionPoint = 4804,
    PlayerActionChessRogueReviveByProp = 4805,
    PlayerActionChessRogueStartLevel = 4806,
    PlayerActionChessRogueDiceEffect = 4807,
    PlayerActionChessRogueMainStoryFinish = 4808,
    PlayerActionChessRogueAeonTalentEffect = 4809,
    PlayerActionChessRogueModifierOthersEffect = 4810,
    PlayerActionChessRogueAddBuff = 4811,
    PlayerActionChessRogueReforgeBuff = 4812,
    PlayerActionChessRogueBuffLevelUp = 4813,
    PlayerActionChessRogueEnhanceBuff = 4814,
    PlayerActionChessRogueAddMiracle = 4815,
    PlayerActionChessRogueSwapMiracle = 4816,
    PlayerActionChessRogueSelectBonus = 4817,
    PlayerActionChessRogueDialogueFinish = 4818,
    PlayerActionChessRogueSubStoryFinish = 4819,
    PlayerActionChessRogueAdventureRoomFinish = 4820,
    PlayerActionChessRogueFinishLevel = 4821,
    PlayerActionChessRogueStartLayer = 4822,
    PlayerActionChessRogueFinishLayer = 4823,
    PlayerActionChessRogueEnterRoom = 4824,
    PlayerActionChessRogueLeaveRoom = 4825,
    PlayerActionChessRogueRollDice = 4826,
    PlayerActionChessRogueSelectDice = 4827,
    PlayerActionChessRogueUnlockDice = 4828,
    PlayerActionChessRogueBoardEvent = 4829,
    PlayerActionChessRogueDimensionPoint = 4830,
    PlayerActionChessRoguePickAvatar = 4831,
    PlayerActionChessRogueReviveAvatar = 4832,
    PlayerActionChessRogueNousSubStorySelect = 4833,
    PlayerActionChessRogueLevelMechanism = 4844,
    PlayerActionChessRogueNousStartLevel = 4845,
    PlayerActionChessRogueNousFinishLevel = 4846,
    PlayerActionChessRogueNousStartLayer = 4847,
    PlayerActionChessRogueNousFinishLayer = 4848,
    PlayerActionChessRogueNousEnterRoom = 4849,
    PlayerActionChessRogueNousLeaveRoom = 4850,
    PlayerActionChessRogueNousSelectDice = 4851,
    PlayerActionChessRogueNousUnlockDiceBranch = 4852,
    PlayerActionChessRogueNousUnlockDiceSurface = 4853,
    PlayerActionChessRogueNousEditDice = 4854,
    PlayerActionChessRogueNousValueChange = 4855,
    PlayerActionChessRogueNousMainStoryTrigger = 4856,
    PlayerActionChessRogueNousMainStoryFinish = 4857,
    PlayerActionChessRogueNousSubStoryTrigger = 4858,
    PlayerActionChessRogueNousSubStoryFinish = 4859,
    PlayerActionChessRogueNousEnableTalent = 4860,
    PlayerActionChessRogueSelectBuff = 4861,
    PlayerActionChessRogueSelectMiracle = 4862,
    PlayerActionChessRogueRemoveMiracle = 4863,
    PlayerActionChessRogueBoardCell = 4864,
    PlayerActionFantasticStoryBattleBegin = 4901,
    PlayerActionFantasticStoryBattleEnd = 4902,
    PlayerActionRogueEndlessReward = 4950,
    PlayerActionRogueEndlessLevelStart = 4951,
    PlayerActionRogueEndlessStageBegin = 4952,
    PlayerActionRogueEndlessStageEnd = 4953,
    PlayerActionBattleCollegeReward = 5001,
    PlayerActionCommonRogueMiracleForBuffShop = 5051,
    PlayerActionCommonRogueAdventureRoomFinish = 5052,
    PlayerActionCommonRogueBuyBuffShop = 5053,
    PlayerActionCommonRogueBuyBuffShopRefresh = 5054,
    PlayerActionCommonRogueCollectionUnlock = 5055,
    PlayerActionCommonRogueCollectionSet = 5056,
    PlayerActionCommonRogueExhibitionUnlock = 5057,
    PlayerActionCommonRogueExhibitionSet = 5058,
    PlayerActionCommonRogueChestInteract = 5059,
    PlayerActionCommonRogueAdventureRoomWolfgunFinish = 5060,
    PlayerActionHeliobusPostIncomeReward = 5101,
    PlayerActionHeliobusPostFansReward = 5102,
    PlayerActionHeliobusLevelUpgrade = 5103,
    PlayerActionHeliobusPostReplyReward = 5104,
    PlayerActionHeliobusCommentReplyReward = 5105,
    PlayerActionHeliobusChallengeFirstReward = 5106,
    PlayerActionHeliobusFansAdd = 5107,
    PlayerActionHeliobusActionDaySettle = 5108,
    PlayerActionHeliobusSkillUnlock = 5109,
    PlayerActionHeliobusStageBegin = 5110,
    PlayerActionHeliobusStageEnd = 5111,
    PlayerActionHeliobusSnsRead = 5112,
    PlayerActionHeliobusSnsPostUnlock = 5113,
    PlayerActionHeliobusSnsCommentUnlock = 5114,
    PlayerActionHeliobusSnsComment = 5115,
    PlayerActionHeliobusSnsPost = 5116,
    PlayerActionHeliobusSnsLike = 5117,
    PlayerActionHeliobusPhaseUpgrade = 5118,
    PlayerActionPsPointCard30Reward = 5201,
    PlayerActionPsPointCard50Reward = 5202,
    PlayerActionPsPointCard100Reward = 5203,
    PlayerActionPsnPlusGiftReward = 5204,
    PlayerActionAppleGiftCardReward = 5205,
    PlayerActionHeartDialSubmitItem = 5301,
    PlayerActionHeartDialDialoguePerform = 5302,
    PlayerActionHeartDialTraceConsume = 5303,
    PlayerActionHeartDialChangeEmotion = 5304,
    PlayerActionTravelBrochureAddDefaultPaster = 5401,
    PlayerActionSpaceZooBorn = 5501,
    PlayerActionSpaceZooMutate = 5502,
    PlayerActionSpaceZooDelete = 5503,
    PlayerActionSpaceZooExchangeItem = 5504,
    PlayerActionSpaceZooExpPoint = 5505,
    PlayerActionSpaceZooTakeReward = 5506,
    PlayerActionSpaceZooCollection = 5507,
    PlayerActionSpaceZooShow = 5508,
    PlayerActionSpaceZooSpecialData = 5509,
    PlayerActionStrongChallengeBattleBegin = 5701,
    PlayerActionStrongChallengeBattleEnd = 5702,
    PlayerActionRollShopDoGacha = 5751,
    PlayerActionRollShopTakeReward = 5752,
    PlayerActionOfferingSubmitItem = 5801,
    PlayerActionOfferingTakeReward = 5802,
    PlayerActionTravelBrochurePageUnlock = 5851,
    PlayerActionTravelBrochurePageInteractAward = 5852,
    PlayerActionTravelBrochureStickerUnlock = 5853,
    PlayerActionTravelBrochureStickerApply = 5854,
    PlayerActionTravelBrochureStickerRemove = 5855,
    PlayerActionTravelBrochurePageReset = 5856,
    PlayerActionTrackMainMissionId = 5901,
    PlayerActionWolfBroBegin = 5911,
    PlayerActionWolfBroGroupStateChange = 5912,
    PlayerActionWolfBroEnd = 5913,
    PlayerActionWolfBroBulletZero = 5914,
    PlayerActionWolfBroActivateBullet = 5915,
    PlayerActionWolfBroBulletNumChange = 5916,
    PlayerActionWolfBroUseBulletNull = 5917,
    PlayerActionWolfBroUseBulletHitMonster = 5918,
    PlayerActionWolfBroPickUpBullet = 5919,
    PlayerActionWolfBroRestoreArchive = 5920,
    PlayerActionTelevisionActivityBattleBegin = 5921,
    PlayerActionTelevisionActivityBattleEnd = 5922,
    PlayerActionFeverTimeActivityBattleBegin = 5923,
    PlayerActionFeverTimeActivityBattleEnd = 5924,
    PlayerActionGunPlayEnd = 5925,
    PlayerActionActivityStarFightBegin = 5926,
    PlayerActionActivityStarFightEnd = 5927,
    PlayerActionMapRotationEnterRegion = 5931,
    PlayerActionMapRotationLeaveRegion = 5932,
    PlayerActionMapRotationInteractCharger = 5933,
    PlayerActionMapRotationDeployRotater = 5934,
    PlayerActionMapRotationRotateMap = 5935,
    PlayerActionMapRotationAddEnergy = 5936,
    PlayerActionMapRotationSetMaxEnergy = 5937,
    PlayerActionMapRotationRemoveRotater = 5938,
    PlayerActionMapRotationAutoDeployRotater = 5939,
    PlayerActionMapRotationAutoRemoveRotater = 5940,
    PlayerActionDrinkMakerAddTips = 5951,
    PlayerActionDrinkMakerFinishChallenge = 5952,
    PlayerActionDrinkMakerGuestMaxFaithReward = 5953,
    PlayerActionDrinkMakerMakeDrink = 5954,
    PlayerActionDrinkMakerSaveCustomDrink = 5955,
    PlayerActionDrinkMakerEndSequence = 5956,
    PlayerActionChangeStoryLine = 6001,
    PlayerActionContentPackageStatusChange = 6011,
    PlayerActionContentPackageTrackChange = 6012,
    PlayerActionContentPackageAcceptMainMission = 6013,
    PlayerActionWorldDirectUnlock = 6041,
    PlayerActionMonopolyTurnFinish = 6051,
    PlayerActionMonopolyAssetTurntax = 6052,
    PlayerActionMonopolyAssetBonus = 6053,
    PlayerActionMonopolyEventEffect = 6054,
    PlayerActionMonopolyMiniGameSettle = 6055,
    PlayerActionMonopolyGameRaiseRatio = 6056,
    PlayerActionMonopolyMoveRollDice = 6057,
    PlayerActionMonopolyMove = 6059,
    PlayerActionMonopolyBuyGoods = 6060,
    PlayerActionMonopolyUpgradeAsset = 6061,
    PlayerActionMonopolyEventRerollRandom = 6062,
    PlayerActionMonopolyDailyRefresh = 6063,
    PlayerActionMonopolyGameGuessBuyInformation = 6064,
    PlayerActionMonopolyDailyFirstEnterActivity = 6065,
    PlayerActionMonopolySocialEvent = 6066,
    PlayerActionMonopolyRaffleTicketReward = 6067,
    PlayerActionMonopolyLike = 6068,
    PlayerActionMonopolyPhaseReward = 6069,
    PlayerActionMonopolyMbtiReportReward = 6070,
    PlayerActionMonopolyDailySettle = 6071,
    PlayerActionMonopolyStart = 6072,
    PlayerActionMonopolyGetBuff = 6073,
    PlayerActionMonopolyAssetFundsChange = 6074,
    PlayerActionMonopolyAssetUpgrade = 6075,
    PlayerActionMonopolyDirectCoinGameSettle = 6076,
    PlayerActionMonopolyExtractRaffleTicket = 6077,
    PlayerActionMonopolyMbtiProgressChange = 6078,
    PlayerActionMonopolyQuizGameSettle = 6079,
    PlayerActionMonopolyEventSettle = 6080,
    PlayerActionMonopolyItemChange = 6081,
    PlayerActionMonopolyCellTrigger = 6082,
    PlayerActionMonopolyEventTrigger = 6083,
    PlayerActionMonopolyClickEffect = 6084,
    PlayerActionEvolveBuildLevelFinish = 6101,
    PlayerActionEvolveBuildShopAbilityUp = 6102,
    PlayerActionEvolveBuildShopAbilityDown = 6103,
    PlayerActionEvolveBuildTakeExpReward = 6104,
    PlayerActionEvolveBuildBattleEndAddCoin = 6105,
    PlayerActionEvolveBuildShopAbilityReset = 6106,
    PlayerActionEvolveBuildLevelStart = 6107,
    PlayerActionEvolveBuildLevelEnd = 6108,
    PlayerActionEvolveBuildStageStart = 6109,
    PlayerActionEvolveBuildStageEnd = 6110,
    PlayerActionEvolveBuildLevelLeave = 6111,
    PlayerActionClockParkUnlockScript = 6151,
    PlayerActionClockParkUnlockTalent = 6152,
    PlayerActionClockParkFinishScript = 6153,
    PlayerActionClockParkRoundUpdate = 6154,
    PlayerActionClockParkScriptBegin = 6155,
    PlayerActionRogueTournStartLevel = 6200,
    PlayerActionRogueTournFinishLevel = 6201,
    PlayerActionRogueTournExpReward = 6202,
    PlayerActionRogueTournFinishWeekChallenge = 6203,
    PlayerActionRogueTournPermanentTalentEffect = 6204,
    PlayerActionRogueTournFinishFormulaStory = 6205,
    PlayerActionRogueTournRevive = 6206,
    PlayerActionRogueTournStageBegin = 6207,
    PlayerActionRogueTournStageEnd = 6208,
    PlayerActionRogueTournPermanentEnableTalent = 6209,
    PlayerActionRogueTournPermanentResetTalent = 6210,
    PlayerActionRogueTournCocoonStageBegin = 6211,
    PlayerActionRogueTournCocoonStageEnd = 6212,
    PlayerActionRogueTournExpUpdate = 6213,
    PlayerActionRogueTournEnterRoom = 6214,
    PlayerActionRogueTournLeaveRoom = 6215,
    PlayerActionRogueTournArchiveSave = 6216,
    PlayerActionRogueTournSelectBonus = 6217,
    PlayerActionRogueTournDialogueFinish = 6218,
    PlayerActionRogueTournDoGamble = 6219,
    PlayerActionRogueTournRoomContentGenerate = 6220,
    PlayerActionRogueTournAddMiracle = 6221,
    PlayerActionRogueTournRemoveMiracle = 6222,
    PlayerActionRogueTournSelectMiracle = 6223,
    PlayerActionRogueTournDropMiracle = 6224,
    PlayerActionRogueTournAddBuff = 6225,
    PlayerActionRogueTournSelectBuff = 6226,
    PlayerActionRogueTournBuffLevelUp = 6227,
    PlayerActionRogueTournRemoveBuff = 6228,
    PlayerActionRogueTournAddFormula = 6229,
    PlayerActionRogueTournRemoveFormula = 6230,
    PlayerActionRogueTournSelectFormula = 6231,
    PlayerActionRogueTournActivateFormula = 6232,
    PlayerActionRogueTournAdventureRoomFinish = 6233,
    PlayerActionRogueTournAlterLineup = 6234,
    PlayerActionRogueTournSeasonEnableTalent = 6235,
    PlayerActionRogueTournTitanStartLevel = 6236,
    PlayerActionRogueTournTitanFinishLevel = 6237,
    PlayerActionRogueTournTitanEnterRoom = 6238,
    PlayerActionRogueTournTitanLeaveRoom = 6239,
    PlayerActionRogueTournTitanStageBegin = 6240,
    PlayerActionRogueTournTitanStageEnd = 6241,
    PlayerActionRogueTournTitanArchiveSave = 6243,
    PlayerActionRogueTournTitanAddTitanBless = 6244,
    PlayerActionRogueTournTitanSelectTitanBless = 6245,
    PlayerActionRogueTournDivisionChange = 6246,
    PlayerActionRogueTournSelectReRollMiracle = 6247,
    PlayerActionRogueWorkbenchReforgeFormula = 6281,
    PlayerActionRogueWorkbenchReforgeMiracle = 6282,
    PlayerActionRogueWorkbenchComposeMiracle = 6283,
    PlayerActionRogueWorkbenchReforgeBuff = 6284,
    PlayerActionRogueWorkbenchEnhanceBuff = 6285,
    PlayerActionMatchThreePveSettle = 6301,
    PlayerActionMatchThreeSettle = 6302,
    PlayerActionFightMatch3GameStart = 6303,
    PlayerActionFightMatch3GameEnd = 6304,
    PlayerActionFightMatch3TurnEnd = 6305,
    PlayerActionMatchThreeBirdPos = 6306,
    PlayerActionMultiplePlayInvite = 6307,
    PlayerActionMultiplePlayInviteRespond = 6308,
    PlayerActionMultiplePlayLobbyEnter = 6309,
    PlayerActionMultiplePlayLobbyQuit = 6310,
    PlayerActionMultiplePlayLobbyKick = 6311,
    PlayerActionMultiplePlayLobbyMatch = 6312,
    PlayerActionMarbleSettle = 6313,
    PlayerActionSwordTrainingLearnSkill = 6351,
    PlayerActionSwordTrainingNormalAction = 6352,
    PlayerActionSwordTrainingStoryEffect = 6353,
    PlayerActionSwordTrainingEndingHint = 6354,
    PlayerActionSwordTrainingActionHint = 6355,
    PlayerActionSwordTrainingRestoreGameByExam = 6356,
    PlayerActionSwordTrainingStoryLineFirstClear = 6357,
    PlayerActionSwordTrainingTakeEndingReward = 6358,
    PlayerActionSwordTrainingStoryLineBegin = 6359,
    PlayerActionSwordTrainingEnterTurn = 6360,
    PlayerActionSwordTrainingPlanAction = 6361,
    PlayerActionSwordTrainingActionPhaseEnd = 6362,
    PlayerActionSwordTrainingStory = 6363,
    PlayerActionSwordTrainingStatusChange = 6364,
    PlayerActionSwordTrainingMoodChange = 6365,
    PlayerActionSwordTrainingBattleBegin = 6366,
    PlayerActionSwordTrainingBattleEnd = 6367,
    PlayerActionSwordTrainingCombatRankChange = 6368,
    PlayerActionSwordTrainingStoryLineEnd = 6369,
    PlayerActionSwordTrainingResumeStoryLine = 6370,
    PlayerActionSwordTrainingGameSuccess = 6371,
    PlayerActionSwordTrainingGameGiveUp = 6372,
    PlayerActionSwordTrainingExam = 6374,
    PlayerActionSwordTrainingDialogue = 6375,
    PlayerActionSwordTrainingSetSkillTrace = 6376,
    PlayerActionFightFestFinishScoreRaceMission = 6401,
    PlayerActionFightFestFinishScoreRacePhase = 6402,
    PlayerActionFightFestRaceStart = 6403,
    PlayerActionFightFestRaceEnd = 6404,
    PlayerActionFightFestChallengeStart = 6405,
    PlayerActionFightFestChallengeEnd = 6406,
    PlayerActionFightFestGetCoachItem = 6407,
    PlayerActionFightFestAcceptScoreRaceMission = 6408,
    PlayerActionPetUse = 6451,
    PlayerActionMusicRhythmPassLevelStar = 6501,
    PlayerActionMusicRhythmLevelBegin = 6502,
    PlayerActionMusicRhythmLevelEnd = 6503,
    PlayerActionTrackPhotoStageBegin = 6551,
    PlayerActionTrackPhotoStageEnd = 6552,
    PlayerActionSummonActivityBattleBegin = 6561,
    PlayerActionSummonActivityBattleEnd = 6562,
    PlayerActionRaidCollectionEnterNextRaid = 6571,
    PlayerActionDifficultyAdjustmentSet = 6572,
    PlayerActionDifficultyAdjustmentUnset = 6573,
    PlayerActionRogueArcadeAdventureRoomStart = 6580,
    PlayerActionRogueArcadeAdventureRoomFinish = 6581,
    PlayerActionRogueMagicStartLevel = 6601,
    PlayerActionRogueMagicFinishLevel = 6602,
    PlayerActionRogueMagicRevive = 6603,
    PlayerActionRogueMagicEnterRoom = 6604,
    PlayerActionRogueMagicLeaveRoom = 6605,
    PlayerActionRogueMagicAddMiracle = 6606,
    PlayerActionRogueMagicRemoveMiracle = 6607,
    PlayerActionRogueMagicStageBegin = 6608,
    PlayerActionRogueMagicStageEnd = 6609,
    PlayerActionRogueMagicEnableTalent = 6610,
    PlayerActionRogueMagicFinishStory = 6611,
    PlayerActionRogueMagicAddScepter = 6612,
    PlayerActionRogueMagicSelectScepter = 6613,
    PlayerActionRogueMagicMountUnit = 6614,
    PlayerActionRogueMagicAutoMountUnit = 6615,
    PlayerActionRogueMagicAddMagicUnit = 6616,
    PlayerActionRogueMagicRemoveMagicUnit = 6617,
    PlayerActionRogueMagicWorkbenchComposeMagicUnit = 6618,
    PlayerActionRogueMagicWorkbenchReforgeMagicUnit = 6619,
    PlayerActionRogueMagicWorkbenchLevelUpScepter = 6620,
    PlayerActionTrainPartyGamePlayStart = 6701,
    PlayerActionTrainPartyPhaseBegin = 6702,
    PlayerActionTrainPartyPhaseEnd = 6703,
    PlayerActionTrainPartyRound = 6704,
    PlayerActionTrainPartyMeetingBegin = 6705,
    PlayerActionTrainPartyMeetingEnd = 6706,
    PlayerActionTrainPartyMeetingPlayCard = 6707,
    PlayerActionTrainPartyMeetingReRoll = 6708,
    PlayerActionTrainPartyBuildAreaUnlock = 6709,
    PlayerActionTrainPartyBuildStep = 6710,
    PlayerActionTrainPartyBuildLevelAward = 6711,
    PlayerActionTrainPartyBuildingDynamicBuff = 6712,
    PlayerActionTrainPartyBuildDiy = 6713,
    PlayerActionSwitchHandOpPropState = 6801,
    PlayerActionEraFlipperChangeRegionState = 6811,
    PlayerActionEraFlipperChangePropState = 6812,
    PlayerActionActivityBenefitReward = 6820,
    PlayerActionActivityBenefitJoin = 6821,
    PlayerActionActivityBenefitInitialReward = 6822,
    PlayerActionPamSkinChangeSkin = 6851,
    PlayerActionChestFind = 6861,
    PlayerActionReissueMarkChestItemMail = 6862,
    PlayerActionMarblePassMatch = 6871,
    PlayerActionMarbleBuySeal = 6872,
    PlayerActionMarbleFightGameBegin = 6873,
    PlayerActionMarbleFightGameEnd = 6874,
    PlayerActionMarbleFightGameRound = 6875,
    PlayerActionMarbleFightGameTurn = 6876,
    PlayerActionPlanetFesLevelUp = 6901,
    PlayerActionPlanetFesActivityInit = 6902,
    PlayerActionPlanetFesAvatarLevelUp = 6903,
    PlayerActionPlanetFesTakeRegionPhaseReward = 6904,
    PlayerActionPlanetFesAddItem = 6905,
    PlayerActionPlanetFesQuest = 6906,
    PlayerActionPlanetFesBusinessDayFinish = 6907,
    PlayerActionPlanetFesAvatarStarUp = 6908,
    PlayerActionPlanetFesUnlockLand = 6909,
    PlayerActionPlanetFesBusinessEventFinish = 6910,
    PlayerActionPlanetFesActivateCard = 6911,
    PlayerActionPlanetFesSkillLevelUp = 6912,
    PlayerActionPlanetFesGacha = 6913,
    PlayerActionPlanetFesBusinessEventHandle = 6914,
    PlayerActionPlanetFesCardApplyPermission = 6915,
    PlayerActionPlanetFesCardInteract = 6916,
    PlayerActionPlanetFesToSns = 6917,
    PlayerActionPlanetFesSetWorkAvatar = 6918,
    PlayerActionPlanetFesSummary = 6919,
    PlayerActionTarotBookCharacterLevelUp = 6951,
    PlayerActionTarotBookOpenPack = 6952,
    PlayerActionTarotBookUnlockStory = 6953,
    PlayerActionTarotBookUnlockStorySingle = 6954,
    PlayerActionTarotBookFinishStory = 6955,
    PlayerActionTarotBookFinishInteraction = 6956,
    PlayerActionTarotBookChangeEnergy = 6957,
    PlayerActionChimeraRoundStart = 6971,
    PlayerActionChimeraRoundWorkStart = 6972,
    PlayerActionChimeraRoundWorkEnd = 6973,
    PlayerActionChimeraEndlessStart = 6974,
    PlayerActionChimeraEndlessEnd = 6975,
    PlayerActionChimeraEndlessWorkStart = 6976,
    PlayerActionChimeraEndlessWorkEnd = 6977,
    PlayerActionChimeraRankChange = 6978,
    PlayerActionChimeraGet = 6979,
    PlayerActionStoryTokenTakeActivityReward = 6991,
    PlayerActionReissueAvatarTokenItem = 6992,
    PlayerActionAvatarDeliverRewardActivityTakeReward = 7001,
    PlayerActionLocalLegendReward = 7031,
    PlayerActionParkourStartLevel = 7061,
    PlayerActionParkourEndLevel = 7062,
    PlayerActionBasinChestInteractResult = 7091,
    PlayerActionRogueMiracleSwap = 7092,
}
impl PlayerActionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PlayerActionNone => "PLAYER_ACTION_NONE",
            Self::PlayerActionRegister => "PLAYER_ACTION_REGISTER",
            Self::PlayerActionLogin => "PLAYER_ACTION_LOGIN",
            Self::PlayerActionLogout => "PLAYER_ACTION_LOGOUT",
            Self::PlayerActionAddExp => "PLAYER_ACTION_ADD_EXP",
            Self::PlayerActionLevelUp => "PLAYER_ACTION_LEVEL_UP",
            Self::PlayerActionAddMaterial => "PLAYER_ACTION_ADD_MATERIAL",
            Self::PlayerActionSaveStat => "PLAYER_ACTION_SAVE_STAT",
            Self::PlayerActionTravelBrochureInteract => {
                "PLAYER_ACTION_TRAVEL_BROCHURE_INTERACT"
            }
            Self::PlayerActionRecharge => "PLAYER_ACTION_RECHARGE",
            Self::PlayerActionBuyGoods => "PLAYER_ACTION_BUY_GOODS",
            Self::PlayerActionAddCoin => "PLAYER_ACTION_ADD_COIN",
            Self::PlayerActionMonthCardDailyHcoin => {
                "PLAYER_ACTION_MONTH_CARD_DAILY_HCOIN"
            }
            Self::PlayerActionMonthCardBuyMcoin => "PLAYER_ACTION_MONTH_CARD_BUY_MCOIN",
            Self::PlayerActionRechargeFreeCoin => "PLAYER_ACTION_RECHARGE_FREE_COIN",
            Self::PlayerActionAddMonthCard => "PLAYER_ACTION_ADD_MONTH_CARD",
            Self::PlayerActionRechargeGiftPay => "PLAYER_ACTION_RECHARGE_GIFT_PAY",
            Self::PlayerActionRechargeGiftFree => "PLAYER_ACTION_RECHARGE_GIFT_FREE",
            Self::PlayerActionRechargeBenefit => "PLAYER_ACTION_RECHARGE_BENEFIT",
            Self::PlayerActionRechargeGiftTakeReward => {
                "PLAYER_ACTION_RECHARGE_GIFT_TAKE_REWARD"
            }
            Self::PlayerActionRechargeGiftReach => "PLAYER_ACTION_RECHARGE_GIFT_REACH",
            Self::PlayerActionRechargeBenefitReach => {
                "PLAYER_ACTION_RECHARGE_BENEFIT_REACH"
            }
            Self::PlayerActionMissionAccept => "PLAYER_ACTION_MISSION_ACCEPT",
            Self::PlayerActionMissionFinish => "PLAYER_ACTION_MISSION_FINISH",
            Self::PlayerActionMissionFail => "PLAYER_ACTION_MISSION_FAIL",
            Self::PlayerActionMainMissionAccept => "PLAYER_ACTION_MAIN_MISSION_ACCEPT",
            Self::PlayerActionSubMissionAccept => "PLAYER_ACTION_SUB_MISSION_ACCEPT",
            Self::PlayerActionMainMissionFinish => "PLAYER_ACTION_MAIN_MISSION_FINISH",
            Self::PlayerActionSubMissionFinish => "PLAYER_ACTION_SUB_MISSION_FINISH",
            Self::PlayerActionDailyTaskFinish => "PLAYER_ACTION_DAILY_TASK_FINISH",
            Self::PlayerActionDailyTaskTakeReward => {
                "PLAYER_ACTION_DAILY_TASK_TAKE_REWARD"
            }
            Self::PlayerActionNpcTalkReward => "PLAYER_ACTION_NPC_TALK_REWARD",
            Self::PlayerActionMainMissionRecover => "PLAYER_ACTION_MAIN_MISSION_RECOVER",
            Self::PlayerActionMainMissionDisable => "PLAYER_ACTION_MAIN_MISSION_DISABLE",
            Self::PlayerActionConsumeItemSubMissionFinish => {
                "PLAYER_ACTION_CONSUME_ITEM_SUB_MISSION_FINISH"
            }
            Self::PlayerActionGm => "PLAYER_ACTION_GM",
            Self::PlayerActionCustomOp => "PLAYER_ACTION_CUSTOM_OP",
            Self::PlayerActionCheckSum => "PLAYER_ACTION_CHECK_SUM",
            Self::PlayerActionPlayerLocation => "PLAYER_ACTION_PLAYER_LOCATION",
            Self::PlayerActionChangeLanguage => "PLAYER_ACTION_CHANGE_LANGUAGE",
            Self::PlayerActionClientReport => "PLAYER_ACTION_CLIENT_REPORT",
            Self::PlayerActionAceReport => "PLAYER_ACTION_ACE_REPORT",
            Self::PlayerActionPlayerPowerInfo => "PLAYER_ACTION_PLAYER_POWER_INFO",
            Self::PlayerActionDailyRefresh => "PLAYER_ACTION_DAILY_REFRESH",
            Self::PlayerActionAvatarValueInfo => "PLAYER_ACTION_AVATAR_VALUE_INFO",
            Self::PlayerActionMoveCheckFailedReport => {
                "PLAYER_ACTION_MOVE_CHECK_FAILED_REPORT"
            }
            Self::PlayerActionBattleFailedReport => "PLAYER_ACTION_BATTLE_FAILED_REPORT",
            Self::PlayerActionSecurityReport => "PLAYER_ACTION_SECURITY_REPORT",
            Self::PlayerActionAvatarPromotion => "PLAYER_ACTION_AVATAR_PROMOTION",
            Self::PlayerActionAvatarAdd => "PLAYER_ACTION_AVATAR_ADD",
            Self::PlayerActionAvatarUseExpItem => "PLAYER_ACTION_AVATAR_USE_EXP_ITEM",
            Self::PlayerActionAvatarLevelUp => "PLAYER_ACTION_AVATAR_LEVEL_UP",
            Self::PlayerActionSkillTreeUp => "PLAYER_ACTION_SKILL_TREE_UP",
            Self::PlayerActionAvatarHpChange => "PLAYER_ACTION_AVATAR_HP_CHANGE",
            Self::PlayerActionAvatarMpChange => "PLAYER_ACTION_AVATAR_MP_CHANGE",
            Self::PlayerActionAvatarAddExp => "PLAYER_ACTION_AVATAR_ADD_EXP",
            Self::PlayerActionAvatarRankUp => "PLAYER_ACTION_AVATAR_RANK_UP",
            Self::PlayerActionAvatarRepeated => "PLAYER_ACTION_AVATAR_REPEATED",
            Self::PlayerActionMpMaxChange => "PLAYER_ACTION_MP_MAX_CHANGE",
            Self::PlayerActionAvatarTakePromotionReward => {
                "PLAYER_ACTION_AVATAR_TAKE_PROMOTION_REWARD"
            }
            Self::PlayerActionAvatarRelicAffixInfo => {
                "PLAYER_ACTION_AVATAR_RELIC_AFFIX_INFO"
            }
            Self::PlayerActionAvatarMark => "PLAYER_ACTION_AVATAR_MARK",
            Self::PlayerActionAvatarSystemPowerReset => {
                "PLAYER_ACTION_AVATAR_SYSTEM_POWER_RESET"
            }
            Self::PlayerActionAvatarChangePath => "PLAYER_ACTION_AVATAR_CHANGE_PATH",
            Self::PlayerActionSetGrowthTargetAvatar => {
                "PLAYER_ACTION_SET_GROWTH_TARGET_AVATAR"
            }
            Self::PlayerActionDelAvatar => "PLAYER_ACTION_DEL_AVATAR",
            Self::PlayerActionAvatarSkinChange => "PLAYER_ACTION_AVATAR_SKIN_CHANGE",
            Self::PlayerActionSetGrowthTargetFunctionConfig => {
                "PLAYER_ACTION_SET_GROWTH_TARGET_FUNCTION_CONFIG"
            }
            Self::PlayerActionAvatarSkinActivityReissue => {
                "PLAYER_ACTION_AVATAR_SKIN_ACTIVITY_REISSUE"
            }
            Self::PlayerActionStageBegin => "PLAYER_ACTION_STAGE_BEGIN",
            Self::PlayerActionStageEnd => "PLAYER_ACTION_STAGE_END",
            Self::PlayerActionCocoonStageBegin => "PLAYER_ACTION_COCOON_STAGE_BEGIN",
            Self::PlayerActionCocoonStageEnd => "PLAYER_ACTION_COCOON_STAGE_END",
            Self::PlayerActionFarmElementEnd => "PLAYER_ACTION_FARM_ELEMENT_END",
            Self::PlayerActionElementStageEnd => "PLAYER_ACTION_ELEMENT_STAGE_END",
            Self::PlayerActionCocoonSweep => "PLAYER_ACTION_COCOON_SWEEP",
            Self::PlayerActionFarmElementSweep => "PLAYER_ACTION_FARM_ELEMENT_SWEEP",
            Self::PlayerActionRecoverStamina => "PLAYER_ACTION_RECOVER_STAMINA",
            Self::PlayerActionExchangeStamina => "PLAYER_ACTION_EXCHANGE_STAMINA",
            Self::PlayerActionLoginReward => "PLAYER_ACTION_LOGIN_REWARD",
            Self::PlayerActionModifyNickname => "PLAYER_ACTION_MODIFY_NICKNAME",
            Self::PlayerActionGetLevelReward => "PLAYER_ACTION_GET_LEVEL_REWARD",
            Self::PlayerActionWorldLevelUp => "PLAYER_ACTION_WORLD_LEVEL_UP",
            Self::PlayerActionAddStamina => "PLAYER_ACTION_ADD_STAMINA",
            Self::PlayerActionGameplayBirthdayRewardMail => {
                "PLAYER_ACTION_GAMEPLAY_BIRTHDAY_REWARD_MAIL"
            }
            Self::PlayerActionRechargeRebateReward => {
                "PLAYER_ACTION_RECHARGE_REBATE_REWARD"
            }
            Self::PlayerActionGameplayBirthdaySet => {
                "PLAYER_ACTION_GAMEPLAY_BIRTHDAY_SET"
            }
            Self::PlayerActionReserveStaminaExchange => {
                "PLAYER_ACTION_RESERVE_STAMINA_EXCHANGE"
            }
            Self::PlayerActionReserveStaminaAdd => "PLAYER_ACTION_RESERVE_STAMINA_ADD",
            Self::PlayerActionReserveStaminaChange => {
                "PLAYER_ACTION_RESERVE_STAMINA_CHANGE"
            }
            Self::PlayerActionNowStamina => "PLAYER_ACTION_NOW_STAMINA",
            Self::PlayerActionMail => "PLAYER_ACTION_MAIL",
            Self::PlayerActionMailOpByUser => "PLAYER_ACTION_MAIL_OP_BY_USER",
            Self::PlayerActionMailOpByMuip => "PLAYER_ACTION_MAIL_OP_BY_MUIP",
            Self::PlayerActionMailOpByGm => "PLAYER_ACTION_MAIL_OP_BY_GM",
            Self::PlayerActionMailOpByFull => "PLAYER_ACTION_MAIL_OP_BY_FULL",
            Self::PlayerActionMailOpByExpire => "PLAYER_ACTION_MAIL_OP_BY_EXPIRE",
            Self::PlayerActionMailOpByInternal => "PLAYER_ACTION_MAIL_OP_BY_INTERNAL",
            Self::PlayerActionAddMail => "PLAYER_ACTION_ADD_MAIL",
            Self::PlayerActionDelMail => "PLAYER_ACTION_DEL_MAIL",
            Self::PlayerActionTakeAttachment => "PLAYER_ACTION_TAKE_ATTACHMENT",
            Self::PlayerActionReadMail => "PLAYER_ACTION_READ_MAIL",
            Self::PlayerActionBattleAvatar => "PLAYER_ACTION_BATTLE_AVATAR",
            Self::PlayerActionBattleMonster => "PLAYER_ACTION_BATTLE_MONSTER",
            Self::PlayerActionBattleEnd => "PLAYER_ACTION_BATTLE_END",
            Self::PlayerActionBattleReplay => "PLAYER_ACTION_BATTLE_REPLAY",
            Self::PlayerActionBattleAvatarDeath => "PLAYER_ACTION_BATTLE_AVATAR_DEATH",
            Self::PlayerActionBattleSwitchPhase => "PLAYER_ACTION_BATTLE_SWITCH_PHASE",
            Self::PlayerActionBattleMonsterSkill => "PLAYER_ACTION_BATTLE_MONSTER_SKILL",
            Self::PlayerActionBattleRebattle => "PLAYER_ACTION_BATTLE_REBATTLE",
            Self::PlayerActionBattleAvatarServant => {
                "PLAYER_ACTION_BATTLE_AVATAR_SERVANT"
            }
            Self::PlayerActionMissionReward => "PLAYER_ACTION_MISSION_REWARD",
            Self::PlayerActionQuestAccept => "PLAYER_ACTION_QUEST_ACCEPT",
            Self::PlayerActionQuestFinish => "PLAYER_ACTION_QUEST_FINISH",
            Self::PlayerActionQuestRemove => "PLAYER_ACTION_QUEST_REMOVE",
            Self::PlayerActionQuestReward => "PLAYER_ACTION_QUEST_REWARD",
            Self::PlayerActionQuestAutoClose => "PLAYER_ACTION_QUEST_AUTO_CLOSE",
            Self::PlayerActionQuestExpired => "PLAYER_ACTION_QUEST_EXPIRED",
            Self::PlayerActionMissionRequired => "PLAYER_ACTION_MISSION_REQUIRED",
            Self::PlayerActionSubmissionReward => "PLAYER_ACTION_SUBMISSION_REWARD",
            Self::PlayerActionAchievementLevelReward => {
                "PLAYER_ACTION_ACHIEVEMENT_LEVEL_REWARD"
            }
            Self::PlayerActionQuestDelete => "PLAYER_ACTION_QUEST_DELETE",
            Self::PlayerActionSubMissionReward => "PLAYER_ACTION_SUB_MISSION_REWARD",
            Self::PlayerActionMissionCompensate => "PLAYER_ACTION_MISSION_COMPENSATE",
            Self::PlayerActionMissionRecycle => "PLAYER_ACTION_MISSION_RECYCLE",
            Self::PlayerActionQuestReset => "PLAYER_ACTION_QUEST_RESET",
            Self::PlayerActionQuestOptionalReward => {
                "PLAYER_ACTION_QUEST_OPTIONAL_REWARD"
            }
            Self::PlayerActionMcvChange => "PLAYER_ACTION_MCV_CHANGE",
            Self::PlayerActionPropInteract => "PLAYER_ACTION_PROP_INTERACT",
            Self::PlayerActionAvatarMazeSkill => "PLAYER_ACTION_AVATAR_MAZE_SKILL",
            Self::PlayerActionEnterMaze => "PLAYER_ACTION_ENTER_MAZE",
            Self::PlayerActionOrdinaryInteract => "PLAYER_ACTION_ORDINARY_INTERACT",
            Self::PlayerActionChestInteract => "PLAYER_ACTION_CHEST_INTERACT",
            Self::PlayerActionCheckPointUnlock => "PLAYER_ACTION_CHECK_POINT_UNLOCK",
            Self::PlayerActionCheckPointInteract => "PLAYER_ACTION_CHECK_POINT_INTERACT",
            Self::PlayerActionCheckPointRevive => "PLAYER_ACTION_CHECK_POINT_REVIVE",
            Self::PlayerActionCheckPointTransfer => "PLAYER_ACTION_CHECK_POINT_TRANSFER",
            Self::PlayerActionMonsterInteract => "PLAYER_ACTION_MONSTER_INTERACT",
            Self::PlayerActionNpcInteract => "PLAYER_ACTION_NPC_INTERACT",
            Self::PlayerActionPropHit => "PLAYER_ACTION_PROP_HIT",
            Self::PlayerActionPrelogueRevive => "PLAYER_ACTION_PRELOGUE_REVIVE",
            Self::PlayerActionPropState => "PLAYER_ACTION_PROP_STATE",
            Self::PlayerActionCheckPointRecover => "PLAYER_ACTION_CHECK_POINT_RECOVER",
            Self::PlayerActionMechanismBar => "PLAYER_ACTION_MECHANISM_BAR",
            Self::PlayerActionSubmitOrigamiItem => "PLAYER_ACTION_SUBMIT_ORIGAMI_ITEM",
            Self::PlayerActionMazeBuffDropItem => "PLAYER_ACTION_MAZE_BUFF_DROP_ITEM",
            Self::PlayerActionFsvChange => "PLAYER_ACTION_FSV_CHANGE",
            Self::PlayerActionTimelinePropState => "PLAYER_ACTION_TIMELINE_PROP_STATE",
            Self::PlayerActionGroupPropertyChange => {
                "PLAYER_ACTION_GROUP_PROPERTY_CHANGE"
            }
            Self::PlayerActionEquipmentPromotion => "PLAYER_ACTION_EQUIPMENT_PROMOTION",
            Self::PlayerActionAddItem => "PLAYER_ACTION_ADD_ITEM",
            Self::PlayerActionUseItem => "PLAYER_ACTION_USE_ITEM",
            Self::PlayerActionEquipmentRankUp => "PLAYER_ACTION_EQUIPMENT_RANK_UP",
            Self::PlayerActionEquipmentLevelUp => "PLAYER_ACTION_EQUIPMENT_LEVEL_UP",
            Self::PlayerActionExpUpEquipmentReturn => {
                "PLAYER_ACTION_EXP_UP_EQUIPMENT_RETURN"
            }
            Self::PlayerActionBagFullRewardMail => "PLAYER_ACTION_BAG_FULL_REWARD_MAIL",
            Self::PlayerActionEquipmentAdd => "PLAYER_ACTION_EQUIPMENT_ADD",
            Self::PlayerActionEquipmentWear => "PLAYER_ACTION_EQUIPMENT_WEAR",
            Self::PlayerActionItemCompose => "PLAYER_ACTION_ITEM_COMPOSE",
            Self::PlayerActionRelicLevelUp => "PLAYER_ACTION_RELIC_LEVEL_UP",
            Self::PlayerActionExpUpRelicReturn => "PLAYER_ACTION_EXP_UP_RELIC_RETURN",
            Self::PlayerActionRelicNumChanged => "PLAYER_ACTION_RELIC_NUM_CHANGED",
            Self::PlayerActionRelicWear => "PLAYER_ACTION_RELIC_WEAR",
            Self::PlayerActionRelicCompose => "PLAYER_ACTION_RELIC_COMPOSE",
            Self::PlayerActionSellItem => "PLAYER_ACTION_SELL_ITEM",
            Self::PlayerActionUnlockMusic => "PLAYER_ACTION_UNLOCK_MUSIC",
            Self::PlayerActionExchangeHcoinWithPayMcoin => {
                "PLAYER_ACTION_EXCHANGE_HCOIN_WITH_PAY_MCOIN"
            }
            Self::PlayerActionGetReward => "PLAYER_ACTION_GET_REWARD",
            Self::PlayerActionExchangeHcoinWithFreeMcoin => {
                "PLAYER_ACTION_EXCHANGE_HCOIN_WITH_FREE_MCOIN"
            }
            Self::PlayerActionItemComposeFormulaUnlock => {
                "PLAYER_ACTION_ITEM_COMPOSE_FORMULA_UNLOCK"
            }
            Self::PlayerActionExchangeHcoin => "PLAYER_ACTION_EXCHANGE_HCOIN",
            Self::PlayerActionCityShopLevelReward => {
                "PLAYER_ACTION_CITY_SHOP_LEVEL_REWARD"
            }
            Self::PlayerActionItemRecycle => "PLAYER_ACTION_ITEM_RECYCLE",
            Self::PlayerActionMuseumFundsConsume => "PLAYER_ACTION_MUSEUM_FUNDS_CONSUME",
            Self::PlayerActionMuseumEventBuyStuff => {
                "PLAYER_ACTION_MUSEUM_EVENT_BUY_STUFF"
            }
            Self::PlayerActionMuseumMarketBuyStuff => {
                "PLAYER_ACTION_MUSEUM_MARKET_BUY_STUFF"
            }
            Self::PlayerActionMuseumRandomEvent => "PLAYER_ACTION_MUSEUM_RANDOM_EVENT",
            Self::PlayerActionMuseumInitialItem => "PLAYER_ACTION_MUSEUM_INITIAL_ITEM",
            Self::PlayerActionOptionalBoxReward => "PLAYER_ACTION_OPTIONAL_BOX_REWARD",
            Self::PlayerActionDestroyItem => "PLAYER_ACTION_DESTROY_ITEM",
            Self::PlayerActionTransferExp => "PLAYER_ACTION_TRANSFER_EXP",
            Self::PlayerActionOndutyUse => "PLAYER_ACTION_ONDUTY_USE",
            Self::PlayerActionItemMark => "PLAYER_ACTION_ITEM_MARK",
            Self::PlayerActionRelicDiscard => "PLAYER_ACTION_RELIC_DISCARD",
            Self::PlayerActionGeneralVirtualItemChange => {
                "PLAYER_ACTION_GENERAL_VIRTUAL_ITEM_CHANGE"
            }
            Self::PlayerActionRelicLock => "PLAYER_ACTION_RELIC_LOCK",
            Self::PlayerActionRelicFilterPlanSave => {
                "PLAYER_ACTION_RELIC_FILTER_PLAN_SAVE"
            }
            Self::PlayerActionRelicFilterPlanDelete => {
                "PLAYER_ACTION_RELIC_FILTER_PLAN_DELETE"
            }
            Self::PlayerActionRelicFilterPlanMark => {
                "PLAYER_ACTION_RELIC_FILTER_PLAN_MARK"
            }
            Self::PlayerActionRelicSell => "PLAYER_ACTION_RELIC_SELL",
            Self::PlayerActionRelicReforge => "PLAYER_ACTION_RELIC_REFORGE",
            Self::PlayerActionRelicSmartWearCustomPlan => {
                "PLAYER_ACTION_RELIC_SMART_WEAR_CUSTOM_PLAN"
            }
            Self::PlayerActionRecoverRelic => "PLAYER_ACTION_RECOVER_RELIC",
            Self::PlayerActionRecoverEquipment => "PLAYER_ACTION_RECOVER_EQUIPMENT",
            Self::PlayerActionEquipmentSell => "PLAYER_ACTION_EQUIPMENT_SELL",
            Self::PlayerActionRelicSmartWearPinRelic => {
                "PLAYER_ACTION_RELIC_SMART_WEAR_PIN_RELIC"
            }
            Self::PlayerActionRelicCocoonSetting => "PLAYER_ACTION_RELIC_COCOON_SETTING",
            Self::PlayerActionPersonalCardChange => "PLAYER_ACTION_PERSONAL_CARD_CHANGE",
            Self::PlayerActionPhoneCaseChange => "PLAYER_ACTION_PHONE_CASE_CHANGE",
            Self::PlayerActionTutorialGuideFinish => {
                "PLAYER_ACTION_TUTORIAL_GUIDE_FINISH"
            }
            Self::PlayerActionTutorial => "PLAYER_ACTION_TUTORIAL",
            Self::PlayerActionTutorialGuide => "PLAYER_ACTION_TUTORIAL_GUIDE",
            Self::PlayerActionMonsterDrop => "PLAYER_ACTION_MONSTER_DROP",
            Self::PlayerActionFinishChallenge => "PLAYER_ACTION_FINISH_CHALLENGE",
            Self::PlayerActionChallengeStars => "PLAYER_ACTION_CHALLENGE_STARS",
            Self::PlayerActionChallengeStart => "PLAYER_ACTION_CHALLENGE_START",
            Self::PlayerActionChallengeEnd => "PLAYER_ACTION_CHALLENGE_END",
            Self::PlayerActionChallengeWin => "PLAYER_ACTION_CHALLENGE_WIN",
            Self::PlayerActionChallengeFail => "PLAYER_ACTION_CHALLENGE_FAIL",
            Self::PlayerActionChallengeLeave => "PLAYER_ACTION_CHALLENGE_LEAVE",
            Self::PlayerActionChallengeSwitch => "PLAYER_ACTION_CHALLENGE_SWITCH",
            Self::PlayerActionChallengeBonusReward => {
                "PLAYER_ACTION_CHALLENGE_BONUS_REWARD"
            }
            Self::PlayerActionChallengeStarsReward => {
                "PLAYER_ACTION_CHALLENGE_STARS_REWARD"
            }
            Self::PlayerActionChallengeRestart => "PLAYER_ACTION_CHALLENGE_RESTART",
            Self::PlayerActionChallengeStoryStart => {
                "PLAYER_ACTION_CHALLENGE_STORY_START"
            }
            Self::PlayerActionChallengeStoryEnd => "PLAYER_ACTION_CHALLENGE_STORY_END",
            Self::PlayerActionChallengeFastPass => "PLAYER_ACTION_CHALLENGE_FAST_PASS",
            Self::PlayerActionChallengeStoryFastPass => {
                "PLAYER_ACTION_CHALLENGE_STORY_FAST_PASS"
            }
            Self::PlayerActionChallengeMemoryFastPass => {
                "PLAYER_ACTION_CHALLENGE_MEMORY_FAST_PASS"
            }
            Self::PlayerActionChallengeBattleTarget => {
                "PLAYER_ACTION_CHALLENGE_BATTLE_TARGET"
            }
            Self::PlayerActionChallengeBossEnd => "PLAYER_ACTION_CHALLENGE_BOSS_END",
            Self::PlayerActionChallengeBossFastPass => {
                "PLAYER_ACTION_CHALLENGE_BOSS_FAST_PASS"
            }
            Self::PlayerActionChallengeStartPartial => {
                "PLAYER_ACTION_CHALLENGE_START_PARTIAL"
            }
            Self::PlayerActionChallengeBossPhaseStart => {
                "PLAYER_ACTION_CHALLENGE_BOSS_PHASE_START"
            }
            Self::PlayerActionChallengeBossPhaseEnd => {
                "PLAYER_ACTION_CHALLENGE_BOSS_PHASE_END"
            }
            Self::PlayerActionChallengeBossPhaseEndBeforeBattle => {
                "PLAYER_ACTION_CHALLENGE_BOSS_PHASE_END_BEFORE_BATTLE"
            }
            Self::PlayerActionChallengeRecommendLineup => {
                "PLAYER_ACTION_CHALLENGE_RECOMMEND_LINEUP"
            }
            Self::PlayerActionChallengeStoryFeverBattleEnd => {
                "PLAYER_ACTION_CHALLENGE_STORY_FEVER_BATTLE_END"
            }
            Self::PlayerActionTeamInfoChange => "PLAYER_ACTION_TEAM_INFO_CHANGE",
            Self::PlayerActionChangeCurrentAvatar => {
                "PLAYER_ACTION_CHANGE_CURRENT_AVATAR"
            }
            Self::PlayerActionCreateVirtualTeam => "PLAYER_ACTION_CREATE_VIRTUAL_TEAM",
            Self::PlayerActionTeamNameEdit => "PLAYER_ACTION_TEAM_NAME_EDIT",
            Self::PlayerActionAvatarBuffChange => "PLAYER_ACTION_AVATAR_BUFF_CHANGE",
            Self::PlayerActionEnvBuffChange => "PLAYER_ACTION_ENV_BUFF_CHANGE",
            Self::PlayerActionGameCore => "PLAYER_ACTION_GAME_CORE",
            Self::PlayerActionAvatarGlobalBuff => "PLAYER_ACTION_AVATAR_GLOBAL_BUFF",
            Self::PlayerActionRogueExploreStart => "PLAYER_ACTION_ROGUE_EXPLORE_START",
            Self::PlayerActionRogueEnterRoom => "PLAYER_ACTION_ROGUE_ENTER_ROOM",
            Self::PlayerActionRogueLeaveRoom => "PLAYER_ACTION_ROGUE_LEAVE_ROOM",
            Self::PlayerActionRogueExploreFinish => "PLAYER_ACTION_ROGUE_EXPLORE_FINISH",
            Self::PlayerActionRogueSelectBuff => "PLAYER_ACTION_ROGUE_SELECT_BUFF",
            Self::PlayerActionRogueRollBuff => "PLAYER_ACTION_ROGUE_ROLL_BUFF",
            Self::PlayerActionRogueRevive => "PLAYER_ACTION_ROGUE_REVIVE",
            Self::PlayerActionRogueChallengeStart => {
                "PLAYER_ACTION_ROGUE_CHALLENGE_START"
            }
            Self::PlayerActionRogueMiracle => "PLAYER_ACTION_ROGUE_MIRACLE",
            Self::PlayerActionRogueAddBuff => "PLAYER_ACTION_ROGUE_ADD_BUFF",
            Self::PlayerActionRoguePickAvatar => "PLAYER_ACTION_ROGUE_PICK_AVATAR",
            Self::PlayerActionRogueSeasonChanged => "PLAYER_ACTION_ROGUE_SEASON_CHANGED",
            Self::PlayerActionRogueAeonLevelUp => "PLAYER_ACTION_ROGUE_AEON_LEVEL_UP",
            Self::PlayerActionRogueOpenDoor => "PLAYER_ACTION_ROGUE_OPEN_DOOR",
            Self::PlayerActionRogueScoreReward => "PLAYER_ACTION_ROGUE_SCORE_REWARD",
            Self::PlayerActionRogueEnhanceBuff => "PLAYER_ACTION_ROGUE_ENHANCE_BUFF",
            Self::PlayerActionRogueSelectBonus => "PLAYER_ACTION_ROGUE_SELECT_BONUS",
            Self::PlayerActionRogueAreaFirstReward => {
                "PLAYER_ACTION_ROGUE_AREA_FIRST_REWARD"
            }
            Self::PlayerActionRogueEnableTalent => "PLAYER_ACTION_ROGUE_ENABLE_TALENT",
            Self::PlayerActionRogueAeonUnlock => "PLAYER_ACTION_ROGUE_AEON_UNLOCK",
            Self::PlayerActionRogueAeonAddExp => "PLAYER_ACTION_ROGUE_AEON_ADD_EXP",
            Self::PlayerActionRogueImmerseLevelUp => {
                "PLAYER_ACTION_ROGUE_IMMERSE_LEVEL_UP"
            }
            Self::PlayerActionRogueSelectMiracle => "PLAYER_ACTION_ROGUE_SELECT_MIRACLE",
            Self::PlayerActionRogueUnlockArea => "PLAYER_ACTION_ROGUE_UNLOCK_AREA",
            Self::PlayerActionRogueExploreScoreChange => {
                "PLAYER_ACTION_ROGUE_EXPLORE_SCORE_CHANGE"
            }
            Self::PlayerActionRogueUpdateRewardPool => {
                "PLAYER_ACTION_ROGUE_UPDATE_REWARD_POOL"
            }
            Self::PlayerActionRogueSwapBuff => "PLAYER_ACTION_ROGUE_SWAP_BUFF",
            Self::PlayerActionRogueWeeklyRefresh => "PLAYER_ACTION_ROGUE_WEEKLY_REFRESH",
            Self::PlayerActionRogueExchangeKey => "PLAYER_ACTION_ROGUE_EXCHANGE_KEY",
            Self::PlayerActionRogueGetObjectReward => {
                "PLAYER_ACTION_ROGUE_GET_OBJECT_REWARD"
            }
            Self::PlayerActionRogueAreaMonsterDrop => {
                "PLAYER_ACTION_ROGUE_AREA_MONSTER_DROP"
            }
            Self::PlayerActionRogueAddMiracle => "PLAYER_ACTION_ROGUE_ADD_MIRACLE",
            Self::PlayerActionRogueSwapMiracle => "PLAYER_ACTION_ROGUE_SWAP_MIRACLE",
            Self::PlayerActionRogueOpenObjectReward => {
                "PLAYER_ACTION_ROGUE_OPEN_OBJECT_REWARD"
            }
            Self::PlayerActionRogueAeonEffect => "PLAYER_ACTION_ROGUE_AEON_EFFECT",
            Self::PlayerActionRogueReforgeBuff => "PLAYER_ACTION_ROGUE_REFORGE_BUFF",
            Self::PlayerActionRogueTradeMiracle => "PLAYER_ACTION_ROGUE_TRADE_MIRACLE",
            Self::PlayerActionRogueRemoveAvatar => "PLAYER_ACTION_ROGUE_REMOVE_AVATAR",
            Self::PlayerActionRogueDialogueSelect => {
                "PLAYER_ACTION_ROGUE_DIALOGUE_SELECT"
            }
            Self::PlayerActionRogueSelectAeon => "PLAYER_ACTION_ROGUE_SELECT_AEON",
            Self::PlayerActionRogueDialogueFinish => {
                "PLAYER_ACTION_ROGUE_DIALOGUE_FINISH"
            }
            Self::PlayerActionRogueHandbookReward => {
                "PLAYER_ACTION_ROGUE_HANDBOOK_REWARD"
            }
            Self::PlayerActionRogueAdventureRoomReward => {
                "PLAYER_ACTION_ROGUE_ADVENTURE_ROOM_REWARD"
            }
            Self::PlayerActionRogueShopBuy => "PLAYER_ACTION_ROGUE_SHOP_BUY",
            Self::PlayerActionRogueRepairMiracle => "PLAYER_ACTION_ROGUE_REPAIR_MIRACLE",
            Self::PlayerActionRogueReplaceAllMiracle => {
                "PLAYER_ACTION_ROGUE_REPLACE_ALL_MIRACLE"
            }
            Self::PlayerActionRogueMiracleBroken => "PLAYER_ACTION_ROGUE_MIRACLE_BROKEN",
            Self::PlayerActionRogueShopRefresh => "PLAYER_ACTION_ROGUE_SHOP_REFRESH",
            Self::PlayerActionRogueLevelMechanism => {
                "PLAYER_ACTION_ROGUE_LEVEL_MECHANISM"
            }
            Self::PlayerActionRogueRemoveMiracle => "PLAYER_ACTION_ROGUE_REMOVE_MIRACLE",
            Self::PlayerActionRogueDropBuff => "PLAYER_ACTION_ROGUE_DROP_BUFF",
            Self::PlayerActionRogueDestroyMiracle => {
                "PLAYER_ACTION_ROGUE_DESTROY_MIRACLE"
            }
            Self::PlayerActionRogueActivateFormula => {
                "PLAYER_ACTION_ROGUE_ACTIVATE_FORMULA"
            }
            Self::PlayerActionRogueDeactivateFormula => {
                "PLAYER_ACTION_ROGUE_DEACTIVATE_FORMULA"
            }
            Self::PlayerActionRogueRemoveBuff => "PLAYER_ACTION_ROGUE_REMOVE_BUFF",
            Self::PlayerActionRogueSelectFormula => "PLAYER_ACTION_ROGUE_SELECT_FORMULA",
            Self::PlayerActionRogueDropFormula => "PLAYER_ACTION_ROGUE_DROP_FORMULA",
            Self::PlayerActionRogueRollFormula => "PLAYER_ACTION_ROGUE_ROLL_FORMULA",
            Self::PlayerActionRogueReforgeFormula => {
                "PLAYER_ACTION_ROGUE_REFORGE_FORMULA"
            }
            Self::PlayerActionRogueComposeMiracle => {
                "PLAYER_ACTION_ROGUE_COMPOSE_MIRACLE"
            }
            Self::PlayerActionRogueReforgeMiracle => {
                "PLAYER_ACTION_ROGUE_REFORGE_MIRACLE"
            }
            Self::PlayerActionRogueDoGamble => "PLAYER_ACTION_ROGUE_DO_GAMBLE",
            Self::PlayerActionRogueKeywordActivate => {
                "PLAYER_ACTION_ROGUE_KEYWORD_ACTIVATE"
            }
            Self::PlayerActionRogueKeywordDeactivate => {
                "PLAYER_ACTION_ROGUE_KEYWORD_DEACTIVATE"
            }
            Self::PlayerActionRogueSourceDefault => "PLAYER_ACTION_ROGUE_SOURCE_DEFAULT",
            Self::PlayerActionRoguePlayerSelect => "PLAYER_ACTION_ROGUE_PLAYER_SELECT",
            Self::PlayerActionRogueLayerSettlement => {
                "PLAYER_ACTION_ROGUE_LAYER_SETTLEMENT"
            }
            Self::PlayerActionRogueFormula => "PLAYER_ACTION_ROGUE_FORMULA",
            Self::PlayerActionRogueWorkbench => "PLAYER_ACTION_ROGUE_WORKBENCH",
            Self::PlayerActionRogueModifier => "PLAYER_ACTION_ROGUE_MODIFIER",
            Self::PlayerActionRogueReforge => "PLAYER_ACTION_ROGUE_REFORGE",
            Self::PlayerActionRogueTalent => "PLAYER_ACTION_ROGUE_TALENT",
            Self::PlayerActionRogueReroll => "PLAYER_ACTION_ROGUE_REROLL",
            Self::PlayerActionRogueCoinChange => "PLAYER_ACTION_ROGUE_COIN_CHANGE",
            Self::PlayerActionRogueMagicScepterShop => {
                "PLAYER_ACTION_ROGUE_MAGIC_SCEPTER_SHOP"
            }
            Self::PlayerActionRogueMagicUnitShop => "PLAYER_ACTION_ROGUE_MAGIC_UNIT_SHOP",
            Self::PlayerActionRogueMagicScepterLevelUp => {
                "PLAYER_ACTION_ROGUE_MAGIC_SCEPTER_LEVEL_UP"
            }
            Self::PlayerActionGacha => "PLAYER_ACTION_GACHA",
            Self::PlayerActionAddGachaTicket => "PLAYER_ACTION_ADD_GACHA_TICKET",
            Self::PlayerActionGachaExchange => "PLAYER_ACTION_GACHA_EXCHANGE",
            Self::PlayerActionSetGachaDecideItem => "PLAYER_ACTION_SET_GACHA_DECIDE_ITEM",
            Self::PlayerActionEventMissionAccept => "PLAYER_ACTION_EVENT_MISSION_ACCEPT",
            Self::PlayerActionEventMissionFinish => "PLAYER_ACTION_EVENT_MISSION_FINISH",
            Self::PlayerActionEventMissionReward => "PLAYER_ACTION_EVENT_MISSION_REWARD",
            Self::PlayerActionRaidFinish => "PLAYER_ACTION_RAID_FINISH",
            Self::PlayerActionRaidBegin => "PLAYER_ACTION_RAID_BEGIN",
            Self::PlayerActionChallengeRaidReward => {
                "PLAYER_ACTION_CHALLENGE_RAID_REWARD"
            }
            Self::PlayerActionStartRaid => "PLAYER_ACTION_START_RAID",
            Self::PlayerActionEndRaid => "PLAYER_ACTION_END_RAID",
            Self::PlayerActionRaidTargetFinish => "PLAYER_ACTION_RAID_TARGET_FINISH",
            Self::PlayerActionArchiveRaid => "PLAYER_ACTION_ARCHIVE_RAID",
            Self::PlayerActionHeroBaseTypeChange => "PLAYER_ACTION_HERO_BASE_TYPE_CHANGE",
            Self::PlayerActionHeroBaseTypeAddByMission => {
                "PLAYER_ACTION_HERO_BASE_TYPE_ADD_BY_MISSION"
            }
            Self::PlayerActionHeroBaseTypeAddByReq => {
                "PLAYER_ACTION_HERO_BASE_TYPE_ADD_BY_REQ"
            }
            Self::PlayerActionHeroBaseTypeAdd => "PLAYER_ACTION_HERO_BASE_TYPE_ADD",
            Self::PlayerActionDialogueSelect => "PLAYER_ACTION_DIALOGUE_SELECT",
            Self::PlayerActionExpeditionStart => "PLAYER_ACTION_EXPEDITION_START",
            Self::PlayerActionExpeditionFinish => "PLAYER_ACTION_EXPEDITION_FINISH",
            Self::PlayerActionExpeditionReward => "PLAYER_ACTION_EXPEDITION_REWARD",
            Self::PlayerActionActivityExpeditionStart => {
                "PLAYER_ACTION_ACTIVITY_EXPEDITION_START"
            }
            Self::PlayerActionActivityExpeditionFinish => {
                "PLAYER_ACTION_ACTIVITY_EXPEDITION_FINISH"
            }
            Self::PlayerActionActivityExpeditionReward => {
                "PLAYER_ACTION_ACTIVITY_EXPEDITION_REWARD"
            }
            Self::PlayerActionActivityExpeditionBegin => {
                "PLAYER_ACTION_ACTIVITY_EXPEDITION_BEGIN"
            }
            Self::PlayerActionActivityExpeditionEnd => {
                "PLAYER_ACTION_ACTIVITY_EXPEDITION_END"
            }
            Self::PlayerActionActivityLoginReward => {
                "PLAYER_ACTION_ACTIVITY_LOGIN_REWARD"
            }
            Self::PlayerActionFriendReport => "PLAYER_ACTION_FRIEND_REPORT",
            Self::PlayerActionAssistReward => "PLAYER_ACTION_ASSIST_REWARD",
            Self::PlayerActionAssistAvatarRefresh => {
                "PLAYER_ACTION_ASSIST_AVATAR_REFRESH"
            }
            Self::PlayerActionAssistAvatarBattleStart => {
                "PLAYER_ACTION_ASSIST_AVATAR_BATTLE_START"
            }
            Self::PlayerActionAssistAvatarBattleEnd => {
                "PLAYER_ACTION_ASSIST_AVATAR_BATTLE_END"
            }
            Self::PlayerActionFriendApply => "PLAYER_ACTION_FRIEND_APPLY",
            Self::PlayerActionFriendManage => "PLAYER_ACTION_FRIEND_MANAGE",
            Self::PlayerActionFriendBlacklist => "PLAYER_ACTION_FRIEND_BLACKLIST",
            Self::PlayerActionFriendModifyRemarkName => {
                "PLAYER_ACTION_FRIEND_MODIFY_REMARK_NAME"
            }
            Self::PlayerActionFriendMark => "PLAYER_ACTION_FRIEND_MARK",
            Self::PlayerActionFriendAssistList => "PLAYER_ACTION_FRIEND_ASSIST_LIST",
            Self::PlayerActionBattlePassLevelReward => {
                "PLAYER_ACTION_BATTLE_PASS_LEVEL_REWARD"
            }
            Self::PlayerActionBattlePass128tierReward => {
                "PLAYER_ACTION_BATTLE_PASS_128TIER_REWARD"
            }
            Self::PlayerActionBattlePassLevelRewardAutoMail => {
                "PLAYER_ACTION_BATTLE_PASS_LEVEL_REWARD_AUTO_MAIL"
            }
            Self::PlayerActionBuyBattlePass => "PLAYER_ACTION_BUY_BATTLE_PASS",
            Self::PlayerActionAddBattlePassExp => "PLAYER_ACTION_ADD_BATTLE_PASS_EXP",
            Self::PlayerActionBattlePassLevelUp => "PLAYER_ACTION_BATTLE_PASS_LEVEL_UP",
            Self::PlayerActionBuyBattlePassLevel => "PLAYER_ACTION_BUY_BATTLE_PASS_LEVEL",
            Self::PlayerActionBattlePassEndMail => "PLAYER_ACTION_BATTLE_PASS_END_MAIL",
            Self::PlayerActionBattlePass68tierReward => {
                "PLAYER_ACTION_BATTLE_PASS_68TIER_REWARD"
            }
            Self::PlayerActionModifySign => "PLAYER_ACTION_MODIFY_SIGN",
            Self::PlayerActionDisplayAvatarSet => "PLAYER_ACTION_DISPLAY_AVATAR_SET",
            Self::PlayerActionAssistAvatarSet => "PLAYER_ACTION_ASSIST_AVATAR_SET",
            Self::PlayerActionAchievementFinish => "PLAYER_ACTION_ACHIEVEMENT_FINISH",
            Self::PlayerActionAchievementReward => "PLAYER_ACTION_ACHIEVEMENT_REWARD",
            Self::PlayerActionAchievementAddExp => "PLAYER_ACTION_ACHIEVEMENT_ADD_EXP",
            Self::PlayerActionAchievementLevelUp => "PLAYER_ACTION_ACHIEVEMENT_LEVEL_UP",
            Self::PlayerActionPunkLordReward => "PLAYER_ACTION_PUNK_LORD_REWARD",
            Self::PlayerActionPunkLordBossSearch => "PLAYER_ACTION_PUNK_LORD_BOSS_SEARCH",
            Self::PlayerActionPunkLordBossShare => "PLAYER_ACTION_PUNK_LORD_BOSS_SHARE",
            Self::PlayerActionStartPunkLordRaid => "PLAYER_ACTION_START_PUNK_LORD_RAID",
            Self::PlayerActionPunkLordSupportTimes => {
                "PLAYER_ACTION_PUNK_LORD_SUPPORT_TIMES"
            }
            Self::PlayerActionPunkLordScoreReward => {
                "PLAYER_ACTION_PUNK_LORD_SCORE_REWARD"
            }
            Self::PlayerActionPunkLordListRefresh => {
                "PLAYER_ACTION_PUNK_LORD_LIST_REFRESH"
            }
            Self::PlayerActionPunkLordPowerAttack => {
                "PLAYER_ACTION_PUNK_LORD_POWER_ATTACK"
            }
            Self::PlayerActionPunkLordBattleEnd => "PLAYER_ACTION_PUNK_LORD_BATTLE_END",
            Self::PlayerActionPunkLordBossDeath => "PLAYER_ACTION_PUNK_LORD_BOSS_DEATH",
            Self::PlayerActionPunkLordBossScore => "PLAYER_ACTION_PUNK_LORD_BOSS_SCORE",
            Self::PlayerActionDailyActiveLevelReward => {
                "PLAYER_ACTION_DAILY_ACTIVE_LEVEL_REWARD"
            }
            Self::PlayerActionDailyActiveAddPoint => {
                "PLAYER_ACTION_DAILY_ACTIVE_ADD_POINT"
            }
            Self::PlayerActionDailyActiveDeleteOldQuest => {
                "PLAYER_ACTION_DAILY_ACTIVE_DELETE_OLD_QUEST"
            }
            Self::PlayerActionFightActivityBegin => "PLAYER_ACTION_FIGHT_ACTIVITY_BEGIN",
            Self::PlayerActionFightActivityEnd => "PLAYER_ACTION_FIGHT_ACTIVITY_END",
            Self::PlayerActionFightActivityReward => {
                "PLAYER_ACTION_FIGHT_ACTIVITY_REWARD"
            }
            Self::PlayerActionActivityEndMail => "PLAYER_ACTION_ACTIVITY_END_MAIL",
            Self::PlayerActionAppointmentMail => "PLAYER_ACTION_APPOINTMENT_MAIL",
            Self::PlayerActionShareReward => "PLAYER_ACTION_SHARE_REWARD",
            Self::PlayerActionActivityTrialReward => {
                "PLAYER_ACTION_ACTIVITY_TRIAL_REWARD"
            }
            Self::PlayerActionActivityTrialStart => "PLAYER_ACTION_ACTIVITY_TRIAL_START",
            Self::PlayerActionPsPreOrderMail1 => "PLAYER_ACTION_PS_PRE_ORDER_MAIL1",
            Self::PlayerActionPsPreOrderMail2 => "PLAYER_ACTION_PS_PRE_ORDER_MAIL2",
            Self::PlayerActionPsLoginMail => "PLAYER_ACTION_PS_LOGIN_MAIL",
            Self::PlayerActionLoginMail => "PLAYER_ACTION_LOGIN_MAIL",
            Self::PlayerActionGooglePoints100Mail => {
                "PLAYER_ACTION_GOOGLE_POINTS_100_MAIL"
            }
            Self::PlayerActionGooglePoints150Mail => {
                "PLAYER_ACTION_GOOGLE_POINTS_150_MAIL"
            }
            Self::PlayerActionTrainVisitorBehaviorFinish => {
                "PLAYER_ACTION_TRAIN_VISITOR_BEHAVIOR_FINISH"
            }
            Self::PlayerActionEnterViewTrain => "PLAYER_ACTION_ENTER_VIEW_TRAIN",
            Self::PlayerActionTrainVisitorBehaviorRewardForceSend => {
                "PLAYER_ACTION_TRAIN_VISITOR_BEHAVIOR_REWARD_FORCE_SEND"
            }
            Self::PlayerActionTrainVisitorRegisterOpen => {
                "PLAYER_ACTION_TRAIN_VISITOR_REGISTER_OPEN"
            }
            Self::PlayerActionTrainVisitorBehaviorRewardForceSendByRegister => {
                "PLAYER_ACTION_TRAIN_VISITOR_BEHAVIOR_REWARD_FORCE_SEND_BY_REGISTER"
            }
            Self::PlayerActionTrainVisitorClearLastTrainVisitor => {
                "PLAYER_ACTION_TRAIN_VISITOR_CLEAR_LAST_TRAIN_VISITOR"
            }
            Self::PlayerActionTrainVisitorRefreshTrainVisitor => {
                "PLAYER_ACTION_TRAIN_VISITOR_REFRESH_TRAIN_VISITOR"
            }
            Self::PlayerActionTrainVisitorRefreshNpc => {
                "PLAYER_ACTION_TRAIN_VISITOR_REFRESH_NPC"
            }
            Self::PlayerActionMessageGroupAccept => "PLAYER_ACTION_MESSAGE_GROUP_ACCEPT",
            Self::PlayerActionMessageSectionAccept => {
                "PLAYER_ACTION_MESSAGE_SECTION_ACCEPT"
            }
            Self::PlayerActionMessageSectionFinish => {
                "PLAYER_ACTION_MESSAGE_SECTION_FINISH"
            }
            Self::PlayerActionMessageItemFinish => "PLAYER_ACTION_MESSAGE_ITEM_FINISH",
            Self::PlayerActionFinishMessageGroupReward => {
                "PLAYER_ACTION_FINISH_MESSAGE_GROUP_REWARD"
            }
            Self::PlayerActionSubstituteMessageGroupReward => {
                "PLAYER_ACTION_SUBSTITUTE_MESSAGE_GROUP_REWARD"
            }
            Self::PlayerActionDeleteMessageGroup => "PLAYER_ACTION_DELETE_MESSAGE_GROUP",
            Self::PlayerActionDeleteMessageSection => {
                "PLAYER_ACTION_DELETE_MESSAGE_SECTION"
            }
            Self::PlayerActionDeleteMessageGroupByConfig => {
                "PLAYER_ACTION_DELETE_MESSAGE_GROUP_BY_CONFIG"
            }
            Self::PlayerActionDeleteMessageGroupByActivity => {
                "PLAYER_ACTION_DELETE_MESSAGE_GROUP_BY_ACTIVITY"
            }
            Self::PlayerActionDeleteMessageGroupByMission => {
                "PLAYER_ACTION_DELETE_MESSAGE_GROUP_BY_MISSION"
            }
            Self::PlayerActionTextJoinSave => "PLAYER_ACTION_TEXT_JOIN_SAVE",
            Self::PlayerActionBoxingClubStart => "PLAYER_ACTION_BOXING_CLUB_START",
            Self::PlayerActionBoxingClubFinish => "PLAYER_ACTION_BOXING_CLUB_FINISH",
            Self::PlayerActionBoxingClubPause => "PLAYER_ACTION_BOXING_CLUB_PAUSE",
            Self::PlayerActionBoxingClubStageStart => {
                "PLAYER_ACTION_BOXING_CLUB_STAGE_START"
            }
            Self::PlayerActionTalkSend => "PLAYER_ACTION_TALK_SEND",
            Self::PlayerActionSelectInclinationText => {
                "PLAYER_ACTION_SELECT_INCLINATION_TEXT"
            }
            Self::PlayerActionMuseumSettleTurnOpen => {
                "PLAYER_ACTION_MUSEUM_SETTLE_TURN_OPEN"
            }
            Self::PlayerActionMuseumUpgradeArea => "PLAYER_ACTION_MUSEUM_UPGRADE_AREA",
            Self::PlayerActionMuseumUpgradeAreaStat => {
                "PLAYER_ACTION_MUSEUM_UPGRADE_AREA_STAT"
            }
            Self::PlayerActionMuseumDispatchRewardRegular => {
                "PLAYER_ACTION_MUSEUM_DISPATCH_REWARD_REGULAR"
            }
            Self::PlayerActionMuseumDispatchRewardDirectional => {
                "PLAYER_ACTION_MUSEUM_DISPATCH_REWARD_DIRECTIONAL"
            }
            Self::PlayerActionMuseumPhaseTargetFinished => {
                "PLAYER_ACTION_MUSEUM_PHASE_TARGET_FINISHED"
            }
            Self::PlayerActionMuseumGetStuff => "PLAYER_ACTION_MUSEUM_GET_STUFF",
            Self::PlayerActionMuseumGetExhibit => "PLAYER_ACTION_MUSEUM_GET_EXHIBIT",
            Self::PlayerActionMuseumTakeCollectMission => {
                "PLAYER_ACTION_MUSEUM_TAKE_COLLECT_MISSION"
            }
            Self::PlayerActionMuseumAreaUnlock => "PLAYER_ACTION_MUSEUM_AREA_UNLOCK",
            Self::PlayerActionMuseumAreaUpgrade => "PLAYER_ACTION_MUSEUM_AREA_UPGRADE",
            Self::PlayerActionMuseumAreaStatUpgrade => {
                "PLAYER_ACTION_MUSEUM_AREA_STAT_UPGRADE"
            }
            Self::PlayerActionMuseumEnterNextRound => {
                "PLAYER_ACTION_MUSEUM_ENTER_NEXT_ROUND"
            }
            Self::PlayerActionMuseumStartDispatch => {
                "PLAYER_ACTION_MUSEUM_START_DISPATCH"
            }
            Self::PlayerActionMuseumSettleDispatch => {
                "PLAYER_ACTION_MUSEUM_SETTLE_DISPATCH"
            }
            Self::PlayerActionMuseumRenewPointChanged => {
                "PLAYER_ACTION_MUSEUM_RENEW_POINT_CHANGED"
            }
            Self::PlayerActionMuseumTargetReward => "PLAYER_ACTION_MUSEUM_TARGET_REWARD",
            Self::PlayerActionMuseumPhaseUpgrade => "PLAYER_ACTION_MUSEUM_PHASE_UPGRADE",
            Self::PlayerActionMuseumCollectReward => {
                "PLAYER_ACTION_MUSEUM_COLLECT_REWARD"
            }
            Self::PlayerActionMuseumTargetStart => "PLAYER_ACTION_MUSEUM_TARGET_START",
            Self::PlayerActionMuseumTargetFinish => "PLAYER_ACTION_MUSEUM_TARGET_FINISH",
            Self::PlayerActionActivityMonsterResearchConsumeMaterial => {
                "PLAYER_ACTION_ACTIVITY_MONSTER_RESEARCH_CONSUME_MATERIAL"
            }
            Self::PlayerActionActivityMonsterResearchTakeReward => {
                "PLAYER_ACTION_ACTIVITY_MONSTER_RESEARCH_TAKE_REWARD"
            }
            Self::PlayerActionPlayerReturnStart => "PLAYER_ACTION_PLAYER_RETURN_START",
            Self::PlayerActionPlayerReturnSign => "PLAYER_ACTION_PLAYER_RETURN_SIGN",
            Self::PlayerActionPlayerReturnPoint => "PLAYER_ACTION_PLAYER_RETURN_POINT",
            Self::PlayerActionPlayerReturnCountdown => {
                "PLAYER_ACTION_PLAYER_RETURN_COUNTDOWN"
            }
            Self::PlayerActionPlayerReturnFinish => "PLAYER_ACTION_PLAYER_RETURN_FINISH",
            Self::PlayerActionPlayerReturnCompensate => {
                "PLAYER_ACTION_PLAYER_RETURN_COMPENSATE"
            }
            Self::PlayerActionPlayerReturnGetRelic => {
                "PLAYER_ACTION_PLAYER_RETURN_GET_RELIC"
            }
            Self::PlayerActionRogueChallengeActivityStart => {
                "PLAYER_ACTION_ROGUE_CHALLENGE_ACTIVITY_START"
            }
            Self::PlayerActionRogueChallengeActivityFinish => {
                "PLAYER_ACTION_ROGUE_CHALLENGE_ACTIVITY_FINISH"
            }
            Self::PlayerActionRogueChallengeActivitySave => {
                "PLAYER_ACTION_ROGUE_CHALLENGE_ACTIVITY_SAVE"
            }
            Self::PlayerActionAetherDivideUsePassiveSkillItem => {
                "PLAYER_ACTION_AETHER_DIVIDE_USE_PASSIVE_SKILL_ITEM"
            }
            Self::PlayerActionAetherDivideClearPassiveSkill => {
                "PLAYER_ACTION_AETHER_DIVIDE_CLEAR_PASSIVE_SKILL"
            }
            Self::PlayerActionAetherDivideFinishChallenge => {
                "PLAYER_ACTION_AETHER_DIVIDE_FINISH_CHALLENGE"
            }
            Self::PlayerActionAetherDivideOverflowChunkReward => {
                "PLAYER_ACTION_AETHER_DIVIDE_OVERFLOW_CHUNK_REWARD"
            }
            Self::PlayerActionAetherDivideLevelUp => {
                "PLAYER_ACTION_AETHER_DIVIDE_LEVEL_UP"
            }
            Self::PlayerActionAetherDivideNewReward => {
                "PLAYER_ACTION_AETHER_DIVIDE_NEW_REWARD"
            }
            Self::PlayerActionAetherDivideMonsterAdd => {
                "PLAYER_ACTION_AETHER_DIVIDE_MONSTER_ADD"
            }
            Self::PlayerActionAetherDivideMonsterLevel => {
                "PLAYER_ACTION_AETHER_DIVIDE_MONSTER_LEVEL"
            }
            Self::PlayerActionAetherDivideMonsterSkillWear => {
                "PLAYER_ACTION_AETHER_DIVIDE_MONSTER_SKILL_WEAR"
            }
            Self::PlayerActionAetherDivideTeamChange => {
                "PLAYER_ACTION_AETHER_DIVIDE_TEAM_CHANGE"
            }
            Self::PlayerActionAetherDivideStageBegin => {
                "PLAYER_ACTION_AETHER_DIVIDE_STAGE_BEGIN"
            }
            Self::PlayerActionAetherDivideStageEnd => {
                "PLAYER_ACTION_AETHER_DIVIDE_STAGE_END"
            }
            Self::PlayerActionAetherDivideStageRoll => {
                "PLAYER_ACTION_AETHER_DIVIDE_STAGE_ROLL"
            }
            Self::PlayerActionAlleyEventFinish => "PLAYER_ACTION_ALLEY_EVENT_FINISH",
            Self::PlayerActionAlleyTakeReward => "PLAYER_ACTION_ALLEY_TAKE_REWARD",
            Self::PlayerActionAlleyPrestigeLevelUp => {
                "PLAYER_ACTION_ALLEY_PRESTIGE_LEVEL_UP"
            }
            Self::PlayerActionAlleyLogisticsFinish => {
                "PLAYER_ACTION_ALLEY_LOGISTICS_FINISH"
            }
            Self::PlayerActionAlleyPlacingGameFinish => {
                "PLAYER_ACTION_ALLEY_PLACING_GAME_FINISH"
            }
            Self::PlayerActionAlleyGuaranteedFunds => {
                "PLAYER_ACTION_ALLEY_GUARANTEED_FUNDS"
            }
            Self::PlayerActionAlleyTakeEventReward => {
                "PLAYER_ACTION_ALLEY_TAKE_EVENT_REWARD"
            }
            Self::PlayerActionAlleySpecialOrderFinish => {
                "PLAYER_ACTION_ALLEY_SPECIAL_ORDER_FINISH"
            }
            Self::PlayerActionSensitiveWordShield => {
                "PLAYER_ACTION_SENSITIVE_WORD_SHIELD"
            }
            Self::PlayerActionSensitiveWordServerInternalError => {
                "PLAYER_ACTION_SENSITIVE_WORD_SERVER_INTERNAL_ERROR"
            }
            Self::PlayerActionSensitiveWordPlatformError => {
                "PLAYER_ACTION_SENSITIVE_WORD_PLATFORM_ERROR"
            }
            Self::PlayerActionTreasureDungeonStart => {
                "PLAYER_ACTION_TREASURE_DUNGEON_START"
            }
            Self::PlayerActionTreasureDungeonFinish => {
                "PLAYER_ACTION_TREASURE_DUNGEON_FINISH"
            }
            Self::PlayerActionTreasureDungeonEnterFloor => {
                "PLAYER_ACTION_TREASURE_DUNGEON_ENTER_FLOOR"
            }
            Self::PlayerActionTreasureDungeonLeaveFloor => {
                "PLAYER_ACTION_TREASURE_DUNGEON_LEAVE_FLOOR"
            }
            Self::PlayerActionTreasureDungeonUseItem => {
                "PLAYER_ACTION_TREASURE_DUNGEON_USE_ITEM"
            }
            Self::PlayerActionTreasureDungeonAvatarChange => {
                "PLAYER_ACTION_TREASURE_DUNGEON_AVATAR_CHANGE"
            }
            Self::PlayerActionTreasureDungeonBattleStart => {
                "PLAYER_ACTION_TREASURE_DUNGEON_BATTLE_START"
            }
            Self::PlayerActionTreasureDungeonBattleEnd => {
                "PLAYER_ACTION_TREASURE_DUNGEON_BATTLE_END"
            }
            Self::PlayerActionTreasureDungeonPickupBuff => {
                "PLAYER_ACTION_TREASURE_DUNGEON_PICKUP_BUFF"
            }
            Self::PlayerActionChessRogueFirstFinish => {
                "PLAYER_ACTION_CHESS_ROGUE_FIRST_FINISH"
            }
            Self::PlayerActionChessRogueGiveupDice => {
                "PLAYER_ACTION_CHESS_ROGUE_GIVEUP_DICE"
            }
            Self::PlayerActionChessRogueSubStorySelect => {
                "PLAYER_ACTION_CHESS_ROGUE_SUB_STORY_SELECT"
            }
            Self::PlayerActionChessRogueActionPoint => {
                "PLAYER_ACTION_CHESS_ROGUE_ACTION_POINT"
            }
            Self::PlayerActionChessRogueReviveByProp => {
                "PLAYER_ACTION_CHESS_ROGUE_REVIVE_BY_PROP"
            }
            Self::PlayerActionChessRogueStartLevel => {
                "PLAYER_ACTION_CHESS_ROGUE_START_LEVEL"
            }
            Self::PlayerActionChessRogueDiceEffect => {
                "PLAYER_ACTION_CHESS_ROGUE_DICE_EFFECT"
            }
            Self::PlayerActionChessRogueMainStoryFinish => {
                "PLAYER_ACTION_CHESS_ROGUE_MAIN_STORY_FINISH"
            }
            Self::PlayerActionChessRogueAeonTalentEffect => {
                "PLAYER_ACTION_CHESS_ROGUE_AEON_TALENT_EFFECT"
            }
            Self::PlayerActionChessRogueModifierOthersEffect => {
                "PLAYER_ACTION_CHESS_ROGUE_MODIFIER_OTHERS_EFFECT"
            }
            Self::PlayerActionChessRogueAddBuff => "PLAYER_ACTION_CHESS_ROGUE_ADD_BUFF",
            Self::PlayerActionChessRogueReforgeBuff => {
                "PLAYER_ACTION_CHESS_ROGUE_REFORGE_BUFF"
            }
            Self::PlayerActionChessRogueBuffLevelUp => {
                "PLAYER_ACTION_CHESS_ROGUE_BUFF_LEVEL_UP"
            }
            Self::PlayerActionChessRogueEnhanceBuff => {
                "PLAYER_ACTION_CHESS_ROGUE_ENHANCE_BUFF"
            }
            Self::PlayerActionChessRogueAddMiracle => {
                "PLAYER_ACTION_CHESS_ROGUE_ADD_MIRACLE"
            }
            Self::PlayerActionChessRogueSwapMiracle => {
                "PLAYER_ACTION_CHESS_ROGUE_SWAP_MIRACLE"
            }
            Self::PlayerActionChessRogueSelectBonus => {
                "PLAYER_ACTION_CHESS_ROGUE_SELECT_BONUS"
            }
            Self::PlayerActionChessRogueDialogueFinish => {
                "PLAYER_ACTION_CHESS_ROGUE_DIALOGUE_FINISH"
            }
            Self::PlayerActionChessRogueSubStoryFinish => {
                "PLAYER_ACTION_CHESS_ROGUE_SUB_STORY_FINISH"
            }
            Self::PlayerActionChessRogueAdventureRoomFinish => {
                "PLAYER_ACTION_CHESS_ROGUE_ADVENTURE_ROOM_FINISH"
            }
            Self::PlayerActionChessRogueFinishLevel => {
                "PLAYER_ACTION_CHESS_ROGUE_FINISH_LEVEL"
            }
            Self::PlayerActionChessRogueStartLayer => {
                "PLAYER_ACTION_CHESS_ROGUE_START_LAYER"
            }
            Self::PlayerActionChessRogueFinishLayer => {
                "PLAYER_ACTION_CHESS_ROGUE_FINISH_LAYER"
            }
            Self::PlayerActionChessRogueEnterRoom => {
                "PLAYER_ACTION_CHESS_ROGUE_ENTER_ROOM"
            }
            Self::PlayerActionChessRogueLeaveRoom => {
                "PLAYER_ACTION_CHESS_ROGUE_LEAVE_ROOM"
            }
            Self::PlayerActionChessRogueRollDice => "PLAYER_ACTION_CHESS_ROGUE_ROLL_DICE",
            Self::PlayerActionChessRogueSelectDice => {
                "PLAYER_ACTION_CHESS_ROGUE_SELECT_DICE"
            }
            Self::PlayerActionChessRogueUnlockDice => {
                "PLAYER_ACTION_CHESS_ROGUE_UNLOCK_DICE"
            }
            Self::PlayerActionChessRogueBoardEvent => {
                "PLAYER_ACTION_CHESS_ROGUE_BOARD_EVENT"
            }
            Self::PlayerActionChessRogueDimensionPoint => {
                "PLAYER_ACTION_CHESS_ROGUE_DIMENSION_POINT"
            }
            Self::PlayerActionChessRoguePickAvatar => {
                "PLAYER_ACTION_CHESS_ROGUE_PICK_AVATAR"
            }
            Self::PlayerActionChessRogueReviveAvatar => {
                "PLAYER_ACTION_CHESS_ROGUE_REVIVE_AVATAR"
            }
            Self::PlayerActionChessRogueNousSubStorySelect => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_SUB_STORY_SELECT"
            }
            Self::PlayerActionChessRogueLevelMechanism => {
                "PLAYER_ACTION_CHESS_ROGUE_LEVEL_MECHANISM"
            }
            Self::PlayerActionChessRogueNousStartLevel => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_START_LEVEL"
            }
            Self::PlayerActionChessRogueNousFinishLevel => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_FINISH_LEVEL"
            }
            Self::PlayerActionChessRogueNousStartLayer => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_START_LAYER"
            }
            Self::PlayerActionChessRogueNousFinishLayer => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_FINISH_LAYER"
            }
            Self::PlayerActionChessRogueNousEnterRoom => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_ENTER_ROOM"
            }
            Self::PlayerActionChessRogueNousLeaveRoom => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_LEAVE_ROOM"
            }
            Self::PlayerActionChessRogueNousSelectDice => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_SELECT_DICE"
            }
            Self::PlayerActionChessRogueNousUnlockDiceBranch => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_UNLOCK_DICE_BRANCH"
            }
            Self::PlayerActionChessRogueNousUnlockDiceSurface => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_UNLOCK_DICE_SURFACE"
            }
            Self::PlayerActionChessRogueNousEditDice => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_EDIT_DICE"
            }
            Self::PlayerActionChessRogueNousValueChange => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_VALUE_CHANGE"
            }
            Self::PlayerActionChessRogueNousMainStoryTrigger => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_MAIN_STORY_TRIGGER"
            }
            Self::PlayerActionChessRogueNousMainStoryFinish => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_MAIN_STORY_FINISH"
            }
            Self::PlayerActionChessRogueNousSubStoryTrigger => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_SUB_STORY_TRIGGER"
            }
            Self::PlayerActionChessRogueNousSubStoryFinish => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_SUB_STORY_FINISH"
            }
            Self::PlayerActionChessRogueNousEnableTalent => {
                "PLAYER_ACTION_CHESS_ROGUE_NOUS_ENABLE_TALENT"
            }
            Self::PlayerActionChessRogueSelectBuff => {
                "PLAYER_ACTION_CHESS_ROGUE_SELECT_BUFF"
            }
            Self::PlayerActionChessRogueSelectMiracle => {
                "PLAYER_ACTION_CHESS_ROGUE_SELECT_MIRACLE"
            }
            Self::PlayerActionChessRogueRemoveMiracle => {
                "PLAYER_ACTION_CHESS_ROGUE_REMOVE_MIRACLE"
            }
            Self::PlayerActionChessRogueBoardCell => {
                "PLAYER_ACTION_CHESS_ROGUE_BOARD_CELL"
            }
            Self::PlayerActionFantasticStoryBattleBegin => {
                "PLAYER_ACTION_FANTASTIC_STORY_BATTLE_BEGIN"
            }
            Self::PlayerActionFantasticStoryBattleEnd => {
                "PLAYER_ACTION_FANTASTIC_STORY_BATTLE_END"
            }
            Self::PlayerActionRogueEndlessReward => "PLAYER_ACTION_ROGUE_ENDLESS_REWARD",
            Self::PlayerActionRogueEndlessLevelStart => {
                "PLAYER_ACTION_ROGUE_ENDLESS_LEVEL_START"
            }
            Self::PlayerActionRogueEndlessStageBegin => {
                "PLAYER_ACTION_ROGUE_ENDLESS_STAGE_BEGIN"
            }
            Self::PlayerActionRogueEndlessStageEnd => {
                "PLAYER_ACTION_ROGUE_ENDLESS_STAGE_END"
            }
            Self::PlayerActionBattleCollegeReward => {
                "PLAYER_ACTION_BATTLE_COLLEGE_REWARD"
            }
            Self::PlayerActionCommonRogueMiracleForBuffShop => {
                "PLAYER_ACTION_COMMON_ROGUE_MIRACLE_FOR_BUFF_SHOP"
            }
            Self::PlayerActionCommonRogueAdventureRoomFinish => {
                "PLAYER_ACTION_COMMON_ROGUE_ADVENTURE_ROOM_FINISH"
            }
            Self::PlayerActionCommonRogueBuyBuffShop => {
                "PLAYER_ACTION_COMMON_ROGUE_BUY_BUFF_SHOP"
            }
            Self::PlayerActionCommonRogueBuyBuffShopRefresh => {
                "PLAYER_ACTION_COMMON_ROGUE_BUY_BUFF_SHOP_REFRESH"
            }
            Self::PlayerActionCommonRogueCollectionUnlock => {
                "PLAYER_ACTION_COMMON_ROGUE_COLLECTION_UNLOCK"
            }
            Self::PlayerActionCommonRogueCollectionSet => {
                "PLAYER_ACTION_COMMON_ROGUE_COLLECTION_SET"
            }
            Self::PlayerActionCommonRogueExhibitionUnlock => {
                "PLAYER_ACTION_COMMON_ROGUE_EXHIBITION_UNLOCK"
            }
            Self::PlayerActionCommonRogueExhibitionSet => {
                "PLAYER_ACTION_COMMON_ROGUE_EXHIBITION_SET"
            }
            Self::PlayerActionCommonRogueChestInteract => {
                "PLAYER_ACTION_COMMON_ROGUE_CHEST_INTERACT"
            }
            Self::PlayerActionCommonRogueAdventureRoomWolfgunFinish => {
                "PLAYER_ACTION_COMMON_ROGUE_ADVENTURE_ROOM_WOLFGUN_FINISH"
            }
            Self::PlayerActionHeliobusPostIncomeReward => {
                "PLAYER_ACTION_HELIOBUS_POST_INCOME_REWARD"
            }
            Self::PlayerActionHeliobusPostFansReward => {
                "PLAYER_ACTION_HELIOBUS_POST_FANS_REWARD"
            }
            Self::PlayerActionHeliobusLevelUpgrade => {
                "PLAYER_ACTION_HELIOBUS_LEVEL_UPGRADE"
            }
            Self::PlayerActionHeliobusPostReplyReward => {
                "PLAYER_ACTION_HELIOBUS_POST_REPLY_REWARD"
            }
            Self::PlayerActionHeliobusCommentReplyReward => {
                "PLAYER_ACTION_HELIOBUS_COMMENT_REPLY_REWARD"
            }
            Self::PlayerActionHeliobusChallengeFirstReward => {
                "PLAYER_ACTION_HELIOBUS_CHALLENGE_FIRST_REWARD"
            }
            Self::PlayerActionHeliobusFansAdd => "PLAYER_ACTION_HELIOBUS_FANS_ADD",
            Self::PlayerActionHeliobusActionDaySettle => {
                "PLAYER_ACTION_HELIOBUS_ACTION_DAY_SETTLE"
            }
            Self::PlayerActionHeliobusSkillUnlock => {
                "PLAYER_ACTION_HELIOBUS_SKILL_UNLOCK"
            }
            Self::PlayerActionHeliobusStageBegin => "PLAYER_ACTION_HELIOBUS_STAGE_BEGIN",
            Self::PlayerActionHeliobusStageEnd => "PLAYER_ACTION_HELIOBUS_STAGE_END",
            Self::PlayerActionHeliobusSnsRead => "PLAYER_ACTION_HELIOBUS_SNS_READ",
            Self::PlayerActionHeliobusSnsPostUnlock => {
                "PLAYER_ACTION_HELIOBUS_SNS_POST_UNLOCK"
            }
            Self::PlayerActionHeliobusSnsCommentUnlock => {
                "PLAYER_ACTION_HELIOBUS_SNS_COMMENT_UNLOCK"
            }
            Self::PlayerActionHeliobusSnsComment => "PLAYER_ACTION_HELIOBUS_SNS_COMMENT",
            Self::PlayerActionHeliobusSnsPost => "PLAYER_ACTION_HELIOBUS_SNS_POST",
            Self::PlayerActionHeliobusSnsLike => "PLAYER_ACTION_HELIOBUS_SNS_LIKE",
            Self::PlayerActionHeliobusPhaseUpgrade => {
                "PLAYER_ACTION_HELIOBUS_PHASE_UPGRADE"
            }
            Self::PlayerActionPsPointCard30Reward => {
                "PLAYER_ACTION_PS_POINT_CARD_30_REWARD"
            }
            Self::PlayerActionPsPointCard50Reward => {
                "PLAYER_ACTION_PS_POINT_CARD_50_REWARD"
            }
            Self::PlayerActionPsPointCard100Reward => {
                "PLAYER_ACTION_PS_POINT_CARD_100_REWARD"
            }
            Self::PlayerActionPsnPlusGiftReward => "PLAYER_ACTION_PSN_PLUS_GIFT_REWARD",
            Self::PlayerActionAppleGiftCardReward => {
                "PLAYER_ACTION_APPLE_GIFT_CARD_REWARD"
            }
            Self::PlayerActionHeartDialSubmitItem => {
                "PLAYER_ACTION_HEART_DIAL_SUBMIT_ITEM"
            }
            Self::PlayerActionHeartDialDialoguePerform => {
                "PLAYER_ACTION_HEART_DIAL_DIALOGUE_PERFORM"
            }
            Self::PlayerActionHeartDialTraceConsume => {
                "PLAYER_ACTION_HEART_DIAL_TRACE_CONSUME"
            }
            Self::PlayerActionHeartDialChangeEmotion => {
                "PLAYER_ACTION_HEART_DIAL_CHANGE_EMOTION"
            }
            Self::PlayerActionTravelBrochureAddDefaultPaster => {
                "PLAYER_ACTION_TRAVEL_BROCHURE_ADD_DEFAULT_PASTER"
            }
            Self::PlayerActionSpaceZooBorn => "PLAYER_ACTION_SPACE_ZOO_BORN",
            Self::PlayerActionSpaceZooMutate => "PLAYER_ACTION_SPACE_ZOO_MUTATE",
            Self::PlayerActionSpaceZooDelete => "PLAYER_ACTION_SPACE_ZOO_DELETE",
            Self::PlayerActionSpaceZooExchangeItem => {
                "PLAYER_ACTION_SPACE_ZOO_EXCHANGE_ITEM"
            }
            Self::PlayerActionSpaceZooExpPoint => "PLAYER_ACTION_SPACE_ZOO_EXP_POINT",
            Self::PlayerActionSpaceZooTakeReward => "PLAYER_ACTION_SPACE_ZOO_TAKE_REWARD",
            Self::PlayerActionSpaceZooCollection => "PLAYER_ACTION_SPACE_ZOO_COLLECTION",
            Self::PlayerActionSpaceZooShow => "PLAYER_ACTION_SPACE_ZOO_SHOW",
            Self::PlayerActionSpaceZooSpecialData => {
                "PLAYER_ACTION_SPACE_ZOO_SPECIAL_DATA"
            }
            Self::PlayerActionStrongChallengeBattleBegin => {
                "PLAYER_ACTION_STRONG_CHALLENGE_BATTLE_BEGIN"
            }
            Self::PlayerActionStrongChallengeBattleEnd => {
                "PLAYER_ACTION_STRONG_CHALLENGE_BATTLE_END"
            }
            Self::PlayerActionRollShopDoGacha => "PLAYER_ACTION_ROLL_SHOP_DO_GACHA",
            Self::PlayerActionRollShopTakeReward => "PLAYER_ACTION_ROLL_SHOP_TAKE_REWARD",
            Self::PlayerActionOfferingSubmitItem => "PLAYER_ACTION_OFFERING_SUBMIT_ITEM",
            Self::PlayerActionOfferingTakeReward => "PLAYER_ACTION_OFFERING_TAKE_REWARD",
            Self::PlayerActionTravelBrochurePageUnlock => {
                "PLAYER_ACTION_TRAVEL_BROCHURE_PAGE_UNLOCK"
            }
            Self::PlayerActionTravelBrochurePageInteractAward => {
                "PLAYER_ACTION_TRAVEL_BROCHURE_PAGE_INTERACT_AWARD"
            }
            Self::PlayerActionTravelBrochureStickerUnlock => {
                "PLAYER_ACTION_TRAVEL_BROCHURE_STICKER_UNLOCK"
            }
            Self::PlayerActionTravelBrochureStickerApply => {
                "PLAYER_ACTION_TRAVEL_BROCHURE_STICKER_APPLY"
            }
            Self::PlayerActionTravelBrochureStickerRemove => {
                "PLAYER_ACTION_TRAVEL_BROCHURE_STICKER_REMOVE"
            }
            Self::PlayerActionTravelBrochurePageReset => {
                "PLAYER_ACTION_TRAVEL_BROCHURE_PAGE_RESET"
            }
            Self::PlayerActionTrackMainMissionId => "PLAYER_ACTION_TRACK_MAIN_MISSION_ID",
            Self::PlayerActionWolfBroBegin => "PLAYER_ACTION_WOLF_BRO_BEGIN",
            Self::PlayerActionWolfBroGroupStateChange => {
                "PLAYER_ACTION_WOLF_BRO_GROUP_STATE_CHANGE"
            }
            Self::PlayerActionWolfBroEnd => "PLAYER_ACTION_WOLF_BRO_END",
            Self::PlayerActionWolfBroBulletZero => "PLAYER_ACTION_WOLF_BRO_BULLET_ZERO",
            Self::PlayerActionWolfBroActivateBullet => {
                "PLAYER_ACTION_WOLF_BRO_ACTIVATE_BULLET"
            }
            Self::PlayerActionWolfBroBulletNumChange => {
                "PLAYER_ACTION_WOLF_BRO_BULLET_NUM_CHANGE"
            }
            Self::PlayerActionWolfBroUseBulletNull => {
                "PLAYER_ACTION_WOLF_BRO_USE_BULLET_NULL"
            }
            Self::PlayerActionWolfBroUseBulletHitMonster => {
                "PLAYER_ACTION_WOLF_BRO_USE_BULLET_HIT_MONSTER"
            }
            Self::PlayerActionWolfBroPickUpBullet => {
                "PLAYER_ACTION_WOLF_BRO_PICK_UP_BULLET"
            }
            Self::PlayerActionWolfBroRestoreArchive => {
                "PLAYER_ACTION_WOLF_BRO_RESTORE_ARCHIVE"
            }
            Self::PlayerActionTelevisionActivityBattleBegin => {
                "PLAYER_ACTION_TELEVISION_ACTIVITY_BATTLE_BEGIN"
            }
            Self::PlayerActionTelevisionActivityBattleEnd => {
                "PLAYER_ACTION_TELEVISION_ACTIVITY_BATTLE_END"
            }
            Self::PlayerActionFeverTimeActivityBattleBegin => {
                "PLAYER_ACTION_FEVER_TIME_ACTIVITY_BATTLE_BEGIN"
            }
            Self::PlayerActionFeverTimeActivityBattleEnd => {
                "PLAYER_ACTION_FEVER_TIME_ACTIVITY_BATTLE_END"
            }
            Self::PlayerActionGunPlayEnd => "PLAYER_ACTION_GUN_PLAY_END",
            Self::PlayerActionActivityStarFightBegin => {
                "PLAYER_ACTION_ACTIVITY_STAR_FIGHT_BEGIN"
            }
            Self::PlayerActionActivityStarFightEnd => {
                "PLAYER_ACTION_ACTIVITY_STAR_FIGHT_END"
            }
            Self::PlayerActionMapRotationEnterRegion => {
                "PLAYER_ACTION_MAP_ROTATION_ENTER_REGION"
            }
            Self::PlayerActionMapRotationLeaveRegion => {
                "PLAYER_ACTION_MAP_ROTATION_LEAVE_REGION"
            }
            Self::PlayerActionMapRotationInteractCharger => {
                "PLAYER_ACTION_MAP_ROTATION_INTERACT_CHARGER"
            }
            Self::PlayerActionMapRotationDeployRotater => {
                "PLAYER_ACTION_MAP_ROTATION_DEPLOY_ROTATER"
            }
            Self::PlayerActionMapRotationRotateMap => {
                "PLAYER_ACTION_MAP_ROTATION_ROTATE_MAP"
            }
            Self::PlayerActionMapRotationAddEnergy => {
                "PLAYER_ACTION_MAP_ROTATION_ADD_ENERGY"
            }
            Self::PlayerActionMapRotationSetMaxEnergy => {
                "PLAYER_ACTION_MAP_ROTATION_SET_MAX_ENERGY"
            }
            Self::PlayerActionMapRotationRemoveRotater => {
                "PLAYER_ACTION_MAP_ROTATION_REMOVE_ROTATER"
            }
            Self::PlayerActionMapRotationAutoDeployRotater => {
                "PLAYER_ACTION_MAP_ROTATION_AUTO_DEPLOY_ROTATER"
            }
            Self::PlayerActionMapRotationAutoRemoveRotater => {
                "PLAYER_ACTION_MAP_ROTATION_AUTO_REMOVE_ROTATER"
            }
            Self::PlayerActionDrinkMakerAddTips => "PLAYER_ACTION_DRINK_MAKER_ADD_TIPS",
            Self::PlayerActionDrinkMakerFinishChallenge => {
                "PLAYER_ACTION_DRINK_MAKER_FINISH_CHALLENGE"
            }
            Self::PlayerActionDrinkMakerGuestMaxFaithReward => {
                "PLAYER_ACTION_DRINK_MAKER_GUEST_MAX_FAITH_REWARD"
            }
            Self::PlayerActionDrinkMakerMakeDrink => {
                "PLAYER_ACTION_DRINK_MAKER_MAKE_DRINK"
            }
            Self::PlayerActionDrinkMakerSaveCustomDrink => {
                "PLAYER_ACTION_DRINK_MAKER_SAVE_CUSTOM_DRINK"
            }
            Self::PlayerActionDrinkMakerEndSequence => {
                "PLAYER_ACTION_DRINK_MAKER_END_SEQUENCE"
            }
            Self::PlayerActionChangeStoryLine => "PLAYER_ACTION_CHANGE_STORY_LINE",
            Self::PlayerActionContentPackageStatusChange => {
                "PLAYER_ACTION_CONTENT_PACKAGE_STATUS_CHANGE"
            }
            Self::PlayerActionContentPackageTrackChange => {
                "PLAYER_ACTION_CONTENT_PACKAGE_TRACK_CHANGE"
            }
            Self::PlayerActionContentPackageAcceptMainMission => {
                "PLAYER_ACTION_CONTENT_PACKAGE_ACCEPT_MAIN_MISSION"
            }
            Self::PlayerActionWorldDirectUnlock => "PLAYER_ACTION_WORLD_DIRECT_UNLOCK",
            Self::PlayerActionMonopolyTurnFinish => "PLAYER_ACTION_MONOPOLY_TURN_FINISH",
            Self::PlayerActionMonopolyAssetTurntax => {
                "PLAYER_ACTION_MONOPOLY_ASSET_TURNTAX"
            }
            Self::PlayerActionMonopolyAssetBonus => "PLAYER_ACTION_MONOPOLY_ASSET_BONUS",
            Self::PlayerActionMonopolyEventEffect => {
                "PLAYER_ACTION_MONOPOLY_EVENT_EFFECT"
            }
            Self::PlayerActionMonopolyMiniGameSettle => {
                "PLAYER_ACTION_MONOPOLY_MINI_GAME_SETTLE"
            }
            Self::PlayerActionMonopolyGameRaiseRatio => {
                "PLAYER_ACTION_MONOPOLY_GAME_RAISE_RATIO"
            }
            Self::PlayerActionMonopolyMoveRollDice => {
                "PLAYER_ACTION_MONOPOLY_MOVE_ROLL_DICE"
            }
            Self::PlayerActionMonopolyMove => "PLAYER_ACTION_MONOPOLY_MOVE",
            Self::PlayerActionMonopolyBuyGoods => "PLAYER_ACTION_MONOPOLY_BUY_GOODS",
            Self::PlayerActionMonopolyUpgradeAsset => {
                "PLAYER_ACTION_MONOPOLY_UPGRADE_ASSET"
            }
            Self::PlayerActionMonopolyEventRerollRandom => {
                "PLAYER_ACTION_MONOPOLY_EVENT_REROLL_RANDOM"
            }
            Self::PlayerActionMonopolyDailyRefresh => {
                "PLAYER_ACTION_MONOPOLY_DAILY_REFRESH"
            }
            Self::PlayerActionMonopolyGameGuessBuyInformation => {
                "PLAYER_ACTION_MONOPOLY_GAME_GUESS_BUY_INFORMATION"
            }
            Self::PlayerActionMonopolyDailyFirstEnterActivity => {
                "PLAYER_ACTION_MONOPOLY_DAILY_FIRST_ENTER_ACTIVITY"
            }
            Self::PlayerActionMonopolySocialEvent => {
                "PLAYER_ACTION_MONOPOLY_SOCIAL_EVENT"
            }
            Self::PlayerActionMonopolyRaffleTicketReward => {
                "PLAYER_ACTION_MONOPOLY_RAFFLE_TICKET_REWARD"
            }
            Self::PlayerActionMonopolyLike => "PLAYER_ACTION_MONOPOLY_LIKE",
            Self::PlayerActionMonopolyPhaseReward => {
                "PLAYER_ACTION_MONOPOLY_PHASE_REWARD"
            }
            Self::PlayerActionMonopolyMbtiReportReward => {
                "PLAYER_ACTION_MONOPOLY_MBTI_REPORT_REWARD"
            }
            Self::PlayerActionMonopolyDailySettle => {
                "PLAYER_ACTION_MONOPOLY_DAILY_SETTLE"
            }
            Self::PlayerActionMonopolyStart => "PLAYER_ACTION_MONOPOLY_START",
            Self::PlayerActionMonopolyGetBuff => "PLAYER_ACTION_MONOPOLY_GET_BUFF",
            Self::PlayerActionMonopolyAssetFundsChange => {
                "PLAYER_ACTION_MONOPOLY_ASSET_FUNDS_CHANGE"
            }
            Self::PlayerActionMonopolyAssetUpgrade => {
                "PLAYER_ACTION_MONOPOLY_ASSET_UPGRADE"
            }
            Self::PlayerActionMonopolyDirectCoinGameSettle => {
                "PLAYER_ACTION_MONOPOLY_DIRECT_COIN_GAME_SETTLE"
            }
            Self::PlayerActionMonopolyExtractRaffleTicket => {
                "PLAYER_ACTION_MONOPOLY_EXTRACT_RAFFLE_TICKET"
            }
            Self::PlayerActionMonopolyMbtiProgressChange => {
                "PLAYER_ACTION_MONOPOLY_MBTI_PROGRESS_CHANGE"
            }
            Self::PlayerActionMonopolyQuizGameSettle => {
                "PLAYER_ACTION_MONOPOLY_QUIZ_GAME_SETTLE"
            }
            Self::PlayerActionMonopolyEventSettle => {
                "PLAYER_ACTION_MONOPOLY_EVENT_SETTLE"
            }
            Self::PlayerActionMonopolyItemChange => "PLAYER_ACTION_MONOPOLY_ITEM_CHANGE",
            Self::PlayerActionMonopolyCellTrigger => {
                "PLAYER_ACTION_MONOPOLY_CELL_TRIGGER"
            }
            Self::PlayerActionMonopolyEventTrigger => {
                "PLAYER_ACTION_MONOPOLY_EVENT_TRIGGER"
            }
            Self::PlayerActionMonopolyClickEffect => {
                "PLAYER_ACTION_MONOPOLY_CLICK_EFFECT"
            }
            Self::PlayerActionEvolveBuildLevelFinish => {
                "PLAYER_ACTION_EVOLVE_BUILD_LEVEL_FINISH"
            }
            Self::PlayerActionEvolveBuildShopAbilityUp => {
                "PLAYER_ACTION_EVOLVE_BUILD_SHOP_ABILITY_UP"
            }
            Self::PlayerActionEvolveBuildShopAbilityDown => {
                "PLAYER_ACTION_EVOLVE_BUILD_SHOP_ABILITY_DOWN"
            }
            Self::PlayerActionEvolveBuildTakeExpReward => {
                "PLAYER_ACTION_EVOLVE_BUILD_TAKE_EXP_REWARD"
            }
            Self::PlayerActionEvolveBuildBattleEndAddCoin => {
                "PLAYER_ACTION_EVOLVE_BUILD_BATTLE_END_ADD_COIN"
            }
            Self::PlayerActionEvolveBuildShopAbilityReset => {
                "PLAYER_ACTION_EVOLVE_BUILD_SHOP_ABILITY_RESET"
            }
            Self::PlayerActionEvolveBuildLevelStart => {
                "PLAYER_ACTION_EVOLVE_BUILD_LEVEL_START"
            }
            Self::PlayerActionEvolveBuildLevelEnd => {
                "PLAYER_ACTION_EVOLVE_BUILD_LEVEL_END"
            }
            Self::PlayerActionEvolveBuildStageStart => {
                "PLAYER_ACTION_EVOLVE_BUILD_STAGE_START"
            }
            Self::PlayerActionEvolveBuildStageEnd => {
                "PLAYER_ACTION_EVOLVE_BUILD_STAGE_END"
            }
            Self::PlayerActionEvolveBuildLevelLeave => {
                "PLAYER_ACTION_EVOLVE_BUILD_LEVEL_LEAVE"
            }
            Self::PlayerActionClockParkUnlockScript => {
                "PLAYER_ACTION_CLOCK_PARK_UNLOCK_SCRIPT"
            }
            Self::PlayerActionClockParkUnlockTalent => {
                "PLAYER_ACTION_CLOCK_PARK_UNLOCK_TALENT"
            }
            Self::PlayerActionClockParkFinishScript => {
                "PLAYER_ACTION_CLOCK_PARK_FINISH_SCRIPT"
            }
            Self::PlayerActionClockParkRoundUpdate => {
                "PLAYER_ACTION_CLOCK_PARK_ROUND_UPDATE"
            }
            Self::PlayerActionClockParkScriptBegin => {
                "PLAYER_ACTION_CLOCK_PARK_SCRIPT_BEGIN"
            }
            Self::PlayerActionRogueTournStartLevel => {
                "PLAYER_ACTION_ROGUE_TOURN_START_LEVEL"
            }
            Self::PlayerActionRogueTournFinishLevel => {
                "PLAYER_ACTION_ROGUE_TOURN_FINISH_LEVEL"
            }
            Self::PlayerActionRogueTournExpReward => {
                "PLAYER_ACTION_ROGUE_TOURN_EXP_REWARD"
            }
            Self::PlayerActionRogueTournFinishWeekChallenge => {
                "PLAYER_ACTION_ROGUE_TOURN_FINISH_WEEK_CHALLENGE"
            }
            Self::PlayerActionRogueTournPermanentTalentEffect => {
                "PLAYER_ACTION_ROGUE_TOURN_PERMANENT_TALENT_EFFECT"
            }
            Self::PlayerActionRogueTournFinishFormulaStory => {
                "PLAYER_ACTION_ROGUE_TOURN_FINISH_FORMULA_STORY"
            }
            Self::PlayerActionRogueTournRevive => "PLAYER_ACTION_ROGUE_TOURN_REVIVE",
            Self::PlayerActionRogueTournStageBegin => {
                "PLAYER_ACTION_ROGUE_TOURN_STAGE_BEGIN"
            }
            Self::PlayerActionRogueTournStageEnd => "PLAYER_ACTION_ROGUE_TOURN_STAGE_END",
            Self::PlayerActionRogueTournPermanentEnableTalent => {
                "PLAYER_ACTION_ROGUE_TOURN_PERMANENT_ENABLE_TALENT"
            }
            Self::PlayerActionRogueTournPermanentResetTalent => {
                "PLAYER_ACTION_ROGUE_TOURN_PERMANENT_RESET_TALENT"
            }
            Self::PlayerActionRogueTournCocoonStageBegin => {
                "PLAYER_ACTION_ROGUE_TOURN_COCOON_STAGE_BEGIN"
            }
            Self::PlayerActionRogueTournCocoonStageEnd => {
                "PLAYER_ACTION_ROGUE_TOURN_COCOON_STAGE_END"
            }
            Self::PlayerActionRogueTournExpUpdate => {
                "PLAYER_ACTION_ROGUE_TOURN_EXP_UPDATE"
            }
            Self::PlayerActionRogueTournEnterRoom => {
                "PLAYER_ACTION_ROGUE_TOURN_ENTER_ROOM"
            }
            Self::PlayerActionRogueTournLeaveRoom => {
                "PLAYER_ACTION_ROGUE_TOURN_LEAVE_ROOM"
            }
            Self::PlayerActionRogueTournArchiveSave => {
                "PLAYER_ACTION_ROGUE_TOURN_ARCHIVE_SAVE"
            }
            Self::PlayerActionRogueTournSelectBonus => {
                "PLAYER_ACTION_ROGUE_TOURN_SELECT_BONUS"
            }
            Self::PlayerActionRogueTournDialogueFinish => {
                "PLAYER_ACTION_ROGUE_TOURN_DIALOGUE_FINISH"
            }
            Self::PlayerActionRogueTournDoGamble => "PLAYER_ACTION_ROGUE_TOURN_DO_GAMBLE",
            Self::PlayerActionRogueTournRoomContentGenerate => {
                "PLAYER_ACTION_ROGUE_TOURN_ROOM_CONTENT_GENERATE"
            }
            Self::PlayerActionRogueTournAddMiracle => {
                "PLAYER_ACTION_ROGUE_TOURN_ADD_MIRACLE"
            }
            Self::PlayerActionRogueTournRemoveMiracle => {
                "PLAYER_ACTION_ROGUE_TOURN_REMOVE_MIRACLE"
            }
            Self::PlayerActionRogueTournSelectMiracle => {
                "PLAYER_ACTION_ROGUE_TOURN_SELECT_MIRACLE"
            }
            Self::PlayerActionRogueTournDropMiracle => {
                "PLAYER_ACTION_ROGUE_TOURN_DROP_MIRACLE"
            }
            Self::PlayerActionRogueTournAddBuff => "PLAYER_ACTION_ROGUE_TOURN_ADD_BUFF",
            Self::PlayerActionRogueTournSelectBuff => {
                "PLAYER_ACTION_ROGUE_TOURN_SELECT_BUFF"
            }
            Self::PlayerActionRogueTournBuffLevelUp => {
                "PLAYER_ACTION_ROGUE_TOURN_BUFF_LEVEL_UP"
            }
            Self::PlayerActionRogueTournRemoveBuff => {
                "PLAYER_ACTION_ROGUE_TOURN_REMOVE_BUFF"
            }
            Self::PlayerActionRogueTournAddFormula => {
                "PLAYER_ACTION_ROGUE_TOURN_ADD_FORMULA"
            }
            Self::PlayerActionRogueTournRemoveFormula => {
                "PLAYER_ACTION_ROGUE_TOURN_REMOVE_FORMULA"
            }
            Self::PlayerActionRogueTournSelectFormula => {
                "PLAYER_ACTION_ROGUE_TOURN_SELECT_FORMULA"
            }
            Self::PlayerActionRogueTournActivateFormula => {
                "PLAYER_ACTION_ROGUE_TOURN_ACTIVATE_FORMULA"
            }
            Self::PlayerActionRogueTournAdventureRoomFinish => {
                "PLAYER_ACTION_ROGUE_TOURN_ADVENTURE_ROOM_FINISH"
            }
            Self::PlayerActionRogueTournAlterLineup => {
                "PLAYER_ACTION_ROGUE_TOURN_ALTER_LINEUP"
            }
            Self::PlayerActionRogueTournSeasonEnableTalent => {
                "PLAYER_ACTION_ROGUE_TOURN_SEASON_ENABLE_TALENT"
            }
            Self::PlayerActionRogueTournTitanStartLevel => {
                "PLAYER_ACTION_ROGUE_TOURN_TITAN_START_LEVEL"
            }
            Self::PlayerActionRogueTournTitanFinishLevel => {
                "PLAYER_ACTION_ROGUE_TOURN_TITAN_FINISH_LEVEL"
            }
            Self::PlayerActionRogueTournTitanEnterRoom => {
                "PLAYER_ACTION_ROGUE_TOURN_TITAN_ENTER_ROOM"
            }
            Self::PlayerActionRogueTournTitanLeaveRoom => {
                "PLAYER_ACTION_ROGUE_TOURN_TITAN_LEAVE_ROOM"
            }
            Self::PlayerActionRogueTournTitanStageBegin => {
                "PLAYER_ACTION_ROGUE_TOURN_TITAN_STAGE_BEGIN"
            }
            Self::PlayerActionRogueTournTitanStageEnd => {
                "PLAYER_ACTION_ROGUE_TOURN_TITAN_STAGE_END"
            }
            Self::PlayerActionRogueTournTitanArchiveSave => {
                "PLAYER_ACTION_ROGUE_TOURN_TITAN_ARCHIVE_SAVE"
            }
            Self::PlayerActionRogueTournTitanAddTitanBless => {
                "PLAYER_ACTION_ROGUE_TOURN_TITAN_ADD_TITAN_BLESS"
            }
            Self::PlayerActionRogueTournTitanSelectTitanBless => {
                "PLAYER_ACTION_ROGUE_TOURN_TITAN_SELECT_TITAN_BLESS"
            }
            Self::PlayerActionRogueTournDivisionChange => {
                "PLAYER_ACTION_ROGUE_TOURN_DIVISION_CHANGE"
            }
            Self::PlayerActionRogueTournSelectReRollMiracle => {
                "PLAYER_ACTION_ROGUE_TOURN_SELECT_RE_ROLL_MIRACLE"
            }
            Self::PlayerActionRogueWorkbenchReforgeFormula => {
                "PLAYER_ACTION_ROGUE_WORKBENCH_REFORGE_FORMULA"
            }
            Self::PlayerActionRogueWorkbenchReforgeMiracle => {
                "PLAYER_ACTION_ROGUE_WORKBENCH_REFORGE_MIRACLE"
            }
            Self::PlayerActionRogueWorkbenchComposeMiracle => {
                "PLAYER_ACTION_ROGUE_WORKBENCH_COMPOSE_MIRACLE"
            }
            Self::PlayerActionRogueWorkbenchReforgeBuff => {
                "PLAYER_ACTION_ROGUE_WORKBENCH_REFORGE_BUFF"
            }
            Self::PlayerActionRogueWorkbenchEnhanceBuff => {
                "PLAYER_ACTION_ROGUE_WORKBENCH_ENHANCE_BUFF"
            }
            Self::PlayerActionMatchThreePveSettle => {
                "PLAYER_ACTION_MATCH_THREE_PVE_SETTLE"
            }
            Self::PlayerActionMatchThreeSettle => "PLAYER_ACTION_MATCH_THREE_SETTLE",
            Self::PlayerActionFightMatch3GameStart => {
                "PLAYER_ACTION_FIGHT_MATCH3_GAME_START"
            }
            Self::PlayerActionFightMatch3GameEnd => "PLAYER_ACTION_FIGHT_MATCH3_GAME_END",
            Self::PlayerActionFightMatch3TurnEnd => "PLAYER_ACTION_FIGHT_MATCH3_TURN_END",
            Self::PlayerActionMatchThreeBirdPos => "PLAYER_ACTION_MATCH_THREE_BIRD_POS",
            Self::PlayerActionMultiplePlayInvite => "PLAYER_ACTION_MULTIPLE_PLAY_INVITE",
            Self::PlayerActionMultiplePlayInviteRespond => {
                "PLAYER_ACTION_MULTIPLE_PLAY_INVITE_RESPOND"
            }
            Self::PlayerActionMultiplePlayLobbyEnter => {
                "PLAYER_ACTION_MULTIPLE_PLAY_LOBBY_ENTER"
            }
            Self::PlayerActionMultiplePlayLobbyQuit => {
                "PLAYER_ACTION_MULTIPLE_PLAY_LOBBY_QUIT"
            }
            Self::PlayerActionMultiplePlayLobbyKick => {
                "PLAYER_ACTION_MULTIPLE_PLAY_LOBBY_KICK"
            }
            Self::PlayerActionMultiplePlayLobbyMatch => {
                "PLAYER_ACTION_MULTIPLE_PLAY_LOBBY_MATCH"
            }
            Self::PlayerActionMarbleSettle => "PLAYER_ACTION_MARBLE_SETTLE",
            Self::PlayerActionSwordTrainingLearnSkill => {
                "PLAYER_ACTION_SWORD_TRAINING_LEARN_SKILL"
            }
            Self::PlayerActionSwordTrainingNormalAction => {
                "PLAYER_ACTION_SWORD_TRAINING_NORMAL_ACTION"
            }
            Self::PlayerActionSwordTrainingStoryEffect => {
                "PLAYER_ACTION_SWORD_TRAINING_STORY_EFFECT"
            }
            Self::PlayerActionSwordTrainingEndingHint => {
                "PLAYER_ACTION_SWORD_TRAINING_ENDING_HINT"
            }
            Self::PlayerActionSwordTrainingActionHint => {
                "PLAYER_ACTION_SWORD_TRAINING_ACTION_HINT"
            }
            Self::PlayerActionSwordTrainingRestoreGameByExam => {
                "PLAYER_ACTION_SWORD_TRAINING_RESTORE_GAME_BY_EXAM"
            }
            Self::PlayerActionSwordTrainingStoryLineFirstClear => {
                "PLAYER_ACTION_SWORD_TRAINING_STORY_LINE_FIRST_CLEAR"
            }
            Self::PlayerActionSwordTrainingTakeEndingReward => {
                "PLAYER_ACTION_SWORD_TRAINING_TAKE_ENDING_REWARD"
            }
            Self::PlayerActionSwordTrainingStoryLineBegin => {
                "PLAYER_ACTION_SWORD_TRAINING_STORY_LINE_BEGIN"
            }
            Self::PlayerActionSwordTrainingEnterTurn => {
                "PLAYER_ACTION_SWORD_TRAINING_ENTER_TURN"
            }
            Self::PlayerActionSwordTrainingPlanAction => {
                "PLAYER_ACTION_SWORD_TRAINING_PLAN_ACTION"
            }
            Self::PlayerActionSwordTrainingActionPhaseEnd => {
                "PLAYER_ACTION_SWORD_TRAINING_ACTION_PHASE_END"
            }
            Self::PlayerActionSwordTrainingStory => "PLAYER_ACTION_SWORD_TRAINING_STORY",
            Self::PlayerActionSwordTrainingStatusChange => {
                "PLAYER_ACTION_SWORD_TRAINING_STATUS_CHANGE"
            }
            Self::PlayerActionSwordTrainingMoodChange => {
                "PLAYER_ACTION_SWORD_TRAINING_MOOD_CHANGE"
            }
            Self::PlayerActionSwordTrainingBattleBegin => {
                "PLAYER_ACTION_SWORD_TRAINING_BATTLE_BEGIN"
            }
            Self::PlayerActionSwordTrainingBattleEnd => {
                "PLAYER_ACTION_SWORD_TRAINING_BATTLE_END"
            }
            Self::PlayerActionSwordTrainingCombatRankChange => {
                "PLAYER_ACTION_SWORD_TRAINING_COMBAT_RANK_CHANGE"
            }
            Self::PlayerActionSwordTrainingStoryLineEnd => {
                "PLAYER_ACTION_SWORD_TRAINING_STORY_LINE_END"
            }
            Self::PlayerActionSwordTrainingResumeStoryLine => {
                "PLAYER_ACTION_SWORD_TRAINING_RESUME_STORY_LINE"
            }
            Self::PlayerActionSwordTrainingGameSuccess => {
                "PLAYER_ACTION_SWORD_TRAINING_GAME_SUCCESS"
            }
            Self::PlayerActionSwordTrainingGameGiveUp => {
                "PLAYER_ACTION_SWORD_TRAINING_GAME_GIVE_UP"
            }
            Self::PlayerActionSwordTrainingExam => "PLAYER_ACTION_SWORD_TRAINING_EXAM",
            Self::PlayerActionSwordTrainingDialogue => {
                "PLAYER_ACTION_SWORD_TRAINING_DIALOGUE"
            }
            Self::PlayerActionSwordTrainingSetSkillTrace => {
                "PLAYER_ACTION_SWORD_TRAINING_SET_SKILL_TRACE"
            }
            Self::PlayerActionFightFestFinishScoreRaceMission => {
                "PLAYER_ACTION_FIGHT_FEST_FINISH_SCORE_RACE_MISSION"
            }
            Self::PlayerActionFightFestFinishScoreRacePhase => {
                "PLAYER_ACTION_FIGHT_FEST_FINISH_SCORE_RACE_PHASE"
            }
            Self::PlayerActionFightFestRaceStart => "PLAYER_ACTION_FIGHT_FEST_RACE_START",
            Self::PlayerActionFightFestRaceEnd => "PLAYER_ACTION_FIGHT_FEST_RACE_END",
            Self::PlayerActionFightFestChallengeStart => {
                "PLAYER_ACTION_FIGHT_FEST_CHALLENGE_START"
            }
            Self::PlayerActionFightFestChallengeEnd => {
                "PLAYER_ACTION_FIGHT_FEST_CHALLENGE_END"
            }
            Self::PlayerActionFightFestGetCoachItem => {
                "PLAYER_ACTION_FIGHT_FEST_GET_COACH_ITEM"
            }
            Self::PlayerActionFightFestAcceptScoreRaceMission => {
                "PLAYER_ACTION_FIGHT_FEST_ACCEPT_SCORE_RACE_MISSION"
            }
            Self::PlayerActionPetUse => "PLAYER_ACTION_PET_USE",
            Self::PlayerActionMusicRhythmPassLevelStar => {
                "PLAYER_ACTION_MUSIC_RHYTHM_PASS_LEVEL_STAR"
            }
            Self::PlayerActionMusicRhythmLevelBegin => {
                "PLAYER_ACTION_MUSIC_RHYTHM_LEVEL_BEGIN"
            }
            Self::PlayerActionMusicRhythmLevelEnd => {
                "PLAYER_ACTION_MUSIC_RHYTHM_LEVEL_END"
            }
            Self::PlayerActionTrackPhotoStageBegin => {
                "PLAYER_ACTION_TRACK_PHOTO_STAGE_BEGIN"
            }
            Self::PlayerActionTrackPhotoStageEnd => "PLAYER_ACTION_TRACK_PHOTO_STAGE_END",
            Self::PlayerActionSummonActivityBattleBegin => {
                "PLAYER_ACTION_SUMMON_ACTIVITY_BATTLE_BEGIN"
            }
            Self::PlayerActionSummonActivityBattleEnd => {
                "PLAYER_ACTION_SUMMON_ACTIVITY_BATTLE_END"
            }
            Self::PlayerActionRaidCollectionEnterNextRaid => {
                "PLAYER_ACTION_RAID_COLLECTION_ENTER_NEXT_RAID"
            }
            Self::PlayerActionDifficultyAdjustmentSet => {
                "PLAYER_ACTION_DIFFICULTY_ADJUSTMENT_SET"
            }
            Self::PlayerActionDifficultyAdjustmentUnset => {
                "PLAYER_ACTION_DIFFICULTY_ADJUSTMENT_UNSET"
            }
            Self::PlayerActionRogueArcadeAdventureRoomStart => {
                "PLAYER_ACTION_ROGUE_ARCADE_ADVENTURE_ROOM_START"
            }
            Self::PlayerActionRogueArcadeAdventureRoomFinish => {
                "PLAYER_ACTION_ROGUE_ARCADE_ADVENTURE_ROOM_FINISH"
            }
            Self::PlayerActionRogueMagicStartLevel => {
                "PLAYER_ACTION_ROGUE_MAGIC_START_LEVEL"
            }
            Self::PlayerActionRogueMagicFinishLevel => {
                "PLAYER_ACTION_ROGUE_MAGIC_FINISH_LEVEL"
            }
            Self::PlayerActionRogueMagicRevive => "PLAYER_ACTION_ROGUE_MAGIC_REVIVE",
            Self::PlayerActionRogueMagicEnterRoom => {
                "PLAYER_ACTION_ROGUE_MAGIC_ENTER_ROOM"
            }
            Self::PlayerActionRogueMagicLeaveRoom => {
                "PLAYER_ACTION_ROGUE_MAGIC_LEAVE_ROOM"
            }
            Self::PlayerActionRogueMagicAddMiracle => {
                "PLAYER_ACTION_ROGUE_MAGIC_ADD_MIRACLE"
            }
            Self::PlayerActionRogueMagicRemoveMiracle => {
                "PLAYER_ACTION_ROGUE_MAGIC_REMOVE_MIRACLE"
            }
            Self::PlayerActionRogueMagicStageBegin => {
                "PLAYER_ACTION_ROGUE_MAGIC_STAGE_BEGIN"
            }
            Self::PlayerActionRogueMagicStageEnd => "PLAYER_ACTION_ROGUE_MAGIC_STAGE_END",
            Self::PlayerActionRogueMagicEnableTalent => {
                "PLAYER_ACTION_ROGUE_MAGIC_ENABLE_TALENT"
            }
            Self::PlayerActionRogueMagicFinishStory => {
                "PLAYER_ACTION_ROGUE_MAGIC_FINISH_STORY"
            }
            Self::PlayerActionRogueMagicAddScepter => {
                "PLAYER_ACTION_ROGUE_MAGIC_ADD_SCEPTER"
            }
            Self::PlayerActionRogueMagicSelectScepter => {
                "PLAYER_ACTION_ROGUE_MAGIC_SELECT_SCEPTER"
            }
            Self::PlayerActionRogueMagicMountUnit => {
                "PLAYER_ACTION_ROGUE_MAGIC_MOUNT_UNIT"
            }
            Self::PlayerActionRogueMagicAutoMountUnit => {
                "PLAYER_ACTION_ROGUE_MAGIC_AUTO_MOUNT_UNIT"
            }
            Self::PlayerActionRogueMagicAddMagicUnit => {
                "PLAYER_ACTION_ROGUE_MAGIC_ADD_MAGIC_UNIT"
            }
            Self::PlayerActionRogueMagicRemoveMagicUnit => {
                "PLAYER_ACTION_ROGUE_MAGIC_REMOVE_MAGIC_UNIT"
            }
            Self::PlayerActionRogueMagicWorkbenchComposeMagicUnit => {
                "PLAYER_ACTION_ROGUE_MAGIC_WORKBENCH_COMPOSE_MAGIC_UNIT"
            }
            Self::PlayerActionRogueMagicWorkbenchReforgeMagicUnit => {
                "PLAYER_ACTION_ROGUE_MAGIC_WORKBENCH_REFORGE_MAGIC_UNIT"
            }
            Self::PlayerActionRogueMagicWorkbenchLevelUpScepter => {
                "PLAYER_ACTION_ROGUE_MAGIC_WORKBENCH_LEVEL_UP_SCEPTER"
            }
            Self::PlayerActionTrainPartyGamePlayStart => {
                "PLAYER_ACTION_TRAIN_PARTY_GAME_PLAY_START"
            }
            Self::PlayerActionTrainPartyPhaseBegin => {
                "PLAYER_ACTION_TRAIN_PARTY_PHASE_BEGIN"
            }
            Self::PlayerActionTrainPartyPhaseEnd => "PLAYER_ACTION_TRAIN_PARTY_PHASE_END",
            Self::PlayerActionTrainPartyRound => "PLAYER_ACTION_TRAIN_PARTY_ROUND",
            Self::PlayerActionTrainPartyMeetingBegin => {
                "PLAYER_ACTION_TRAIN_PARTY_MEETING_BEGIN"
            }
            Self::PlayerActionTrainPartyMeetingEnd => {
                "PLAYER_ACTION_TRAIN_PARTY_MEETING_END"
            }
            Self::PlayerActionTrainPartyMeetingPlayCard => {
                "PLAYER_ACTION_TRAIN_PARTY_MEETING_PLAY_CARD"
            }
            Self::PlayerActionTrainPartyMeetingReRoll => {
                "PLAYER_ACTION_TRAIN_PARTY_MEETING_RE_ROLL"
            }
            Self::PlayerActionTrainPartyBuildAreaUnlock => {
                "PLAYER_ACTION_TRAIN_PARTY_BUILD_AREA_UNLOCK"
            }
            Self::PlayerActionTrainPartyBuildStep => {
                "PLAYER_ACTION_TRAIN_PARTY_BUILD_STEP"
            }
            Self::PlayerActionTrainPartyBuildLevelAward => {
                "PLAYER_ACTION_TRAIN_PARTY_BUILD_LEVEL_AWARD"
            }
            Self::PlayerActionTrainPartyBuildingDynamicBuff => {
                "PLAYER_ACTION_TRAIN_PARTY_BUILDING_DYNAMIC_BUFF"
            }
            Self::PlayerActionTrainPartyBuildDiy => "PLAYER_ACTION_TRAIN_PARTY_BUILD_DIY",
            Self::PlayerActionSwitchHandOpPropState => {
                "PLAYER_ACTION_SWITCH_HAND_OP_PROP_STATE"
            }
            Self::PlayerActionEraFlipperChangeRegionState => {
                "PLAYER_ACTION_ERA_FLIPPER_CHANGE_REGION_STATE"
            }
            Self::PlayerActionEraFlipperChangePropState => {
                "PLAYER_ACTION_ERA_FLIPPER_CHANGE_PROP_STATE"
            }
            Self::PlayerActionActivityBenefitReward => {
                "PLAYER_ACTION_ACTIVITY_BENEFIT_REWARD"
            }
            Self::PlayerActionActivityBenefitJoin => {
                "PLAYER_ACTION_ACTIVITY_BENEFIT_JOIN"
            }
            Self::PlayerActionActivityBenefitInitialReward => {
                "PLAYER_ACTION_ACTIVITY_BENEFIT_INITIAL_REWARD"
            }
            Self::PlayerActionPamSkinChangeSkin => "PLAYER_ACTION_PAM_SKIN_CHANGE_SKIN",
            Self::PlayerActionChestFind => "PLAYER_ACTION_CHEST_FIND",
            Self::PlayerActionReissueMarkChestItemMail => {
                "PLAYER_ACTION_REISSUE_MARK_CHEST_ITEM_MAIL"
            }
            Self::PlayerActionMarblePassMatch => "PLAYER_ACTION_MARBLE_PASS_MATCH",
            Self::PlayerActionMarbleBuySeal => "PLAYER_ACTION_MARBLE_BUY_SEAL",
            Self::PlayerActionMarbleFightGameBegin => {
                "PLAYER_ACTION_MARBLE_FIGHT_GAME_BEGIN"
            }
            Self::PlayerActionMarbleFightGameEnd => "PLAYER_ACTION_MARBLE_FIGHT_GAME_END",
            Self::PlayerActionMarbleFightGameRound => {
                "PLAYER_ACTION_MARBLE_FIGHT_GAME_ROUND"
            }
            Self::PlayerActionMarbleFightGameTurn => {
                "PLAYER_ACTION_MARBLE_FIGHT_GAME_TURN"
            }
            Self::PlayerActionPlanetFesLevelUp => "PLAYER_ACTION_PLANET_FES_LEVEL_UP",
            Self::PlayerActionPlanetFesActivityInit => {
                "PLAYER_ACTION_PLANET_FES_ACTIVITY_INIT"
            }
            Self::PlayerActionPlanetFesAvatarLevelUp => {
                "PLAYER_ACTION_PLANET_FES_AVATAR_LEVEL_UP"
            }
            Self::PlayerActionPlanetFesTakeRegionPhaseReward => {
                "PLAYER_ACTION_PLANET_FES_TAKE_REGION_PHASE_REWARD"
            }
            Self::PlayerActionPlanetFesAddItem => "PLAYER_ACTION_PLANET_FES_ADD_ITEM",
            Self::PlayerActionPlanetFesQuest => "PLAYER_ACTION_PLANET_FES_QUEST",
            Self::PlayerActionPlanetFesBusinessDayFinish => {
                "PLAYER_ACTION_PLANET_FES_BUSINESS_DAY_FINISH"
            }
            Self::PlayerActionPlanetFesAvatarStarUp => {
                "PLAYER_ACTION_PLANET_FES_AVATAR_STAR_UP"
            }
            Self::PlayerActionPlanetFesUnlockLand => {
                "PLAYER_ACTION_PLANET_FES_UNLOCK_LAND"
            }
            Self::PlayerActionPlanetFesBusinessEventFinish => {
                "PLAYER_ACTION_PLANET_FES_BUSINESS_EVENT_FINISH"
            }
            Self::PlayerActionPlanetFesActivateCard => {
                "PLAYER_ACTION_PLANET_FES_ACTIVATE_CARD"
            }
            Self::PlayerActionPlanetFesSkillLevelUp => {
                "PLAYER_ACTION_PLANET_FES_SKILL_LEVEL_UP"
            }
            Self::PlayerActionPlanetFesGacha => "PLAYER_ACTION_PLANET_FES_GACHA",
            Self::PlayerActionPlanetFesBusinessEventHandle => {
                "PLAYER_ACTION_PLANET_FES_BUSINESS_EVENT_HANDLE"
            }
            Self::PlayerActionPlanetFesCardApplyPermission => {
                "PLAYER_ACTION_PLANET_FES_CARD_APPLY_PERMISSION"
            }
            Self::PlayerActionPlanetFesCardInteract => {
                "PLAYER_ACTION_PLANET_FES_CARD_INTERACT"
            }
            Self::PlayerActionPlanetFesToSns => "PLAYER_ACTION_PLANET_FES_TO_SNS",
            Self::PlayerActionPlanetFesSetWorkAvatar => {
                "PLAYER_ACTION_PLANET_FES_SET_WORK_AVATAR"
            }
            Self::PlayerActionPlanetFesSummary => "PLAYER_ACTION_PLANET_FES_SUMMARY",
            Self::PlayerActionTarotBookCharacterLevelUp => {
                "PLAYER_ACTION_TAROT_BOOK_CHARACTER_LEVEL_UP"
            }
            Self::PlayerActionTarotBookOpenPack => "PLAYER_ACTION_TAROT_BOOK_OPEN_PACK",
            Self::PlayerActionTarotBookUnlockStory => {
                "PLAYER_ACTION_TAROT_BOOK_UNLOCK_STORY"
            }
            Self::PlayerActionTarotBookUnlockStorySingle => {
                "PLAYER_ACTION_TAROT_BOOK_UNLOCK_STORY_SINGLE"
            }
            Self::PlayerActionTarotBookFinishStory => {
                "PLAYER_ACTION_TAROT_BOOK_FINISH_STORY"
            }
            Self::PlayerActionTarotBookFinishInteraction => {
                "PLAYER_ACTION_TAROT_BOOK_FINISH_INTERACTION"
            }
            Self::PlayerActionTarotBookChangeEnergy => {
                "PLAYER_ACTION_TAROT_BOOK_CHANGE_ENERGY"
            }
            Self::PlayerActionChimeraRoundStart => "PLAYER_ACTION_CHIMERA_ROUND_START",
            Self::PlayerActionChimeraRoundWorkStart => {
                "PLAYER_ACTION_CHIMERA_ROUND_WORK_START"
            }
            Self::PlayerActionChimeraRoundWorkEnd => {
                "PLAYER_ACTION_CHIMERA_ROUND_WORK_END"
            }
            Self::PlayerActionChimeraEndlessStart => {
                "PLAYER_ACTION_CHIMERA_ENDLESS_START"
            }
            Self::PlayerActionChimeraEndlessEnd => "PLAYER_ACTION_CHIMERA_ENDLESS_END",
            Self::PlayerActionChimeraEndlessWorkStart => {
                "PLAYER_ACTION_CHIMERA_ENDLESS_WORK_START"
            }
            Self::PlayerActionChimeraEndlessWorkEnd => {
                "PLAYER_ACTION_CHIMERA_ENDLESS_WORK_END"
            }
            Self::PlayerActionChimeraRankChange => "PLAYER_ACTION_CHIMERA_RANK_CHANGE",
            Self::PlayerActionChimeraGet => "PLAYER_ACTION_CHIMERA_GET",
            Self::PlayerActionStoryTokenTakeActivityReward => {
                "PLAYER_ACTION_STORY_TOKEN_TAKE_ACTIVITY_REWARD"
            }
            Self::PlayerActionReissueAvatarTokenItem => {
                "PLAYER_ACTION_REISSUE_AVATAR_TOKEN_ITEM"
            }
            Self::PlayerActionAvatarDeliverRewardActivityTakeReward => {
                "PLAYER_ACTION_AVATAR_DELIVER_REWARD_ACTIVITY_TAKE_REWARD"
            }
            Self::PlayerActionLocalLegendReward => "PLAYER_ACTION_LOCAL_LEGEND_REWARD",
            Self::PlayerActionParkourStartLevel => "PLAYER_ACTION_PARKOUR_START_LEVEL",
            Self::PlayerActionParkourEndLevel => "PLAYER_ACTION_PARKOUR_END_LEVEL",
            Self::PlayerActionBasinChestInteractResult => {
                "PLAYER_ACTION_BASIN_CHEST_INTERACT_RESULT"
            }
            Self::PlayerActionRogueMiracleSwap => "PLAYER_ACTION_ROGUE_MIRACLE_SWAP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLAYER_ACTION_NONE" => Some(Self::PlayerActionNone),
            "PLAYER_ACTION_REGISTER" => Some(Self::PlayerActionRegister),
            "PLAYER_ACTION_LOGIN" => Some(Self::PlayerActionLogin),
            "PLAYER_ACTION_LOGOUT" => Some(Self::PlayerActionLogout),
            "PLAYER_ACTION_ADD_EXP" => Some(Self::PlayerActionAddExp),
            "PLAYER_ACTION_LEVEL_UP" => Some(Self::PlayerActionLevelUp),
            "PLAYER_ACTION_ADD_MATERIAL" => Some(Self::PlayerActionAddMaterial),
            "PLAYER_ACTION_SAVE_STAT" => Some(Self::PlayerActionSaveStat),
            "PLAYER_ACTION_TRAVEL_BROCHURE_INTERACT" => {
                Some(Self::PlayerActionTravelBrochureInteract)
            }
            "PLAYER_ACTION_RECHARGE" => Some(Self::PlayerActionRecharge),
            "PLAYER_ACTION_BUY_GOODS" => Some(Self::PlayerActionBuyGoods),
            "PLAYER_ACTION_ADD_COIN" => Some(Self::PlayerActionAddCoin),
            "PLAYER_ACTION_MONTH_CARD_DAILY_HCOIN" => {
                Some(Self::PlayerActionMonthCardDailyHcoin)
            }
            "PLAYER_ACTION_MONTH_CARD_BUY_MCOIN" => {
                Some(Self::PlayerActionMonthCardBuyMcoin)
            }
            "PLAYER_ACTION_RECHARGE_FREE_COIN" => {
                Some(Self::PlayerActionRechargeFreeCoin)
            }
            "PLAYER_ACTION_ADD_MONTH_CARD" => Some(Self::PlayerActionAddMonthCard),
            "PLAYER_ACTION_RECHARGE_GIFT_PAY" => Some(Self::PlayerActionRechargeGiftPay),
            "PLAYER_ACTION_RECHARGE_GIFT_FREE" => {
                Some(Self::PlayerActionRechargeGiftFree)
            }
            "PLAYER_ACTION_RECHARGE_BENEFIT" => Some(Self::PlayerActionRechargeBenefit),
            "PLAYER_ACTION_RECHARGE_GIFT_TAKE_REWARD" => {
                Some(Self::PlayerActionRechargeGiftTakeReward)
            }
            "PLAYER_ACTION_RECHARGE_GIFT_REACH" => {
                Some(Self::PlayerActionRechargeGiftReach)
            }
            "PLAYER_ACTION_RECHARGE_BENEFIT_REACH" => {
                Some(Self::PlayerActionRechargeBenefitReach)
            }
            "PLAYER_ACTION_MISSION_ACCEPT" => Some(Self::PlayerActionMissionAccept),
            "PLAYER_ACTION_MISSION_FINISH" => Some(Self::PlayerActionMissionFinish),
            "PLAYER_ACTION_MISSION_FAIL" => Some(Self::PlayerActionMissionFail),
            "PLAYER_ACTION_MAIN_MISSION_ACCEPT" => {
                Some(Self::PlayerActionMainMissionAccept)
            }
            "PLAYER_ACTION_SUB_MISSION_ACCEPT" => {
                Some(Self::PlayerActionSubMissionAccept)
            }
            "PLAYER_ACTION_MAIN_MISSION_FINISH" => {
                Some(Self::PlayerActionMainMissionFinish)
            }
            "PLAYER_ACTION_SUB_MISSION_FINISH" => {
                Some(Self::PlayerActionSubMissionFinish)
            }
            "PLAYER_ACTION_DAILY_TASK_FINISH" => Some(Self::PlayerActionDailyTaskFinish),
            "PLAYER_ACTION_DAILY_TASK_TAKE_REWARD" => {
                Some(Self::PlayerActionDailyTaskTakeReward)
            }
            "PLAYER_ACTION_NPC_TALK_REWARD" => Some(Self::PlayerActionNpcTalkReward),
            "PLAYER_ACTION_MAIN_MISSION_RECOVER" => {
                Some(Self::PlayerActionMainMissionRecover)
            }
            "PLAYER_ACTION_MAIN_MISSION_DISABLE" => {
                Some(Self::PlayerActionMainMissionDisable)
            }
            "PLAYER_ACTION_CONSUME_ITEM_SUB_MISSION_FINISH" => {
                Some(Self::PlayerActionConsumeItemSubMissionFinish)
            }
            "PLAYER_ACTION_GM" => Some(Self::PlayerActionGm),
            "PLAYER_ACTION_CUSTOM_OP" => Some(Self::PlayerActionCustomOp),
            "PLAYER_ACTION_CHECK_SUM" => Some(Self::PlayerActionCheckSum),
            "PLAYER_ACTION_PLAYER_LOCATION" => Some(Self::PlayerActionPlayerLocation),
            "PLAYER_ACTION_CHANGE_LANGUAGE" => Some(Self::PlayerActionChangeLanguage),
            "PLAYER_ACTION_CLIENT_REPORT" => Some(Self::PlayerActionClientReport),
            "PLAYER_ACTION_ACE_REPORT" => Some(Self::PlayerActionAceReport),
            "PLAYER_ACTION_PLAYER_POWER_INFO" => Some(Self::PlayerActionPlayerPowerInfo),
            "PLAYER_ACTION_DAILY_REFRESH" => Some(Self::PlayerActionDailyRefresh),
            "PLAYER_ACTION_AVATAR_VALUE_INFO" => Some(Self::PlayerActionAvatarValueInfo),
            "PLAYER_ACTION_MOVE_CHECK_FAILED_REPORT" => {
                Some(Self::PlayerActionMoveCheckFailedReport)
            }
            "PLAYER_ACTION_BATTLE_FAILED_REPORT" => {
                Some(Self::PlayerActionBattleFailedReport)
            }
            "PLAYER_ACTION_SECURITY_REPORT" => Some(Self::PlayerActionSecurityReport),
            "PLAYER_ACTION_AVATAR_PROMOTION" => Some(Self::PlayerActionAvatarPromotion),
            "PLAYER_ACTION_AVATAR_ADD" => Some(Self::PlayerActionAvatarAdd),
            "PLAYER_ACTION_AVATAR_USE_EXP_ITEM" => {
                Some(Self::PlayerActionAvatarUseExpItem)
            }
            "PLAYER_ACTION_AVATAR_LEVEL_UP" => Some(Self::PlayerActionAvatarLevelUp),
            "PLAYER_ACTION_SKILL_TREE_UP" => Some(Self::PlayerActionSkillTreeUp),
            "PLAYER_ACTION_AVATAR_HP_CHANGE" => Some(Self::PlayerActionAvatarHpChange),
            "PLAYER_ACTION_AVATAR_MP_CHANGE" => Some(Self::PlayerActionAvatarMpChange),
            "PLAYER_ACTION_AVATAR_ADD_EXP" => Some(Self::PlayerActionAvatarAddExp),
            "PLAYER_ACTION_AVATAR_RANK_UP" => Some(Self::PlayerActionAvatarRankUp),
            "PLAYER_ACTION_AVATAR_REPEATED" => Some(Self::PlayerActionAvatarRepeated),
            "PLAYER_ACTION_MP_MAX_CHANGE" => Some(Self::PlayerActionMpMaxChange),
            "PLAYER_ACTION_AVATAR_TAKE_PROMOTION_REWARD" => {
                Some(Self::PlayerActionAvatarTakePromotionReward)
            }
            "PLAYER_ACTION_AVATAR_RELIC_AFFIX_INFO" => {
                Some(Self::PlayerActionAvatarRelicAffixInfo)
            }
            "PLAYER_ACTION_AVATAR_MARK" => Some(Self::PlayerActionAvatarMark),
            "PLAYER_ACTION_AVATAR_SYSTEM_POWER_RESET" => {
                Some(Self::PlayerActionAvatarSystemPowerReset)
            }
            "PLAYER_ACTION_AVATAR_CHANGE_PATH" => {
                Some(Self::PlayerActionAvatarChangePath)
            }
            "PLAYER_ACTION_SET_GROWTH_TARGET_AVATAR" => {
                Some(Self::PlayerActionSetGrowthTargetAvatar)
            }
            "PLAYER_ACTION_DEL_AVATAR" => Some(Self::PlayerActionDelAvatar),
            "PLAYER_ACTION_AVATAR_SKIN_CHANGE" => {
                Some(Self::PlayerActionAvatarSkinChange)
            }
            "PLAYER_ACTION_SET_GROWTH_TARGET_FUNCTION_CONFIG" => {
                Some(Self::PlayerActionSetGrowthTargetFunctionConfig)
            }
            "PLAYER_ACTION_AVATAR_SKIN_ACTIVITY_REISSUE" => {
                Some(Self::PlayerActionAvatarSkinActivityReissue)
            }
            "PLAYER_ACTION_STAGE_BEGIN" => Some(Self::PlayerActionStageBegin),
            "PLAYER_ACTION_STAGE_END" => Some(Self::PlayerActionStageEnd),
            "PLAYER_ACTION_COCOON_STAGE_BEGIN" => {
                Some(Self::PlayerActionCocoonStageBegin)
            }
            "PLAYER_ACTION_COCOON_STAGE_END" => Some(Self::PlayerActionCocoonStageEnd),
            "PLAYER_ACTION_FARM_ELEMENT_END" => Some(Self::PlayerActionFarmElementEnd),
            "PLAYER_ACTION_ELEMENT_STAGE_END" => Some(Self::PlayerActionElementStageEnd),
            "PLAYER_ACTION_COCOON_SWEEP" => Some(Self::PlayerActionCocoonSweep),
            "PLAYER_ACTION_FARM_ELEMENT_SWEEP" => {
                Some(Self::PlayerActionFarmElementSweep)
            }
            "PLAYER_ACTION_RECOVER_STAMINA" => Some(Self::PlayerActionRecoverStamina),
            "PLAYER_ACTION_EXCHANGE_STAMINA" => Some(Self::PlayerActionExchangeStamina),
            "PLAYER_ACTION_LOGIN_REWARD" => Some(Self::PlayerActionLoginReward),
            "PLAYER_ACTION_MODIFY_NICKNAME" => Some(Self::PlayerActionModifyNickname),
            "PLAYER_ACTION_GET_LEVEL_REWARD" => Some(Self::PlayerActionGetLevelReward),
            "PLAYER_ACTION_WORLD_LEVEL_UP" => Some(Self::PlayerActionWorldLevelUp),
            "PLAYER_ACTION_ADD_STAMINA" => Some(Self::PlayerActionAddStamina),
            "PLAYER_ACTION_GAMEPLAY_BIRTHDAY_REWARD_MAIL" => {
                Some(Self::PlayerActionGameplayBirthdayRewardMail)
            }
            "PLAYER_ACTION_RECHARGE_REBATE_REWARD" => {
                Some(Self::PlayerActionRechargeRebateReward)
            }
            "PLAYER_ACTION_GAMEPLAY_BIRTHDAY_SET" => {
                Some(Self::PlayerActionGameplayBirthdaySet)
            }
            "PLAYER_ACTION_RESERVE_STAMINA_EXCHANGE" => {
                Some(Self::PlayerActionReserveStaminaExchange)
            }
            "PLAYER_ACTION_RESERVE_STAMINA_ADD" => {
                Some(Self::PlayerActionReserveStaminaAdd)
            }
            "PLAYER_ACTION_RESERVE_STAMINA_CHANGE" => {
                Some(Self::PlayerActionReserveStaminaChange)
            }
            "PLAYER_ACTION_NOW_STAMINA" => Some(Self::PlayerActionNowStamina),
            "PLAYER_ACTION_MAIL" => Some(Self::PlayerActionMail),
            "PLAYER_ACTION_MAIL_OP_BY_USER" => Some(Self::PlayerActionMailOpByUser),
            "PLAYER_ACTION_MAIL_OP_BY_MUIP" => Some(Self::PlayerActionMailOpByMuip),
            "PLAYER_ACTION_MAIL_OP_BY_GM" => Some(Self::PlayerActionMailOpByGm),
            "PLAYER_ACTION_MAIL_OP_BY_FULL" => Some(Self::PlayerActionMailOpByFull),
            "PLAYER_ACTION_MAIL_OP_BY_EXPIRE" => Some(Self::PlayerActionMailOpByExpire),
            "PLAYER_ACTION_MAIL_OP_BY_INTERNAL" => {
                Some(Self::PlayerActionMailOpByInternal)
            }
            "PLAYER_ACTION_ADD_MAIL" => Some(Self::PlayerActionAddMail),
            "PLAYER_ACTION_DEL_MAIL" => Some(Self::PlayerActionDelMail),
            "PLAYER_ACTION_TAKE_ATTACHMENT" => Some(Self::PlayerActionTakeAttachment),
            "PLAYER_ACTION_READ_MAIL" => Some(Self::PlayerActionReadMail),
            "PLAYER_ACTION_BATTLE_AVATAR" => Some(Self::PlayerActionBattleAvatar),
            "PLAYER_ACTION_BATTLE_MONSTER" => Some(Self::PlayerActionBattleMonster),
            "PLAYER_ACTION_BATTLE_END" => Some(Self::PlayerActionBattleEnd),
            "PLAYER_ACTION_BATTLE_REPLAY" => Some(Self::PlayerActionBattleReplay),
            "PLAYER_ACTION_BATTLE_AVATAR_DEATH" => {
                Some(Self::PlayerActionBattleAvatarDeath)
            }
            "PLAYER_ACTION_BATTLE_SWITCH_PHASE" => {
                Some(Self::PlayerActionBattleSwitchPhase)
            }
            "PLAYER_ACTION_BATTLE_MONSTER_SKILL" => {
                Some(Self::PlayerActionBattleMonsterSkill)
            }
            "PLAYER_ACTION_BATTLE_REBATTLE" => Some(Self::PlayerActionBattleRebattle),
            "PLAYER_ACTION_BATTLE_AVATAR_SERVANT" => {
                Some(Self::PlayerActionBattleAvatarServant)
            }
            "PLAYER_ACTION_MISSION_REWARD" => Some(Self::PlayerActionMissionReward),
            "PLAYER_ACTION_QUEST_ACCEPT" => Some(Self::PlayerActionQuestAccept),
            "PLAYER_ACTION_QUEST_FINISH" => Some(Self::PlayerActionQuestFinish),
            "PLAYER_ACTION_QUEST_REMOVE" => Some(Self::PlayerActionQuestRemove),
            "PLAYER_ACTION_QUEST_REWARD" => Some(Self::PlayerActionQuestReward),
            "PLAYER_ACTION_QUEST_AUTO_CLOSE" => Some(Self::PlayerActionQuestAutoClose),
            "PLAYER_ACTION_QUEST_EXPIRED" => Some(Self::PlayerActionQuestExpired),
            "PLAYER_ACTION_MISSION_REQUIRED" => Some(Self::PlayerActionMissionRequired),
            "PLAYER_ACTION_SUBMISSION_REWARD" => Some(Self::PlayerActionSubmissionReward),
            "PLAYER_ACTION_ACHIEVEMENT_LEVEL_REWARD" => {
                Some(Self::PlayerActionAchievementLevelReward)
            }
            "PLAYER_ACTION_QUEST_DELETE" => Some(Self::PlayerActionQuestDelete),
            "PLAYER_ACTION_SUB_MISSION_REWARD" => {
                Some(Self::PlayerActionSubMissionReward)
            }
            "PLAYER_ACTION_MISSION_COMPENSATE" => {
                Some(Self::PlayerActionMissionCompensate)
            }
            "PLAYER_ACTION_MISSION_RECYCLE" => Some(Self::PlayerActionMissionRecycle),
            "PLAYER_ACTION_QUEST_RESET" => Some(Self::PlayerActionQuestReset),
            "PLAYER_ACTION_QUEST_OPTIONAL_REWARD" => {
                Some(Self::PlayerActionQuestOptionalReward)
            }
            "PLAYER_ACTION_MCV_CHANGE" => Some(Self::PlayerActionMcvChange),
            "PLAYER_ACTION_PROP_INTERACT" => Some(Self::PlayerActionPropInteract),
            "PLAYER_ACTION_AVATAR_MAZE_SKILL" => Some(Self::PlayerActionAvatarMazeSkill),
            "PLAYER_ACTION_ENTER_MAZE" => Some(Self::PlayerActionEnterMaze),
            "PLAYER_ACTION_ORDINARY_INTERACT" => Some(Self::PlayerActionOrdinaryInteract),
            "PLAYER_ACTION_CHEST_INTERACT" => Some(Self::PlayerActionChestInteract),
            "PLAYER_ACTION_CHECK_POINT_UNLOCK" => {
                Some(Self::PlayerActionCheckPointUnlock)
            }
            "PLAYER_ACTION_CHECK_POINT_INTERACT" => {
                Some(Self::PlayerActionCheckPointInteract)
            }
            "PLAYER_ACTION_CHECK_POINT_REVIVE" => {
                Some(Self::PlayerActionCheckPointRevive)
            }
            "PLAYER_ACTION_CHECK_POINT_TRANSFER" => {
                Some(Self::PlayerActionCheckPointTransfer)
            }
            "PLAYER_ACTION_MONSTER_INTERACT" => Some(Self::PlayerActionMonsterInteract),
            "PLAYER_ACTION_NPC_INTERACT" => Some(Self::PlayerActionNpcInteract),
            "PLAYER_ACTION_PROP_HIT" => Some(Self::PlayerActionPropHit),
            "PLAYER_ACTION_PRELOGUE_REVIVE" => Some(Self::PlayerActionPrelogueRevive),
            "PLAYER_ACTION_PROP_STATE" => Some(Self::PlayerActionPropState),
            "PLAYER_ACTION_CHECK_POINT_RECOVER" => {
                Some(Self::PlayerActionCheckPointRecover)
            }
            "PLAYER_ACTION_MECHANISM_BAR" => Some(Self::PlayerActionMechanismBar),
            "PLAYER_ACTION_SUBMIT_ORIGAMI_ITEM" => {
                Some(Self::PlayerActionSubmitOrigamiItem)
            }
            "PLAYER_ACTION_MAZE_BUFF_DROP_ITEM" => {
                Some(Self::PlayerActionMazeBuffDropItem)
            }
            "PLAYER_ACTION_FSV_CHANGE" => Some(Self::PlayerActionFsvChange),
            "PLAYER_ACTION_TIMELINE_PROP_STATE" => {
                Some(Self::PlayerActionTimelinePropState)
            }
            "PLAYER_ACTION_GROUP_PROPERTY_CHANGE" => {
                Some(Self::PlayerActionGroupPropertyChange)
            }
            "PLAYER_ACTION_EQUIPMENT_PROMOTION" => {
                Some(Self::PlayerActionEquipmentPromotion)
            }
            "PLAYER_ACTION_ADD_ITEM" => Some(Self::PlayerActionAddItem),
            "PLAYER_ACTION_USE_ITEM" => Some(Self::PlayerActionUseItem),
            "PLAYER_ACTION_EQUIPMENT_RANK_UP" => Some(Self::PlayerActionEquipmentRankUp),
            "PLAYER_ACTION_EQUIPMENT_LEVEL_UP" => {
                Some(Self::PlayerActionEquipmentLevelUp)
            }
            "PLAYER_ACTION_EXP_UP_EQUIPMENT_RETURN" => {
                Some(Self::PlayerActionExpUpEquipmentReturn)
            }
            "PLAYER_ACTION_BAG_FULL_REWARD_MAIL" => {
                Some(Self::PlayerActionBagFullRewardMail)
            }
            "PLAYER_ACTION_EQUIPMENT_ADD" => Some(Self::PlayerActionEquipmentAdd),
            "PLAYER_ACTION_EQUIPMENT_WEAR" => Some(Self::PlayerActionEquipmentWear),
            "PLAYER_ACTION_ITEM_COMPOSE" => Some(Self::PlayerActionItemCompose),
            "PLAYER_ACTION_RELIC_LEVEL_UP" => Some(Self::PlayerActionRelicLevelUp),
            "PLAYER_ACTION_EXP_UP_RELIC_RETURN" => {
                Some(Self::PlayerActionExpUpRelicReturn)
            }
            "PLAYER_ACTION_RELIC_NUM_CHANGED" => Some(Self::PlayerActionRelicNumChanged),
            "PLAYER_ACTION_RELIC_WEAR" => Some(Self::PlayerActionRelicWear),
            "PLAYER_ACTION_RELIC_COMPOSE" => Some(Self::PlayerActionRelicCompose),
            "PLAYER_ACTION_SELL_ITEM" => Some(Self::PlayerActionSellItem),
            "PLAYER_ACTION_UNLOCK_MUSIC" => Some(Self::PlayerActionUnlockMusic),
            "PLAYER_ACTION_EXCHANGE_HCOIN_WITH_PAY_MCOIN" => {
                Some(Self::PlayerActionExchangeHcoinWithPayMcoin)
            }
            "PLAYER_ACTION_GET_REWARD" => Some(Self::PlayerActionGetReward),
            "PLAYER_ACTION_EXCHANGE_HCOIN_WITH_FREE_MCOIN" => {
                Some(Self::PlayerActionExchangeHcoinWithFreeMcoin)
            }
            "PLAYER_ACTION_ITEM_COMPOSE_FORMULA_UNLOCK" => {
                Some(Self::PlayerActionItemComposeFormulaUnlock)
            }
            "PLAYER_ACTION_EXCHANGE_HCOIN" => Some(Self::PlayerActionExchangeHcoin),
            "PLAYER_ACTION_CITY_SHOP_LEVEL_REWARD" => {
                Some(Self::PlayerActionCityShopLevelReward)
            }
            "PLAYER_ACTION_ITEM_RECYCLE" => Some(Self::PlayerActionItemRecycle),
            "PLAYER_ACTION_MUSEUM_FUNDS_CONSUME" => {
                Some(Self::PlayerActionMuseumFundsConsume)
            }
            "PLAYER_ACTION_MUSEUM_EVENT_BUY_STUFF" => {
                Some(Self::PlayerActionMuseumEventBuyStuff)
            }
            "PLAYER_ACTION_MUSEUM_MARKET_BUY_STUFF" => {
                Some(Self::PlayerActionMuseumMarketBuyStuff)
            }
            "PLAYER_ACTION_MUSEUM_RANDOM_EVENT" => {
                Some(Self::PlayerActionMuseumRandomEvent)
            }
            "PLAYER_ACTION_MUSEUM_INITIAL_ITEM" => {
                Some(Self::PlayerActionMuseumInitialItem)
            }
            "PLAYER_ACTION_OPTIONAL_BOX_REWARD" => {
                Some(Self::PlayerActionOptionalBoxReward)
            }
            "PLAYER_ACTION_DESTROY_ITEM" => Some(Self::PlayerActionDestroyItem),
            "PLAYER_ACTION_TRANSFER_EXP" => Some(Self::PlayerActionTransferExp),
            "PLAYER_ACTION_ONDUTY_USE" => Some(Self::PlayerActionOndutyUse),
            "PLAYER_ACTION_ITEM_MARK" => Some(Self::PlayerActionItemMark),
            "PLAYER_ACTION_RELIC_DISCARD" => Some(Self::PlayerActionRelicDiscard),
            "PLAYER_ACTION_GENERAL_VIRTUAL_ITEM_CHANGE" => {
                Some(Self::PlayerActionGeneralVirtualItemChange)
            }
            "PLAYER_ACTION_RELIC_LOCK" => Some(Self::PlayerActionRelicLock),
            "PLAYER_ACTION_RELIC_FILTER_PLAN_SAVE" => {
                Some(Self::PlayerActionRelicFilterPlanSave)
            }
            "PLAYER_ACTION_RELIC_FILTER_PLAN_DELETE" => {
                Some(Self::PlayerActionRelicFilterPlanDelete)
            }
            "PLAYER_ACTION_RELIC_FILTER_PLAN_MARK" => {
                Some(Self::PlayerActionRelicFilterPlanMark)
            }
            "PLAYER_ACTION_RELIC_SELL" => Some(Self::PlayerActionRelicSell),
            "PLAYER_ACTION_RELIC_REFORGE" => Some(Self::PlayerActionRelicReforge),
            "PLAYER_ACTION_RELIC_SMART_WEAR_CUSTOM_PLAN" => {
                Some(Self::PlayerActionRelicSmartWearCustomPlan)
            }
            "PLAYER_ACTION_RECOVER_RELIC" => Some(Self::PlayerActionRecoverRelic),
            "PLAYER_ACTION_RECOVER_EQUIPMENT" => Some(Self::PlayerActionRecoverEquipment),
            "PLAYER_ACTION_EQUIPMENT_SELL" => Some(Self::PlayerActionEquipmentSell),
            "PLAYER_ACTION_RELIC_SMART_WEAR_PIN_RELIC" => {
                Some(Self::PlayerActionRelicSmartWearPinRelic)
            }
            "PLAYER_ACTION_RELIC_COCOON_SETTING" => {
                Some(Self::PlayerActionRelicCocoonSetting)
            }
            "PLAYER_ACTION_PERSONAL_CARD_CHANGE" => {
                Some(Self::PlayerActionPersonalCardChange)
            }
            "PLAYER_ACTION_PHONE_CASE_CHANGE" => Some(Self::PlayerActionPhoneCaseChange),
            "PLAYER_ACTION_TUTORIAL_GUIDE_FINISH" => {
                Some(Self::PlayerActionTutorialGuideFinish)
            }
            "PLAYER_ACTION_TUTORIAL" => Some(Self::PlayerActionTutorial),
            "PLAYER_ACTION_TUTORIAL_GUIDE" => Some(Self::PlayerActionTutorialGuide),
            "PLAYER_ACTION_MONSTER_DROP" => Some(Self::PlayerActionMonsterDrop),
            "PLAYER_ACTION_FINISH_CHALLENGE" => Some(Self::PlayerActionFinishChallenge),
            "PLAYER_ACTION_CHALLENGE_STARS" => Some(Self::PlayerActionChallengeStars),
            "PLAYER_ACTION_CHALLENGE_START" => Some(Self::PlayerActionChallengeStart),
            "PLAYER_ACTION_CHALLENGE_END" => Some(Self::PlayerActionChallengeEnd),
            "PLAYER_ACTION_CHALLENGE_WIN" => Some(Self::PlayerActionChallengeWin),
            "PLAYER_ACTION_CHALLENGE_FAIL" => Some(Self::PlayerActionChallengeFail),
            "PLAYER_ACTION_CHALLENGE_LEAVE" => Some(Self::PlayerActionChallengeLeave),
            "PLAYER_ACTION_CHALLENGE_SWITCH" => Some(Self::PlayerActionChallengeSwitch),
            "PLAYER_ACTION_CHALLENGE_BONUS_REWARD" => {
                Some(Self::PlayerActionChallengeBonusReward)
            }
            "PLAYER_ACTION_CHALLENGE_STARS_REWARD" => {
                Some(Self::PlayerActionChallengeStarsReward)
            }
            "PLAYER_ACTION_CHALLENGE_RESTART" => Some(Self::PlayerActionChallengeRestart),
            "PLAYER_ACTION_CHALLENGE_STORY_START" => {
                Some(Self::PlayerActionChallengeStoryStart)
            }
            "PLAYER_ACTION_CHALLENGE_STORY_END" => {
                Some(Self::PlayerActionChallengeStoryEnd)
            }
            "PLAYER_ACTION_CHALLENGE_FAST_PASS" => {
                Some(Self::PlayerActionChallengeFastPass)
            }
            "PLAYER_ACTION_CHALLENGE_STORY_FAST_PASS" => {
                Some(Self::PlayerActionChallengeStoryFastPass)
            }
            "PLAYER_ACTION_CHALLENGE_MEMORY_FAST_PASS" => {
                Some(Self::PlayerActionChallengeMemoryFastPass)
            }
            "PLAYER_ACTION_CHALLENGE_BATTLE_TARGET" => {
                Some(Self::PlayerActionChallengeBattleTarget)
            }
            "PLAYER_ACTION_CHALLENGE_BOSS_END" => {
                Some(Self::PlayerActionChallengeBossEnd)
            }
            "PLAYER_ACTION_CHALLENGE_BOSS_FAST_PASS" => {
                Some(Self::PlayerActionChallengeBossFastPass)
            }
            "PLAYER_ACTION_CHALLENGE_START_PARTIAL" => {
                Some(Self::PlayerActionChallengeStartPartial)
            }
            "PLAYER_ACTION_CHALLENGE_BOSS_PHASE_START" => {
                Some(Self::PlayerActionChallengeBossPhaseStart)
            }
            "PLAYER_ACTION_CHALLENGE_BOSS_PHASE_END" => {
                Some(Self::PlayerActionChallengeBossPhaseEnd)
            }
            "PLAYER_ACTION_CHALLENGE_BOSS_PHASE_END_BEFORE_BATTLE" => {
                Some(Self::PlayerActionChallengeBossPhaseEndBeforeBattle)
            }
            "PLAYER_ACTION_CHALLENGE_RECOMMEND_LINEUP" => {
                Some(Self::PlayerActionChallengeRecommendLineup)
            }
            "PLAYER_ACTION_CHALLENGE_STORY_FEVER_BATTLE_END" => {
                Some(Self::PlayerActionChallengeStoryFeverBattleEnd)
            }
            "PLAYER_ACTION_TEAM_INFO_CHANGE" => Some(Self::PlayerActionTeamInfoChange),
            "PLAYER_ACTION_CHANGE_CURRENT_AVATAR" => {
                Some(Self::PlayerActionChangeCurrentAvatar)
            }
            "PLAYER_ACTION_CREATE_VIRTUAL_TEAM" => {
                Some(Self::PlayerActionCreateVirtualTeam)
            }
            "PLAYER_ACTION_TEAM_NAME_EDIT" => Some(Self::PlayerActionTeamNameEdit),
            "PLAYER_ACTION_AVATAR_BUFF_CHANGE" => {
                Some(Self::PlayerActionAvatarBuffChange)
            }
            "PLAYER_ACTION_ENV_BUFF_CHANGE" => Some(Self::PlayerActionEnvBuffChange),
            "PLAYER_ACTION_GAME_CORE" => Some(Self::PlayerActionGameCore),
            "PLAYER_ACTION_AVATAR_GLOBAL_BUFF" => {
                Some(Self::PlayerActionAvatarGlobalBuff)
            }
            "PLAYER_ACTION_ROGUE_EXPLORE_START" => {
                Some(Self::PlayerActionRogueExploreStart)
            }
            "PLAYER_ACTION_ROGUE_ENTER_ROOM" => Some(Self::PlayerActionRogueEnterRoom),
            "PLAYER_ACTION_ROGUE_LEAVE_ROOM" => Some(Self::PlayerActionRogueLeaveRoom),
            "PLAYER_ACTION_ROGUE_EXPLORE_FINISH" => {
                Some(Self::PlayerActionRogueExploreFinish)
            }
            "PLAYER_ACTION_ROGUE_SELECT_BUFF" => Some(Self::PlayerActionRogueSelectBuff),
            "PLAYER_ACTION_ROGUE_ROLL_BUFF" => Some(Self::PlayerActionRogueRollBuff),
            "PLAYER_ACTION_ROGUE_REVIVE" => Some(Self::PlayerActionRogueRevive),
            "PLAYER_ACTION_ROGUE_CHALLENGE_START" => {
                Some(Self::PlayerActionRogueChallengeStart)
            }
            "PLAYER_ACTION_ROGUE_MIRACLE" => Some(Self::PlayerActionRogueMiracle),
            "PLAYER_ACTION_ROGUE_ADD_BUFF" => Some(Self::PlayerActionRogueAddBuff),
            "PLAYER_ACTION_ROGUE_PICK_AVATAR" => Some(Self::PlayerActionRoguePickAvatar),
            "PLAYER_ACTION_ROGUE_SEASON_CHANGED" => {
                Some(Self::PlayerActionRogueSeasonChanged)
            }
            "PLAYER_ACTION_ROGUE_AEON_LEVEL_UP" => {
                Some(Self::PlayerActionRogueAeonLevelUp)
            }
            "PLAYER_ACTION_ROGUE_OPEN_DOOR" => Some(Self::PlayerActionRogueOpenDoor),
            "PLAYER_ACTION_ROGUE_SCORE_REWARD" => {
                Some(Self::PlayerActionRogueScoreReward)
            }
            "PLAYER_ACTION_ROGUE_ENHANCE_BUFF" => {
                Some(Self::PlayerActionRogueEnhanceBuff)
            }
            "PLAYER_ACTION_ROGUE_SELECT_BONUS" => {
                Some(Self::PlayerActionRogueSelectBonus)
            }
            "PLAYER_ACTION_ROGUE_AREA_FIRST_REWARD" => {
                Some(Self::PlayerActionRogueAreaFirstReward)
            }
            "PLAYER_ACTION_ROGUE_ENABLE_TALENT" => {
                Some(Self::PlayerActionRogueEnableTalent)
            }
            "PLAYER_ACTION_ROGUE_AEON_UNLOCK" => Some(Self::PlayerActionRogueAeonUnlock),
            "PLAYER_ACTION_ROGUE_AEON_ADD_EXP" => Some(Self::PlayerActionRogueAeonAddExp),
            "PLAYER_ACTION_ROGUE_IMMERSE_LEVEL_UP" => {
                Some(Self::PlayerActionRogueImmerseLevelUp)
            }
            "PLAYER_ACTION_ROGUE_SELECT_MIRACLE" => {
                Some(Self::PlayerActionRogueSelectMiracle)
            }
            "PLAYER_ACTION_ROGUE_UNLOCK_AREA" => Some(Self::PlayerActionRogueUnlockArea),
            "PLAYER_ACTION_ROGUE_EXPLORE_SCORE_CHANGE" => {
                Some(Self::PlayerActionRogueExploreScoreChange)
            }
            "PLAYER_ACTION_ROGUE_UPDATE_REWARD_POOL" => {
                Some(Self::PlayerActionRogueUpdateRewardPool)
            }
            "PLAYER_ACTION_ROGUE_SWAP_BUFF" => Some(Self::PlayerActionRogueSwapBuff),
            "PLAYER_ACTION_ROGUE_WEEKLY_REFRESH" => {
                Some(Self::PlayerActionRogueWeeklyRefresh)
            }
            "PLAYER_ACTION_ROGUE_EXCHANGE_KEY" => {
                Some(Self::PlayerActionRogueExchangeKey)
            }
            "PLAYER_ACTION_ROGUE_GET_OBJECT_REWARD" => {
                Some(Self::PlayerActionRogueGetObjectReward)
            }
            "PLAYER_ACTION_ROGUE_AREA_MONSTER_DROP" => {
                Some(Self::PlayerActionRogueAreaMonsterDrop)
            }
            "PLAYER_ACTION_ROGUE_ADD_MIRACLE" => Some(Self::PlayerActionRogueAddMiracle),
            "PLAYER_ACTION_ROGUE_SWAP_MIRACLE" => {
                Some(Self::PlayerActionRogueSwapMiracle)
            }
            "PLAYER_ACTION_ROGUE_OPEN_OBJECT_REWARD" => {
                Some(Self::PlayerActionRogueOpenObjectReward)
            }
            "PLAYER_ACTION_ROGUE_AEON_EFFECT" => Some(Self::PlayerActionRogueAeonEffect),
            "PLAYER_ACTION_ROGUE_REFORGE_BUFF" => {
                Some(Self::PlayerActionRogueReforgeBuff)
            }
            "PLAYER_ACTION_ROGUE_TRADE_MIRACLE" => {
                Some(Self::PlayerActionRogueTradeMiracle)
            }
            "PLAYER_ACTION_ROGUE_REMOVE_AVATAR" => {
                Some(Self::PlayerActionRogueRemoveAvatar)
            }
            "PLAYER_ACTION_ROGUE_DIALOGUE_SELECT" => {
                Some(Self::PlayerActionRogueDialogueSelect)
            }
            "PLAYER_ACTION_ROGUE_SELECT_AEON" => Some(Self::PlayerActionRogueSelectAeon),
            "PLAYER_ACTION_ROGUE_DIALOGUE_FINISH" => {
                Some(Self::PlayerActionRogueDialogueFinish)
            }
            "PLAYER_ACTION_ROGUE_HANDBOOK_REWARD" => {
                Some(Self::PlayerActionRogueHandbookReward)
            }
            "PLAYER_ACTION_ROGUE_ADVENTURE_ROOM_REWARD" => {
                Some(Self::PlayerActionRogueAdventureRoomReward)
            }
            "PLAYER_ACTION_ROGUE_SHOP_BUY" => Some(Self::PlayerActionRogueShopBuy),
            "PLAYER_ACTION_ROGUE_REPAIR_MIRACLE" => {
                Some(Self::PlayerActionRogueRepairMiracle)
            }
            "PLAYER_ACTION_ROGUE_REPLACE_ALL_MIRACLE" => {
                Some(Self::PlayerActionRogueReplaceAllMiracle)
            }
            "PLAYER_ACTION_ROGUE_MIRACLE_BROKEN" => {
                Some(Self::PlayerActionRogueMiracleBroken)
            }
            "PLAYER_ACTION_ROGUE_SHOP_REFRESH" => {
                Some(Self::PlayerActionRogueShopRefresh)
            }
            "PLAYER_ACTION_ROGUE_LEVEL_MECHANISM" => {
                Some(Self::PlayerActionRogueLevelMechanism)
            }
            "PLAYER_ACTION_ROGUE_REMOVE_MIRACLE" => {
                Some(Self::PlayerActionRogueRemoveMiracle)
            }
            "PLAYER_ACTION_ROGUE_DROP_BUFF" => Some(Self::PlayerActionRogueDropBuff),
            "PLAYER_ACTION_ROGUE_DESTROY_MIRACLE" => {
                Some(Self::PlayerActionRogueDestroyMiracle)
            }
            "PLAYER_ACTION_ROGUE_ACTIVATE_FORMULA" => {
                Some(Self::PlayerActionRogueActivateFormula)
            }
            "PLAYER_ACTION_ROGUE_DEACTIVATE_FORMULA" => {
                Some(Self::PlayerActionRogueDeactivateFormula)
            }
            "PLAYER_ACTION_ROGUE_REMOVE_BUFF" => Some(Self::PlayerActionRogueRemoveBuff),
            "PLAYER_ACTION_ROGUE_SELECT_FORMULA" => {
                Some(Self::PlayerActionRogueSelectFormula)
            }
            "PLAYER_ACTION_ROGUE_DROP_FORMULA" => {
                Some(Self::PlayerActionRogueDropFormula)
            }
            "PLAYER_ACTION_ROGUE_ROLL_FORMULA" => {
                Some(Self::PlayerActionRogueRollFormula)
            }
            "PLAYER_ACTION_ROGUE_REFORGE_FORMULA" => {
                Some(Self::PlayerActionRogueReforgeFormula)
            }
            "PLAYER_ACTION_ROGUE_COMPOSE_MIRACLE" => {
                Some(Self::PlayerActionRogueComposeMiracle)
            }
            "PLAYER_ACTION_ROGUE_REFORGE_MIRACLE" => {
                Some(Self::PlayerActionRogueReforgeMiracle)
            }
            "PLAYER_ACTION_ROGUE_DO_GAMBLE" => Some(Self::PlayerActionRogueDoGamble),
            "PLAYER_ACTION_ROGUE_KEYWORD_ACTIVATE" => {
                Some(Self::PlayerActionRogueKeywordActivate)
            }
            "PLAYER_ACTION_ROGUE_KEYWORD_DEACTIVATE" => {
                Some(Self::PlayerActionRogueKeywordDeactivate)
            }
            "PLAYER_ACTION_ROGUE_SOURCE_DEFAULT" => {
                Some(Self::PlayerActionRogueSourceDefault)
            }
            "PLAYER_ACTION_ROGUE_PLAYER_SELECT" => {
                Some(Self::PlayerActionRoguePlayerSelect)
            }
            "PLAYER_ACTION_ROGUE_LAYER_SETTLEMENT" => {
                Some(Self::PlayerActionRogueLayerSettlement)
            }
            "PLAYER_ACTION_ROGUE_FORMULA" => Some(Self::PlayerActionRogueFormula),
            "PLAYER_ACTION_ROGUE_WORKBENCH" => Some(Self::PlayerActionRogueWorkbench),
            "PLAYER_ACTION_ROGUE_MODIFIER" => Some(Self::PlayerActionRogueModifier),
            "PLAYER_ACTION_ROGUE_REFORGE" => Some(Self::PlayerActionRogueReforge),
            "PLAYER_ACTION_ROGUE_TALENT" => Some(Self::PlayerActionRogueTalent),
            "PLAYER_ACTION_ROGUE_REROLL" => Some(Self::PlayerActionRogueReroll),
            "PLAYER_ACTION_ROGUE_COIN_CHANGE" => Some(Self::PlayerActionRogueCoinChange),
            "PLAYER_ACTION_ROGUE_MAGIC_SCEPTER_SHOP" => {
                Some(Self::PlayerActionRogueMagicScepterShop)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_UNIT_SHOP" => {
                Some(Self::PlayerActionRogueMagicUnitShop)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_SCEPTER_LEVEL_UP" => {
                Some(Self::PlayerActionRogueMagicScepterLevelUp)
            }
            "PLAYER_ACTION_GACHA" => Some(Self::PlayerActionGacha),
            "PLAYER_ACTION_ADD_GACHA_TICKET" => Some(Self::PlayerActionAddGachaTicket),
            "PLAYER_ACTION_GACHA_EXCHANGE" => Some(Self::PlayerActionGachaExchange),
            "PLAYER_ACTION_SET_GACHA_DECIDE_ITEM" => {
                Some(Self::PlayerActionSetGachaDecideItem)
            }
            "PLAYER_ACTION_EVENT_MISSION_ACCEPT" => {
                Some(Self::PlayerActionEventMissionAccept)
            }
            "PLAYER_ACTION_EVENT_MISSION_FINISH" => {
                Some(Self::PlayerActionEventMissionFinish)
            }
            "PLAYER_ACTION_EVENT_MISSION_REWARD" => {
                Some(Self::PlayerActionEventMissionReward)
            }
            "PLAYER_ACTION_RAID_FINISH" => Some(Self::PlayerActionRaidFinish),
            "PLAYER_ACTION_RAID_BEGIN" => Some(Self::PlayerActionRaidBegin),
            "PLAYER_ACTION_CHALLENGE_RAID_REWARD" => {
                Some(Self::PlayerActionChallengeRaidReward)
            }
            "PLAYER_ACTION_START_RAID" => Some(Self::PlayerActionStartRaid),
            "PLAYER_ACTION_END_RAID" => Some(Self::PlayerActionEndRaid),
            "PLAYER_ACTION_RAID_TARGET_FINISH" => {
                Some(Self::PlayerActionRaidTargetFinish)
            }
            "PLAYER_ACTION_ARCHIVE_RAID" => Some(Self::PlayerActionArchiveRaid),
            "PLAYER_ACTION_HERO_BASE_TYPE_CHANGE" => {
                Some(Self::PlayerActionHeroBaseTypeChange)
            }
            "PLAYER_ACTION_HERO_BASE_TYPE_ADD_BY_MISSION" => {
                Some(Self::PlayerActionHeroBaseTypeAddByMission)
            }
            "PLAYER_ACTION_HERO_BASE_TYPE_ADD_BY_REQ" => {
                Some(Self::PlayerActionHeroBaseTypeAddByReq)
            }
            "PLAYER_ACTION_HERO_BASE_TYPE_ADD" => Some(Self::PlayerActionHeroBaseTypeAdd),
            "PLAYER_ACTION_DIALOGUE_SELECT" => Some(Self::PlayerActionDialogueSelect),
            "PLAYER_ACTION_EXPEDITION_START" => Some(Self::PlayerActionExpeditionStart),
            "PLAYER_ACTION_EXPEDITION_FINISH" => Some(Self::PlayerActionExpeditionFinish),
            "PLAYER_ACTION_EXPEDITION_REWARD" => Some(Self::PlayerActionExpeditionReward),
            "PLAYER_ACTION_ACTIVITY_EXPEDITION_START" => {
                Some(Self::PlayerActionActivityExpeditionStart)
            }
            "PLAYER_ACTION_ACTIVITY_EXPEDITION_FINISH" => {
                Some(Self::PlayerActionActivityExpeditionFinish)
            }
            "PLAYER_ACTION_ACTIVITY_EXPEDITION_REWARD" => {
                Some(Self::PlayerActionActivityExpeditionReward)
            }
            "PLAYER_ACTION_ACTIVITY_EXPEDITION_BEGIN" => {
                Some(Self::PlayerActionActivityExpeditionBegin)
            }
            "PLAYER_ACTION_ACTIVITY_EXPEDITION_END" => {
                Some(Self::PlayerActionActivityExpeditionEnd)
            }
            "PLAYER_ACTION_ACTIVITY_LOGIN_REWARD" => {
                Some(Self::PlayerActionActivityLoginReward)
            }
            "PLAYER_ACTION_FRIEND_REPORT" => Some(Self::PlayerActionFriendReport),
            "PLAYER_ACTION_ASSIST_REWARD" => Some(Self::PlayerActionAssistReward),
            "PLAYER_ACTION_ASSIST_AVATAR_REFRESH" => {
                Some(Self::PlayerActionAssistAvatarRefresh)
            }
            "PLAYER_ACTION_ASSIST_AVATAR_BATTLE_START" => {
                Some(Self::PlayerActionAssistAvatarBattleStart)
            }
            "PLAYER_ACTION_ASSIST_AVATAR_BATTLE_END" => {
                Some(Self::PlayerActionAssistAvatarBattleEnd)
            }
            "PLAYER_ACTION_FRIEND_APPLY" => Some(Self::PlayerActionFriendApply),
            "PLAYER_ACTION_FRIEND_MANAGE" => Some(Self::PlayerActionFriendManage),
            "PLAYER_ACTION_FRIEND_BLACKLIST" => Some(Self::PlayerActionFriendBlacklist),
            "PLAYER_ACTION_FRIEND_MODIFY_REMARK_NAME" => {
                Some(Self::PlayerActionFriendModifyRemarkName)
            }
            "PLAYER_ACTION_FRIEND_MARK" => Some(Self::PlayerActionFriendMark),
            "PLAYER_ACTION_FRIEND_ASSIST_LIST" => {
                Some(Self::PlayerActionFriendAssistList)
            }
            "PLAYER_ACTION_BATTLE_PASS_LEVEL_REWARD" => {
                Some(Self::PlayerActionBattlePassLevelReward)
            }
            "PLAYER_ACTION_BATTLE_PASS_128TIER_REWARD" => {
                Some(Self::PlayerActionBattlePass128tierReward)
            }
            "PLAYER_ACTION_BATTLE_PASS_LEVEL_REWARD_AUTO_MAIL" => {
                Some(Self::PlayerActionBattlePassLevelRewardAutoMail)
            }
            "PLAYER_ACTION_BUY_BATTLE_PASS" => Some(Self::PlayerActionBuyBattlePass),
            "PLAYER_ACTION_ADD_BATTLE_PASS_EXP" => {
                Some(Self::PlayerActionAddBattlePassExp)
            }
            "PLAYER_ACTION_BATTLE_PASS_LEVEL_UP" => {
                Some(Self::PlayerActionBattlePassLevelUp)
            }
            "PLAYER_ACTION_BUY_BATTLE_PASS_LEVEL" => {
                Some(Self::PlayerActionBuyBattlePassLevel)
            }
            "PLAYER_ACTION_BATTLE_PASS_END_MAIL" => {
                Some(Self::PlayerActionBattlePassEndMail)
            }
            "PLAYER_ACTION_BATTLE_PASS_68TIER_REWARD" => {
                Some(Self::PlayerActionBattlePass68tierReward)
            }
            "PLAYER_ACTION_MODIFY_SIGN" => Some(Self::PlayerActionModifySign),
            "PLAYER_ACTION_DISPLAY_AVATAR_SET" => {
                Some(Self::PlayerActionDisplayAvatarSet)
            }
            "PLAYER_ACTION_ASSIST_AVATAR_SET" => Some(Self::PlayerActionAssistAvatarSet),
            "PLAYER_ACTION_ACHIEVEMENT_FINISH" => {
                Some(Self::PlayerActionAchievementFinish)
            }
            "PLAYER_ACTION_ACHIEVEMENT_REWARD" => {
                Some(Self::PlayerActionAchievementReward)
            }
            "PLAYER_ACTION_ACHIEVEMENT_ADD_EXP" => {
                Some(Self::PlayerActionAchievementAddExp)
            }
            "PLAYER_ACTION_ACHIEVEMENT_LEVEL_UP" => {
                Some(Self::PlayerActionAchievementLevelUp)
            }
            "PLAYER_ACTION_PUNK_LORD_REWARD" => Some(Self::PlayerActionPunkLordReward),
            "PLAYER_ACTION_PUNK_LORD_BOSS_SEARCH" => {
                Some(Self::PlayerActionPunkLordBossSearch)
            }
            "PLAYER_ACTION_PUNK_LORD_BOSS_SHARE" => {
                Some(Self::PlayerActionPunkLordBossShare)
            }
            "PLAYER_ACTION_START_PUNK_LORD_RAID" => {
                Some(Self::PlayerActionStartPunkLordRaid)
            }
            "PLAYER_ACTION_PUNK_LORD_SUPPORT_TIMES" => {
                Some(Self::PlayerActionPunkLordSupportTimes)
            }
            "PLAYER_ACTION_PUNK_LORD_SCORE_REWARD" => {
                Some(Self::PlayerActionPunkLordScoreReward)
            }
            "PLAYER_ACTION_PUNK_LORD_LIST_REFRESH" => {
                Some(Self::PlayerActionPunkLordListRefresh)
            }
            "PLAYER_ACTION_PUNK_LORD_POWER_ATTACK" => {
                Some(Self::PlayerActionPunkLordPowerAttack)
            }
            "PLAYER_ACTION_PUNK_LORD_BATTLE_END" => {
                Some(Self::PlayerActionPunkLordBattleEnd)
            }
            "PLAYER_ACTION_PUNK_LORD_BOSS_DEATH" => {
                Some(Self::PlayerActionPunkLordBossDeath)
            }
            "PLAYER_ACTION_PUNK_LORD_BOSS_SCORE" => {
                Some(Self::PlayerActionPunkLordBossScore)
            }
            "PLAYER_ACTION_DAILY_ACTIVE_LEVEL_REWARD" => {
                Some(Self::PlayerActionDailyActiveLevelReward)
            }
            "PLAYER_ACTION_DAILY_ACTIVE_ADD_POINT" => {
                Some(Self::PlayerActionDailyActiveAddPoint)
            }
            "PLAYER_ACTION_DAILY_ACTIVE_DELETE_OLD_QUEST" => {
                Some(Self::PlayerActionDailyActiveDeleteOldQuest)
            }
            "PLAYER_ACTION_FIGHT_ACTIVITY_BEGIN" => {
                Some(Self::PlayerActionFightActivityBegin)
            }
            "PLAYER_ACTION_FIGHT_ACTIVITY_END" => {
                Some(Self::PlayerActionFightActivityEnd)
            }
            "PLAYER_ACTION_FIGHT_ACTIVITY_REWARD" => {
                Some(Self::PlayerActionFightActivityReward)
            }
            "PLAYER_ACTION_ACTIVITY_END_MAIL" => Some(Self::PlayerActionActivityEndMail),
            "PLAYER_ACTION_APPOINTMENT_MAIL" => Some(Self::PlayerActionAppointmentMail),
            "PLAYER_ACTION_SHARE_REWARD" => Some(Self::PlayerActionShareReward),
            "PLAYER_ACTION_ACTIVITY_TRIAL_REWARD" => {
                Some(Self::PlayerActionActivityTrialReward)
            }
            "PLAYER_ACTION_ACTIVITY_TRIAL_START" => {
                Some(Self::PlayerActionActivityTrialStart)
            }
            "PLAYER_ACTION_PS_PRE_ORDER_MAIL1" => Some(Self::PlayerActionPsPreOrderMail1),
            "PLAYER_ACTION_PS_PRE_ORDER_MAIL2" => Some(Self::PlayerActionPsPreOrderMail2),
            "PLAYER_ACTION_PS_LOGIN_MAIL" => Some(Self::PlayerActionPsLoginMail),
            "PLAYER_ACTION_LOGIN_MAIL" => Some(Self::PlayerActionLoginMail),
            "PLAYER_ACTION_GOOGLE_POINTS_100_MAIL" => {
                Some(Self::PlayerActionGooglePoints100Mail)
            }
            "PLAYER_ACTION_GOOGLE_POINTS_150_MAIL" => {
                Some(Self::PlayerActionGooglePoints150Mail)
            }
            "PLAYER_ACTION_TRAIN_VISITOR_BEHAVIOR_FINISH" => {
                Some(Self::PlayerActionTrainVisitorBehaviorFinish)
            }
            "PLAYER_ACTION_ENTER_VIEW_TRAIN" => Some(Self::PlayerActionEnterViewTrain),
            "PLAYER_ACTION_TRAIN_VISITOR_BEHAVIOR_REWARD_FORCE_SEND" => {
                Some(Self::PlayerActionTrainVisitorBehaviorRewardForceSend)
            }
            "PLAYER_ACTION_TRAIN_VISITOR_REGISTER_OPEN" => {
                Some(Self::PlayerActionTrainVisitorRegisterOpen)
            }
            "PLAYER_ACTION_TRAIN_VISITOR_BEHAVIOR_REWARD_FORCE_SEND_BY_REGISTER" => {
                Some(Self::PlayerActionTrainVisitorBehaviorRewardForceSendByRegister)
            }
            "PLAYER_ACTION_TRAIN_VISITOR_CLEAR_LAST_TRAIN_VISITOR" => {
                Some(Self::PlayerActionTrainVisitorClearLastTrainVisitor)
            }
            "PLAYER_ACTION_TRAIN_VISITOR_REFRESH_TRAIN_VISITOR" => {
                Some(Self::PlayerActionTrainVisitorRefreshTrainVisitor)
            }
            "PLAYER_ACTION_TRAIN_VISITOR_REFRESH_NPC" => {
                Some(Self::PlayerActionTrainVisitorRefreshNpc)
            }
            "PLAYER_ACTION_MESSAGE_GROUP_ACCEPT" => {
                Some(Self::PlayerActionMessageGroupAccept)
            }
            "PLAYER_ACTION_MESSAGE_SECTION_ACCEPT" => {
                Some(Self::PlayerActionMessageSectionAccept)
            }
            "PLAYER_ACTION_MESSAGE_SECTION_FINISH" => {
                Some(Self::PlayerActionMessageSectionFinish)
            }
            "PLAYER_ACTION_MESSAGE_ITEM_FINISH" => {
                Some(Self::PlayerActionMessageItemFinish)
            }
            "PLAYER_ACTION_FINISH_MESSAGE_GROUP_REWARD" => {
                Some(Self::PlayerActionFinishMessageGroupReward)
            }
            "PLAYER_ACTION_SUBSTITUTE_MESSAGE_GROUP_REWARD" => {
                Some(Self::PlayerActionSubstituteMessageGroupReward)
            }
            "PLAYER_ACTION_DELETE_MESSAGE_GROUP" => {
                Some(Self::PlayerActionDeleteMessageGroup)
            }
            "PLAYER_ACTION_DELETE_MESSAGE_SECTION" => {
                Some(Self::PlayerActionDeleteMessageSection)
            }
            "PLAYER_ACTION_DELETE_MESSAGE_GROUP_BY_CONFIG" => {
                Some(Self::PlayerActionDeleteMessageGroupByConfig)
            }
            "PLAYER_ACTION_DELETE_MESSAGE_GROUP_BY_ACTIVITY" => {
                Some(Self::PlayerActionDeleteMessageGroupByActivity)
            }
            "PLAYER_ACTION_DELETE_MESSAGE_GROUP_BY_MISSION" => {
                Some(Self::PlayerActionDeleteMessageGroupByMission)
            }
            "PLAYER_ACTION_TEXT_JOIN_SAVE" => Some(Self::PlayerActionTextJoinSave),
            "PLAYER_ACTION_BOXING_CLUB_START" => Some(Self::PlayerActionBoxingClubStart),
            "PLAYER_ACTION_BOXING_CLUB_FINISH" => {
                Some(Self::PlayerActionBoxingClubFinish)
            }
            "PLAYER_ACTION_BOXING_CLUB_PAUSE" => Some(Self::PlayerActionBoxingClubPause),
            "PLAYER_ACTION_BOXING_CLUB_STAGE_START" => {
                Some(Self::PlayerActionBoxingClubStageStart)
            }
            "PLAYER_ACTION_TALK_SEND" => Some(Self::PlayerActionTalkSend),
            "PLAYER_ACTION_SELECT_INCLINATION_TEXT" => {
                Some(Self::PlayerActionSelectInclinationText)
            }
            "PLAYER_ACTION_MUSEUM_SETTLE_TURN_OPEN" => {
                Some(Self::PlayerActionMuseumSettleTurnOpen)
            }
            "PLAYER_ACTION_MUSEUM_UPGRADE_AREA" => {
                Some(Self::PlayerActionMuseumUpgradeArea)
            }
            "PLAYER_ACTION_MUSEUM_UPGRADE_AREA_STAT" => {
                Some(Self::PlayerActionMuseumUpgradeAreaStat)
            }
            "PLAYER_ACTION_MUSEUM_DISPATCH_REWARD_REGULAR" => {
                Some(Self::PlayerActionMuseumDispatchRewardRegular)
            }
            "PLAYER_ACTION_MUSEUM_DISPATCH_REWARD_DIRECTIONAL" => {
                Some(Self::PlayerActionMuseumDispatchRewardDirectional)
            }
            "PLAYER_ACTION_MUSEUM_PHASE_TARGET_FINISHED" => {
                Some(Self::PlayerActionMuseumPhaseTargetFinished)
            }
            "PLAYER_ACTION_MUSEUM_GET_STUFF" => Some(Self::PlayerActionMuseumGetStuff),
            "PLAYER_ACTION_MUSEUM_GET_EXHIBIT" => {
                Some(Self::PlayerActionMuseumGetExhibit)
            }
            "PLAYER_ACTION_MUSEUM_TAKE_COLLECT_MISSION" => {
                Some(Self::PlayerActionMuseumTakeCollectMission)
            }
            "PLAYER_ACTION_MUSEUM_AREA_UNLOCK" => {
                Some(Self::PlayerActionMuseumAreaUnlock)
            }
            "PLAYER_ACTION_MUSEUM_AREA_UPGRADE" => {
                Some(Self::PlayerActionMuseumAreaUpgrade)
            }
            "PLAYER_ACTION_MUSEUM_AREA_STAT_UPGRADE" => {
                Some(Self::PlayerActionMuseumAreaStatUpgrade)
            }
            "PLAYER_ACTION_MUSEUM_ENTER_NEXT_ROUND" => {
                Some(Self::PlayerActionMuseumEnterNextRound)
            }
            "PLAYER_ACTION_MUSEUM_START_DISPATCH" => {
                Some(Self::PlayerActionMuseumStartDispatch)
            }
            "PLAYER_ACTION_MUSEUM_SETTLE_DISPATCH" => {
                Some(Self::PlayerActionMuseumSettleDispatch)
            }
            "PLAYER_ACTION_MUSEUM_RENEW_POINT_CHANGED" => {
                Some(Self::PlayerActionMuseumRenewPointChanged)
            }
            "PLAYER_ACTION_MUSEUM_TARGET_REWARD" => {
                Some(Self::PlayerActionMuseumTargetReward)
            }
            "PLAYER_ACTION_MUSEUM_PHASE_UPGRADE" => {
                Some(Self::PlayerActionMuseumPhaseUpgrade)
            }
            "PLAYER_ACTION_MUSEUM_COLLECT_REWARD" => {
                Some(Self::PlayerActionMuseumCollectReward)
            }
            "PLAYER_ACTION_MUSEUM_TARGET_START" => {
                Some(Self::PlayerActionMuseumTargetStart)
            }
            "PLAYER_ACTION_MUSEUM_TARGET_FINISH" => {
                Some(Self::PlayerActionMuseumTargetFinish)
            }
            "PLAYER_ACTION_ACTIVITY_MONSTER_RESEARCH_CONSUME_MATERIAL" => {
                Some(Self::PlayerActionActivityMonsterResearchConsumeMaterial)
            }
            "PLAYER_ACTION_ACTIVITY_MONSTER_RESEARCH_TAKE_REWARD" => {
                Some(Self::PlayerActionActivityMonsterResearchTakeReward)
            }
            "PLAYER_ACTION_PLAYER_RETURN_START" => {
                Some(Self::PlayerActionPlayerReturnStart)
            }
            "PLAYER_ACTION_PLAYER_RETURN_SIGN" => {
                Some(Self::PlayerActionPlayerReturnSign)
            }
            "PLAYER_ACTION_PLAYER_RETURN_POINT" => {
                Some(Self::PlayerActionPlayerReturnPoint)
            }
            "PLAYER_ACTION_PLAYER_RETURN_COUNTDOWN" => {
                Some(Self::PlayerActionPlayerReturnCountdown)
            }
            "PLAYER_ACTION_PLAYER_RETURN_FINISH" => {
                Some(Self::PlayerActionPlayerReturnFinish)
            }
            "PLAYER_ACTION_PLAYER_RETURN_COMPENSATE" => {
                Some(Self::PlayerActionPlayerReturnCompensate)
            }
            "PLAYER_ACTION_PLAYER_RETURN_GET_RELIC" => {
                Some(Self::PlayerActionPlayerReturnGetRelic)
            }
            "PLAYER_ACTION_ROGUE_CHALLENGE_ACTIVITY_START" => {
                Some(Self::PlayerActionRogueChallengeActivityStart)
            }
            "PLAYER_ACTION_ROGUE_CHALLENGE_ACTIVITY_FINISH" => {
                Some(Self::PlayerActionRogueChallengeActivityFinish)
            }
            "PLAYER_ACTION_ROGUE_CHALLENGE_ACTIVITY_SAVE" => {
                Some(Self::PlayerActionRogueChallengeActivitySave)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_USE_PASSIVE_SKILL_ITEM" => {
                Some(Self::PlayerActionAetherDivideUsePassiveSkillItem)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_CLEAR_PASSIVE_SKILL" => {
                Some(Self::PlayerActionAetherDivideClearPassiveSkill)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_FINISH_CHALLENGE" => {
                Some(Self::PlayerActionAetherDivideFinishChallenge)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_OVERFLOW_CHUNK_REWARD" => {
                Some(Self::PlayerActionAetherDivideOverflowChunkReward)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_LEVEL_UP" => {
                Some(Self::PlayerActionAetherDivideLevelUp)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_NEW_REWARD" => {
                Some(Self::PlayerActionAetherDivideNewReward)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_MONSTER_ADD" => {
                Some(Self::PlayerActionAetherDivideMonsterAdd)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_MONSTER_LEVEL" => {
                Some(Self::PlayerActionAetherDivideMonsterLevel)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_MONSTER_SKILL_WEAR" => {
                Some(Self::PlayerActionAetherDivideMonsterSkillWear)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_TEAM_CHANGE" => {
                Some(Self::PlayerActionAetherDivideTeamChange)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_STAGE_BEGIN" => {
                Some(Self::PlayerActionAetherDivideStageBegin)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_STAGE_END" => {
                Some(Self::PlayerActionAetherDivideStageEnd)
            }
            "PLAYER_ACTION_AETHER_DIVIDE_STAGE_ROLL" => {
                Some(Self::PlayerActionAetherDivideStageRoll)
            }
            "PLAYER_ACTION_ALLEY_EVENT_FINISH" => {
                Some(Self::PlayerActionAlleyEventFinish)
            }
            "PLAYER_ACTION_ALLEY_TAKE_REWARD" => Some(Self::PlayerActionAlleyTakeReward),
            "PLAYER_ACTION_ALLEY_PRESTIGE_LEVEL_UP" => {
                Some(Self::PlayerActionAlleyPrestigeLevelUp)
            }
            "PLAYER_ACTION_ALLEY_LOGISTICS_FINISH" => {
                Some(Self::PlayerActionAlleyLogisticsFinish)
            }
            "PLAYER_ACTION_ALLEY_PLACING_GAME_FINISH" => {
                Some(Self::PlayerActionAlleyPlacingGameFinish)
            }
            "PLAYER_ACTION_ALLEY_GUARANTEED_FUNDS" => {
                Some(Self::PlayerActionAlleyGuaranteedFunds)
            }
            "PLAYER_ACTION_ALLEY_TAKE_EVENT_REWARD" => {
                Some(Self::PlayerActionAlleyTakeEventReward)
            }
            "PLAYER_ACTION_ALLEY_SPECIAL_ORDER_FINISH" => {
                Some(Self::PlayerActionAlleySpecialOrderFinish)
            }
            "PLAYER_ACTION_SENSITIVE_WORD_SHIELD" => {
                Some(Self::PlayerActionSensitiveWordShield)
            }
            "PLAYER_ACTION_SENSITIVE_WORD_SERVER_INTERNAL_ERROR" => {
                Some(Self::PlayerActionSensitiveWordServerInternalError)
            }
            "PLAYER_ACTION_SENSITIVE_WORD_PLATFORM_ERROR" => {
                Some(Self::PlayerActionSensitiveWordPlatformError)
            }
            "PLAYER_ACTION_TREASURE_DUNGEON_START" => {
                Some(Self::PlayerActionTreasureDungeonStart)
            }
            "PLAYER_ACTION_TREASURE_DUNGEON_FINISH" => {
                Some(Self::PlayerActionTreasureDungeonFinish)
            }
            "PLAYER_ACTION_TREASURE_DUNGEON_ENTER_FLOOR" => {
                Some(Self::PlayerActionTreasureDungeonEnterFloor)
            }
            "PLAYER_ACTION_TREASURE_DUNGEON_LEAVE_FLOOR" => {
                Some(Self::PlayerActionTreasureDungeonLeaveFloor)
            }
            "PLAYER_ACTION_TREASURE_DUNGEON_USE_ITEM" => {
                Some(Self::PlayerActionTreasureDungeonUseItem)
            }
            "PLAYER_ACTION_TREASURE_DUNGEON_AVATAR_CHANGE" => {
                Some(Self::PlayerActionTreasureDungeonAvatarChange)
            }
            "PLAYER_ACTION_TREASURE_DUNGEON_BATTLE_START" => {
                Some(Self::PlayerActionTreasureDungeonBattleStart)
            }
            "PLAYER_ACTION_TREASURE_DUNGEON_BATTLE_END" => {
                Some(Self::PlayerActionTreasureDungeonBattleEnd)
            }
            "PLAYER_ACTION_TREASURE_DUNGEON_PICKUP_BUFF" => {
                Some(Self::PlayerActionTreasureDungeonPickupBuff)
            }
            "PLAYER_ACTION_CHESS_ROGUE_FIRST_FINISH" => {
                Some(Self::PlayerActionChessRogueFirstFinish)
            }
            "PLAYER_ACTION_CHESS_ROGUE_GIVEUP_DICE" => {
                Some(Self::PlayerActionChessRogueGiveupDice)
            }
            "PLAYER_ACTION_CHESS_ROGUE_SUB_STORY_SELECT" => {
                Some(Self::PlayerActionChessRogueSubStorySelect)
            }
            "PLAYER_ACTION_CHESS_ROGUE_ACTION_POINT" => {
                Some(Self::PlayerActionChessRogueActionPoint)
            }
            "PLAYER_ACTION_CHESS_ROGUE_REVIVE_BY_PROP" => {
                Some(Self::PlayerActionChessRogueReviveByProp)
            }
            "PLAYER_ACTION_CHESS_ROGUE_START_LEVEL" => {
                Some(Self::PlayerActionChessRogueStartLevel)
            }
            "PLAYER_ACTION_CHESS_ROGUE_DICE_EFFECT" => {
                Some(Self::PlayerActionChessRogueDiceEffect)
            }
            "PLAYER_ACTION_CHESS_ROGUE_MAIN_STORY_FINISH" => {
                Some(Self::PlayerActionChessRogueMainStoryFinish)
            }
            "PLAYER_ACTION_CHESS_ROGUE_AEON_TALENT_EFFECT" => {
                Some(Self::PlayerActionChessRogueAeonTalentEffect)
            }
            "PLAYER_ACTION_CHESS_ROGUE_MODIFIER_OTHERS_EFFECT" => {
                Some(Self::PlayerActionChessRogueModifierOthersEffect)
            }
            "PLAYER_ACTION_CHESS_ROGUE_ADD_BUFF" => {
                Some(Self::PlayerActionChessRogueAddBuff)
            }
            "PLAYER_ACTION_CHESS_ROGUE_REFORGE_BUFF" => {
                Some(Self::PlayerActionChessRogueReforgeBuff)
            }
            "PLAYER_ACTION_CHESS_ROGUE_BUFF_LEVEL_UP" => {
                Some(Self::PlayerActionChessRogueBuffLevelUp)
            }
            "PLAYER_ACTION_CHESS_ROGUE_ENHANCE_BUFF" => {
                Some(Self::PlayerActionChessRogueEnhanceBuff)
            }
            "PLAYER_ACTION_CHESS_ROGUE_ADD_MIRACLE" => {
                Some(Self::PlayerActionChessRogueAddMiracle)
            }
            "PLAYER_ACTION_CHESS_ROGUE_SWAP_MIRACLE" => {
                Some(Self::PlayerActionChessRogueSwapMiracle)
            }
            "PLAYER_ACTION_CHESS_ROGUE_SELECT_BONUS" => {
                Some(Self::PlayerActionChessRogueSelectBonus)
            }
            "PLAYER_ACTION_CHESS_ROGUE_DIALOGUE_FINISH" => {
                Some(Self::PlayerActionChessRogueDialogueFinish)
            }
            "PLAYER_ACTION_CHESS_ROGUE_SUB_STORY_FINISH" => {
                Some(Self::PlayerActionChessRogueSubStoryFinish)
            }
            "PLAYER_ACTION_CHESS_ROGUE_ADVENTURE_ROOM_FINISH" => {
                Some(Self::PlayerActionChessRogueAdventureRoomFinish)
            }
            "PLAYER_ACTION_CHESS_ROGUE_FINISH_LEVEL" => {
                Some(Self::PlayerActionChessRogueFinishLevel)
            }
            "PLAYER_ACTION_CHESS_ROGUE_START_LAYER" => {
                Some(Self::PlayerActionChessRogueStartLayer)
            }
            "PLAYER_ACTION_CHESS_ROGUE_FINISH_LAYER" => {
                Some(Self::PlayerActionChessRogueFinishLayer)
            }
            "PLAYER_ACTION_CHESS_ROGUE_ENTER_ROOM" => {
                Some(Self::PlayerActionChessRogueEnterRoom)
            }
            "PLAYER_ACTION_CHESS_ROGUE_LEAVE_ROOM" => {
                Some(Self::PlayerActionChessRogueLeaveRoom)
            }
            "PLAYER_ACTION_CHESS_ROGUE_ROLL_DICE" => {
                Some(Self::PlayerActionChessRogueRollDice)
            }
            "PLAYER_ACTION_CHESS_ROGUE_SELECT_DICE" => {
                Some(Self::PlayerActionChessRogueSelectDice)
            }
            "PLAYER_ACTION_CHESS_ROGUE_UNLOCK_DICE" => {
                Some(Self::PlayerActionChessRogueUnlockDice)
            }
            "PLAYER_ACTION_CHESS_ROGUE_BOARD_EVENT" => {
                Some(Self::PlayerActionChessRogueBoardEvent)
            }
            "PLAYER_ACTION_CHESS_ROGUE_DIMENSION_POINT" => {
                Some(Self::PlayerActionChessRogueDimensionPoint)
            }
            "PLAYER_ACTION_CHESS_ROGUE_PICK_AVATAR" => {
                Some(Self::PlayerActionChessRoguePickAvatar)
            }
            "PLAYER_ACTION_CHESS_ROGUE_REVIVE_AVATAR" => {
                Some(Self::PlayerActionChessRogueReviveAvatar)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_SUB_STORY_SELECT" => {
                Some(Self::PlayerActionChessRogueNousSubStorySelect)
            }
            "PLAYER_ACTION_CHESS_ROGUE_LEVEL_MECHANISM" => {
                Some(Self::PlayerActionChessRogueLevelMechanism)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_START_LEVEL" => {
                Some(Self::PlayerActionChessRogueNousStartLevel)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_FINISH_LEVEL" => {
                Some(Self::PlayerActionChessRogueNousFinishLevel)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_START_LAYER" => {
                Some(Self::PlayerActionChessRogueNousStartLayer)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_FINISH_LAYER" => {
                Some(Self::PlayerActionChessRogueNousFinishLayer)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_ENTER_ROOM" => {
                Some(Self::PlayerActionChessRogueNousEnterRoom)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_LEAVE_ROOM" => {
                Some(Self::PlayerActionChessRogueNousLeaveRoom)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_SELECT_DICE" => {
                Some(Self::PlayerActionChessRogueNousSelectDice)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_UNLOCK_DICE_BRANCH" => {
                Some(Self::PlayerActionChessRogueNousUnlockDiceBranch)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_UNLOCK_DICE_SURFACE" => {
                Some(Self::PlayerActionChessRogueNousUnlockDiceSurface)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_EDIT_DICE" => {
                Some(Self::PlayerActionChessRogueNousEditDice)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_VALUE_CHANGE" => {
                Some(Self::PlayerActionChessRogueNousValueChange)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_MAIN_STORY_TRIGGER" => {
                Some(Self::PlayerActionChessRogueNousMainStoryTrigger)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_MAIN_STORY_FINISH" => {
                Some(Self::PlayerActionChessRogueNousMainStoryFinish)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_SUB_STORY_TRIGGER" => {
                Some(Self::PlayerActionChessRogueNousSubStoryTrigger)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_SUB_STORY_FINISH" => {
                Some(Self::PlayerActionChessRogueNousSubStoryFinish)
            }
            "PLAYER_ACTION_CHESS_ROGUE_NOUS_ENABLE_TALENT" => {
                Some(Self::PlayerActionChessRogueNousEnableTalent)
            }
            "PLAYER_ACTION_CHESS_ROGUE_SELECT_BUFF" => {
                Some(Self::PlayerActionChessRogueSelectBuff)
            }
            "PLAYER_ACTION_CHESS_ROGUE_SELECT_MIRACLE" => {
                Some(Self::PlayerActionChessRogueSelectMiracle)
            }
            "PLAYER_ACTION_CHESS_ROGUE_REMOVE_MIRACLE" => {
                Some(Self::PlayerActionChessRogueRemoveMiracle)
            }
            "PLAYER_ACTION_CHESS_ROGUE_BOARD_CELL" => {
                Some(Self::PlayerActionChessRogueBoardCell)
            }
            "PLAYER_ACTION_FANTASTIC_STORY_BATTLE_BEGIN" => {
                Some(Self::PlayerActionFantasticStoryBattleBegin)
            }
            "PLAYER_ACTION_FANTASTIC_STORY_BATTLE_END" => {
                Some(Self::PlayerActionFantasticStoryBattleEnd)
            }
            "PLAYER_ACTION_ROGUE_ENDLESS_REWARD" => {
                Some(Self::PlayerActionRogueEndlessReward)
            }
            "PLAYER_ACTION_ROGUE_ENDLESS_LEVEL_START" => {
                Some(Self::PlayerActionRogueEndlessLevelStart)
            }
            "PLAYER_ACTION_ROGUE_ENDLESS_STAGE_BEGIN" => {
                Some(Self::PlayerActionRogueEndlessStageBegin)
            }
            "PLAYER_ACTION_ROGUE_ENDLESS_STAGE_END" => {
                Some(Self::PlayerActionRogueEndlessStageEnd)
            }
            "PLAYER_ACTION_BATTLE_COLLEGE_REWARD" => {
                Some(Self::PlayerActionBattleCollegeReward)
            }
            "PLAYER_ACTION_COMMON_ROGUE_MIRACLE_FOR_BUFF_SHOP" => {
                Some(Self::PlayerActionCommonRogueMiracleForBuffShop)
            }
            "PLAYER_ACTION_COMMON_ROGUE_ADVENTURE_ROOM_FINISH" => {
                Some(Self::PlayerActionCommonRogueAdventureRoomFinish)
            }
            "PLAYER_ACTION_COMMON_ROGUE_BUY_BUFF_SHOP" => {
                Some(Self::PlayerActionCommonRogueBuyBuffShop)
            }
            "PLAYER_ACTION_COMMON_ROGUE_BUY_BUFF_SHOP_REFRESH" => {
                Some(Self::PlayerActionCommonRogueBuyBuffShopRefresh)
            }
            "PLAYER_ACTION_COMMON_ROGUE_COLLECTION_UNLOCK" => {
                Some(Self::PlayerActionCommonRogueCollectionUnlock)
            }
            "PLAYER_ACTION_COMMON_ROGUE_COLLECTION_SET" => {
                Some(Self::PlayerActionCommonRogueCollectionSet)
            }
            "PLAYER_ACTION_COMMON_ROGUE_EXHIBITION_UNLOCK" => {
                Some(Self::PlayerActionCommonRogueExhibitionUnlock)
            }
            "PLAYER_ACTION_COMMON_ROGUE_EXHIBITION_SET" => {
                Some(Self::PlayerActionCommonRogueExhibitionSet)
            }
            "PLAYER_ACTION_COMMON_ROGUE_CHEST_INTERACT" => {
                Some(Self::PlayerActionCommonRogueChestInteract)
            }
            "PLAYER_ACTION_COMMON_ROGUE_ADVENTURE_ROOM_WOLFGUN_FINISH" => {
                Some(Self::PlayerActionCommonRogueAdventureRoomWolfgunFinish)
            }
            "PLAYER_ACTION_HELIOBUS_POST_INCOME_REWARD" => {
                Some(Self::PlayerActionHeliobusPostIncomeReward)
            }
            "PLAYER_ACTION_HELIOBUS_POST_FANS_REWARD" => {
                Some(Self::PlayerActionHeliobusPostFansReward)
            }
            "PLAYER_ACTION_HELIOBUS_LEVEL_UPGRADE" => {
                Some(Self::PlayerActionHeliobusLevelUpgrade)
            }
            "PLAYER_ACTION_HELIOBUS_POST_REPLY_REWARD" => {
                Some(Self::PlayerActionHeliobusPostReplyReward)
            }
            "PLAYER_ACTION_HELIOBUS_COMMENT_REPLY_REWARD" => {
                Some(Self::PlayerActionHeliobusCommentReplyReward)
            }
            "PLAYER_ACTION_HELIOBUS_CHALLENGE_FIRST_REWARD" => {
                Some(Self::PlayerActionHeliobusChallengeFirstReward)
            }
            "PLAYER_ACTION_HELIOBUS_FANS_ADD" => Some(Self::PlayerActionHeliobusFansAdd),
            "PLAYER_ACTION_HELIOBUS_ACTION_DAY_SETTLE" => {
                Some(Self::PlayerActionHeliobusActionDaySettle)
            }
            "PLAYER_ACTION_HELIOBUS_SKILL_UNLOCK" => {
                Some(Self::PlayerActionHeliobusSkillUnlock)
            }
            "PLAYER_ACTION_HELIOBUS_STAGE_BEGIN" => {
                Some(Self::PlayerActionHeliobusStageBegin)
            }
            "PLAYER_ACTION_HELIOBUS_STAGE_END" => {
                Some(Self::PlayerActionHeliobusStageEnd)
            }
            "PLAYER_ACTION_HELIOBUS_SNS_READ" => Some(Self::PlayerActionHeliobusSnsRead),
            "PLAYER_ACTION_HELIOBUS_SNS_POST_UNLOCK" => {
                Some(Self::PlayerActionHeliobusSnsPostUnlock)
            }
            "PLAYER_ACTION_HELIOBUS_SNS_COMMENT_UNLOCK" => {
                Some(Self::PlayerActionHeliobusSnsCommentUnlock)
            }
            "PLAYER_ACTION_HELIOBUS_SNS_COMMENT" => {
                Some(Self::PlayerActionHeliobusSnsComment)
            }
            "PLAYER_ACTION_HELIOBUS_SNS_POST" => Some(Self::PlayerActionHeliobusSnsPost),
            "PLAYER_ACTION_HELIOBUS_SNS_LIKE" => Some(Self::PlayerActionHeliobusSnsLike),
            "PLAYER_ACTION_HELIOBUS_PHASE_UPGRADE" => {
                Some(Self::PlayerActionHeliobusPhaseUpgrade)
            }
            "PLAYER_ACTION_PS_POINT_CARD_30_REWARD" => {
                Some(Self::PlayerActionPsPointCard30Reward)
            }
            "PLAYER_ACTION_PS_POINT_CARD_50_REWARD" => {
                Some(Self::PlayerActionPsPointCard50Reward)
            }
            "PLAYER_ACTION_PS_POINT_CARD_100_REWARD" => {
                Some(Self::PlayerActionPsPointCard100Reward)
            }
            "PLAYER_ACTION_PSN_PLUS_GIFT_REWARD" => {
                Some(Self::PlayerActionPsnPlusGiftReward)
            }
            "PLAYER_ACTION_APPLE_GIFT_CARD_REWARD" => {
                Some(Self::PlayerActionAppleGiftCardReward)
            }
            "PLAYER_ACTION_HEART_DIAL_SUBMIT_ITEM" => {
                Some(Self::PlayerActionHeartDialSubmitItem)
            }
            "PLAYER_ACTION_HEART_DIAL_DIALOGUE_PERFORM" => {
                Some(Self::PlayerActionHeartDialDialoguePerform)
            }
            "PLAYER_ACTION_HEART_DIAL_TRACE_CONSUME" => {
                Some(Self::PlayerActionHeartDialTraceConsume)
            }
            "PLAYER_ACTION_HEART_DIAL_CHANGE_EMOTION" => {
                Some(Self::PlayerActionHeartDialChangeEmotion)
            }
            "PLAYER_ACTION_TRAVEL_BROCHURE_ADD_DEFAULT_PASTER" => {
                Some(Self::PlayerActionTravelBrochureAddDefaultPaster)
            }
            "PLAYER_ACTION_SPACE_ZOO_BORN" => Some(Self::PlayerActionSpaceZooBorn),
            "PLAYER_ACTION_SPACE_ZOO_MUTATE" => Some(Self::PlayerActionSpaceZooMutate),
            "PLAYER_ACTION_SPACE_ZOO_DELETE" => Some(Self::PlayerActionSpaceZooDelete),
            "PLAYER_ACTION_SPACE_ZOO_EXCHANGE_ITEM" => {
                Some(Self::PlayerActionSpaceZooExchangeItem)
            }
            "PLAYER_ACTION_SPACE_ZOO_EXP_POINT" => {
                Some(Self::PlayerActionSpaceZooExpPoint)
            }
            "PLAYER_ACTION_SPACE_ZOO_TAKE_REWARD" => {
                Some(Self::PlayerActionSpaceZooTakeReward)
            }
            "PLAYER_ACTION_SPACE_ZOO_COLLECTION" => {
                Some(Self::PlayerActionSpaceZooCollection)
            }
            "PLAYER_ACTION_SPACE_ZOO_SHOW" => Some(Self::PlayerActionSpaceZooShow),
            "PLAYER_ACTION_SPACE_ZOO_SPECIAL_DATA" => {
                Some(Self::PlayerActionSpaceZooSpecialData)
            }
            "PLAYER_ACTION_STRONG_CHALLENGE_BATTLE_BEGIN" => {
                Some(Self::PlayerActionStrongChallengeBattleBegin)
            }
            "PLAYER_ACTION_STRONG_CHALLENGE_BATTLE_END" => {
                Some(Self::PlayerActionStrongChallengeBattleEnd)
            }
            "PLAYER_ACTION_ROLL_SHOP_DO_GACHA" => Some(Self::PlayerActionRollShopDoGacha),
            "PLAYER_ACTION_ROLL_SHOP_TAKE_REWARD" => {
                Some(Self::PlayerActionRollShopTakeReward)
            }
            "PLAYER_ACTION_OFFERING_SUBMIT_ITEM" => {
                Some(Self::PlayerActionOfferingSubmitItem)
            }
            "PLAYER_ACTION_OFFERING_TAKE_REWARD" => {
                Some(Self::PlayerActionOfferingTakeReward)
            }
            "PLAYER_ACTION_TRAVEL_BROCHURE_PAGE_UNLOCK" => {
                Some(Self::PlayerActionTravelBrochurePageUnlock)
            }
            "PLAYER_ACTION_TRAVEL_BROCHURE_PAGE_INTERACT_AWARD" => {
                Some(Self::PlayerActionTravelBrochurePageInteractAward)
            }
            "PLAYER_ACTION_TRAVEL_BROCHURE_STICKER_UNLOCK" => {
                Some(Self::PlayerActionTravelBrochureStickerUnlock)
            }
            "PLAYER_ACTION_TRAVEL_BROCHURE_STICKER_APPLY" => {
                Some(Self::PlayerActionTravelBrochureStickerApply)
            }
            "PLAYER_ACTION_TRAVEL_BROCHURE_STICKER_REMOVE" => {
                Some(Self::PlayerActionTravelBrochureStickerRemove)
            }
            "PLAYER_ACTION_TRAVEL_BROCHURE_PAGE_RESET" => {
                Some(Self::PlayerActionTravelBrochurePageReset)
            }
            "PLAYER_ACTION_TRACK_MAIN_MISSION_ID" => {
                Some(Self::PlayerActionTrackMainMissionId)
            }
            "PLAYER_ACTION_WOLF_BRO_BEGIN" => Some(Self::PlayerActionWolfBroBegin),
            "PLAYER_ACTION_WOLF_BRO_GROUP_STATE_CHANGE" => {
                Some(Self::PlayerActionWolfBroGroupStateChange)
            }
            "PLAYER_ACTION_WOLF_BRO_END" => Some(Self::PlayerActionWolfBroEnd),
            "PLAYER_ACTION_WOLF_BRO_BULLET_ZERO" => {
                Some(Self::PlayerActionWolfBroBulletZero)
            }
            "PLAYER_ACTION_WOLF_BRO_ACTIVATE_BULLET" => {
                Some(Self::PlayerActionWolfBroActivateBullet)
            }
            "PLAYER_ACTION_WOLF_BRO_BULLET_NUM_CHANGE" => {
                Some(Self::PlayerActionWolfBroBulletNumChange)
            }
            "PLAYER_ACTION_WOLF_BRO_USE_BULLET_NULL" => {
                Some(Self::PlayerActionWolfBroUseBulletNull)
            }
            "PLAYER_ACTION_WOLF_BRO_USE_BULLET_HIT_MONSTER" => {
                Some(Self::PlayerActionWolfBroUseBulletHitMonster)
            }
            "PLAYER_ACTION_WOLF_BRO_PICK_UP_BULLET" => {
                Some(Self::PlayerActionWolfBroPickUpBullet)
            }
            "PLAYER_ACTION_WOLF_BRO_RESTORE_ARCHIVE" => {
                Some(Self::PlayerActionWolfBroRestoreArchive)
            }
            "PLAYER_ACTION_TELEVISION_ACTIVITY_BATTLE_BEGIN" => {
                Some(Self::PlayerActionTelevisionActivityBattleBegin)
            }
            "PLAYER_ACTION_TELEVISION_ACTIVITY_BATTLE_END" => {
                Some(Self::PlayerActionTelevisionActivityBattleEnd)
            }
            "PLAYER_ACTION_FEVER_TIME_ACTIVITY_BATTLE_BEGIN" => {
                Some(Self::PlayerActionFeverTimeActivityBattleBegin)
            }
            "PLAYER_ACTION_FEVER_TIME_ACTIVITY_BATTLE_END" => {
                Some(Self::PlayerActionFeverTimeActivityBattleEnd)
            }
            "PLAYER_ACTION_GUN_PLAY_END" => Some(Self::PlayerActionGunPlayEnd),
            "PLAYER_ACTION_ACTIVITY_STAR_FIGHT_BEGIN" => {
                Some(Self::PlayerActionActivityStarFightBegin)
            }
            "PLAYER_ACTION_ACTIVITY_STAR_FIGHT_END" => {
                Some(Self::PlayerActionActivityStarFightEnd)
            }
            "PLAYER_ACTION_MAP_ROTATION_ENTER_REGION" => {
                Some(Self::PlayerActionMapRotationEnterRegion)
            }
            "PLAYER_ACTION_MAP_ROTATION_LEAVE_REGION" => {
                Some(Self::PlayerActionMapRotationLeaveRegion)
            }
            "PLAYER_ACTION_MAP_ROTATION_INTERACT_CHARGER" => {
                Some(Self::PlayerActionMapRotationInteractCharger)
            }
            "PLAYER_ACTION_MAP_ROTATION_DEPLOY_ROTATER" => {
                Some(Self::PlayerActionMapRotationDeployRotater)
            }
            "PLAYER_ACTION_MAP_ROTATION_ROTATE_MAP" => {
                Some(Self::PlayerActionMapRotationRotateMap)
            }
            "PLAYER_ACTION_MAP_ROTATION_ADD_ENERGY" => {
                Some(Self::PlayerActionMapRotationAddEnergy)
            }
            "PLAYER_ACTION_MAP_ROTATION_SET_MAX_ENERGY" => {
                Some(Self::PlayerActionMapRotationSetMaxEnergy)
            }
            "PLAYER_ACTION_MAP_ROTATION_REMOVE_ROTATER" => {
                Some(Self::PlayerActionMapRotationRemoveRotater)
            }
            "PLAYER_ACTION_MAP_ROTATION_AUTO_DEPLOY_ROTATER" => {
                Some(Self::PlayerActionMapRotationAutoDeployRotater)
            }
            "PLAYER_ACTION_MAP_ROTATION_AUTO_REMOVE_ROTATER" => {
                Some(Self::PlayerActionMapRotationAutoRemoveRotater)
            }
            "PLAYER_ACTION_DRINK_MAKER_ADD_TIPS" => {
                Some(Self::PlayerActionDrinkMakerAddTips)
            }
            "PLAYER_ACTION_DRINK_MAKER_FINISH_CHALLENGE" => {
                Some(Self::PlayerActionDrinkMakerFinishChallenge)
            }
            "PLAYER_ACTION_DRINK_MAKER_GUEST_MAX_FAITH_REWARD" => {
                Some(Self::PlayerActionDrinkMakerGuestMaxFaithReward)
            }
            "PLAYER_ACTION_DRINK_MAKER_MAKE_DRINK" => {
                Some(Self::PlayerActionDrinkMakerMakeDrink)
            }
            "PLAYER_ACTION_DRINK_MAKER_SAVE_CUSTOM_DRINK" => {
                Some(Self::PlayerActionDrinkMakerSaveCustomDrink)
            }
            "PLAYER_ACTION_DRINK_MAKER_END_SEQUENCE" => {
                Some(Self::PlayerActionDrinkMakerEndSequence)
            }
            "PLAYER_ACTION_CHANGE_STORY_LINE" => Some(Self::PlayerActionChangeStoryLine),
            "PLAYER_ACTION_CONTENT_PACKAGE_STATUS_CHANGE" => {
                Some(Self::PlayerActionContentPackageStatusChange)
            }
            "PLAYER_ACTION_CONTENT_PACKAGE_TRACK_CHANGE" => {
                Some(Self::PlayerActionContentPackageTrackChange)
            }
            "PLAYER_ACTION_CONTENT_PACKAGE_ACCEPT_MAIN_MISSION" => {
                Some(Self::PlayerActionContentPackageAcceptMainMission)
            }
            "PLAYER_ACTION_WORLD_DIRECT_UNLOCK" => {
                Some(Self::PlayerActionWorldDirectUnlock)
            }
            "PLAYER_ACTION_MONOPOLY_TURN_FINISH" => {
                Some(Self::PlayerActionMonopolyTurnFinish)
            }
            "PLAYER_ACTION_MONOPOLY_ASSET_TURNTAX" => {
                Some(Self::PlayerActionMonopolyAssetTurntax)
            }
            "PLAYER_ACTION_MONOPOLY_ASSET_BONUS" => {
                Some(Self::PlayerActionMonopolyAssetBonus)
            }
            "PLAYER_ACTION_MONOPOLY_EVENT_EFFECT" => {
                Some(Self::PlayerActionMonopolyEventEffect)
            }
            "PLAYER_ACTION_MONOPOLY_MINI_GAME_SETTLE" => {
                Some(Self::PlayerActionMonopolyMiniGameSettle)
            }
            "PLAYER_ACTION_MONOPOLY_GAME_RAISE_RATIO" => {
                Some(Self::PlayerActionMonopolyGameRaiseRatio)
            }
            "PLAYER_ACTION_MONOPOLY_MOVE_ROLL_DICE" => {
                Some(Self::PlayerActionMonopolyMoveRollDice)
            }
            "PLAYER_ACTION_MONOPOLY_MOVE" => Some(Self::PlayerActionMonopolyMove),
            "PLAYER_ACTION_MONOPOLY_BUY_GOODS" => {
                Some(Self::PlayerActionMonopolyBuyGoods)
            }
            "PLAYER_ACTION_MONOPOLY_UPGRADE_ASSET" => {
                Some(Self::PlayerActionMonopolyUpgradeAsset)
            }
            "PLAYER_ACTION_MONOPOLY_EVENT_REROLL_RANDOM" => {
                Some(Self::PlayerActionMonopolyEventRerollRandom)
            }
            "PLAYER_ACTION_MONOPOLY_DAILY_REFRESH" => {
                Some(Self::PlayerActionMonopolyDailyRefresh)
            }
            "PLAYER_ACTION_MONOPOLY_GAME_GUESS_BUY_INFORMATION" => {
                Some(Self::PlayerActionMonopolyGameGuessBuyInformation)
            }
            "PLAYER_ACTION_MONOPOLY_DAILY_FIRST_ENTER_ACTIVITY" => {
                Some(Self::PlayerActionMonopolyDailyFirstEnterActivity)
            }
            "PLAYER_ACTION_MONOPOLY_SOCIAL_EVENT" => {
                Some(Self::PlayerActionMonopolySocialEvent)
            }
            "PLAYER_ACTION_MONOPOLY_RAFFLE_TICKET_REWARD" => {
                Some(Self::PlayerActionMonopolyRaffleTicketReward)
            }
            "PLAYER_ACTION_MONOPOLY_LIKE" => Some(Self::PlayerActionMonopolyLike),
            "PLAYER_ACTION_MONOPOLY_PHASE_REWARD" => {
                Some(Self::PlayerActionMonopolyPhaseReward)
            }
            "PLAYER_ACTION_MONOPOLY_MBTI_REPORT_REWARD" => {
                Some(Self::PlayerActionMonopolyMbtiReportReward)
            }
            "PLAYER_ACTION_MONOPOLY_DAILY_SETTLE" => {
                Some(Self::PlayerActionMonopolyDailySettle)
            }
            "PLAYER_ACTION_MONOPOLY_START" => Some(Self::PlayerActionMonopolyStart),
            "PLAYER_ACTION_MONOPOLY_GET_BUFF" => Some(Self::PlayerActionMonopolyGetBuff),
            "PLAYER_ACTION_MONOPOLY_ASSET_FUNDS_CHANGE" => {
                Some(Self::PlayerActionMonopolyAssetFundsChange)
            }
            "PLAYER_ACTION_MONOPOLY_ASSET_UPGRADE" => {
                Some(Self::PlayerActionMonopolyAssetUpgrade)
            }
            "PLAYER_ACTION_MONOPOLY_DIRECT_COIN_GAME_SETTLE" => {
                Some(Self::PlayerActionMonopolyDirectCoinGameSettle)
            }
            "PLAYER_ACTION_MONOPOLY_EXTRACT_RAFFLE_TICKET" => {
                Some(Self::PlayerActionMonopolyExtractRaffleTicket)
            }
            "PLAYER_ACTION_MONOPOLY_MBTI_PROGRESS_CHANGE" => {
                Some(Self::PlayerActionMonopolyMbtiProgressChange)
            }
            "PLAYER_ACTION_MONOPOLY_QUIZ_GAME_SETTLE" => {
                Some(Self::PlayerActionMonopolyQuizGameSettle)
            }
            "PLAYER_ACTION_MONOPOLY_EVENT_SETTLE" => {
                Some(Self::PlayerActionMonopolyEventSettle)
            }
            "PLAYER_ACTION_MONOPOLY_ITEM_CHANGE" => {
                Some(Self::PlayerActionMonopolyItemChange)
            }
            "PLAYER_ACTION_MONOPOLY_CELL_TRIGGER" => {
                Some(Self::PlayerActionMonopolyCellTrigger)
            }
            "PLAYER_ACTION_MONOPOLY_EVENT_TRIGGER" => {
                Some(Self::PlayerActionMonopolyEventTrigger)
            }
            "PLAYER_ACTION_MONOPOLY_CLICK_EFFECT" => {
                Some(Self::PlayerActionMonopolyClickEffect)
            }
            "PLAYER_ACTION_EVOLVE_BUILD_LEVEL_FINISH" => {
                Some(Self::PlayerActionEvolveBuildLevelFinish)
            }
            "PLAYER_ACTION_EVOLVE_BUILD_SHOP_ABILITY_UP" => {
                Some(Self::PlayerActionEvolveBuildShopAbilityUp)
            }
            "PLAYER_ACTION_EVOLVE_BUILD_SHOP_ABILITY_DOWN" => {
                Some(Self::PlayerActionEvolveBuildShopAbilityDown)
            }
            "PLAYER_ACTION_EVOLVE_BUILD_TAKE_EXP_REWARD" => {
                Some(Self::PlayerActionEvolveBuildTakeExpReward)
            }
            "PLAYER_ACTION_EVOLVE_BUILD_BATTLE_END_ADD_COIN" => {
                Some(Self::PlayerActionEvolveBuildBattleEndAddCoin)
            }
            "PLAYER_ACTION_EVOLVE_BUILD_SHOP_ABILITY_RESET" => {
                Some(Self::PlayerActionEvolveBuildShopAbilityReset)
            }
            "PLAYER_ACTION_EVOLVE_BUILD_LEVEL_START" => {
                Some(Self::PlayerActionEvolveBuildLevelStart)
            }
            "PLAYER_ACTION_EVOLVE_BUILD_LEVEL_END" => {
                Some(Self::PlayerActionEvolveBuildLevelEnd)
            }
            "PLAYER_ACTION_EVOLVE_BUILD_STAGE_START" => {
                Some(Self::PlayerActionEvolveBuildStageStart)
            }
            "PLAYER_ACTION_EVOLVE_BUILD_STAGE_END" => {
                Some(Self::PlayerActionEvolveBuildStageEnd)
            }
            "PLAYER_ACTION_EVOLVE_BUILD_LEVEL_LEAVE" => {
                Some(Self::PlayerActionEvolveBuildLevelLeave)
            }
            "PLAYER_ACTION_CLOCK_PARK_UNLOCK_SCRIPT" => {
                Some(Self::PlayerActionClockParkUnlockScript)
            }
            "PLAYER_ACTION_CLOCK_PARK_UNLOCK_TALENT" => {
                Some(Self::PlayerActionClockParkUnlockTalent)
            }
            "PLAYER_ACTION_CLOCK_PARK_FINISH_SCRIPT" => {
                Some(Self::PlayerActionClockParkFinishScript)
            }
            "PLAYER_ACTION_CLOCK_PARK_ROUND_UPDATE" => {
                Some(Self::PlayerActionClockParkRoundUpdate)
            }
            "PLAYER_ACTION_CLOCK_PARK_SCRIPT_BEGIN" => {
                Some(Self::PlayerActionClockParkScriptBegin)
            }
            "PLAYER_ACTION_ROGUE_TOURN_START_LEVEL" => {
                Some(Self::PlayerActionRogueTournStartLevel)
            }
            "PLAYER_ACTION_ROGUE_TOURN_FINISH_LEVEL" => {
                Some(Self::PlayerActionRogueTournFinishLevel)
            }
            "PLAYER_ACTION_ROGUE_TOURN_EXP_REWARD" => {
                Some(Self::PlayerActionRogueTournExpReward)
            }
            "PLAYER_ACTION_ROGUE_TOURN_FINISH_WEEK_CHALLENGE" => {
                Some(Self::PlayerActionRogueTournFinishWeekChallenge)
            }
            "PLAYER_ACTION_ROGUE_TOURN_PERMANENT_TALENT_EFFECT" => {
                Some(Self::PlayerActionRogueTournPermanentTalentEffect)
            }
            "PLAYER_ACTION_ROGUE_TOURN_FINISH_FORMULA_STORY" => {
                Some(Self::PlayerActionRogueTournFinishFormulaStory)
            }
            "PLAYER_ACTION_ROGUE_TOURN_REVIVE" => {
                Some(Self::PlayerActionRogueTournRevive)
            }
            "PLAYER_ACTION_ROGUE_TOURN_STAGE_BEGIN" => {
                Some(Self::PlayerActionRogueTournStageBegin)
            }
            "PLAYER_ACTION_ROGUE_TOURN_STAGE_END" => {
                Some(Self::PlayerActionRogueTournStageEnd)
            }
            "PLAYER_ACTION_ROGUE_TOURN_PERMANENT_ENABLE_TALENT" => {
                Some(Self::PlayerActionRogueTournPermanentEnableTalent)
            }
            "PLAYER_ACTION_ROGUE_TOURN_PERMANENT_RESET_TALENT" => {
                Some(Self::PlayerActionRogueTournPermanentResetTalent)
            }
            "PLAYER_ACTION_ROGUE_TOURN_COCOON_STAGE_BEGIN" => {
                Some(Self::PlayerActionRogueTournCocoonStageBegin)
            }
            "PLAYER_ACTION_ROGUE_TOURN_COCOON_STAGE_END" => {
                Some(Self::PlayerActionRogueTournCocoonStageEnd)
            }
            "PLAYER_ACTION_ROGUE_TOURN_EXP_UPDATE" => {
                Some(Self::PlayerActionRogueTournExpUpdate)
            }
            "PLAYER_ACTION_ROGUE_TOURN_ENTER_ROOM" => {
                Some(Self::PlayerActionRogueTournEnterRoom)
            }
            "PLAYER_ACTION_ROGUE_TOURN_LEAVE_ROOM" => {
                Some(Self::PlayerActionRogueTournLeaveRoom)
            }
            "PLAYER_ACTION_ROGUE_TOURN_ARCHIVE_SAVE" => {
                Some(Self::PlayerActionRogueTournArchiveSave)
            }
            "PLAYER_ACTION_ROGUE_TOURN_SELECT_BONUS" => {
                Some(Self::PlayerActionRogueTournSelectBonus)
            }
            "PLAYER_ACTION_ROGUE_TOURN_DIALOGUE_FINISH" => {
                Some(Self::PlayerActionRogueTournDialogueFinish)
            }
            "PLAYER_ACTION_ROGUE_TOURN_DO_GAMBLE" => {
                Some(Self::PlayerActionRogueTournDoGamble)
            }
            "PLAYER_ACTION_ROGUE_TOURN_ROOM_CONTENT_GENERATE" => {
                Some(Self::PlayerActionRogueTournRoomContentGenerate)
            }
            "PLAYER_ACTION_ROGUE_TOURN_ADD_MIRACLE" => {
                Some(Self::PlayerActionRogueTournAddMiracle)
            }
            "PLAYER_ACTION_ROGUE_TOURN_REMOVE_MIRACLE" => {
                Some(Self::PlayerActionRogueTournRemoveMiracle)
            }
            "PLAYER_ACTION_ROGUE_TOURN_SELECT_MIRACLE" => {
                Some(Self::PlayerActionRogueTournSelectMiracle)
            }
            "PLAYER_ACTION_ROGUE_TOURN_DROP_MIRACLE" => {
                Some(Self::PlayerActionRogueTournDropMiracle)
            }
            "PLAYER_ACTION_ROGUE_TOURN_ADD_BUFF" => {
                Some(Self::PlayerActionRogueTournAddBuff)
            }
            "PLAYER_ACTION_ROGUE_TOURN_SELECT_BUFF" => {
                Some(Self::PlayerActionRogueTournSelectBuff)
            }
            "PLAYER_ACTION_ROGUE_TOURN_BUFF_LEVEL_UP" => {
                Some(Self::PlayerActionRogueTournBuffLevelUp)
            }
            "PLAYER_ACTION_ROGUE_TOURN_REMOVE_BUFF" => {
                Some(Self::PlayerActionRogueTournRemoveBuff)
            }
            "PLAYER_ACTION_ROGUE_TOURN_ADD_FORMULA" => {
                Some(Self::PlayerActionRogueTournAddFormula)
            }
            "PLAYER_ACTION_ROGUE_TOURN_REMOVE_FORMULA" => {
                Some(Self::PlayerActionRogueTournRemoveFormula)
            }
            "PLAYER_ACTION_ROGUE_TOURN_SELECT_FORMULA" => {
                Some(Self::PlayerActionRogueTournSelectFormula)
            }
            "PLAYER_ACTION_ROGUE_TOURN_ACTIVATE_FORMULA" => {
                Some(Self::PlayerActionRogueTournActivateFormula)
            }
            "PLAYER_ACTION_ROGUE_TOURN_ADVENTURE_ROOM_FINISH" => {
                Some(Self::PlayerActionRogueTournAdventureRoomFinish)
            }
            "PLAYER_ACTION_ROGUE_TOURN_ALTER_LINEUP" => {
                Some(Self::PlayerActionRogueTournAlterLineup)
            }
            "PLAYER_ACTION_ROGUE_TOURN_SEASON_ENABLE_TALENT" => {
                Some(Self::PlayerActionRogueTournSeasonEnableTalent)
            }
            "PLAYER_ACTION_ROGUE_TOURN_TITAN_START_LEVEL" => {
                Some(Self::PlayerActionRogueTournTitanStartLevel)
            }
            "PLAYER_ACTION_ROGUE_TOURN_TITAN_FINISH_LEVEL" => {
                Some(Self::PlayerActionRogueTournTitanFinishLevel)
            }
            "PLAYER_ACTION_ROGUE_TOURN_TITAN_ENTER_ROOM" => {
                Some(Self::PlayerActionRogueTournTitanEnterRoom)
            }
            "PLAYER_ACTION_ROGUE_TOURN_TITAN_LEAVE_ROOM" => {
                Some(Self::PlayerActionRogueTournTitanLeaveRoom)
            }
            "PLAYER_ACTION_ROGUE_TOURN_TITAN_STAGE_BEGIN" => {
                Some(Self::PlayerActionRogueTournTitanStageBegin)
            }
            "PLAYER_ACTION_ROGUE_TOURN_TITAN_STAGE_END" => {
                Some(Self::PlayerActionRogueTournTitanStageEnd)
            }
            "PLAYER_ACTION_ROGUE_TOURN_TITAN_ARCHIVE_SAVE" => {
                Some(Self::PlayerActionRogueTournTitanArchiveSave)
            }
            "PLAYER_ACTION_ROGUE_TOURN_TITAN_ADD_TITAN_BLESS" => {
                Some(Self::PlayerActionRogueTournTitanAddTitanBless)
            }
            "PLAYER_ACTION_ROGUE_TOURN_TITAN_SELECT_TITAN_BLESS" => {
                Some(Self::PlayerActionRogueTournTitanSelectTitanBless)
            }
            "PLAYER_ACTION_ROGUE_TOURN_DIVISION_CHANGE" => {
                Some(Self::PlayerActionRogueTournDivisionChange)
            }
            "PLAYER_ACTION_ROGUE_TOURN_SELECT_RE_ROLL_MIRACLE" => {
                Some(Self::PlayerActionRogueTournSelectReRollMiracle)
            }
            "PLAYER_ACTION_ROGUE_WORKBENCH_REFORGE_FORMULA" => {
                Some(Self::PlayerActionRogueWorkbenchReforgeFormula)
            }
            "PLAYER_ACTION_ROGUE_WORKBENCH_REFORGE_MIRACLE" => {
                Some(Self::PlayerActionRogueWorkbenchReforgeMiracle)
            }
            "PLAYER_ACTION_ROGUE_WORKBENCH_COMPOSE_MIRACLE" => {
                Some(Self::PlayerActionRogueWorkbenchComposeMiracle)
            }
            "PLAYER_ACTION_ROGUE_WORKBENCH_REFORGE_BUFF" => {
                Some(Self::PlayerActionRogueWorkbenchReforgeBuff)
            }
            "PLAYER_ACTION_ROGUE_WORKBENCH_ENHANCE_BUFF" => {
                Some(Self::PlayerActionRogueWorkbenchEnhanceBuff)
            }
            "PLAYER_ACTION_MATCH_THREE_PVE_SETTLE" => {
                Some(Self::PlayerActionMatchThreePveSettle)
            }
            "PLAYER_ACTION_MATCH_THREE_SETTLE" => {
                Some(Self::PlayerActionMatchThreeSettle)
            }
            "PLAYER_ACTION_FIGHT_MATCH3_GAME_START" => {
                Some(Self::PlayerActionFightMatch3GameStart)
            }
            "PLAYER_ACTION_FIGHT_MATCH3_GAME_END" => {
                Some(Self::PlayerActionFightMatch3GameEnd)
            }
            "PLAYER_ACTION_FIGHT_MATCH3_TURN_END" => {
                Some(Self::PlayerActionFightMatch3TurnEnd)
            }
            "PLAYER_ACTION_MATCH_THREE_BIRD_POS" => {
                Some(Self::PlayerActionMatchThreeBirdPos)
            }
            "PLAYER_ACTION_MULTIPLE_PLAY_INVITE" => {
                Some(Self::PlayerActionMultiplePlayInvite)
            }
            "PLAYER_ACTION_MULTIPLE_PLAY_INVITE_RESPOND" => {
                Some(Self::PlayerActionMultiplePlayInviteRespond)
            }
            "PLAYER_ACTION_MULTIPLE_PLAY_LOBBY_ENTER" => {
                Some(Self::PlayerActionMultiplePlayLobbyEnter)
            }
            "PLAYER_ACTION_MULTIPLE_PLAY_LOBBY_QUIT" => {
                Some(Self::PlayerActionMultiplePlayLobbyQuit)
            }
            "PLAYER_ACTION_MULTIPLE_PLAY_LOBBY_KICK" => {
                Some(Self::PlayerActionMultiplePlayLobbyKick)
            }
            "PLAYER_ACTION_MULTIPLE_PLAY_LOBBY_MATCH" => {
                Some(Self::PlayerActionMultiplePlayLobbyMatch)
            }
            "PLAYER_ACTION_MARBLE_SETTLE" => Some(Self::PlayerActionMarbleSettle),
            "PLAYER_ACTION_SWORD_TRAINING_LEARN_SKILL" => {
                Some(Self::PlayerActionSwordTrainingLearnSkill)
            }
            "PLAYER_ACTION_SWORD_TRAINING_NORMAL_ACTION" => {
                Some(Self::PlayerActionSwordTrainingNormalAction)
            }
            "PLAYER_ACTION_SWORD_TRAINING_STORY_EFFECT" => {
                Some(Self::PlayerActionSwordTrainingStoryEffect)
            }
            "PLAYER_ACTION_SWORD_TRAINING_ENDING_HINT" => {
                Some(Self::PlayerActionSwordTrainingEndingHint)
            }
            "PLAYER_ACTION_SWORD_TRAINING_ACTION_HINT" => {
                Some(Self::PlayerActionSwordTrainingActionHint)
            }
            "PLAYER_ACTION_SWORD_TRAINING_RESTORE_GAME_BY_EXAM" => {
                Some(Self::PlayerActionSwordTrainingRestoreGameByExam)
            }
            "PLAYER_ACTION_SWORD_TRAINING_STORY_LINE_FIRST_CLEAR" => {
                Some(Self::PlayerActionSwordTrainingStoryLineFirstClear)
            }
            "PLAYER_ACTION_SWORD_TRAINING_TAKE_ENDING_REWARD" => {
                Some(Self::PlayerActionSwordTrainingTakeEndingReward)
            }
            "PLAYER_ACTION_SWORD_TRAINING_STORY_LINE_BEGIN" => {
                Some(Self::PlayerActionSwordTrainingStoryLineBegin)
            }
            "PLAYER_ACTION_SWORD_TRAINING_ENTER_TURN" => {
                Some(Self::PlayerActionSwordTrainingEnterTurn)
            }
            "PLAYER_ACTION_SWORD_TRAINING_PLAN_ACTION" => {
                Some(Self::PlayerActionSwordTrainingPlanAction)
            }
            "PLAYER_ACTION_SWORD_TRAINING_ACTION_PHASE_END" => {
                Some(Self::PlayerActionSwordTrainingActionPhaseEnd)
            }
            "PLAYER_ACTION_SWORD_TRAINING_STORY" => {
                Some(Self::PlayerActionSwordTrainingStory)
            }
            "PLAYER_ACTION_SWORD_TRAINING_STATUS_CHANGE" => {
                Some(Self::PlayerActionSwordTrainingStatusChange)
            }
            "PLAYER_ACTION_SWORD_TRAINING_MOOD_CHANGE" => {
                Some(Self::PlayerActionSwordTrainingMoodChange)
            }
            "PLAYER_ACTION_SWORD_TRAINING_BATTLE_BEGIN" => {
                Some(Self::PlayerActionSwordTrainingBattleBegin)
            }
            "PLAYER_ACTION_SWORD_TRAINING_BATTLE_END" => {
                Some(Self::PlayerActionSwordTrainingBattleEnd)
            }
            "PLAYER_ACTION_SWORD_TRAINING_COMBAT_RANK_CHANGE" => {
                Some(Self::PlayerActionSwordTrainingCombatRankChange)
            }
            "PLAYER_ACTION_SWORD_TRAINING_STORY_LINE_END" => {
                Some(Self::PlayerActionSwordTrainingStoryLineEnd)
            }
            "PLAYER_ACTION_SWORD_TRAINING_RESUME_STORY_LINE" => {
                Some(Self::PlayerActionSwordTrainingResumeStoryLine)
            }
            "PLAYER_ACTION_SWORD_TRAINING_GAME_SUCCESS" => {
                Some(Self::PlayerActionSwordTrainingGameSuccess)
            }
            "PLAYER_ACTION_SWORD_TRAINING_GAME_GIVE_UP" => {
                Some(Self::PlayerActionSwordTrainingGameGiveUp)
            }
            "PLAYER_ACTION_SWORD_TRAINING_EXAM" => {
                Some(Self::PlayerActionSwordTrainingExam)
            }
            "PLAYER_ACTION_SWORD_TRAINING_DIALOGUE" => {
                Some(Self::PlayerActionSwordTrainingDialogue)
            }
            "PLAYER_ACTION_SWORD_TRAINING_SET_SKILL_TRACE" => {
                Some(Self::PlayerActionSwordTrainingSetSkillTrace)
            }
            "PLAYER_ACTION_FIGHT_FEST_FINISH_SCORE_RACE_MISSION" => {
                Some(Self::PlayerActionFightFestFinishScoreRaceMission)
            }
            "PLAYER_ACTION_FIGHT_FEST_FINISH_SCORE_RACE_PHASE" => {
                Some(Self::PlayerActionFightFestFinishScoreRacePhase)
            }
            "PLAYER_ACTION_FIGHT_FEST_RACE_START" => {
                Some(Self::PlayerActionFightFestRaceStart)
            }
            "PLAYER_ACTION_FIGHT_FEST_RACE_END" => {
                Some(Self::PlayerActionFightFestRaceEnd)
            }
            "PLAYER_ACTION_FIGHT_FEST_CHALLENGE_START" => {
                Some(Self::PlayerActionFightFestChallengeStart)
            }
            "PLAYER_ACTION_FIGHT_FEST_CHALLENGE_END" => {
                Some(Self::PlayerActionFightFestChallengeEnd)
            }
            "PLAYER_ACTION_FIGHT_FEST_GET_COACH_ITEM" => {
                Some(Self::PlayerActionFightFestGetCoachItem)
            }
            "PLAYER_ACTION_FIGHT_FEST_ACCEPT_SCORE_RACE_MISSION" => {
                Some(Self::PlayerActionFightFestAcceptScoreRaceMission)
            }
            "PLAYER_ACTION_PET_USE" => Some(Self::PlayerActionPetUse),
            "PLAYER_ACTION_MUSIC_RHYTHM_PASS_LEVEL_STAR" => {
                Some(Self::PlayerActionMusicRhythmPassLevelStar)
            }
            "PLAYER_ACTION_MUSIC_RHYTHM_LEVEL_BEGIN" => {
                Some(Self::PlayerActionMusicRhythmLevelBegin)
            }
            "PLAYER_ACTION_MUSIC_RHYTHM_LEVEL_END" => {
                Some(Self::PlayerActionMusicRhythmLevelEnd)
            }
            "PLAYER_ACTION_TRACK_PHOTO_STAGE_BEGIN" => {
                Some(Self::PlayerActionTrackPhotoStageBegin)
            }
            "PLAYER_ACTION_TRACK_PHOTO_STAGE_END" => {
                Some(Self::PlayerActionTrackPhotoStageEnd)
            }
            "PLAYER_ACTION_SUMMON_ACTIVITY_BATTLE_BEGIN" => {
                Some(Self::PlayerActionSummonActivityBattleBegin)
            }
            "PLAYER_ACTION_SUMMON_ACTIVITY_BATTLE_END" => {
                Some(Self::PlayerActionSummonActivityBattleEnd)
            }
            "PLAYER_ACTION_RAID_COLLECTION_ENTER_NEXT_RAID" => {
                Some(Self::PlayerActionRaidCollectionEnterNextRaid)
            }
            "PLAYER_ACTION_DIFFICULTY_ADJUSTMENT_SET" => {
                Some(Self::PlayerActionDifficultyAdjustmentSet)
            }
            "PLAYER_ACTION_DIFFICULTY_ADJUSTMENT_UNSET" => {
                Some(Self::PlayerActionDifficultyAdjustmentUnset)
            }
            "PLAYER_ACTION_ROGUE_ARCADE_ADVENTURE_ROOM_START" => {
                Some(Self::PlayerActionRogueArcadeAdventureRoomStart)
            }
            "PLAYER_ACTION_ROGUE_ARCADE_ADVENTURE_ROOM_FINISH" => {
                Some(Self::PlayerActionRogueArcadeAdventureRoomFinish)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_START_LEVEL" => {
                Some(Self::PlayerActionRogueMagicStartLevel)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_FINISH_LEVEL" => {
                Some(Self::PlayerActionRogueMagicFinishLevel)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_REVIVE" => {
                Some(Self::PlayerActionRogueMagicRevive)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_ENTER_ROOM" => {
                Some(Self::PlayerActionRogueMagicEnterRoom)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_LEAVE_ROOM" => {
                Some(Self::PlayerActionRogueMagicLeaveRoom)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_ADD_MIRACLE" => {
                Some(Self::PlayerActionRogueMagicAddMiracle)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_REMOVE_MIRACLE" => {
                Some(Self::PlayerActionRogueMagicRemoveMiracle)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_STAGE_BEGIN" => {
                Some(Self::PlayerActionRogueMagicStageBegin)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_STAGE_END" => {
                Some(Self::PlayerActionRogueMagicStageEnd)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_ENABLE_TALENT" => {
                Some(Self::PlayerActionRogueMagicEnableTalent)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_FINISH_STORY" => {
                Some(Self::PlayerActionRogueMagicFinishStory)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_ADD_SCEPTER" => {
                Some(Self::PlayerActionRogueMagicAddScepter)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_SELECT_SCEPTER" => {
                Some(Self::PlayerActionRogueMagicSelectScepter)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_MOUNT_UNIT" => {
                Some(Self::PlayerActionRogueMagicMountUnit)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_AUTO_MOUNT_UNIT" => {
                Some(Self::PlayerActionRogueMagicAutoMountUnit)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_ADD_MAGIC_UNIT" => {
                Some(Self::PlayerActionRogueMagicAddMagicUnit)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_REMOVE_MAGIC_UNIT" => {
                Some(Self::PlayerActionRogueMagicRemoveMagicUnit)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_WORKBENCH_COMPOSE_MAGIC_UNIT" => {
                Some(Self::PlayerActionRogueMagicWorkbenchComposeMagicUnit)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_WORKBENCH_REFORGE_MAGIC_UNIT" => {
                Some(Self::PlayerActionRogueMagicWorkbenchReforgeMagicUnit)
            }
            "PLAYER_ACTION_ROGUE_MAGIC_WORKBENCH_LEVEL_UP_SCEPTER" => {
                Some(Self::PlayerActionRogueMagicWorkbenchLevelUpScepter)
            }
            "PLAYER_ACTION_TRAIN_PARTY_GAME_PLAY_START" => {
                Some(Self::PlayerActionTrainPartyGamePlayStart)
            }
            "PLAYER_ACTION_TRAIN_PARTY_PHASE_BEGIN" => {
                Some(Self::PlayerActionTrainPartyPhaseBegin)
            }
            "PLAYER_ACTION_TRAIN_PARTY_PHASE_END" => {
                Some(Self::PlayerActionTrainPartyPhaseEnd)
            }
            "PLAYER_ACTION_TRAIN_PARTY_ROUND" => Some(Self::PlayerActionTrainPartyRound),
            "PLAYER_ACTION_TRAIN_PARTY_MEETING_BEGIN" => {
                Some(Self::PlayerActionTrainPartyMeetingBegin)
            }
            "PLAYER_ACTION_TRAIN_PARTY_MEETING_END" => {
                Some(Self::PlayerActionTrainPartyMeetingEnd)
            }
            "PLAYER_ACTION_TRAIN_PARTY_MEETING_PLAY_CARD" => {
                Some(Self::PlayerActionTrainPartyMeetingPlayCard)
            }
            "PLAYER_ACTION_TRAIN_PARTY_MEETING_RE_ROLL" => {
                Some(Self::PlayerActionTrainPartyMeetingReRoll)
            }
            "PLAYER_ACTION_TRAIN_PARTY_BUILD_AREA_UNLOCK" => {
                Some(Self::PlayerActionTrainPartyBuildAreaUnlock)
            }
            "PLAYER_ACTION_TRAIN_PARTY_BUILD_STEP" => {
                Some(Self::PlayerActionTrainPartyBuildStep)
            }
            "PLAYER_ACTION_TRAIN_PARTY_BUILD_LEVEL_AWARD" => {
                Some(Self::PlayerActionTrainPartyBuildLevelAward)
            }
            "PLAYER_ACTION_TRAIN_PARTY_BUILDING_DYNAMIC_BUFF" => {
                Some(Self::PlayerActionTrainPartyBuildingDynamicBuff)
            }
            "PLAYER_ACTION_TRAIN_PARTY_BUILD_DIY" => {
                Some(Self::PlayerActionTrainPartyBuildDiy)
            }
            "PLAYER_ACTION_SWITCH_HAND_OP_PROP_STATE" => {
                Some(Self::PlayerActionSwitchHandOpPropState)
            }
            "PLAYER_ACTION_ERA_FLIPPER_CHANGE_REGION_STATE" => {
                Some(Self::PlayerActionEraFlipperChangeRegionState)
            }
            "PLAYER_ACTION_ERA_FLIPPER_CHANGE_PROP_STATE" => {
                Some(Self::PlayerActionEraFlipperChangePropState)
            }
            "PLAYER_ACTION_ACTIVITY_BENEFIT_REWARD" => {
                Some(Self::PlayerActionActivityBenefitReward)
            }
            "PLAYER_ACTION_ACTIVITY_BENEFIT_JOIN" => {
                Some(Self::PlayerActionActivityBenefitJoin)
            }
            "PLAYER_ACTION_ACTIVITY_BENEFIT_INITIAL_REWARD" => {
                Some(Self::PlayerActionActivityBenefitInitialReward)
            }
            "PLAYER_ACTION_PAM_SKIN_CHANGE_SKIN" => {
                Some(Self::PlayerActionPamSkinChangeSkin)
            }
            "PLAYER_ACTION_CHEST_FIND" => Some(Self::PlayerActionChestFind),
            "PLAYER_ACTION_REISSUE_MARK_CHEST_ITEM_MAIL" => {
                Some(Self::PlayerActionReissueMarkChestItemMail)
            }
            "PLAYER_ACTION_MARBLE_PASS_MATCH" => Some(Self::PlayerActionMarblePassMatch),
            "PLAYER_ACTION_MARBLE_BUY_SEAL" => Some(Self::PlayerActionMarbleBuySeal),
            "PLAYER_ACTION_MARBLE_FIGHT_GAME_BEGIN" => {
                Some(Self::PlayerActionMarbleFightGameBegin)
            }
            "PLAYER_ACTION_MARBLE_FIGHT_GAME_END" => {
                Some(Self::PlayerActionMarbleFightGameEnd)
            }
            "PLAYER_ACTION_MARBLE_FIGHT_GAME_ROUND" => {
                Some(Self::PlayerActionMarbleFightGameRound)
            }
            "PLAYER_ACTION_MARBLE_FIGHT_GAME_TURN" => {
                Some(Self::PlayerActionMarbleFightGameTurn)
            }
            "PLAYER_ACTION_PLANET_FES_LEVEL_UP" => {
                Some(Self::PlayerActionPlanetFesLevelUp)
            }
            "PLAYER_ACTION_PLANET_FES_ACTIVITY_INIT" => {
                Some(Self::PlayerActionPlanetFesActivityInit)
            }
            "PLAYER_ACTION_PLANET_FES_AVATAR_LEVEL_UP" => {
                Some(Self::PlayerActionPlanetFesAvatarLevelUp)
            }
            "PLAYER_ACTION_PLANET_FES_TAKE_REGION_PHASE_REWARD" => {
                Some(Self::PlayerActionPlanetFesTakeRegionPhaseReward)
            }
            "PLAYER_ACTION_PLANET_FES_ADD_ITEM" => {
                Some(Self::PlayerActionPlanetFesAddItem)
            }
            "PLAYER_ACTION_PLANET_FES_QUEST" => Some(Self::PlayerActionPlanetFesQuest),
            "PLAYER_ACTION_PLANET_FES_BUSINESS_DAY_FINISH" => {
                Some(Self::PlayerActionPlanetFesBusinessDayFinish)
            }
            "PLAYER_ACTION_PLANET_FES_AVATAR_STAR_UP" => {
                Some(Self::PlayerActionPlanetFesAvatarStarUp)
            }
            "PLAYER_ACTION_PLANET_FES_UNLOCK_LAND" => {
                Some(Self::PlayerActionPlanetFesUnlockLand)
            }
            "PLAYER_ACTION_PLANET_FES_BUSINESS_EVENT_FINISH" => {
                Some(Self::PlayerActionPlanetFesBusinessEventFinish)
            }
            "PLAYER_ACTION_PLANET_FES_ACTIVATE_CARD" => {
                Some(Self::PlayerActionPlanetFesActivateCard)
            }
            "PLAYER_ACTION_PLANET_FES_SKILL_LEVEL_UP" => {
                Some(Self::PlayerActionPlanetFesSkillLevelUp)
            }
            "PLAYER_ACTION_PLANET_FES_GACHA" => Some(Self::PlayerActionPlanetFesGacha),
            "PLAYER_ACTION_PLANET_FES_BUSINESS_EVENT_HANDLE" => {
                Some(Self::PlayerActionPlanetFesBusinessEventHandle)
            }
            "PLAYER_ACTION_PLANET_FES_CARD_APPLY_PERMISSION" => {
                Some(Self::PlayerActionPlanetFesCardApplyPermission)
            }
            "PLAYER_ACTION_PLANET_FES_CARD_INTERACT" => {
                Some(Self::PlayerActionPlanetFesCardInteract)
            }
            "PLAYER_ACTION_PLANET_FES_TO_SNS" => Some(Self::PlayerActionPlanetFesToSns),
            "PLAYER_ACTION_PLANET_FES_SET_WORK_AVATAR" => {
                Some(Self::PlayerActionPlanetFesSetWorkAvatar)
            }
            "PLAYER_ACTION_PLANET_FES_SUMMARY" => {
                Some(Self::PlayerActionPlanetFesSummary)
            }
            "PLAYER_ACTION_TAROT_BOOK_CHARACTER_LEVEL_UP" => {
                Some(Self::PlayerActionTarotBookCharacterLevelUp)
            }
            "PLAYER_ACTION_TAROT_BOOK_OPEN_PACK" => {
                Some(Self::PlayerActionTarotBookOpenPack)
            }
            "PLAYER_ACTION_TAROT_BOOK_UNLOCK_STORY" => {
                Some(Self::PlayerActionTarotBookUnlockStory)
            }
            "PLAYER_ACTION_TAROT_BOOK_UNLOCK_STORY_SINGLE" => {
                Some(Self::PlayerActionTarotBookUnlockStorySingle)
            }
            "PLAYER_ACTION_TAROT_BOOK_FINISH_STORY" => {
                Some(Self::PlayerActionTarotBookFinishStory)
            }
            "PLAYER_ACTION_TAROT_BOOK_FINISH_INTERACTION" => {
                Some(Self::PlayerActionTarotBookFinishInteraction)
            }
            "PLAYER_ACTION_TAROT_BOOK_CHANGE_ENERGY" => {
                Some(Self::PlayerActionTarotBookChangeEnergy)
            }
            "PLAYER_ACTION_CHIMERA_ROUND_START" => {
                Some(Self::PlayerActionChimeraRoundStart)
            }
            "PLAYER_ACTION_CHIMERA_ROUND_WORK_START" => {
                Some(Self::PlayerActionChimeraRoundWorkStart)
            }
            "PLAYER_ACTION_CHIMERA_ROUND_WORK_END" => {
                Some(Self::PlayerActionChimeraRoundWorkEnd)
            }
            "PLAYER_ACTION_CHIMERA_ENDLESS_START" => {
                Some(Self::PlayerActionChimeraEndlessStart)
            }
            "PLAYER_ACTION_CHIMERA_ENDLESS_END" => {
                Some(Self::PlayerActionChimeraEndlessEnd)
            }
            "PLAYER_ACTION_CHIMERA_ENDLESS_WORK_START" => {
                Some(Self::PlayerActionChimeraEndlessWorkStart)
            }
            "PLAYER_ACTION_CHIMERA_ENDLESS_WORK_END" => {
                Some(Self::PlayerActionChimeraEndlessWorkEnd)
            }
            "PLAYER_ACTION_CHIMERA_RANK_CHANGE" => {
                Some(Self::PlayerActionChimeraRankChange)
            }
            "PLAYER_ACTION_CHIMERA_GET" => Some(Self::PlayerActionChimeraGet),
            "PLAYER_ACTION_STORY_TOKEN_TAKE_ACTIVITY_REWARD" => {
                Some(Self::PlayerActionStoryTokenTakeActivityReward)
            }
            "PLAYER_ACTION_REISSUE_AVATAR_TOKEN_ITEM" => {
                Some(Self::PlayerActionReissueAvatarTokenItem)
            }
            "PLAYER_ACTION_AVATAR_DELIVER_REWARD_ACTIVITY_TAKE_REWARD" => {
                Some(Self::PlayerActionAvatarDeliverRewardActivityTakeReward)
            }
            "PLAYER_ACTION_LOCAL_LEGEND_REWARD" => {
                Some(Self::PlayerActionLocalLegendReward)
            }
            "PLAYER_ACTION_PARKOUR_START_LEVEL" => {
                Some(Self::PlayerActionParkourStartLevel)
            }
            "PLAYER_ACTION_PARKOUR_END_LEVEL" => Some(Self::PlayerActionParkourEndLevel),
            "PLAYER_ACTION_BASIN_CHEST_INTERACT_RESULT" => {
                Some(Self::PlayerActionBasinChestInteractResult)
            }
            "PLAYER_ACTION_ROGUE_MIRACLE_SWAP" => {
                Some(Self::PlayerActionRogueMiracleSwap)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AvatarSlot {
    AvatarSlot1 = 0,
    AvatarSlot2 = 1,
    AvatarSlot3 = 2,
}
impl AvatarSlot {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AvatarSlot1 => "AVATAR_SLOT_1",
            Self::AvatarSlot2 => "AVATAR_SLOT_2",
            Self::AvatarSlot3 => "AVATAR_SLOT_3",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AVATAR_SLOT_1" => Some(Self::AvatarSlot1),
            "AVATAR_SLOT_2" => Some(Self::AvatarSlot2),
            "AVATAR_SLOT_3" => Some(Self::AvatarSlot3),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ItemType {
    None = 0,
    ItemAvatarCard = 1,
    ItemEquipment = 2,
    ItemMaterial = 3,
    ItemAvatarExp = 4,
    ItemRelic = 5,
}
impl ItemType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "ITEM_TYPE_NONE",
            Self::ItemAvatarCard => "ITEM_AVATAR_CARD",
            Self::ItemEquipment => "ITEM_EQUIPMENT",
            Self::ItemMaterial => "ITEM_MATERIAL",
            Self::ItemAvatarExp => "ITEM_AVATAR_EXP",
            Self::ItemRelic => "ITEM_RELIC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ITEM_TYPE_NONE" => Some(Self::None),
            "ITEM_AVATAR_CARD" => Some(Self::ItemAvatarCard),
            "ITEM_EQUIPMENT" => Some(Self::ItemEquipment),
            "ITEM_MATERIAL" => Some(Self::ItemMaterial),
            "ITEM_AVATAR_EXP" => Some(Self::ItemAvatarExp),
            "ITEM_RELIC" => Some(Self::ItemRelic),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VirtualItemType {
    VirtualItemNone = 0,
    VirtualItemHcoin = 1,
    VirtualItemScoin = 2,
    VirtualItemMcoin = 3,
    VirtualItemStamina = 11,
    VirtualItemReserveStamina = 12,
    VirtualItemAvatarExp = 21,
    VirtualItemExp = 22,
    VirtualItemDailyActivePoint = 23,
    VirtualItemMpMax = 24,
    VirtualItemPlayerReturnPoint = 25,
    VirtualItemBattleCollegePoint = 26,
    VirtualItemRogueCoin = 31,
    VirtualItemRogueTalentCoin = 32,
    VirtualItemRogueRewardKey = 33,
    VirtualItemAchievementExp = 41,
    VirtualItemBpExp = 51,
    VirtualItemBpRealExp = 52,
    VirtualItemMuseumFunds = 53,
    VirtualTrainpartyBuildingFunds = 54,
    VirtualTrainpartyAreaUnlockCoin = 55,
    VirtualTrainpartyMobility = 56,
    VirtualItemWarriorExp = 190,
    VirtualItemRogueExp = 191,
    VirtualItemMageExp = 192,
    VirtualItemShamanExp = 193,
    VirtualItemWarlockExp = 194,
    VirtualItemKnightExp = 195,
    VirtualItemPriestExp = 196,
    VirtualItemPunkLordPoint = 100000,
    VirtualItemGameplayCounterMonsterSneakVision = 280001,
    VirtualItemGameplayCounterWolfBroBullet = 280002,
    VirtualItemAlleyFunds = 281001,
    VirtualItemRoguePumanCoupon = 281012,
    VirtualItemMonthCard = 300101,
    VirtualItemBpNormal = 300102,
    VirtualItemBpDeluxe = 300103,
    VirtualItemBpUpgrade = 300104,
    VirtualItemHeliobusFans = 281002,
    VirtualItemSpaceZooHybridItem = 281003,
    VirtualItemSpaceZooExpPoint = 281004,
    VirtualItemRogueNousTalentCoin = 281013,
    VirtualItemEvolveBuildCoin = 281019,
    VirtualItemDrinkMakerTip = 281005,
    VirtualItemMonopolyDice = 281014,
    VirtualItemMonopolyCoin = 281015,
    VirtualItemMonopolyCheatdice = 281016,
    VirtualItemMonopolyReroll = 281017,
    VirtualItemRogueTournPermanentTalentCoin = 281018,
    VirtualItemRogueTournSeasonTalentCoin = 281020,
    VirtualItemRogueTournExp = 281022,
    VirtualItemMatchthreeCoin = 281024,
    VirtualItemSwordTrainingSkillPoint = 281023,
    VirtualItemFightFestCoin = 281025,
    VirtualItemRogueMagicTalentCoin = 281026,
    VirtualItemEvolveBuildScCoin = 281027,
    VirtualItemEvolveBuildRewardExp = 281028,
}
impl VirtualItemType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::VirtualItemNone => "VIRTUAL_ITEM_NONE",
            Self::VirtualItemHcoin => "VIRTUAL_ITEM_HCOIN",
            Self::VirtualItemScoin => "VIRTUAL_ITEM_SCOIN",
            Self::VirtualItemMcoin => "VIRTUAL_ITEM_MCOIN",
            Self::VirtualItemStamina => "VIRTUAL_ITEM_STAMINA",
            Self::VirtualItemReserveStamina => "VIRTUAL_ITEM_RESERVE_STAMINA",
            Self::VirtualItemAvatarExp => "VIRTUAL_ITEM_AVATAR_EXP",
            Self::VirtualItemExp => "VIRTUAL_ITEM_EXP",
            Self::VirtualItemDailyActivePoint => "VIRTUAL_ITEM_DAILY_ACTIVE_POINT",
            Self::VirtualItemMpMax => "VIRTUAL_ITEM_MP_MAX",
            Self::VirtualItemPlayerReturnPoint => "VIRTUAL_ITEM_PLAYER_RETURN_POINT",
            Self::VirtualItemBattleCollegePoint => "VIRTUAL_ITEM_BATTLE_COLLEGE_POINT",
            Self::VirtualItemRogueCoin => "VIRTUAL_ITEM_ROGUE_COIN",
            Self::VirtualItemRogueTalentCoin => "VIRTUAL_ITEM_ROGUE_TALENT_COIN",
            Self::VirtualItemRogueRewardKey => "VIRTUAL_ITEM_ROGUE_REWARD_KEY",
            Self::VirtualItemAchievementExp => "VIRTUAL_ITEM_ACHIEVEMENT_EXP",
            Self::VirtualItemBpExp => "VIRTUAL_ITEM_BP_EXP",
            Self::VirtualItemBpRealExp => "VIRTUAL_ITEM_BP_REAL_EXP",
            Self::VirtualItemMuseumFunds => "VIRTUAL_ITEM_MUSEUM_FUNDS",
            Self::VirtualTrainpartyBuildingFunds => "VIRTUAL_TRAINPARTY_BUILDING_FUNDS",
            Self::VirtualTrainpartyAreaUnlockCoin => {
                "VIRTUAL_TRAINPARTY_AREA_UNLOCK_COIN"
            }
            Self::VirtualTrainpartyMobility => "VIRTUAL_TRAINPARTY_MOBILITY",
            Self::VirtualItemWarriorExp => "VIRTUAL_ITEM_WARRIOR_EXP",
            Self::VirtualItemRogueExp => "VIRTUAL_ITEM_ROGUE_EXP",
            Self::VirtualItemMageExp => "VIRTUAL_ITEM_MAGE_EXP",
            Self::VirtualItemShamanExp => "VIRTUAL_ITEM_SHAMAN_EXP",
            Self::VirtualItemWarlockExp => "VIRTUAL_ITEM_WARLOCK_EXP",
            Self::VirtualItemKnightExp => "VIRTUAL_ITEM_KNIGHT_EXP",
            Self::VirtualItemPriestExp => "VIRTUAL_ITEM_PRIEST_EXP",
            Self::VirtualItemPunkLordPoint => "VIRTUAL_ITEM_PUNK_LORD_POINT",
            Self::VirtualItemGameplayCounterMonsterSneakVision => {
                "VIRTUAL_ITEM_GAMEPLAY_COUNTER_MONSTER_SNEAK_VISION"
            }
            Self::VirtualItemGameplayCounterWolfBroBullet => {
                "VIRTUAL_ITEM_GAMEPLAY_COUNTER_WOLF_BRO_BULLET"
            }
            Self::VirtualItemAlleyFunds => "VIRTUAL_ITEM_ALLEY_FUNDS",
            Self::VirtualItemRoguePumanCoupon => "VIRTUAL_ITEM_ROGUE_PUMAN_COUPON",
            Self::VirtualItemMonthCard => "VIRTUAL_ITEM_MONTH_CARD",
            Self::VirtualItemBpNormal => "VIRTUAL_ITEM_BP_NORMAL",
            Self::VirtualItemBpDeluxe => "VIRTUAL_ITEM_BP_DELUXE",
            Self::VirtualItemBpUpgrade => "VIRTUAL_ITEM_BP_UPGRADE",
            Self::VirtualItemHeliobusFans => "VIRTUAL_ITEM_HELIOBUS_FANS",
            Self::VirtualItemSpaceZooHybridItem => "VIRTUAL_ITEM_SPACE_ZOO_HYBRID_ITEM",
            Self::VirtualItemSpaceZooExpPoint => "VIRTUAL_ITEM_SPACE_ZOO_EXP_POINT",
            Self::VirtualItemRogueNousTalentCoin => "VIRTUAL_ITEM_ROGUE_NOUS_TALENT_COIN",
            Self::VirtualItemEvolveBuildCoin => "VIRTUAL_ITEM_EVOLVE_BUILD_COIN",
            Self::VirtualItemDrinkMakerTip => "VIRTUAL_ITEM_DRINK_MAKER_TIP",
            Self::VirtualItemMonopolyDice => "VIRTUAL_ITEM_MONOPOLY_DICE",
            Self::VirtualItemMonopolyCoin => "VIRTUAL_ITEM_MONOPOLY_COIN",
            Self::VirtualItemMonopolyCheatdice => "VIRTUAL_ITEM_MONOPOLY_CHEATDICE",
            Self::VirtualItemMonopolyReroll => "VIRTUAL_ITEM_MONOPOLY_REROLL",
            Self::VirtualItemRogueTournPermanentTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_TOURN_PERMANENT_TALENT_COIN"
            }
            Self::VirtualItemRogueTournSeasonTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_TOURN_SEASON_TALENT_COIN"
            }
            Self::VirtualItemRogueTournExp => "VIRTUAL_ITEM_ROGUE_TOURN_EXP",
            Self::VirtualItemMatchthreeCoin => "VIRTUAL_ITEM_MATCHTHREE_COIN",
            Self::VirtualItemSwordTrainingSkillPoint => {
                "VIRTUAL_ITEM_SWORD_TRAINING_SKILL_POINT"
            }
            Self::VirtualItemFightFestCoin => "VIRTUAL_ITEM_FIGHT_FEST_COIN",
            Self::VirtualItemRogueMagicTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_MAGIC_TALENT_COIN"
            }
            Self::VirtualItemEvolveBuildScCoin => "VIRTUAL_ITEM_EVOLVE_BUILD_SC_COIN",
            Self::VirtualItemEvolveBuildRewardExp => {
                "VIRTUAL_ITEM_EVOLVE_BUILD_REWARD_EXP"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "VIRTUAL_ITEM_NONE" => Some(Self::VirtualItemNone),
            "VIRTUAL_ITEM_HCOIN" => Some(Self::VirtualItemHcoin),
            "VIRTUAL_ITEM_SCOIN" => Some(Self::VirtualItemScoin),
            "VIRTUAL_ITEM_MCOIN" => Some(Self::VirtualItemMcoin),
            "VIRTUAL_ITEM_STAMINA" => Some(Self::VirtualItemStamina),
            "VIRTUAL_ITEM_RESERVE_STAMINA" => Some(Self::VirtualItemReserveStamina),
            "VIRTUAL_ITEM_AVATAR_EXP" => Some(Self::VirtualItemAvatarExp),
            "VIRTUAL_ITEM_EXP" => Some(Self::VirtualItemExp),
            "VIRTUAL_ITEM_DAILY_ACTIVE_POINT" => Some(Self::VirtualItemDailyActivePoint),
            "VIRTUAL_ITEM_MP_MAX" => Some(Self::VirtualItemMpMax),
            "VIRTUAL_ITEM_PLAYER_RETURN_POINT" => {
                Some(Self::VirtualItemPlayerReturnPoint)
            }
            "VIRTUAL_ITEM_BATTLE_COLLEGE_POINT" => {
                Some(Self::VirtualItemBattleCollegePoint)
            }
            "VIRTUAL_ITEM_ROGUE_COIN" => Some(Self::VirtualItemRogueCoin),
            "VIRTUAL_ITEM_ROGUE_TALENT_COIN" => Some(Self::VirtualItemRogueTalentCoin),
            "VIRTUAL_ITEM_ROGUE_REWARD_KEY" => Some(Self::VirtualItemRogueRewardKey),
            "VIRTUAL_ITEM_ACHIEVEMENT_EXP" => Some(Self::VirtualItemAchievementExp),
            "VIRTUAL_ITEM_BP_EXP" => Some(Self::VirtualItemBpExp),
            "VIRTUAL_ITEM_BP_REAL_EXP" => Some(Self::VirtualItemBpRealExp),
            "VIRTUAL_ITEM_MUSEUM_FUNDS" => Some(Self::VirtualItemMuseumFunds),
            "VIRTUAL_TRAINPARTY_BUILDING_FUNDS" => {
                Some(Self::VirtualTrainpartyBuildingFunds)
            }
            "VIRTUAL_TRAINPARTY_AREA_UNLOCK_COIN" => {
                Some(Self::VirtualTrainpartyAreaUnlockCoin)
            }
            "VIRTUAL_TRAINPARTY_MOBILITY" => Some(Self::VirtualTrainpartyMobility),
            "VIRTUAL_ITEM_WARRIOR_EXP" => Some(Self::VirtualItemWarriorExp),
            "VIRTUAL_ITEM_ROGUE_EXP" => Some(Self::VirtualItemRogueExp),
            "VIRTUAL_ITEM_MAGE_EXP" => Some(Self::VirtualItemMageExp),
            "VIRTUAL_ITEM_SHAMAN_EXP" => Some(Self::VirtualItemShamanExp),
            "VIRTUAL_ITEM_WARLOCK_EXP" => Some(Self::VirtualItemWarlockExp),
            "VIRTUAL_ITEM_KNIGHT_EXP" => Some(Self::VirtualItemKnightExp),
            "VIRTUAL_ITEM_PRIEST_EXP" => Some(Self::VirtualItemPriestExp),
            "VIRTUAL_ITEM_PUNK_LORD_POINT" => Some(Self::VirtualItemPunkLordPoint),
            "VIRTUAL_ITEM_GAMEPLAY_COUNTER_MONSTER_SNEAK_VISION" => {
                Some(Self::VirtualItemGameplayCounterMonsterSneakVision)
            }
            "VIRTUAL_ITEM_GAMEPLAY_COUNTER_WOLF_BRO_BULLET" => {
                Some(Self::VirtualItemGameplayCounterWolfBroBullet)
            }
            "VIRTUAL_ITEM_ALLEY_FUNDS" => Some(Self::VirtualItemAlleyFunds),
            "VIRTUAL_ITEM_ROGUE_PUMAN_COUPON" => Some(Self::VirtualItemRoguePumanCoupon),
            "VIRTUAL_ITEM_MONTH_CARD" => Some(Self::VirtualItemMonthCard),
            "VIRTUAL_ITEM_BP_NORMAL" => Some(Self::VirtualItemBpNormal),
            "VIRTUAL_ITEM_BP_DELUXE" => Some(Self::VirtualItemBpDeluxe),
            "VIRTUAL_ITEM_BP_UPGRADE" => Some(Self::VirtualItemBpUpgrade),
            "VIRTUAL_ITEM_HELIOBUS_FANS" => Some(Self::VirtualItemHeliobusFans),
            "VIRTUAL_ITEM_SPACE_ZOO_HYBRID_ITEM" => {
                Some(Self::VirtualItemSpaceZooHybridItem)
            }
            "VIRTUAL_ITEM_SPACE_ZOO_EXP_POINT" => Some(Self::VirtualItemSpaceZooExpPoint),
            "VIRTUAL_ITEM_ROGUE_NOUS_TALENT_COIN" => {
                Some(Self::VirtualItemRogueNousTalentCoin)
            }
            "VIRTUAL_ITEM_EVOLVE_BUILD_COIN" => Some(Self::VirtualItemEvolveBuildCoin),
            "VIRTUAL_ITEM_DRINK_MAKER_TIP" => Some(Self::VirtualItemDrinkMakerTip),
            "VIRTUAL_ITEM_MONOPOLY_DICE" => Some(Self::VirtualItemMonopolyDice),
            "VIRTUAL_ITEM_MONOPOLY_COIN" => Some(Self::VirtualItemMonopolyCoin),
            "VIRTUAL_ITEM_MONOPOLY_CHEATDICE" => Some(Self::VirtualItemMonopolyCheatdice),
            "VIRTUAL_ITEM_MONOPOLY_REROLL" => Some(Self::VirtualItemMonopolyReroll),
            "VIRTUAL_ITEM_ROGUE_TOURN_PERMANENT_TALENT_COIN" => {
                Some(Self::VirtualItemRogueTournPermanentTalentCoin)
            }
            "VIRTUAL_ITEM_ROGUE_TOURN_SEASON_TALENT_COIN" => {
                Some(Self::VirtualItemRogueTournSeasonTalentCoin)
            }
            "VIRTUAL_ITEM_ROGUE_TOURN_EXP" => Some(Self::VirtualItemRogueTournExp),
            "VIRTUAL_ITEM_MATCHTHREE_COIN" => Some(Self::VirtualItemMatchthreeCoin),
            "VIRTUAL_ITEM_SWORD_TRAINING_SKILL_POINT" => {
                Some(Self::VirtualItemSwordTrainingSkillPoint)
            }
            "VIRTUAL_ITEM_FIGHT_FEST_COIN" => Some(Self::VirtualItemFightFestCoin),
            "VIRTUAL_ITEM_ROGUE_MAGIC_TALENT_COIN" => {
                Some(Self::VirtualItemRogueMagicTalentCoin)
            }
            "VIRTUAL_ITEM_EVOLVE_BUILD_SC_COIN" => {
                Some(Self::VirtualItemEvolveBuildScCoin)
            }
            "VIRTUAL_ITEM_EVOLVE_BUILD_REWARD_EXP" => {
                Some(Self::VirtualItemEvolveBuildRewardExp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GameplayCounterType {
    GameplayCounterNone = 0,
    GameplayCounterMonsterSneakVision = 280001,
}
impl GameplayCounterType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::GameplayCounterNone => "GAMEPLAY_COUNTER_NONE",
            Self::GameplayCounterMonsterSneakVision => {
                "GAMEPLAY_COUNTER_MONSTER_SNEAK_VISION"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GAMEPLAY_COUNTER_NONE" => Some(Self::GameplayCounterNone),
            "GAMEPLAY_COUNTER_MONSTER_SNEAK_VISION" => {
                Some(Self::GameplayCounterMonsterSneakVision)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BlackLimitLevel {
    All = 0,
}
impl BlackLimitLevel {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "BLACK_LIMIT_LEVEL_ALL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BLACK_LIMIT_LEVEL_ALL" => Some(Self::All),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AreaType {
    AreaNone = 0,
    AreaCn = 1,
    AreaJp = 2,
    AreaAsia = 3,
    AreaWest = 4,
    AreaKr = 5,
    AreaOverseas = 6,
}
impl AreaType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AreaNone => "AREA_NONE",
            Self::AreaCn => "AREA_CN",
            Self::AreaJp => "AREA_JP",
            Self::AreaAsia => "AREA_ASIA",
            Self::AreaWest => "AREA_WEST",
            Self::AreaKr => "AREA_KR",
            Self::AreaOverseas => "AREA_OVERSEAS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AREA_NONE" => Some(Self::AreaNone),
            "AREA_CN" => Some(Self::AreaCn),
            "AREA_JP" => Some(Self::AreaJp),
            "AREA_ASIA" => Some(Self::AreaAsia),
            "AREA_WEST" => Some(Self::AreaWest),
            "AREA_KR" => Some(Self::AreaKr),
            "AREA_OVERSEAS" => Some(Self::AreaOverseas),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EntityType {
    EntityNone = 0,
    EntityAvatar = 1,
    EntityMonster = 2,
    EntityNpc = 3,
    EntityProp = 4,
    EntityTrigger = 5,
    EntityEnv = 6,
    EntitySummonUnit = 7,
}
impl EntityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EntityNone => "ENTITY_NONE",
            Self::EntityAvatar => "ENTITY_AVATAR",
            Self::EntityMonster => "ENTITY_MONSTER",
            Self::EntityNpc => "ENTITY_NPC",
            Self::EntityProp => "ENTITY_PROP",
            Self::EntityTrigger => "ENTITY_TRIGGER",
            Self::EntityEnv => "ENTITY_ENV",
            Self::EntitySummonUnit => "ENTITY_SUMMON_UNIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ENTITY_NONE" => Some(Self::EntityNone),
            "ENTITY_AVATAR" => Some(Self::EntityAvatar),
            "ENTITY_MONSTER" => Some(Self::EntityMonster),
            "ENTITY_NPC" => Some(Self::EntityNpc),
            "ENTITY_PROP" => Some(Self::EntityProp),
            "ENTITY_TRIGGER" => Some(Self::EntityTrigger),
            "ENTITY_ENV" => Some(Self::EntityEnv),
            "ENTITY_SUMMON_UNIT" => Some(Self::EntitySummonUnit),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LanguageType {
    LanguageNone = 0,
    LanguageSc = 1,
    LanguageTc = 2,
    LanguageEn = 3,
    LanguageKr = 4,
    LanguageJp = 5,
    LanguageFr = 6,
    LanguageDe = 7,
    LanguageEs = 8,
    LanguagePt = 9,
    LanguageRu = 10,
    LanguageTh = 11,
    LanguageVi = 12,
    LanguageId = 13,
}
impl LanguageType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LanguageNone => "LANGUAGE_NONE",
            Self::LanguageSc => "LANGUAGE_SC",
            Self::LanguageTc => "LANGUAGE_TC",
            Self::LanguageEn => "LANGUAGE_EN",
            Self::LanguageKr => "LANGUAGE_KR",
            Self::LanguageJp => "LANGUAGE_JP",
            Self::LanguageFr => "LANGUAGE_FR",
            Self::LanguageDe => "LANGUAGE_DE",
            Self::LanguageEs => "LANGUAGE_ES",
            Self::LanguagePt => "LANGUAGE_PT",
            Self::LanguageRu => "LANGUAGE_RU",
            Self::LanguageTh => "LANGUAGE_TH",
            Self::LanguageVi => "LANGUAGE_VI",
            Self::LanguageId => "LANGUAGE_ID",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LANGUAGE_NONE" => Some(Self::LanguageNone),
            "LANGUAGE_SC" => Some(Self::LanguageSc),
            "LANGUAGE_TC" => Some(Self::LanguageTc),
            "LANGUAGE_EN" => Some(Self::LanguageEn),
            "LANGUAGE_KR" => Some(Self::LanguageKr),
            "LANGUAGE_JP" => Some(Self::LanguageJp),
            "LANGUAGE_FR" => Some(Self::LanguageFr),
            "LANGUAGE_DE" => Some(Self::LanguageDe),
            "LANGUAGE_ES" => Some(Self::LanguageEs),
            "LANGUAGE_PT" => Some(Self::LanguagePt),
            "LANGUAGE_RU" => Some(Self::LanguageRu),
            "LANGUAGE_TH" => Some(Self::LanguageTh),
            "LANGUAGE_VI" => Some(Self::LanguageVi),
            "LANGUAGE_ID" => Some(Self::LanguageId),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlatformType {
    Editor = 0,
    Ios = 1,
    Android = 2,
    Pc = 3,
    Web = 4,
    Wap = 5,
    Ps4 = 6,
    Nintendo = 7,
    CloudAndroid = 8,
    CloudPc = 9,
    CloudIos = 10,
    Ps5 = 11,
    Mac = 12,
    CloudMac = 13,
    CloudWebAndroid = 20,
    CloudWebIos = 21,
    CloudWebPc = 22,
    CloudWebMac = 23,
    CloudWebTouch = 24,
    CloudWebKeyboard = 25,
    CloudDouyinIos = 27,
    CloudDouyinAndroid = 28,
}
impl PlatformType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Editor => "EDITOR",
            Self::Ios => "IOS",
            Self::Android => "ANDROID",
            Self::Pc => "PC",
            Self::Web => "WEB",
            Self::Wap => "WAP",
            Self::Ps4 => "PS4",
            Self::Nintendo => "NINTENDO",
            Self::CloudAndroid => "CLOUD_ANDROID",
            Self::CloudPc => "CLOUD_PC",
            Self::CloudIos => "CLOUD_IOS",
            Self::Ps5 => "PS5",
            Self::Mac => "MAC",
            Self::CloudMac => "CLOUD_MAC",
            Self::CloudWebAndroid => "CLOUD_WEB_ANDROID",
            Self::CloudWebIos => "CLOUD_WEB_IOS",
            Self::CloudWebPc => "CLOUD_WEB_PC",
            Self::CloudWebMac => "CLOUD_WEB_MAC",
            Self::CloudWebTouch => "CLOUD_WEB_TOUCH",
            Self::CloudWebKeyboard => "CLOUD_WEB_KEYBOARD",
            Self::CloudDouyinIos => "CLOUD_DOUYIN_IOS",
            Self::CloudDouyinAndroid => "CLOUD_DOUYIN_ANDROID",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EDITOR" => Some(Self::Editor),
            "IOS" => Some(Self::Ios),
            "ANDROID" => Some(Self::Android),
            "PC" => Some(Self::Pc),
            "WEB" => Some(Self::Web),
            "WAP" => Some(Self::Wap),
            "PS4" => Some(Self::Ps4),
            "NINTENDO" => Some(Self::Nintendo),
            "CLOUD_ANDROID" => Some(Self::CloudAndroid),
            "CLOUD_PC" => Some(Self::CloudPc),
            "CLOUD_IOS" => Some(Self::CloudIos),
            "PS5" => Some(Self::Ps5),
            "MAC" => Some(Self::Mac),
            "CLOUD_MAC" => Some(Self::CloudMac),
            "CLOUD_WEB_ANDROID" => Some(Self::CloudWebAndroid),
            "CLOUD_WEB_IOS" => Some(Self::CloudWebIos),
            "CLOUD_WEB_PC" => Some(Self::CloudWebPc),
            "CLOUD_WEB_MAC" => Some(Self::CloudWebMac),
            "CLOUD_WEB_TOUCH" => Some(Self::CloudWebTouch),
            "CLOUD_WEB_KEYBOARD" => Some(Self::CloudWebKeyboard),
            "CLOUD_DOUYIN_IOS" => Some(Self::CloudDouyinIos),
            "CLOUD_DOUYIN_ANDROID" => Some(Self::CloudDouyinAndroid),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Omefdocpemd {
    NoKick = 0,
    ForceKick = 1,
    IdleKick = 2,
    Silence = 3,
}
impl Omefdocpemd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::NoKick => "NO_KICK",
            Self::ForceKick => "FORCE_KICK",
            Self::IdleKick => "IDLE_KICK",
            Self::Silence => "SILENCE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NO_KICK" => Some(Self::NoKick),
            "FORCE_KICK" => Some(Self::ForceKick),
            "IDLE_KICK" => Some(Self::IdleKick),
            "SILENCE" => Some(Self::Silence),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AvatarType {
    None = 0,
    AvatarTrialType = 1,
    AvatarLimitType = 2,
    AvatarFormalType = 3,
    AvatarAssistType = 4,
    AvatarAetherDivideType = 5,
    AvatarUpgradeAvailableType = 6,
}
impl AvatarType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "AVATAR_TYPE_NONE",
            Self::AvatarTrialType => "AVATAR_TRIAL_TYPE",
            Self::AvatarLimitType => "AVATAR_LIMIT_TYPE",
            Self::AvatarFormalType => "AVATAR_FORMAL_TYPE",
            Self::AvatarAssistType => "AVATAR_ASSIST_TYPE",
            Self::AvatarAetherDivideType => "AVATAR_AETHER_DIVIDE_TYPE",
            Self::AvatarUpgradeAvailableType => "AVATAR_UPGRADE_AVAILABLE_TYPE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AVATAR_TYPE_NONE" => Some(Self::None),
            "AVATAR_TRIAL_TYPE" => Some(Self::AvatarTrialType),
            "AVATAR_LIMIT_TYPE" => Some(Self::AvatarLimitType),
            "AVATAR_FORMAL_TYPE" => Some(Self::AvatarFormalType),
            "AVATAR_ASSIST_TYPE" => Some(Self::AvatarAssistType),
            "AVATAR_AETHER_DIVIDE_TYPE" => Some(Self::AvatarAetherDivideType),
            "AVATAR_UPGRADE_AVAILABLE_TYPE" => Some(Self::AvatarUpgradeAvailableType),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MultiPathAvatarType {
    None = 0,
    Mar7thKnightType = 1001,
    Mar7thRogueType = 1224,
    BoyWarriorType = 8001,
    GirlWarriorType = 8002,
    BoyKnightType = 8003,
    GirlKnightType = 8004,
    BoyShamanType = 8005,
    GirlShamanType = 8006,
    BoyMemoryType = 8007,
    GirlMemoryType = 8008,
}
impl MultiPathAvatarType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "MultiPathAvatarTypeNone",
            Self::Mar7thKnightType => "Mar_7thKnightType",
            Self::Mar7thRogueType => "Mar_7thRogueType",
            Self::BoyWarriorType => "BoyWarriorType",
            Self::GirlWarriorType => "GirlWarriorType",
            Self::BoyKnightType => "BoyKnightType",
            Self::GirlKnightType => "GirlKnightType",
            Self::BoyShamanType => "BoyShamanType",
            Self::GirlShamanType => "GirlShamanType",
            Self::BoyMemoryType => "BoyMemoryType",
            Self::GirlMemoryType => "GirlMemoryType",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MultiPathAvatarTypeNone" => Some(Self::None),
            "Mar_7thKnightType" => Some(Self::Mar7thKnightType),
            "Mar_7thRogueType" => Some(Self::Mar7thRogueType),
            "BoyWarriorType" => Some(Self::BoyWarriorType),
            "GirlWarriorType" => Some(Self::GirlWarriorType),
            "BoyKnightType" => Some(Self::BoyKnightType),
            "GirlKnightType" => Some(Self::GirlKnightType),
            "BoyShamanType" => Some(Self::BoyShamanType),
            "GirlShamanType" => Some(Self::GirlShamanType),
            "BoyMemoryType" => Some(Self::BoyMemoryType),
            "GirlMemoryType" => Some(Self::GirlMemoryType),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gender {
    None = 0,
    Man = 1,
    Woman = 2,
}
impl Gender {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "GenderNone",
            Self::Man => "GenderMan",
            Self::Woman => "GenderWoman",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GenderNone" => Some(Self::None),
            "GenderMan" => Some(Self::Man),
            "GenderWoman" => Some(Self::Woman),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bnhjenkfgea {
    ProductNone = 0,
    ProductNormal = 1,
    ProductLimit = 2,
    ProductLimitNoPay = 3,
    ProductNoProcessOrder = 4,
}
impl Bnhjenkfgea {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ProductNone => "PRODUCT_NONE",
            Self::ProductNormal => "PRODUCT_NORMAL",
            Self::ProductLimit => "PRODUCT_LIMIT",
            Self::ProductLimitNoPay => "PRODUCT_LIMIT_NO_PAY",
            Self::ProductNoProcessOrder => "PRODUCT_NO_PROCESS_ORDER",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PRODUCT_NONE" => Some(Self::ProductNone),
            "PRODUCT_NORMAL" => Some(Self::ProductNormal),
            "PRODUCT_LIMIT" => Some(Self::ProductLimit),
            "PRODUCT_LIMIT_NO_PAY" => Some(Self::ProductLimitNoPay),
            "PRODUCT_NO_PROCESS_ORDER" => Some(Self::ProductNoProcessOrder),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ProductGiftType {
    ProductGiftNone = 0,
    ProductGiftCoin = 1,
    ProductGiftMonthCard = 2,
    ProductGiftBp68 = 3,
    ProductGiftBp128 = 4,
    ProductGiftBp68Upgrade128 = 5,
    ProductGiftPointCard = 6,
    ProductGiftPsPreOrder1 = 7,
    ProductGiftPsPreOrder2 = 8,
    ProductGiftGooglePoints100 = 9,
    ProductGiftGooglePoints150 = 10,
    ProductGiftPsPointCard030 = 11,
    ProductGiftPsPointCard050 = 12,
    ProductGiftPsPointCard100 = 13,
    ProductGiftPsnPlus = 14,
    ProductGiftSingle6 = 15,
    ProductGiftDailyLogin30 = 16,
    ProductGiftAppleGiftCard = 17,
    ProductGiftFtcUpGachaTicket1 = 18,
    ProductGiftFtcUpGachaTicket10 = 19,
    ProductGiftFtcNormalGachaTicket1 = 20,
    ProductGiftFtcNormalGachaTicket10 = 21,
}
impl ProductGiftType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ProductGiftNone => "PRODUCT_GIFT_NONE",
            Self::ProductGiftCoin => "PRODUCT_GIFT_COIN",
            Self::ProductGiftMonthCard => "PRODUCT_GIFT_MONTH_CARD",
            Self::ProductGiftBp68 => "PRODUCT_GIFT_BP_68",
            Self::ProductGiftBp128 => "PRODUCT_GIFT_BP_128",
            Self::ProductGiftBp68Upgrade128 => "PRODUCT_GIFT_BP68_UPGRADE_128",
            Self::ProductGiftPointCard => "PRODUCT_GIFT_POINT_CARD",
            Self::ProductGiftPsPreOrder1 => "PRODUCT_GIFT_PS_PRE_ORDER_1",
            Self::ProductGiftPsPreOrder2 => "PRODUCT_GIFT_PS_PRE_ORDER_2",
            Self::ProductGiftGooglePoints100 => "PRODUCT_GIFT_GOOGLE_POINTS_100",
            Self::ProductGiftGooglePoints150 => "PRODUCT_GIFT_GOOGLE_POINTS_150",
            Self::ProductGiftPsPointCard030 => "PRODUCT_GIFT_PS_POINT_CARD_030",
            Self::ProductGiftPsPointCard050 => "PRODUCT_GIFT_PS_POINT_CARD_050",
            Self::ProductGiftPsPointCard100 => "PRODUCT_GIFT_PS_POINT_CARD_100",
            Self::ProductGiftPsnPlus => "PRODUCT_GIFT_PSN_PLUS",
            Self::ProductGiftSingle6 => "PRODUCT_GIFT_SINGLE_6",
            Self::ProductGiftDailyLogin30 => "PRODUCT_GIFT_DAILY_LOGIN_30",
            Self::ProductGiftAppleGiftCard => "PRODUCT_GIFT_APPLE_GIFT_CARD",
            Self::ProductGiftFtcUpGachaTicket1 => "PRODUCT_GIFT_FTC_UP_GACHA_TICKET_1",
            Self::ProductGiftFtcUpGachaTicket10 => "PRODUCT_GIFT_FTC_UP_GACHA_TICKET_10",
            Self::ProductGiftFtcNormalGachaTicket1 => {
                "PRODUCT_GIFT_FTC_NORMAL_GACHA_TICKET_1"
            }
            Self::ProductGiftFtcNormalGachaTicket10 => {
                "PRODUCT_GIFT_FTC_NORMAL_GACHA_TICKET_10"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PRODUCT_GIFT_NONE" => Some(Self::ProductGiftNone),
            "PRODUCT_GIFT_COIN" => Some(Self::ProductGiftCoin),
            "PRODUCT_GIFT_MONTH_CARD" => Some(Self::ProductGiftMonthCard),
            "PRODUCT_GIFT_BP_68" => Some(Self::ProductGiftBp68),
            "PRODUCT_GIFT_BP_128" => Some(Self::ProductGiftBp128),
            "PRODUCT_GIFT_BP68_UPGRADE_128" => Some(Self::ProductGiftBp68Upgrade128),
            "PRODUCT_GIFT_POINT_CARD" => Some(Self::ProductGiftPointCard),
            "PRODUCT_GIFT_PS_PRE_ORDER_1" => Some(Self::ProductGiftPsPreOrder1),
            "PRODUCT_GIFT_PS_PRE_ORDER_2" => Some(Self::ProductGiftPsPreOrder2),
            "PRODUCT_GIFT_GOOGLE_POINTS_100" => Some(Self::ProductGiftGooglePoints100),
            "PRODUCT_GIFT_GOOGLE_POINTS_150" => Some(Self::ProductGiftGooglePoints150),
            "PRODUCT_GIFT_PS_POINT_CARD_030" => Some(Self::ProductGiftPsPointCard030),
            "PRODUCT_GIFT_PS_POINT_CARD_050" => Some(Self::ProductGiftPsPointCard050),
            "PRODUCT_GIFT_PS_POINT_CARD_100" => Some(Self::ProductGiftPsPointCard100),
            "PRODUCT_GIFT_PSN_PLUS" => Some(Self::ProductGiftPsnPlus),
            "PRODUCT_GIFT_SINGLE_6" => Some(Self::ProductGiftSingle6),
            "PRODUCT_GIFT_DAILY_LOGIN_30" => Some(Self::ProductGiftDailyLogin30),
            "PRODUCT_GIFT_APPLE_GIFT_CARD" => Some(Self::ProductGiftAppleGiftCard),
            "PRODUCT_GIFT_FTC_UP_GACHA_TICKET_1" => {
                Some(Self::ProductGiftFtcUpGachaTicket1)
            }
            "PRODUCT_GIFT_FTC_UP_GACHA_TICKET_10" => {
                Some(Self::ProductGiftFtcUpGachaTicket10)
            }
            "PRODUCT_GIFT_FTC_NORMAL_GACHA_TICKET_1" => {
                Some(Self::ProductGiftFtcNormalGachaTicket1)
            }
            "PRODUCT_GIFT_FTC_NORMAL_GACHA_TICKET_10" => {
                Some(Self::ProductGiftFtcNormalGachaTicket10)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FeatureSwitchType {
    FeatureSwitchNone = 0,
    FeatureSwitchShop = 1,
    FeatureSwitchLineupName = 2,
    FeatureSwitchRechargeShop = 3,
    FeatureSwitchNickname = 4,
    FeatureSwitchSignature = 5,
    FeatureSwitchBattlepass = 6,
    FeatureSwitchPunkLord = 7,
    FeatureSwitchMonthcardDaily = 8,
    FeatureSwitchPictureShare = 9,
    FeatureSwitchRogue = 10,
    FeatureSwitchChallenge = 11,
    FeatureSwitchCocoon = 12,
    FeatureSwitchRaid = 13,
    FeatureSwitchMazePlaneEvent = 14,
    FeatureSwitchActivityPanel = 15,
    FeatureSwitchMailbox = 16,
    FeatureSwitchQuest = 17,
    FeatureSwitchGacha = 18,
    FeatureSwitchChat = 19,
    FeatureSwitchModifyFriendAlias = 20,
    FeatureSwitchUseItem = 21,
    FeatureSwitchActivitySchedule = 22,
    FeatureSwitchFarmElement = 23,
    FeatureSwitchAchievementLevel = 24,
    FeatureSwitchDailyActiveLevel = 25,
    FeatureSwitchPlayerReturn = 26,
    FeatureSwitchFirstSetNickname = 27,
    FeatureSwitchMainMissionReward = 28,
    FeatureSwitchSubMissionReward = 29,
    FeatureSwitchPamMission = 30,
    FeatureSwitchDestroyItem = 32,
    FeatureSwitchConsumeItemTurn = 33,
    FeatureSwitchRogueModifier = 34,
    FeatureSwitchChessRogue = 35,
    FeatureSwitchChessRogueBoard = 36,
    FeatureSwitchRollShop = 37,
    FeatureSwitchH5Return = 38,
    FeatureSwitchOffering = 39,
    FeatureSwitchServerRedPoint = 40,
    FeatureSwitchMonopolyOptionRatio = 41,
    FeatureSwitchMonopolyGetRaffleTicket = 42,
    FeatureSwitchMonopolyTakeRaffleReward = 43,
    FeatureSwitchChallengeRecommendLineup = 44,
    FeatureSwitchPsnMemberShipCheck = 45,
    FeatureSwitchPlayerBoardDevelopment = 46,
    FeatureSwitchPvp = 47,
    FeatureSwitchRogueMode = 48,
    FeatureSwitchRogueTournUgc = 49,
    FeatureSwitchRelicFilterPlanName = 50,
    FeatureSwitchMazeItemUseBuffDrop = 51,
    FeatureSwitchRedDot = 52,
    FeatureSwitchGameStateService = 53,
    FeatureSwitchBenefitIndex = 54,
    FeatureSwitchRogueTournBuildRef = 55,
    FeatureSwitchPreAvatarSetGrowthTarget = 56,
    FeatureSwitchImportRelicFilterPlan = 58,
    FeatureSwitchGachaDecideItem = 59,
    FeatureSwitchItemSync = 60,
    FeatureSwitchRechargeBenefit = 61,
    FeatureSwitchRechargeGift = 62,
    FeatureSwitchRogueTournBuildRefShareCode = 63,
    FeatureSwitchGachaAvatarToast = 64,
    FeatureSwitchRogueTournBuildRefShareCodeRename = 65,
    FeatureSwitchRelicSmartDiscard = 66,
    FeatureSwitchPlanetfesSocial = 67,
}
impl FeatureSwitchType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FeatureSwitchNone => "FEATURE_SWITCH_NONE",
            Self::FeatureSwitchShop => "FEATURE_SWITCH_SHOP",
            Self::FeatureSwitchLineupName => "FEATURE_SWITCH_LINEUP_NAME",
            Self::FeatureSwitchRechargeShop => "FEATURE_SWITCH_RECHARGE_SHOP",
            Self::FeatureSwitchNickname => "FEATURE_SWITCH_NICKNAME",
            Self::FeatureSwitchSignature => "FEATURE_SWITCH_SIGNATURE",
            Self::FeatureSwitchBattlepass => "FEATURE_SWITCH_BATTLEPASS",
            Self::FeatureSwitchPunkLord => "FEATURE_SWITCH_PUNK_LORD",
            Self::FeatureSwitchMonthcardDaily => "FEATURE_SWITCH_MONTHCARD_DAILY",
            Self::FeatureSwitchPictureShare => "FEATURE_SWITCH_PICTURE_SHARE",
            Self::FeatureSwitchRogue => "FEATURE_SWITCH_ROGUE",
            Self::FeatureSwitchChallenge => "FEATURE_SWITCH_CHALLENGE",
            Self::FeatureSwitchCocoon => "FEATURE_SWITCH_COCOON",
            Self::FeatureSwitchRaid => "FEATURE_SWITCH_RAID",
            Self::FeatureSwitchMazePlaneEvent => "FEATURE_SWITCH_MAZE_PLANE_EVENT",
            Self::FeatureSwitchActivityPanel => "FEATURE_SWITCH_ACTIVITY_PANEL",
            Self::FeatureSwitchMailbox => "FEATURE_SWITCH_MAILBOX",
            Self::FeatureSwitchQuest => "FEATURE_SWITCH_QUEST",
            Self::FeatureSwitchGacha => "FEATURE_SWITCH_GACHA",
            Self::FeatureSwitchChat => "FEATURE_SWITCH_CHAT",
            Self::FeatureSwitchModifyFriendAlias => "FEATURE_SWITCH_MODIFY_FRIEND_ALIAS",
            Self::FeatureSwitchUseItem => "FEATURE_SWITCH_USE_ITEM",
            Self::FeatureSwitchActivitySchedule => "FEATURE_SWITCH_ACTIVITY_SCHEDULE",
            Self::FeatureSwitchFarmElement => "FEATURE_SWITCH_FARM_ELEMENT",
            Self::FeatureSwitchAchievementLevel => "FEATURE_SWITCH_ACHIEVEMENT_LEVEL",
            Self::FeatureSwitchDailyActiveLevel => "FEATURE_SWITCH_DAILY_ACTIVE_LEVEL",
            Self::FeatureSwitchPlayerReturn => "FEATURE_SWITCH_PLAYER_RETURN",
            Self::FeatureSwitchFirstSetNickname => "FEATURE_SWITCH_FIRST_SET_NICKNAME",
            Self::FeatureSwitchMainMissionReward => "FEATURE_SWITCH_MAIN_MISSION_REWARD",
            Self::FeatureSwitchSubMissionReward => "FEATURE_SWITCH_SUB_MISSION_REWARD",
            Self::FeatureSwitchPamMission => "FEATURE_SWITCH_PAM_MISSION",
            Self::FeatureSwitchDestroyItem => "FEATURE_SWITCH_DESTROY_ITEM",
            Self::FeatureSwitchConsumeItemTurn => "FEATURE_SWITCH_CONSUME_ITEM_TURN",
            Self::FeatureSwitchRogueModifier => "FEATURE_SWITCH_ROGUE_MODIFIER",
            Self::FeatureSwitchChessRogue => "FEATURE_SWITCH_CHESS_ROGUE",
            Self::FeatureSwitchChessRogueBoard => "FEATURE_SWITCH_CHESS_ROGUE_BOARD",
            Self::FeatureSwitchRollShop => "FEATURE_SWITCH_ROLL_SHOP",
            Self::FeatureSwitchH5Return => "FEATURE_SWITCH_H5_RETURN",
            Self::FeatureSwitchOffering => "FEATURE_SWITCH_OFFERING",
            Self::FeatureSwitchServerRedPoint => "FEATURE_SWITCH_SERVER_RED_POINT",
            Self::FeatureSwitchMonopolyOptionRatio => {
                "FEATURE_SWITCH_MONOPOLY_OPTION_RATIO"
            }
            Self::FeatureSwitchMonopolyGetRaffleTicket => {
                "FEATURE_SWITCH_MONOPOLY_GET_RAFFLE_TICKET"
            }
            Self::FeatureSwitchMonopolyTakeRaffleReward => {
                "FEATURE_SWITCH_MONOPOLY_TAKE_RAFFLE_REWARD"
            }
            Self::FeatureSwitchChallengeRecommendLineup => {
                "FEATURE_SWITCH_CHALLENGE_RECOMMEND_LINEUP"
            }
            Self::FeatureSwitchPsnMemberShipCheck => {
                "FEATURE_SWITCH_PSN_MEMBER_SHIP_CHECK"
            }
            Self::FeatureSwitchPlayerBoardDevelopment => {
                "FEATURE_SWITCH_PLAYER_BOARD_DEVELOPMENT"
            }
            Self::FeatureSwitchPvp => "FEATURE_SWITCH_PVP",
            Self::FeatureSwitchRogueMode => "FEATURE_SWITCH_ROGUE_MODE",
            Self::FeatureSwitchRogueTournUgc => "FEATURE_SWITCH_ROGUE_TOURN_UGC",
            Self::FeatureSwitchRelicFilterPlanName => {
                "FEATURE_SWITCH_RELIC_FILTER_PLAN_NAME"
            }
            Self::FeatureSwitchMazeItemUseBuffDrop => {
                "FEATURE_SWITCH_MAZE_ITEM_USE_BUFF_DROP"
            }
            Self::FeatureSwitchRedDot => "FEATURE_SWITCH_RED_DOT",
            Self::FeatureSwitchGameStateService => "FEATURE_SWITCH_GAME_STATE_SERVICE",
            Self::FeatureSwitchBenefitIndex => "FEATURE_SWITCH_BENEFIT_INDEX",
            Self::FeatureSwitchRogueTournBuildRef => {
                "FEATURE_SWITCH_ROGUE_TOURN_BUILD_REF"
            }
            Self::FeatureSwitchPreAvatarSetGrowthTarget => {
                "FEATURE_SWITCH_PRE_AVATAR_SET_GROWTH_TARGET"
            }
            Self::FeatureSwitchImportRelicFilterPlan => {
                "FEATURE_SWITCH_IMPORT_RELIC_FILTER_PLAN"
            }
            Self::FeatureSwitchGachaDecideItem => "FEATURE_SWITCH_GACHA_DECIDE_ITEM",
            Self::FeatureSwitchItemSync => "FEATURE_SWITCH_ITEM_SYNC",
            Self::FeatureSwitchRechargeBenefit => "FEATURE_SWITCH_RECHARGE_BENEFIT",
            Self::FeatureSwitchRechargeGift => "FEATURE_SWITCH_RECHARGE_GIFT",
            Self::FeatureSwitchRogueTournBuildRefShareCode => {
                "FEATURE_SWITCH_ROGUE_TOURN_BUILD_REF_SHARE_CODE"
            }
            Self::FeatureSwitchGachaAvatarToast => "FEATURE_SWITCH_GACHA_AVATAR_TOAST",
            Self::FeatureSwitchRogueTournBuildRefShareCodeRename => {
                "FEATURE_SWITCH_ROGUE_TOURN_BUILD_REF_SHARE_CODE_RENAME"
            }
            Self::FeatureSwitchRelicSmartDiscard => "FEATURE_SWITCH_RELIC_SMART_DISCARD",
            Self::FeatureSwitchPlanetfesSocial => "FEATURE_SWITCH_PLANETFES_SOCIAL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEATURE_SWITCH_NONE" => Some(Self::FeatureSwitchNone),
            "FEATURE_SWITCH_SHOP" => Some(Self::FeatureSwitchShop),
            "FEATURE_SWITCH_LINEUP_NAME" => Some(Self::FeatureSwitchLineupName),
            "FEATURE_SWITCH_RECHARGE_SHOP" => Some(Self::FeatureSwitchRechargeShop),
            "FEATURE_SWITCH_NICKNAME" => Some(Self::FeatureSwitchNickname),
            "FEATURE_SWITCH_SIGNATURE" => Some(Self::FeatureSwitchSignature),
            "FEATURE_SWITCH_BATTLEPASS" => Some(Self::FeatureSwitchBattlepass),
            "FEATURE_SWITCH_PUNK_LORD" => Some(Self::FeatureSwitchPunkLord),
            "FEATURE_SWITCH_MONTHCARD_DAILY" => Some(Self::FeatureSwitchMonthcardDaily),
            "FEATURE_SWITCH_PICTURE_SHARE" => Some(Self::FeatureSwitchPictureShare),
            "FEATURE_SWITCH_ROGUE" => Some(Self::FeatureSwitchRogue),
            "FEATURE_SWITCH_CHALLENGE" => Some(Self::FeatureSwitchChallenge),
            "FEATURE_SWITCH_COCOON" => Some(Self::FeatureSwitchCocoon),
            "FEATURE_SWITCH_RAID" => Some(Self::FeatureSwitchRaid),
            "FEATURE_SWITCH_MAZE_PLANE_EVENT" => Some(Self::FeatureSwitchMazePlaneEvent),
            "FEATURE_SWITCH_ACTIVITY_PANEL" => Some(Self::FeatureSwitchActivityPanel),
            "FEATURE_SWITCH_MAILBOX" => Some(Self::FeatureSwitchMailbox),
            "FEATURE_SWITCH_QUEST" => Some(Self::FeatureSwitchQuest),
            "FEATURE_SWITCH_GACHA" => Some(Self::FeatureSwitchGacha),
            "FEATURE_SWITCH_CHAT" => Some(Self::FeatureSwitchChat),
            "FEATURE_SWITCH_MODIFY_FRIEND_ALIAS" => {
                Some(Self::FeatureSwitchModifyFriendAlias)
            }
            "FEATURE_SWITCH_USE_ITEM" => Some(Self::FeatureSwitchUseItem),
            "FEATURE_SWITCH_ACTIVITY_SCHEDULE" => {
                Some(Self::FeatureSwitchActivitySchedule)
            }
            "FEATURE_SWITCH_FARM_ELEMENT" => Some(Self::FeatureSwitchFarmElement),
            "FEATURE_SWITCH_ACHIEVEMENT_LEVEL" => {
                Some(Self::FeatureSwitchAchievementLevel)
            }
            "FEATURE_SWITCH_DAILY_ACTIVE_LEVEL" => {
                Some(Self::FeatureSwitchDailyActiveLevel)
            }
            "FEATURE_SWITCH_PLAYER_RETURN" => Some(Self::FeatureSwitchPlayerReturn),
            "FEATURE_SWITCH_FIRST_SET_NICKNAME" => {
                Some(Self::FeatureSwitchFirstSetNickname)
            }
            "FEATURE_SWITCH_MAIN_MISSION_REWARD" => {
                Some(Self::FeatureSwitchMainMissionReward)
            }
            "FEATURE_SWITCH_SUB_MISSION_REWARD" => {
                Some(Self::FeatureSwitchSubMissionReward)
            }
            "FEATURE_SWITCH_PAM_MISSION" => Some(Self::FeatureSwitchPamMission),
            "FEATURE_SWITCH_DESTROY_ITEM" => Some(Self::FeatureSwitchDestroyItem),
            "FEATURE_SWITCH_CONSUME_ITEM_TURN" => {
                Some(Self::FeatureSwitchConsumeItemTurn)
            }
            "FEATURE_SWITCH_ROGUE_MODIFIER" => Some(Self::FeatureSwitchRogueModifier),
            "FEATURE_SWITCH_CHESS_ROGUE" => Some(Self::FeatureSwitchChessRogue),
            "FEATURE_SWITCH_CHESS_ROGUE_BOARD" => {
                Some(Self::FeatureSwitchChessRogueBoard)
            }
            "FEATURE_SWITCH_ROLL_SHOP" => Some(Self::FeatureSwitchRollShop),
            "FEATURE_SWITCH_H5_RETURN" => Some(Self::FeatureSwitchH5Return),
            "FEATURE_SWITCH_OFFERING" => Some(Self::FeatureSwitchOffering),
            "FEATURE_SWITCH_SERVER_RED_POINT" => Some(Self::FeatureSwitchServerRedPoint),
            "FEATURE_SWITCH_MONOPOLY_OPTION_RATIO" => {
                Some(Self::FeatureSwitchMonopolyOptionRatio)
            }
            "FEATURE_SWITCH_MONOPOLY_GET_RAFFLE_TICKET" => {
                Some(Self::FeatureSwitchMonopolyGetRaffleTicket)
            }
            "FEATURE_SWITCH_MONOPOLY_TAKE_RAFFLE_REWARD" => {
                Some(Self::FeatureSwitchMonopolyTakeRaffleReward)
            }
            "FEATURE_SWITCH_CHALLENGE_RECOMMEND_LINEUP" => {
                Some(Self::FeatureSwitchChallengeRecommendLineup)
            }
            "FEATURE_SWITCH_PSN_MEMBER_SHIP_CHECK" => {
                Some(Self::FeatureSwitchPsnMemberShipCheck)
            }
            "FEATURE_SWITCH_PLAYER_BOARD_DEVELOPMENT" => {
                Some(Self::FeatureSwitchPlayerBoardDevelopment)
            }
            "FEATURE_SWITCH_PVP" => Some(Self::FeatureSwitchPvp),
            "FEATURE_SWITCH_ROGUE_MODE" => Some(Self::FeatureSwitchRogueMode),
            "FEATURE_SWITCH_ROGUE_TOURN_UGC" => Some(Self::FeatureSwitchRogueTournUgc),
            "FEATURE_SWITCH_RELIC_FILTER_PLAN_NAME" => {
                Some(Self::FeatureSwitchRelicFilterPlanName)
            }
            "FEATURE_SWITCH_MAZE_ITEM_USE_BUFF_DROP" => {
                Some(Self::FeatureSwitchMazeItemUseBuffDrop)
            }
            "FEATURE_SWITCH_RED_DOT" => Some(Self::FeatureSwitchRedDot),
            "FEATURE_SWITCH_GAME_STATE_SERVICE" => {
                Some(Self::FeatureSwitchGameStateService)
            }
            "FEATURE_SWITCH_BENEFIT_INDEX" => Some(Self::FeatureSwitchBenefitIndex),
            "FEATURE_SWITCH_ROGUE_TOURN_BUILD_REF" => {
                Some(Self::FeatureSwitchRogueTournBuildRef)
            }
            "FEATURE_SWITCH_PRE_AVATAR_SET_GROWTH_TARGET" => {
                Some(Self::FeatureSwitchPreAvatarSetGrowthTarget)
            }
            "FEATURE_SWITCH_IMPORT_RELIC_FILTER_PLAN" => {
                Some(Self::FeatureSwitchImportRelicFilterPlan)
            }
            "FEATURE_SWITCH_GACHA_DECIDE_ITEM" => {
                Some(Self::FeatureSwitchGachaDecideItem)
            }
            "FEATURE_SWITCH_ITEM_SYNC" => Some(Self::FeatureSwitchItemSync),
            "FEATURE_SWITCH_RECHARGE_BENEFIT" => Some(Self::FeatureSwitchRechargeBenefit),
            "FEATURE_SWITCH_RECHARGE_GIFT" => Some(Self::FeatureSwitchRechargeGift),
            "FEATURE_SWITCH_ROGUE_TOURN_BUILD_REF_SHARE_CODE" => {
                Some(Self::FeatureSwitchRogueTournBuildRefShareCode)
            }
            "FEATURE_SWITCH_GACHA_AVATAR_TOAST" => {
                Some(Self::FeatureSwitchGachaAvatarToast)
            }
            "FEATURE_SWITCH_ROGUE_TOURN_BUILD_REF_SHARE_CODE_RENAME" => {
                Some(Self::FeatureSwitchRogueTournBuildRefShareCodeRename)
            }
            "FEATURE_SWITCH_RELIC_SMART_DISCARD" => {
                Some(Self::FeatureSwitchRelicSmartDiscard)
            }
            "FEATURE_SWITCH_PLANETFES_SOCIAL" => Some(Self::FeatureSwitchPlanetfesSocial),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SecretKeyType {
    SecretKeyNone = 0,
    SecretKeyServerCheck = 1,
    SecretKeyVideo = 2,
    SecretKeyBattleTime = 3,
}
impl SecretKeyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::SecretKeyNone => "SECRET_KEY_NONE",
            Self::SecretKeyServerCheck => "SECRET_KEY_SERVER_CHECK",
            Self::SecretKeyVideo => "SECRET_KEY_VIDEO",
            Self::SecretKeyBattleTime => "SECRET_KEY_BATTLE_TIME",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SECRET_KEY_NONE" => Some(Self::SecretKeyNone),
            "SECRET_KEY_SERVER_CHECK" => Some(Self::SecretKeyServerCheck),
            "SECRET_KEY_VIDEO" => Some(Self::SecretKeyVideo),
            "SECRET_KEY_BATTLE_TIME" => Some(Self::SecretKeyBattleTime),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ReplayType {
    None = 0,
    PunkLord = 1,
}
impl ReplayType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "REPLAY_TYPE_NONE",
            Self::PunkLord => "REPLAY_TYPE_PUNK_LORD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "REPLAY_TYPE_NONE" => Some(Self::None),
            "REPLAY_TYPE_PUNK_LORD" => Some(Self::PunkLord),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PunkLordShareType {
    None = 0,
    Friend = 1,
    All = 2,
}
impl PunkLordShareType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "PUNK_LORD_SHARE_TYPE_NONE",
            Self::Friend => "PUNK_LORD_SHARE_TYPE_FRIEND",
            Self::All => "PUNK_LORD_SHARE_TYPE_ALL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PUNK_LORD_SHARE_TYPE_NONE" => Some(Self::None),
            "PUNK_LORD_SHARE_TYPE_FRIEND" => Some(Self::Friend),
            "PUNK_LORD_SHARE_TYPE_ALL" => Some(Self::All),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PunkLordAttackerStatus {
    None = 0,
    Attacked = 1,
    Attacking = 2,
    AttackedAndAttacking = 3,
}
impl PunkLordAttackerStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "PUNK_LORD_ATTACKER_STATUS_NONE",
            Self::Attacked => "PUNK_LORD_ATTACKER_STATUS_ATTACKED",
            Self::Attacking => "PUNK_LORD_ATTACKER_STATUS_ATTACKING",
            Self::AttackedAndAttacking => {
                "PUNK_LORD_ATTACKER_STATUS_ATTACKED_AND_ATTACKING"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PUNK_LORD_ATTACKER_STATUS_NONE" => Some(Self::None),
            "PUNK_LORD_ATTACKER_STATUS_ATTACKED" => Some(Self::Attacked),
            "PUNK_LORD_ATTACKER_STATUS_ATTACKING" => Some(Self::Attacking),
            "PUNK_LORD_ATTACKER_STATUS_ATTACKED_AND_ATTACKING" => {
                Some(Self::AttackedAndAttacking)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PunkLordMonsterInfoNotifyReason {
    None = 0,
    EnterRaid = 1,
    BattleEnd = 2,
    LeaveRaid = 3,
}
impl PunkLordMonsterInfoNotifyReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_NONE",
            Self::EnterRaid => "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_ENTER_RAID",
            Self::BattleEnd => "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_BATTLE_END",
            Self::LeaveRaid => "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_LEAVE_RAID",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_NONE" => Some(Self::None),
            "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_ENTER_RAID" => Some(Self::EnterRaid),
            "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_BATTLE_END" => Some(Self::BattleEnd),
            "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_LEAVE_RAID" => Some(Self::LeaveRaid),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChatType {
    None = 0,
    Private = 1,
    Group = 2,
}
impl ChatType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CHAT_TYPE_NONE",
            Self::Private => "CHAT_TYPE_PRIVATE",
            Self::Group => "CHAT_TYPE_GROUP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHAT_TYPE_NONE" => Some(Self::None),
            "CHAT_TYPE_PRIVATE" => Some(Self::Private),
            "CHAT_TYPE_GROUP" => Some(Self::Group),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MsgType {
    None = 0,
    CustomText = 1,
    Emoji = 2,
    Invite = 3,
    PlanetFes = 4,
}
impl MsgType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "MSG_TYPE_NONE",
            Self::CustomText => "MSG_TYPE_CUSTOM_TEXT",
            Self::Emoji => "MSG_TYPE_EMOJI",
            Self::Invite => "MSG_TYPE_INVITE",
            Self::PlanetFes => "MSG_TYPE_PLANET_FES",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MSG_TYPE_NONE" => Some(Self::None),
            "MSG_TYPE_CUSTOM_TEXT" => Some(Self::CustomText),
            "MSG_TYPE_EMOJI" => Some(Self::Emoji),
            "MSG_TYPE_INVITE" => Some(Self::Invite),
            "MSG_TYPE_PLANET_FES" => Some(Self::PlanetFes),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gejhdkjnclp {
    PlanetFesMsgContentNone = 0,
    PlanetFesMsgContentApplyReq = 1,
    PlanetFesMsgContentPieceOffered = 2,
}
impl Gejhdkjnclp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PlanetFesMsgContentNone => "PLANET_FES_MSG_CONTENT_NONE",
            Self::PlanetFesMsgContentApplyReq => "PLANET_FES_MSG_CONTENT_APPLY_REQ",
            Self::PlanetFesMsgContentPieceOffered => {
                "PLANET_FES_MSG_CONTENT_PIECE_OFFERED"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLANET_FES_MSG_CONTENT_NONE" => Some(Self::PlanetFesMsgContentNone),
            "PLANET_FES_MSG_CONTENT_APPLY_REQ" => Some(Self::PlanetFesMsgContentApplyReq),
            "PLANET_FES_MSG_CONTENT_PIECE_OFFERED" => {
                Some(Self::PlanetFesMsgContentPieceOffered)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ShieldType {
    None = 0,
    Replace = 1,
    Shied = 2,
}
impl ShieldType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "SHIELD_TYPE_NONE",
            Self::Replace => "SHIELD_TYPE_REPLACE",
            Self::Shied => "SHIELD_TYPE_SHIED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SHIELD_TYPE_NONE" => Some(Self::None),
            "SHIELD_TYPE_REPLACE" => Some(Self::Replace),
            "SHIELD_TYPE_SHIED" => Some(Self::Shied),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FuncUnlockIdType {
    FuncUnlockIdNone = 0,
    FuncUnlockIdRelic = 403,
    FuncUnlockIdRelicNum = 404,
    FuncUnlockIdEquipment = 401,
    FuncUnlockIdSkilltree = 402,
    FuncUnlockIdGacha = 2300,
    FuncUnlockIdExpedition = 3100,
    FuncUnlockIdCompose = 4100,
    FuncUnlockIdFightactivity = 3700,
}
impl FuncUnlockIdType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FuncUnlockIdNone => "FUNC_UNLOCK_ID_NONE",
            Self::FuncUnlockIdRelic => "FUNC_UNLOCK_ID_RELIC",
            Self::FuncUnlockIdRelicNum => "FUNC_UNLOCK_ID_RELIC_NUM",
            Self::FuncUnlockIdEquipment => "FUNC_UNLOCK_ID_EQUIPMENT",
            Self::FuncUnlockIdSkilltree => "FUNC_UNLOCK_ID_SKILLTREE",
            Self::FuncUnlockIdGacha => "FUNC_UNLOCK_ID_GACHA",
            Self::FuncUnlockIdExpedition => "FUNC_UNLOCK_ID_EXPEDITION",
            Self::FuncUnlockIdCompose => "FUNC_UNLOCK_ID_COMPOSE",
            Self::FuncUnlockIdFightactivity => "FUNC_UNLOCK_ID_FIGHTACTIVITY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FUNC_UNLOCK_ID_NONE" => Some(Self::FuncUnlockIdNone),
            "FUNC_UNLOCK_ID_RELIC" => Some(Self::FuncUnlockIdRelic),
            "FUNC_UNLOCK_ID_RELIC_NUM" => Some(Self::FuncUnlockIdRelicNum),
            "FUNC_UNLOCK_ID_EQUIPMENT" => Some(Self::FuncUnlockIdEquipment),
            "FUNC_UNLOCK_ID_SKILLTREE" => Some(Self::FuncUnlockIdSkilltree),
            "FUNC_UNLOCK_ID_GACHA" => Some(Self::FuncUnlockIdGacha),
            "FUNC_UNLOCK_ID_EXPEDITION" => Some(Self::FuncUnlockIdExpedition),
            "FUNC_UNLOCK_ID_COMPOSE" => Some(Self::FuncUnlockIdCompose),
            "FUNC_UNLOCK_ID_FIGHTACTIVITY" => Some(Self::FuncUnlockIdFightactivity),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AssistAvatarType {
    AssistAvatarUnknow = 0,
    AssistAvatarLevel = 1,
    AssistAvatarRank = 2,
}
impl AssistAvatarType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AssistAvatarUnknow => "ASSIST_AVATAR_UNKNOW",
            Self::AssistAvatarLevel => "ASSIST_AVATAR_LEVEL",
            Self::AssistAvatarRank => "ASSIST_AVATAR_RANK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ASSIST_AVATAR_UNKNOW" => Some(Self::AssistAvatarUnknow),
            "ASSIST_AVATAR_LEVEL" => Some(Self::AssistAvatarLevel),
            "ASSIST_AVATAR_RANK" => Some(Self::AssistAvatarRank),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DevelopmentType {
    DevelopmentNone = 0,
    DevelopmentRogueCosmos = 1,
    DevelopmentRogueChess = 2,
    DevelopmentRogueChessNous = 3,
    DevelopmentMemoryChallenge = 4,
    DevelopmentStoryChallenge = 5,
    DevelopmentUnlockAvatar = 6,
    DevelopmentUnlockEquipment = 7,
    DevelopmentActivityStart = 8,
    DevelopmentActivityEnd = 9,
    DevelopmentBossChallenge = 10,
    DevelopmentRogueTourn = 11,
    DevelopmentRogueTournWeek = 12,
    DevelopmentRogueMagic = 13,
}
impl DevelopmentType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::DevelopmentNone => "DEVELOPMENT_NONE",
            Self::DevelopmentRogueCosmos => "DEVELOPMENT_ROGUE_COSMOS",
            Self::DevelopmentRogueChess => "DEVELOPMENT_ROGUE_CHESS",
            Self::DevelopmentRogueChessNous => "DEVELOPMENT_ROGUE_CHESS_NOUS",
            Self::DevelopmentMemoryChallenge => "DEVELOPMENT_MEMORY_CHALLENGE",
            Self::DevelopmentStoryChallenge => "DEVELOPMENT_STORY_CHALLENGE",
            Self::DevelopmentUnlockAvatar => "DEVELOPMENT_UNLOCK_AVATAR",
            Self::DevelopmentUnlockEquipment => "DEVELOPMENT_UNLOCK_EQUIPMENT",
            Self::DevelopmentActivityStart => "DEVELOPMENT_ACTIVITY_START",
            Self::DevelopmentActivityEnd => "DEVELOPMENT_ACTIVITY_END",
            Self::DevelopmentBossChallenge => "DEVELOPMENT_BOSS_CHALLENGE",
            Self::DevelopmentRogueTourn => "DEVELOPMENT_ROGUE_TOURN",
            Self::DevelopmentRogueTournWeek => "DEVELOPMENT_ROGUE_TOURN_WEEK",
            Self::DevelopmentRogueMagic => "DEVELOPMENT_ROGUE_MAGIC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DEVELOPMENT_NONE" => Some(Self::DevelopmentNone),
            "DEVELOPMENT_ROGUE_COSMOS" => Some(Self::DevelopmentRogueCosmos),
            "DEVELOPMENT_ROGUE_CHESS" => Some(Self::DevelopmentRogueChess),
            "DEVELOPMENT_ROGUE_CHESS_NOUS" => Some(Self::DevelopmentRogueChessNous),
            "DEVELOPMENT_MEMORY_CHALLENGE" => Some(Self::DevelopmentMemoryChallenge),
            "DEVELOPMENT_STORY_CHALLENGE" => Some(Self::DevelopmentStoryChallenge),
            "DEVELOPMENT_UNLOCK_AVATAR" => Some(Self::DevelopmentUnlockAvatar),
            "DEVELOPMENT_UNLOCK_EQUIPMENT" => Some(Self::DevelopmentUnlockEquipment),
            "DEVELOPMENT_ACTIVITY_START" => Some(Self::DevelopmentActivityStart),
            "DEVELOPMENT_ACTIVITY_END" => Some(Self::DevelopmentActivityEnd),
            "DEVELOPMENT_BOSS_CHALLENGE" => Some(Self::DevelopmentBossChallenge),
            "DEVELOPMENT_ROGUE_TOURN" => Some(Self::DevelopmentRogueTourn),
            "DEVELOPMENT_ROGUE_TOURN_WEEK" => Some(Self::DevelopmentRogueTournWeek),
            "DEVELOPMENT_ROGUE_MAGIC" => Some(Self::DevelopmentRogueMagic),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlayingState {
    None = 0,
    PlayingRogueCosmos = 1,
    PlayingRogueChess = 2,
    PlayingRogueChessNous = 3,
    PlayingChallengeMemory = 4,
    PlayingChallengeStory = 5,
    PlayingChallengeBoss = 6,
    PlayingRogueTourn = 7,
    PlayingRogueMagic = 8,
}
impl PlayingState {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "PLAYING_STATE_NONE",
            Self::PlayingRogueCosmos => "PLAYING_ROGUE_COSMOS",
            Self::PlayingRogueChess => "PLAYING_ROGUE_CHESS",
            Self::PlayingRogueChessNous => "PLAYING_ROGUE_CHESS_NOUS",
            Self::PlayingChallengeMemory => "PLAYING_CHALLENGE_MEMORY",
            Self::PlayingChallengeStory => "PLAYING_CHALLENGE_STORY",
            Self::PlayingChallengeBoss => "PLAYING_CHALLENGE_BOSS",
            Self::PlayingRogueTourn => "PLAYING_ROGUE_TOURN",
            Self::PlayingRogueMagic => "PLAYING_ROGUE_MAGIC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLAYING_STATE_NONE" => Some(Self::None),
            "PLAYING_ROGUE_COSMOS" => Some(Self::PlayingRogueCosmos),
            "PLAYING_ROGUE_CHESS" => Some(Self::PlayingRogueChess),
            "PLAYING_ROGUE_CHESS_NOUS" => Some(Self::PlayingRogueChessNous),
            "PLAYING_CHALLENGE_MEMORY" => Some(Self::PlayingChallengeMemory),
            "PLAYING_CHALLENGE_STORY" => Some(Self::PlayingChallengeStory),
            "PLAYING_CHALLENGE_BOSS" => Some(Self::PlayingChallengeBoss),
            "PLAYING_ROGUE_TOURN" => Some(Self::PlayingRogueTourn),
            "PLAYING_ROGUE_MAGIC" => Some(Self::PlayingRogueMagic),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MatchRoomCharacterType {
    MatchRoomCharacterNone = 0,
    MatchRoomCharacterLeader = 1,
    MatchRoomCharacterMember = 2,
    MatchRoomCharacterWatcher = 3,
}
impl MatchRoomCharacterType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MatchRoomCharacterNone => "MatchRoomCharacter_None",
            Self::MatchRoomCharacterLeader => "MatchRoomCharacter_Leader",
            Self::MatchRoomCharacterMember => "MatchRoomCharacter_Member",
            Self::MatchRoomCharacterWatcher => "MatchRoomCharacter_Watcher",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MatchRoomCharacter_None" => Some(Self::MatchRoomCharacterNone),
            "MatchRoomCharacter_Leader" => Some(Self::MatchRoomCharacterLeader),
            "MatchRoomCharacter_Member" => Some(Self::MatchRoomCharacterMember),
            "MatchRoomCharacter_Watcher" => Some(Self::MatchRoomCharacterWatcher),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MatchRoomCharacterStatus {
    None = 0,
    Idle = 1,
    Operating = 2,
    Ready = 3,
    Fighting = 4,
    Watching = 5,
}
impl MatchRoomCharacterStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "MatchRoomCharacterStatus_None",
            Self::Idle => "MatchRoomCharacterStatus_Idle",
            Self::Operating => "MatchRoomCharacterStatus_Operating",
            Self::Ready => "MatchRoomCharacterStatus_Ready",
            Self::Fighting => "MatchRoomCharacterStatus_Fighting",
            Self::Watching => "MatchRoomCharacterStatus_Watching",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MatchRoomCharacterStatus_None" => Some(Self::None),
            "MatchRoomCharacterStatus_Idle" => Some(Self::Idle),
            "MatchRoomCharacterStatus_Operating" => Some(Self::Operating),
            "MatchRoomCharacterStatus_Ready" => Some(Self::Ready),
            "MatchRoomCharacterStatus_Fighting" => Some(Self::Fighting),
            "MatchRoomCharacterStatus_Watching" => Some(Self::Watching),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mgecfloeoeg {
    PlanetFesCardPieceApplyPermissionReview = 0,
    PlanetFesCardPieceApplyPermissionFree = 1,
    PlanetFesCardPiecePermissionBan = 2,
}
impl Mgecfloeoeg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PlanetFesCardPieceApplyPermissionReview => {
                "PLANET_FES_CARD_PIECE_APPLY_PERMISSION_REVIEW"
            }
            Self::PlanetFesCardPieceApplyPermissionFree => {
                "PLANET_FES_CARD_PIECE_APPLY_PERMISSION_FREE"
            }
            Self::PlanetFesCardPiecePermissionBan => {
                "PLANET_FES_CARD_PIECE_PERMISSION_BAN"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLANET_FES_CARD_PIECE_APPLY_PERMISSION_REVIEW" => {
                Some(Self::PlanetFesCardPieceApplyPermissionReview)
            }
            "PLANET_FES_CARD_PIECE_APPLY_PERMISSION_FREE" => {
                Some(Self::PlanetFesCardPieceApplyPermissionFree)
            }
            "PLANET_FES_CARD_PIECE_PERMISSION_BAN" => {
                Some(Self::PlanetFesCardPiecePermissionBan)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ghangcboemc {
    PlanetFesCardPieceInteractApplying = 0,
    PlanetFesCardPieceInteractOffered = 1,
    PlanetFesCardPieceInteractOfferTaken = 2,
    PlanetFesCardPieceInteractApplyCanceld = 3,
    PlanetFesCardPieceInteractApplyCompensated = 4,
}
impl Ghangcboemc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PlanetFesCardPieceInteractApplying => {
                "PLANET_FES_CARD_PIECE_INTERACT_APPLYING"
            }
            Self::PlanetFesCardPieceInteractOffered => {
                "PLANET_FES_CARD_PIECE_INTERACT_OFFERED"
            }
            Self::PlanetFesCardPieceInteractOfferTaken => {
                "PLANET_FES_CARD_PIECE_INTERACT_OFFER_TAKEN"
            }
            Self::PlanetFesCardPieceInteractApplyCanceld => {
                "PLANET_FES_CARD_PIECE_INTERACT_APPLY_CANCELD"
            }
            Self::PlanetFesCardPieceInteractApplyCompensated => {
                "PLANET_FES_CARD_PIECE_INTERACT_APPLY_COMPENSATED"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLANET_FES_CARD_PIECE_INTERACT_APPLYING" => {
                Some(Self::PlanetFesCardPieceInteractApplying)
            }
            "PLANET_FES_CARD_PIECE_INTERACT_OFFERED" => {
                Some(Self::PlanetFesCardPieceInteractOffered)
            }
            "PLANET_FES_CARD_PIECE_INTERACT_OFFER_TAKEN" => {
                Some(Self::PlanetFesCardPieceInteractOfferTaken)
            }
            "PLANET_FES_CARD_PIECE_INTERACT_APPLY_CANCELD" => {
                Some(Self::PlanetFesCardPieceInteractApplyCanceld)
            }
            "PLANET_FES_CARD_PIECE_INTERACT_APPLY_COMPENSATED" => {
                Some(Self::PlanetFesCardPieceInteractApplyCompensated)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ijhbcbeopfe {
    PlanetFesCardPieceOfferSourceReviewApply = 0,
    PlanetFesCardPieceOfferSourceFreeApply = 1,
    PlanetFesCardPieceOfferSourceGive = 2,
}
impl Ijhbcbeopfe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PlanetFesCardPieceOfferSourceReviewApply => {
                "PLANET_FES_CARD_PIECE_OFFER_SOURCE_REVIEW_APPLY"
            }
            Self::PlanetFesCardPieceOfferSourceFreeApply => {
                "PLANET_FES_CARD_PIECE_OFFER_SOURCE_FREE_APPLY"
            }
            Self::PlanetFesCardPieceOfferSourceGive => {
                "PLANET_FES_CARD_PIECE_OFFER_SOURCE_GIVE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLANET_FES_CARD_PIECE_OFFER_SOURCE_REVIEW_APPLY" => {
                Some(Self::PlanetFesCardPieceOfferSourceReviewApply)
            }
            "PLANET_FES_CARD_PIECE_OFFER_SOURCE_FREE_APPLY" => {
                Some(Self::PlanetFesCardPieceOfferSourceFreeApply)
            }
            "PLANET_FES_CARD_PIECE_OFFER_SOURCE_GIVE" => {
                Some(Self::PlanetFesCardPieceOfferSourceGive)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dllleandaih {
    FriendRecommendLineupTypeNone = 0,
    FriendRecommendLineupTypeChallenge = 1,
    FriendRecommendLineupTypeLocalLegend = 2,
}
impl Dllleandaih {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FriendRecommendLineupTypeNone => "FRIEND_RECOMMEND_LINEUP_TYPE_NONE",
            Self::FriendRecommendLineupTypeChallenge => {
                "FRIEND_RECOMMEND_LINEUP_TYPE_CHALLENGE"
            }
            Self::FriendRecommendLineupTypeLocalLegend => {
                "FRIEND_RECOMMEND_LINEUP_TYPE_LOCAL_LEGEND"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FRIEND_RECOMMEND_LINEUP_TYPE_NONE" => {
                Some(Self::FriendRecommendLineupTypeNone)
            }
            "FRIEND_RECOMMEND_LINEUP_TYPE_CHALLENGE" => {
                Some(Self::FriendRecommendLineupTypeChallenge)
            }
            "FRIEND_RECOMMEND_LINEUP_TYPE_LOCAL_LEGEND" => {
                Some(Self::FriendRecommendLineupTypeLocalLegend)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleCheckStrategyType {
    BattleCheckStrategyIdentical = 0,
    BattleCheckStrategyServer = 1,
    BattleCheckStrategyClient = 2,
}
impl BattleCheckStrategyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BattleCheckStrategyIdentical => "BATTLE_CHECK_STRATEGY_IDENTICAL",
            Self::BattleCheckStrategyServer => "BATTLE_CHECK_STRATEGY_SERVER",
            Self::BattleCheckStrategyClient => "BATTLE_CHECK_STRATEGY_CLIENT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_CHECK_STRATEGY_IDENTICAL" => Some(Self::BattleCheckStrategyIdentical),
            "BATTLE_CHECK_STRATEGY_SERVER" => Some(Self::BattleCheckStrategyServer),
            "BATTLE_CHECK_STRATEGY_CLIENT" => Some(Self::BattleCheckStrategyClient),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleCheckResultType {
    BattleCheckResultSucc = 0,
    BattleCheckResultFail = 1,
    BattleCheckResultPass = 2,
}
impl BattleCheckResultType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BattleCheckResultSucc => "BATTLE_CHECK_RESULT_SUCC",
            Self::BattleCheckResultFail => "BATTLE_CHECK_RESULT_FAIL",
            Self::BattleCheckResultPass => "BATTLE_CHECK_RESULT_PASS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_CHECK_RESULT_SUCC" => Some(Self::BattleCheckResultSucc),
            "BATTLE_CHECK_RESULT_FAIL" => Some(Self::BattleCheckResultFail),
            "BATTLE_CHECK_RESULT_PASS" => Some(Self::BattleCheckResultPass),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleModuleType {
    BattleModuleMaze = 0,
    BattleModuleChallenge = 1,
    BattleModuleCocoon = 2,
    BattleModuleRogue = 3,
    BattleModuleChallengeActivity = 4,
    BattleModuleTrialLevel = 5,
    BattleModuleAetherDivide = 6,
}
impl BattleModuleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BattleModuleMaze => "BATTLE_MODULE_MAZE",
            Self::BattleModuleChallenge => "BATTLE_MODULE_CHALLENGE",
            Self::BattleModuleCocoon => "BATTLE_MODULE_COCOON",
            Self::BattleModuleRogue => "BATTLE_MODULE_ROGUE",
            Self::BattleModuleChallengeActivity => "BATTLE_MODULE_CHALLENGE_ACTIVITY",
            Self::BattleModuleTrialLevel => "BATTLE_MODULE_TRIAL_LEVEL",
            Self::BattleModuleAetherDivide => "BATTLE_MODULE_AETHER_DIVIDE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_MODULE_MAZE" => Some(Self::BattleModuleMaze),
            "BATTLE_MODULE_CHALLENGE" => Some(Self::BattleModuleChallenge),
            "BATTLE_MODULE_COCOON" => Some(Self::BattleModuleCocoon),
            "BATTLE_MODULE_ROGUE" => Some(Self::BattleModuleRogue),
            "BATTLE_MODULE_CHALLENGE_ACTIVITY" => {
                Some(Self::BattleModuleChallengeActivity)
            }
            "BATTLE_MODULE_TRIAL_LEVEL" => Some(Self::BattleModuleTrialLevel),
            "BATTLE_MODULE_AETHER_DIVIDE" => Some(Self::BattleModuleAetherDivide),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AetherdivideSpiritLineupType {
    AetherdivideSpiritLineupNone = 0,
    AetherdivideSpiritLineupNormal = 1,
    AetherdivideSpiritLineupTrial = 2,
}
impl AetherdivideSpiritLineupType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AetherdivideSpiritLineupNone => "AETHERDIVIDE_SPIRIT_LINEUP_NONE",
            Self::AetherdivideSpiritLineupNormal => "AETHERDIVIDE_SPIRIT_LINEUP_NORMAL",
            Self::AetherdivideSpiritLineupTrial => "AETHERDIVIDE_SPIRIT_LINEUP_TRIAL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AETHERDIVIDE_SPIRIT_LINEUP_NONE" => Some(Self::AetherdivideSpiritLineupNone),
            "AETHERDIVIDE_SPIRIT_LINEUP_NORMAL" => {
                Some(Self::AetherdivideSpiritLineupNormal)
            }
            "AETHERDIVIDE_SPIRIT_LINEUP_TRIAL" => {
                Some(Self::AetherdivideSpiritLineupTrial)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pilniphdkhi {
    BattleTargetTypeNone = 0,
    BattleTargetTypeScore = 1,
    BattleTargetTypeAchievement = 2,
    BattleTargetTypeRaid = 3,
    BattleTargetTypeChallengeScore = 4,
    BattleTargetTypeCommon = 5,
    BattleTargetTypeClientAchievement = 6,
}
impl Pilniphdkhi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BattleTargetTypeNone => "BATTLE_TARGET_TYPE_NONE",
            Self::BattleTargetTypeScore => "BATTLE_TARGET_TYPE_SCORE",
            Self::BattleTargetTypeAchievement => "BATTLE_TARGET_TYPE_ACHIEVEMENT",
            Self::BattleTargetTypeRaid => "BATTLE_TARGET_TYPE_RAID",
            Self::BattleTargetTypeChallengeScore => "BATTLE_TARGET_TYPE_CHALLENGE_SCORE",
            Self::BattleTargetTypeCommon => "BATTLE_TARGET_TYPE_COMMON",
            Self::BattleTargetTypeClientAchievement => {
                "BATTLE_TARGET_TYPE_CLIENT_ACHIEVEMENT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_TARGET_TYPE_NONE" => Some(Self::BattleTargetTypeNone),
            "BATTLE_TARGET_TYPE_SCORE" => Some(Self::BattleTargetTypeScore),
            "BATTLE_TARGET_TYPE_ACHIEVEMENT" => Some(Self::BattleTargetTypeAchievement),
            "BATTLE_TARGET_TYPE_RAID" => Some(Self::BattleTargetTypeRaid),
            "BATTLE_TARGET_TYPE_CHALLENGE_SCORE" => {
                Some(Self::BattleTargetTypeChallengeScore)
            }
            "BATTLE_TARGET_TYPE_COMMON" => Some(Self::BattleTargetTypeCommon),
            "BATTLE_TARGET_TYPE_CLIENT_ACHIEVEMENT" => {
                Some(Self::BattleTargetTypeClientAchievement)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DeathSource {
    Unknown = 0,
    KilledByOthers = 1,
    KilledBySelf = 2,
    Escape = 3,
}
impl DeathSource {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Unknown => "UNKNOWN",
            Self::KilledByOthers => "KILLED_BY_OTHERS",
            Self::KilledBySelf => "KILLED_BY_SELF",
            Self::Escape => "ESCAPE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "UNKNOWN" => Some(Self::Unknown),
            "KILLED_BY_OTHERS" => Some(Self::KilledByOthers),
            "KILLED_BY_SELF" => Some(Self::KilledBySelf),
            "ESCAPE" => Some(Self::Escape),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Agbpcblfnol {
    TagNone = 0,
    TagHideNpcMonster = 1,
}
impl Agbpcblfnol {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::TagNone => "TAG_NONE",
            Self::TagHideNpcMonster => "TAG_HIDE_NPC_MONSTER",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TAG_NONE" => Some(Self::TagNone),
            "TAG_HIDE_NPC_MONSTER" => Some(Self::TagHideNpcMonster),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hembndjafda {
    NormalCreate = 0,
    FormChange = 1,
}
impl Hembndjafda {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::NormalCreate => "NORMAL_CREATE",
            Self::FormChange => "FORM_CHANGE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NORMAL_CREATE" => Some(Self::NormalCreate),
            "FORM_CHANGE" => Some(Self::FormChange),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleEndReason {
    None = 0,
    AllDie = 1,
    TurnLimit = 2,
}
impl BattleEndReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "BATTLE_END_REASON_NONE",
            Self::AllDie => "BATTLE_END_REASON_ALL_DIE",
            Self::TurnLimit => "BATTLE_END_REASON_TURN_LIMIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_END_REASON_NONE" => Some(Self::None),
            "BATTLE_END_REASON_ALL_DIE" => Some(Self::AllDie),
            "BATTLE_END_REASON_TURN_LIMIT" => Some(Self::TurnLimit),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oedifangclh {
    BattleStaticticEventNone = 0,
    BattleStaticticEventTreasureDungeonAddExplore = 1,
    BattleStaticticEventTreasureDungeonOpenGrid = 2,
    BattleStaticticEventTreasureDungeonPickupItem = 3,
    BattleStaticticEventTreasureDungeonUseBuff = 4,
    BattleStaticticEventTelevisionActivityUpdateMazeBuffLayer = 5,
    BattleStaticticEventRogueTournTitanExtraCoin = 6,
    BattleStaticticEventRogueTournTitanExtraCoinTimes = 7,
}
impl Oedifangclh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BattleStaticticEventNone => "BATTLE_STATICTIC_EVENT_NONE",
            Self::BattleStaticticEventTreasureDungeonAddExplore => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_ADD_EXPLORE"
            }
            Self::BattleStaticticEventTreasureDungeonOpenGrid => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_OPEN_GRID"
            }
            Self::BattleStaticticEventTreasureDungeonPickupItem => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_PICKUP_ITEM"
            }
            Self::BattleStaticticEventTreasureDungeonUseBuff => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_USE_BUFF"
            }
            Self::BattleStaticticEventTelevisionActivityUpdateMazeBuffLayer => {
                "BATTLE_STATICTIC_EVENT_TELEVISION_ACTIVITY_UPDATE_MAZE_BUFF_LAYER"
            }
            Self::BattleStaticticEventRogueTournTitanExtraCoin => {
                "BATTLE_STATICTIC_EVENT_ROGUE_TOURN_TITAN_EXTRA_COIN"
            }
            Self::BattleStaticticEventRogueTournTitanExtraCoinTimes => {
                "BATTLE_STATICTIC_EVENT_ROGUE_TOURN_TITAN_EXTRA_COIN_TIMES"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_STATICTIC_EVENT_NONE" => Some(Self::BattleStaticticEventNone),
            "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_ADD_EXPLORE" => {
                Some(Self::BattleStaticticEventTreasureDungeonAddExplore)
            }
            "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_OPEN_GRID" => {
                Some(Self::BattleStaticticEventTreasureDungeonOpenGrid)
            }
            "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_PICKUP_ITEM" => {
                Some(Self::BattleStaticticEventTreasureDungeonPickupItem)
            }
            "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_USE_BUFF" => {
                Some(Self::BattleStaticticEventTreasureDungeonUseBuff)
            }
            "BATTLE_STATICTIC_EVENT_TELEVISION_ACTIVITY_UPDATE_MAZE_BUFF_LAYER" => {
                Some(Self::BattleStaticticEventTelevisionActivityUpdateMazeBuffLayer)
            }
            "BATTLE_STATICTIC_EVENT_ROGUE_TOURN_TITAN_EXTRA_COIN" => {
                Some(Self::BattleStaticticEventRogueTournTitanExtraCoin)
            }
            "BATTLE_STATICTIC_EVENT_ROGUE_TOURN_TITAN_EXTRA_COIN_TIMES" => {
                Some(Self::BattleStaticticEventRogueTournTitanExtraCoinTimes)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bojgakmdpdl {
    EvolveBuildFuncNone = 0,
    EvolveBuildFuncGearReset = 1,
    EvolveBuildFuncGearRemove = 2,
    EvolveBuildFuncGearSkip = 3,
    EvolveBuildFuncCardReset = 4,
}
impl Bojgakmdpdl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EvolveBuildFuncNone => "EVOLVE_BUILD_FUNC_NONE",
            Self::EvolveBuildFuncGearReset => "EVOLVE_BUILD_FUNC_GEAR_RESET",
            Self::EvolveBuildFuncGearRemove => "EVOLVE_BUILD_FUNC_GEAR_REMOVE",
            Self::EvolveBuildFuncGearSkip => "EVOLVE_BUILD_FUNC_GEAR_SKIP",
            Self::EvolveBuildFuncCardReset => "EVOLVE_BUILD_FUNC_CARD_RESET",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EVOLVE_BUILD_FUNC_NONE" => Some(Self::EvolveBuildFuncNone),
            "EVOLVE_BUILD_FUNC_GEAR_RESET" => Some(Self::EvolveBuildFuncGearReset),
            "EVOLVE_BUILD_FUNC_GEAR_REMOVE" => Some(Self::EvolveBuildFuncGearRemove),
            "EVOLVE_BUILD_FUNC_GEAR_SKIP" => Some(Self::EvolveBuildFuncGearSkip),
            "EVOLVE_BUILD_FUNC_CARD_RESET" => Some(Self::EvolveBuildFuncCardReset),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jegleikmncl {
    KNone = 0,
    KkillEliteMonsterNum = 1,
    KkillMonsterNum = 2,
}
impl Jegleikmncl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::KNone => "kNone",
            Self::KkillEliteMonsterNum => "kkillEliteMonsterNum",
            Self::KkillMonsterNum => "kkillMonsterNum",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "kNone" => Some(Self::KNone),
            "kkillEliteMonsterNum" => Some(Self::KkillEliteMonsterNum),
            "kkillMonsterNum" => Some(Self::KkillMonsterNum),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleEndStatus {
    BattleEndNone = 0,
    BattleEndWin = 1,
    BattleEndLose = 2,
    BattleEndQuit = 3,
}
impl BattleEndStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BattleEndNone => "BATTLE_END_NONE",
            Self::BattleEndWin => "BATTLE_END_WIN",
            Self::BattleEndLose => "BATTLE_END_LOSE",
            Self::BattleEndQuit => "BATTLE_END_QUIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_END_NONE" => Some(Self::BattleEndNone),
            "BATTLE_END_WIN" => Some(Self::BattleEndWin),
            "BATTLE_END_LOSE" => Some(Self::BattleEndLose),
            "BATTLE_END_QUIT" => Some(Self::BattleEndQuit),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Noogdpkefkl {
    FightGameModeNone = 0,
    FightGameModeMatch3 = 1,
    FightGameModeMarble = 2,
}
impl Noogdpkefkl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FightGameModeNone => "FIGHT_GAME_MODE_NONE",
            Self::FightGameModeMatch3 => "FIGHT_GAME_MODE_MATCH3",
            Self::FightGameModeMarble => "FIGHT_GAME_MODE_MARBLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_GAME_MODE_NONE" => Some(Self::FightGameModeNone),
            "FIGHT_GAME_MODE_MATCH3" => Some(Self::FightGameModeMatch3),
            "FIGHT_GAME_MODE_MARBLE" => Some(Self::FightGameModeMarble),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dkiifbicieg {
    FightKickoutUnknown = 0,
    FightKickoutBlack = 1,
    FightKickoutByGm = 2,
    FightKickoutTimeout = 3,
    FightKickoutSessionReset = 4,
}
impl Dkiifbicieg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FightKickoutUnknown => "FIGHT_KICKOUT_UNKNOWN",
            Self::FightKickoutBlack => "FIGHT_KICKOUT_BLACK",
            Self::FightKickoutByGm => "FIGHT_KICKOUT_BY_GM",
            Self::FightKickoutTimeout => "FIGHT_KICKOUT_TIMEOUT",
            Self::FightKickoutSessionReset => "FIGHT_KICKOUT_SESSION_RESET",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_KICKOUT_UNKNOWN" => Some(Self::FightKickoutUnknown),
            "FIGHT_KICKOUT_BLACK" => Some(Self::FightKickoutBlack),
            "FIGHT_KICKOUT_BY_GM" => Some(Self::FightKickoutByGm),
            "FIGHT_KICKOUT_TIMEOUT" => Some(Self::FightKickoutTimeout),
            "FIGHT_KICKOUT_SESSION_RESET" => Some(Self::FightKickoutSessionReset),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hbpfdgnndef {
    LobbyCharacterNone = 0,
    LobbyCharacterLeader = 1,
    LobbyCharacterMember = 2,
    LobbyCharacterWatcher = 3,
}
impl Hbpfdgnndef {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LobbyCharacterNone => "LobbyCharacter_None",
            Self::LobbyCharacterLeader => "LobbyCharacter_Leader",
            Self::LobbyCharacterMember => "LobbyCharacter_Member",
            Self::LobbyCharacterWatcher => "LobbyCharacter_Watcher",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LobbyCharacter_None" => Some(Self::LobbyCharacterNone),
            "LobbyCharacter_Leader" => Some(Self::LobbyCharacterLeader),
            "LobbyCharacter_Member" => Some(Self::LobbyCharacterMember),
            "LobbyCharacter_Watcher" => Some(Self::LobbyCharacterWatcher),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Edkfijacjgl {
    LobbyCharacterStatusNone = 0,
    LobbyCharacterStatusIdle = 1,
    LobbyCharacterStatusOperating = 2,
    LobbyCharacterStatusReady = 3,
    LobbyCharacterStatusFighting = 4,
    LobbyCharacterStatusWatching = 5,
    LobbyCharacterStatusMatching = 6,
    LobbyCharacterStatusLobbyStartFight = 7,
}
impl Edkfijacjgl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LobbyCharacterStatusNone => "LobbyCharacterStatus_None",
            Self::LobbyCharacterStatusIdle => "LobbyCharacterStatus_Idle",
            Self::LobbyCharacterStatusOperating => "LobbyCharacterStatus_Operating",
            Self::LobbyCharacterStatusReady => "LobbyCharacterStatus_Ready",
            Self::LobbyCharacterStatusFighting => "LobbyCharacterStatus_Fighting",
            Self::LobbyCharacterStatusWatching => "LobbyCharacterStatus_Watching",
            Self::LobbyCharacterStatusMatching => "LobbyCharacterStatus_Matching",
            Self::LobbyCharacterStatusLobbyStartFight => {
                "LobbyCharacterStatus_LobbyStartFight"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LobbyCharacterStatus_None" => Some(Self::LobbyCharacterStatusNone),
            "LobbyCharacterStatus_Idle" => Some(Self::LobbyCharacterStatusIdle),
            "LobbyCharacterStatus_Operating" => Some(Self::LobbyCharacterStatusOperating),
            "LobbyCharacterStatus_Ready" => Some(Self::LobbyCharacterStatusReady),
            "LobbyCharacterStatus_Fighting" => Some(Self::LobbyCharacterStatusFighting),
            "LobbyCharacterStatus_Watching" => Some(Self::LobbyCharacterStatusWatching),
            "LobbyCharacterStatus_Matching" => Some(Self::LobbyCharacterStatusMatching),
            "LobbyCharacterStatus_LobbyStartFight" => {
                Some(Self::LobbyCharacterStatusLobbyStartFight)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aokdmakgdgj {
    LobbyModifyTypeNone = 0,
    LobbyModifyTypeIdle = 1,
    LobbyModifyTypeReady = 2,
    LobbyModifyTypeOperating = 3,
    LobbyModifyTypeCancelMatch = 4,
    LobbyModifyTypeMatch = 5,
    LobbyModifyTypeQuitLobby = 6,
    LobbyModifyTypeKickOut = 7,
    LobbyModifyTypeTimeOut = 8,
    LobbyModifyTypeJoinLobby = 9,
    LobbyModifyTypeLobbyDismiss = 10,
    LobbyModifyTypeMatchTimeOut = 11,
    LobbyModifyTypeFightStart = 12,
    LobbyModifyTypeLogout = 13,
    LobbyModifyTypeFightEnd = 14,
    LobbyModifyTypeFightRoomDestroyInInit = 15,
    LobbyModifyTypeLobbyStartFight = 16,
    LobbyModifyTypeLobbyStartFightTimeout = 17,
}
impl Aokdmakgdgj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LobbyModifyTypeNone => "LobbyModifyType_None",
            Self::LobbyModifyTypeIdle => "LobbyModifyType_Idle",
            Self::LobbyModifyTypeReady => "LobbyModifyType_Ready",
            Self::LobbyModifyTypeOperating => "LobbyModifyType_Operating",
            Self::LobbyModifyTypeCancelMatch => "LobbyModifyType_CancelMatch",
            Self::LobbyModifyTypeMatch => "LobbyModifyType_Match",
            Self::LobbyModifyTypeQuitLobby => "LobbyModifyType_QuitLobby",
            Self::LobbyModifyTypeKickOut => "LobbyModifyType_KickOut",
            Self::LobbyModifyTypeTimeOut => "LobbyModifyType_TimeOut",
            Self::LobbyModifyTypeJoinLobby => "LobbyModifyType_JoinLobby",
            Self::LobbyModifyTypeLobbyDismiss => "LobbyModifyType_LobbyDismiss",
            Self::LobbyModifyTypeMatchTimeOut => "LobbyModifyType_MatchTimeOut",
            Self::LobbyModifyTypeFightStart => "LobbyModifyType_FightStart",
            Self::LobbyModifyTypeLogout => "LobbyModifyType_Logout",
            Self::LobbyModifyTypeFightEnd => "LobbyModifyType_FightEnd",
            Self::LobbyModifyTypeFightRoomDestroyInInit => {
                "LobbyModifyType_FightRoomDestroyInInit"
            }
            Self::LobbyModifyTypeLobbyStartFight => "LobbyModifyType_LobbyStartFight",
            Self::LobbyModifyTypeLobbyStartFightTimeout => {
                "LobbyModifyType_LobbyStartFightTimeout"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LobbyModifyType_None" => Some(Self::LobbyModifyTypeNone),
            "LobbyModifyType_Idle" => Some(Self::LobbyModifyTypeIdle),
            "LobbyModifyType_Ready" => Some(Self::LobbyModifyTypeReady),
            "LobbyModifyType_Operating" => Some(Self::LobbyModifyTypeOperating),
            "LobbyModifyType_CancelMatch" => Some(Self::LobbyModifyTypeCancelMatch),
            "LobbyModifyType_Match" => Some(Self::LobbyModifyTypeMatch),
            "LobbyModifyType_QuitLobby" => Some(Self::LobbyModifyTypeQuitLobby),
            "LobbyModifyType_KickOut" => Some(Self::LobbyModifyTypeKickOut),
            "LobbyModifyType_TimeOut" => Some(Self::LobbyModifyTypeTimeOut),
            "LobbyModifyType_JoinLobby" => Some(Self::LobbyModifyTypeJoinLobby),
            "LobbyModifyType_LobbyDismiss" => Some(Self::LobbyModifyTypeLobbyDismiss),
            "LobbyModifyType_MatchTimeOut" => Some(Self::LobbyModifyTypeMatchTimeOut),
            "LobbyModifyType_FightStart" => Some(Self::LobbyModifyTypeFightStart),
            "LobbyModifyType_Logout" => Some(Self::LobbyModifyTypeLogout),
            "LobbyModifyType_FightEnd" => Some(Self::LobbyModifyTypeFightEnd),
            "LobbyModifyType_FightRoomDestroyInInit" => {
                Some(Self::LobbyModifyTypeFightRoomDestroyInInit)
            }
            "LobbyModifyType_LobbyStartFight" => {
                Some(Self::LobbyModifyTypeLobbyStartFight)
            }
            "LobbyModifyType_LobbyStartFightTimeout" => {
                Some(Self::LobbyModifyTypeLobbyStartFightTimeout)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Efdedkhgmpi {
    FightRoomDestroyReasonNone = 0,
    FightRoomDestroyReasonSvrStop = 1,
    FightRoomDestroyReasonGameEnd = 2,
}
impl Efdedkhgmpi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FightRoomDestroyReasonNone => "FIGHT_ROOM_DESTROY_REASON_NONE",
            Self::FightRoomDestroyReasonSvrStop => "FIGHT_ROOM_DESTROY_REASON_SVR_STOP",
            Self::FightRoomDestroyReasonGameEnd => "FIGHT_ROOM_DESTROY_REASON_GAME_END",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_ROOM_DESTROY_REASON_NONE" => Some(Self::FightRoomDestroyReasonNone),
            "FIGHT_ROOM_DESTROY_REASON_SVR_STOP" => {
                Some(Self::FightRoomDestroyReasonSvrStop)
            }
            "FIGHT_ROOM_DESTROY_REASON_GAME_END" => {
                Some(Self::FightRoomDestroyReasonGameEnd)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Keekddahfoe {
    Match3FinishReasonDefault = 0,
    Match3FinishReasonLeave = 1,
    Match3FinishReasonDie = 2,
    Match3FinishReasonGameend = 3,
    Match3FinishReasonKickout = 4,
}
impl Keekddahfoe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Match3FinishReasonDefault => "MATCH3_FINISH_REASON_DEFAULT",
            Self::Match3FinishReasonLeave => "MATCH3_FINISH_REASON_LEAVE",
            Self::Match3FinishReasonDie => "MATCH3_FINISH_REASON_DIE",
            Self::Match3FinishReasonGameend => "MATCH3_FINISH_REASON_GAMEEND",
            Self::Match3FinishReasonKickout => "MATCH3_FINISH_REASON_KICKOUT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MATCH3_FINISH_REASON_DEFAULT" => Some(Self::Match3FinishReasonDefault),
            "MATCH3_FINISH_REASON_LEAVE" => Some(Self::Match3FinishReasonLeave),
            "MATCH3_FINISH_REASON_DIE" => Some(Self::Match3FinishReasonDie),
            "MATCH3_FINISH_REASON_GAMEEND" => Some(Self::Match3FinishReasonGameend),
            "MATCH3_FINISH_REASON_KICKOUT" => Some(Self::Match3FinishReasonKickout),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Khjpjangecp {
    MatchUnitTypeNone = 0,
    MatchUnitTypeNormal = 1,
    MatchUnitTypeRobot = 2,
    MatchUnitTypeGm = 3,
}
impl Khjpjangecp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MatchUnitTypeNone => "MATCH_UNIT_TYPE_NONE",
            Self::MatchUnitTypeNormal => "MATCH_UNIT_TYPE_NORMAL",
            Self::MatchUnitTypeRobot => "MATCH_UNIT_TYPE_ROBOT",
            Self::MatchUnitTypeGm => "MATCH_UNIT_TYPE_GM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MATCH_UNIT_TYPE_NONE" => Some(Self::MatchUnitTypeNone),
            "MATCH_UNIT_TYPE_NORMAL" => Some(Self::MatchUnitTypeNormal),
            "MATCH_UNIT_TYPE_ROBOT" => Some(Self::MatchUnitTypeRobot),
            "MATCH_UNIT_TYPE_GM" => Some(Self::MatchUnitTypeGm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ffjppngglff {
    FightPlayerResultNone = 0,
    FightPlayerResultWin = 1,
    FightPlayerResultFail = 2,
    FightPlayerResultDraw = 3,
}
impl Ffjppngglff {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FightPlayerResultNone => "FIGHT_PLAYER_RESULT_NONE",
            Self::FightPlayerResultWin => "FIGHT_PLAYER_RESULT_WIN",
            Self::FightPlayerResultFail => "FIGHT_PLAYER_RESULT_FAIL",
            Self::FightPlayerResultDraw => "FIGHT_PLAYER_RESULT_DRAW",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_PLAYER_RESULT_NONE" => Some(Self::FightPlayerResultNone),
            "FIGHT_PLAYER_RESULT_WIN" => Some(Self::FightPlayerResultWin),
            "FIGHT_PLAYER_RESULT_FAIL" => Some(Self::FightPlayerResultFail),
            "FIGHT_PLAYER_RESULT_DRAW" => Some(Self::FightPlayerResultDraw),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Imaonmhilne {
    LobbyInteractTypeNone = 0,
    LobbyInteractTypeRemindPrepare = 1,
}
impl Imaonmhilne {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LobbyInteractTypeNone => "LOBBY_INTERACT_TYPE_NONE",
            Self::LobbyInteractTypeRemindPrepare => "LOBBY_INTERACT_TYPE_REMIND_PREPARE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LOBBY_INTERACT_TYPE_NONE" => Some(Self::LobbyInteractTypeNone),
            "LOBBY_INTERACT_TYPE_REMIND_PREPARE" => {
                Some(Self::LobbyInteractTypeRemindPrepare)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Retcode {
    RetSucc = 0,
    RetFail = 1,
    RetServerInternalError = 2,
    RetTimeout = 3,
    RetRepeatedReq = 4,
    RetReqParaInvalid = 5,
    RetPlayerDataError = 6,
    RetPlayerClientPaused = 7,
    RetFuncCheckFailed = 8,
    RetFeatureSwitchClosed = 9,
    RetFreqOverLimit = 10,
    RetSystemBusy = 11,
    RetPlayerNotOnline = 12,
    RetOperationInCd = 13,
    RetRepeateLogin = 1000,
    RetRetryLogin = 1001,
    RetWaitLogin = 1002,
    RetNotInWhiteList = 1003,
    RetInBlackList = 1004,
    RetAccountVerifyError = 1005,
    RetAccountParaError = 1006,
    RetAntiAddictLogin = 1007,
    RetCheckSumError = 1008,
    RetReachMaxPlayerNum = 1009,
    RetAlreadyRegistered = 1010,
    RetGenderError = 1011,
    SetNicknameRetCallbackProcessing = 1012,
    RetInGmBindAccess = 1013,
    RetQuestRewardAlreadyTaken = 1100,
    RetQuestNotAccept = 1101,
    RetQuestNotFinish = 1102,
    RetQuestStatusError = 1103,
    RetAchievementLevelNotReach = 1104,
    RetAchievementLevelAlreadyTaken = 1105,
    RetAvatarNotExist = 1200,
    RetAvatarResExpNotEnough = 1201,
    RetAvatarExpReachPromotionLimit = 1202,
    RetAvatarReachMaxPromotion = 1203,
    RetSkilltreeConfigNotExist = 1204,
    RetSkilltreeAlreadyUnlock = 1205,
    RetSkilltreePreLocked = 1206,
    RetSkilltreeLevelNotMeet = 1207,
    RetSkilltreeRankNotMeet = 1208,
    RetAvatarDressNoEquipment = 1209,
    RetAvatarExpItemNotExist = 1210,
    RetSkilltreePointLocked = 1211,
    RetSkilltreePointLevelUpgradeNotMatch = 1212,
    RetSkilltreePointLevelReachMax = 1213,
    RetWorldLevelNotMeet = 1214,
    RetPlayerLevelNotMeet = 1215,
    RetAvatarRankNotMatch = 1216,
    RetAvatarRankReachMax = 1217,
    RetHeroBasicTypeNotMatch = 1218,
    RetAvatarPromotionNotMeet = 1219,
    RetPromotionRewardConfigNotExist = 1220,
    RetPromotionRewardAlreadyTaken = 1221,
    RetAvatarSkinItemNotExist = 1222,
    RetAvatarSkinAlreadyDressed = 1223,
    RetAvatarNotDressSkin = 1224,
    RetAvatarSkinNotMatchAvatar = 1225,
    RetAvatarPathNotMatch = 1226,
    RetItemNotExist = 1300,
    RetItemCostNotEnough = 1301,
    RetItemCostTooMuch = 1302,
    RetItemNoCost = 1303,
    RetItemNotEnough = 1304,
    RetItemInvalid = 1305,
    RetItemConfigNotExist = 1306,
    RetScoinNotEnough = 1307,
    RetItemRewardExceedLimit = 1308,
    RetItemInvalidUse = 1309,
    RetItemUseConfigNotExist = 1310,
    RetRewardConfigNotExist = 1311,
    RetItemExceedLimit = 1312,
    RetItemCountInvalid = 1313,
    RetItemUseTargetTypeInvalid = 1314,
    RetItemUseSatietyFull = 1315,
    RetItemComposeNotExist = 1316,
    RetRelicComposeNotExist = 1317,
    RetItemCanNotSell = 1318,
    RetItemSellExceddLimit = 1319,
    RetItemNotInCostList = 1320,
    RetItemSpecialCostNotEnough = 1321,
    RetItemSpecialCostTooMuch = 1322,
    RetItemFormulaNotExist = 1323,
    RetItemAutoGiftOptionalNotExist = 1324,
    RetRelicComposeRelicInvalid = 1325,
    RetRelicComposeMainAffixIdInvalid = 1326,
    RetRelicComposeWrongFormulaType = 1327,
    RetRelicComposeRelicNotExist = 1328,
    RetRelicComposeBlackGoldCountInvalid = 1329,
    RetRelicComposeBlackGoldNotNeed = 1330,
    RetMonthCardCannotUse = 1331,
    RetItemRewardExceedDisappear = 1332,
    RetItemNeedRecycle = 1333,
    RetItemComposeExceedLimit = 1334,
    RetItemCanNotDestroy = 1335,
    RetItemAlreadyMark = 1336,
    RetItemMarkExceedLimit = 1337,
    RetItemNotMark = 1338,
    RetItenTurnFoodNotSet = 1339,
    RetItemTurnFoodAlreadySet = 1340,
    RetItemTurnFoodConsumeTypeError = 1341,
    RetItemTurnFoodSwitchAlreadyOpen = 1342,
    RetItemTurnFoodSwitchAlreadyClose = 1343,
    RetHcoinExchangeTooMuch = 1344,
    RetItemTurnFoodSceneTypeError = 1345,
    RetEquipmentAlreadyDressed = 1350,
    RetEquipmentNotExist = 1351,
    RetEquipmentReachLevelLimit = 1352,
    RetEquipmentConsumeSelf = 1353,
    RetEquipmentAlreadyLocked = 1354,
    RetEquipmentAlreadyUnlocked = 1355,
    RetEquipmentLocked = 1356,
    RetEquipmentSelectNumOverLimit = 1357,
    RetEquipmentRankUpMustConsumeSameTid = 1358,
    RetEquipmentPromotionReachMax = 1359,
    RetEquipmentRankUpReachMax = 1360,
    RetEquipmentLevelReachMax = 1361,
    RetEquipmentExceedLimit = 1362,
    RetRelicNotExist = 1363,
    RetRelicReachLevelLimit = 1364,
    RetRelicConsumeSelf = 1365,
    RetRelicAlreadyDressed = 1366,
    RetRelicLocked = 1367,
    RetRelicAlreadyLocked = 1368,
    RetRelicAlreadyUnlocked = 1369,
    RetRelicLevelIsNotZero = 1370,
    RetUniqueIdRepeated = 1371,
    RetEquipmentLevelNotMeet = 1372,
    RetEquipmentItemNotInCostList = 1373,
    RetEquipmentLevelGreaterThanOne = 1374,
    RetEquipmentAlreadyRanked = 1375,
    RetRelicExceedLimit = 1376,
    RetRelicAlreadyDiscarded = 1377,
    RetRelicAlreadyUndiscarded = 1378,
    RetEquipmentBatchLockTooFast = 1379,
    RetRelicFilterPlanSlotEmpty = 1380,
    RetRelicFilterPlanNumExceedLimit = 1381,
    RetRelicFilterPlanNameUtf8Error = 1382,
    RetRelicFilterPlanNameFormatError = 1383,
    RetRelicFilterPlanNoChange = 1384,
    RetRelicReforgeNotConfirmed = 1385,
    RetEquipmentAlreadyLevelup = 1386,
    RetEquipmentRarityError = 1387,
    RetLineupInvalidIndex = 1400,
    RetLineupInvalidMemberPos = 1401,
    RetLineupSwapNotExist = 1402,
    RetLineupAvatarAlreadyIn = 1403,
    RetLineupCreateAvatarError = 1404,
    RetLineupAvatarInitError = 1405,
    RetLineupNotExist = 1406,
    RetLineupOnlyOneMember = 1407,
    RetLineupSameLeaderSlot = 1408,
    RetLineupNoLeaderSelect = 1409,
    RetLineupSwapSameSlot = 1410,
    RetLineupAvatarNotExist = 1411,
    RetLineupTrialAvatarCanNotQuit = 1412,
    RetLineupVirtualLineupPlaneNotMatch = 1413,
    RetLineupNotValidLeader = 1414,
    RetLineupSameIndex = 1415,
    RetLineupIsEmpty = 1416,
    RetLineupNameFormatError = 1417,
    RetLineupTypeNotMatch = 1418,
    RetLineupReplaceAllFailed = 1419,
    RetLineupNotAllowEdit = 1420,
    RetLineupAvatarIsAlive = 1421,
    RetLineupAssistHasOnlyMember = 1422,
    RetLineupAssistCannotSwitch = 1423,
    RetLineupAvatarTypeInvalid = 1424,
    RetLineupNameUtf8Error = 1425,
    RetLineupLeaderLock = 1426,
    RetLineupStoryLineNotMatch = 1427,
    RetLineupAvatarLock = 1428,
    RetLineupAvatarInvalid = 1429,
    RetLineupAvatarAlreadyInit = 1430,
    RetLineupLimited = 1431,
    RetMailNotExist = 1700,
    RetMailRangeInvalid = 1701,
    RetMailMailIdInvalid = 1702,
    RetMailNoMailTakeAttachment = 1703,
    RetMailNoMailToDel = 1704,
    RetMailTypeInvalid = 1705,
    RetMailParaInvalid = 1706,
    RetMailAttachementInvalid = 1707,
    RetMailTicketInvalid = 1708,
    RetMailTicketRepeated = 1709,
    RetStageSettleError = 1800,
    RetStageConfigNotExist = 1801,
    RetStageNotFound = 1802,
    RetStageCocoonPropNotValid = 1804,
    RetStageCocoonWaveNotValid = 1805,
    RetStagePropIdNotEqual = 1806,
    RetStageCocoonWaveOver = 1807,
    RetStageWeekCocoonOverCnt = 1808,
    RetStageCocoonNotOpen = 1809,
    RetStageTrialNotOpen = 1810,
    RetStageFarmNotOpen = 1811,
    RetStageFarmTypeError = 1812,
    RetStageFarmSweepCd = 1813,
    RetChapterLock = 1900,
    RetChapterChallengeNumNotEnough = 1901,
    RetChapterRewardIdNotExist = 1902,
    RetChapterRewardAlreadyTaken = 1903,
    RetBattleStageNotMatch = 2000,
    RetInBattleNow = 2001,
    RetBattleCheat = 2002,
    RetBattleFail = 2003,
    RetBattleNoLineup = 2004,
    RetBattleLineupEmpty = 2005,
    RetBattleVersionNotMatch = 2006,
    RetBattleQuitByServer = 2007,
    RetInBattleCheck = 2008,
    RetBattleCheckNeedRetry = 2009,
    RetBattleCostTimeCheckFail = 2010,
    RetLackExchangeStaminaTimes = 2100,
    RetLackStamina = 2101,
    RetStaminaFull = 2102,
    RetAuthkeySignTypeError = 2103,
    RetAuthkeySignVerError = 2104,
    RetNicknameFormatError = 2105,
    RetSensitiveWords = 2106,
    RetLevelRewardHasTaken = 2107,
    RetLevelRewardLevelError = 2108,
    RetLanguageInvalid = 2109,
    RetNicknameInCd = 2110,
    RetGameplayBirthdayInvalid = 2111,
    RetGameplayBirthdayAlreadySet = 2112,
    RetNicknameUtf8Error = 2113,
    RetNicknameDigitLimitError = 2114,
    RetSensitiveWordsPlatformError = 2115,
    RetPlayerSettingTypeInvalid = 2116,
    RetMazeLackTicket = 2201,
    RetMazeNotUnlock = 2202,
    RetMazeNoAbility = 2204,
    RetMazeNoPlane = 2205,
    RetMazeMapNotExist = 2207,
    RetMazeMpNotEnough = 2213,
    RetSpringNotEnable = 2214,
    RetSpringTooFar = 2216,
    RetNotInMaze = 2218,
    RetMazeTimeOfDayTypeError = 2223,
    RetSceneTransferLockedByTask = 2224,
    RetPlotNotUnlock = 2300,
    RetMissionNotExist = 2400,
    RetMissionAlreadyDone = 2401,
    RetDailyTaskNotFinish = 2402,
    RetDailyTaskRewardHasTaken = 2403,
    RetMissionNotFinish = 2404,
    RetMissionNotDoing = 2405,
    RetMissionFinishWayNotMatch = 2406,
    RetMissionSceneNotMatch = 2407,
    RetMissionCustomValueNotValid = 2408,
    RetMissionSubMissionNotMatch = 2409,
    RetAdventureMapNotExist = 2500,
    RetSceneEntityNotExist = 2600,
    RetNotInScene = 2601,
    RetSceneMonsterNotExist = 2602,
    RetInteractConfigNotExist = 2603,
    RetUnsupportedPropState = 2604,
    RetSceneEntryIdNotMatch = 2605,
    RetSceneEntityMoveCheckFailed = 2606,
    RetAssistMonsterCountLimit = 2607,
    RetSceneUseSkillFail = 2608,
    RetPropIsHidden = 2609,
    RetLoadingSuccAlready = 2610,
    RetSceneEntityTypeInvalid = 2611,
    RetInteractTypeInvalid = 2612,
    RetInteractNotInRegion = 2613,
    RetInteractSubTypeInvalid = 2614,
    RetNotLeaderEntity = 2615,
    RetMonsterIsNotFarmElement = 2616,
    RetMonsterConfigNotExist = 2617,
    RetAvatarHpAlreadyFull = 2618,
    RetCurInteractEntityNotMatch = 2619,
    RetPlaneTypeNotAllow = 2620,
    RetGroupNotExist = 2621,
    RetGroupSaveDataInCd = 2622,
    RetGroupSaveLenghReachMax = 2623,
    RetRecentElementNotExist = 2624,
    RetRecentElementStageNotMatch = 2625,
    RetScenePositionVersionNotMatch = 2626,
    RetGameplayCounterNotExist = 2627,
    RetGameplayCounterNotEnough = 2628,
    RetGroupStateNotMatch = 2629,
    RetSceneEntityPosNotMatch = 2630,
    RetGroupStateCustomSaveDataOff = 2631,
    RetSceneNotMatch = 2632,
    RetPropTypeInvalid = 2633,
    RetBuyTimesLimit = 2700,
    RetBuyLimitType = 2701,
    RetShopNotOpen = 2702,
    RetGoodsNotOpen = 2703,
    RetCityLevelRewardTaken = 2704,
    RetCityLevelNotMeet = 2705,
    RetSingleBuyLimit = 2706,
    RetTutorialNotUnlock = 2751,
    RetTutorialUnlockAlready = 2752,
    RetTutorialFinishAlready = 2753,
    RetTutorialPreNotUnlock = 2754,
    RetTutorialPlayerLevelNotMatch = 2755,
    RetTutorialTutorialNotFound = 2756,
    RetChallengeNotExist = 2801,
    RetChallengeNotUnlock = 2802,
    RetChallengeAlready = 2803,
    RetChallengeLineupEditForbidden = 2804,
    RetChallengeLineupEmpty = 2805,
    RetChallengeNotDoing = 2806,
    RetChallengeNotFinish = 2807,
    RetChallengeTargetNotFinish = 2808,
    RetChallengeTargetRewardTaken = 2809,
    RetChallengeTimeNotValid = 2810,
    RetChallengeStarsCountNotMeet = 2811,
    RetChallengeStarsRewardTaken = 2812,
    RetChallengeStarsNotExist = 2813,
    RetChallengeCurSceneNotEntryFloor = 2814,
    RetChallengeNoTeamArchive = 2815,
    RetChallengeLineupAvatarTypeInvalid = 2816,
    RetChallengeLineupRecommendInCd = 2817,
    RetBasicTypeAlready = 2850,
    RetNoBasicType = 2851,
    RetNotChooseBasicType = 2852,
    RetNotFuncClose = 2853,
    RetNotChooseGender = 2854,
    RetNotReqUnlockBasicType = 2855,
    RetAvatarPathLocked = 2856,
    RetRogueStatusNotMatch = 2901,
    RetRogueSelectBuffNotExist = 2902,
    RetRogueCoinNotEnough = 2903,
    RetRogueStaminaNotEnough = 2904,
    RetRogueAppraisalCountNotEnough = 2905,
    RetRoguePropAlreadyUsed = 2906,
    RetRogueRecordAlreadySaved = 2907,
    RetRogueRollBuffMaxCount = 2908,
    RetRoguePickAvatarInvalid = 2909,
    RetRogueQuestExpire = 2910,
    RetRogueQuestRewardAlready = 2911,
    RetRogueReviveCountNotEnough = 2912,
    RetRogueAreaInvalid = 2913,
    RetRogueScoreRewardPoolInvalid = 2914,
    RetRogueScoreRewardRowInvalid = 2915,
    RetRogueAeonLevelNotMeet = 2916,
    RetRogueAeonLevelRewardAlreadyTaken = 2917,
    RetRogueAeonConfigNotExist = 2918,
    RetRogueTrialAvatarInvalid = 2919,
    RetRogueHandbookRewardAlreadyTaken = 2920,
    RetRogueRoomTypeNotMatch = 2921,
    RetRogueShopGoodNotFound = 2922,
    RetRogueShopGoodAlreadyBought = 2923,
    RetRogueShopGoodAlreadyOwn = 2924,
    RetRogueShopMiracleNotExist = 2925,
    RetRogueShopNotExist = 2926,
    RetRogueShopCannotRefresh = 2927,
    RetRogueSelectBuffCertainMismatch = 2928,
    RetRogueActionQueueNotEmptyBattle = 2929,
    RetRogueActionQueueNotEmptyOthers = 2930,
    RetMissionEventConfigNotExist = 2951,
    RetMissionEventNotClient = 2952,
    RetMissionEventFinished = 2953,
    RetMissionEventDoing = 2954,
    RetHasChallengeMissionEvent = 2955,
    RetNotChallengeMissionEvent = 2956,
    RetGachaIdNotExist = 3001,
    RetGachaNumInvalid = 3002,
    RetGachaFirstGachaMustOne = 3003,
    RetGachaReqDuplicated = 3004,
    RetGachaNotInSchedule = 3005,
    RetGachaNewbieClose = 3006,
    RetGachaTodayLimited = 3007,
    RetGachaNotSupport = 3008,
    RetGachaCeilingNotEnough = 3009,
    RetGachaCeilingClose = 3010,
    RetGachaLocked = 3011,
    RetGachaDecideItemTypeInvalid = 3012,
    RetGachaDecideItemIdInvalid = 3013,
    RetNotInRaid = 3101,
    RetRaidDoing = 3102,
    RetNotProp = 3103,
    RetRaidIdNotMatch = 3104,
    RetRaidRestartNotMatch = 3105,
    RetRaidLimit = 3106,
    RetRaidAvatarListEmpty = 3107,
    RetRaidAvatarNotExist = 3108,
    RetChallengeRaidRewardAlready = 3109,
    RetChallengeRaidScoreNotReach = 3110,
    RetChallengeRaidNotOpen = 3111,
    RetRaidFinished = 3112,
    RetRaidWorldLevelNotLock = 3113,
    RetRaidCannotUseAssist = 3114,
    RetRaidAvatarNotMatch = 3115,
    RetRaidCanNotSave = 3116,
    RetRaidNoSave = 3117,
    RetActivityRaidNotOpen = 3118,
    RetRaidAvatarCaptainNotExist = 3119,
    RetRaidStoryLineNotMatch = 3120,
    RetTalkEventAlreadyTaken = 3151,
    RetNpcAlreadyMeet = 3152,
    RetNpcNotInConfig = 3153,
    RetDialogueGroupDismatch = 3154,
    RetDialogueEventInvalid = 3155,
    RetTalkEventTakeProtoNotMatch = 3156,
    RetTalkEventNotValid = 3157,
    RetExpeditionConfigNotExist = 3201,
    RetExpeditionRewardConfigNotExist = 3202,
    RetExpeditionNotUnlocked = 3203,
    RetExpeditionAlreadyAccepted = 3204,
    RetExpeditionRepeatedAvatar = 3205,
    RetAvatarAlreadyDispatched = 3206,
    RetExpeditionNotAccepted = 3207,
    RetExpeditionNotFinish = 3208,
    RetExpeditionAlreadyFinish = 3209,
    RetExpeditionTeamCountLimit = 3210,
    RetExpeditionAvatarNumNotMatch = 3211,
    RetExpeditionNotOpen = 3212,
    RetExpeditionFriendAvatarNotValid = 3213,
    RetExpeditionNotPublished = 3214,
    RetLoginActivityHasTaken = 3301,
    RetLoginActivityDaysLack = 3302,
    RetTrialActivityRewardAlreadyTake = 3303,
    RetTrialActivityStageNotFinish = 3304,
    RetMaterialSubmitActivityHasTaken = 3305,
    RetMaterialSubmitActivityMaterialNotSubmitted = 3306,
    RetMaterialSubmitActivityMaterialAlreadySubmitted = 3307,
    RetFantasticStoryActivityStoryError = 3308,
    RetFantasticStoryActivityStoryNotOpen = 3309,
    RetFantasticStoryActivityBattleError = 3310,
    RetFantasticStoryActivityBattleNotOpen = 3311,
    RetFantasticStoryActivityBattleAvatarError = 3312,
    RetFantasticStoryActivityBattleBuffError = 3313,
    RetFantasticStoryActivityPreBattleScoreNotEnough = 3314,
    RetTrialActivityAlreadyInTrialActivity = 3315,
    RetCommonActivityNotOpen = 3316,
    RetBenefitNotReady = 3317,
    RetCommonActivityBusy = 3318,
    RetAvatarDeliverRewardPhaseError = 3319,
    RetMessageConfigNotExist = 3501,
    RetMessageSectionNotTake = 3502,
    RetMessageGroupNotTake = 3503,
    RetMessageSectionIdNotMatch = 3504,
    RetMessageSectionCanNotFinish = 3505,
    RetMessageItemCanNotFinish = 3506,
    RetMessageItemRaidCanNotFinish = 3507,
    RetFriendAlreadyIsFriend = 3601,
    RetFriendIsNotFriend = 3602,
    RetFriendApplyExpire = 3603,
    RetFriendInBlacklist = 3604,
    RetFriendNotInBlacklist = 3605,
    RetFriendNumberLimit = 3606,
    RetFriendBlacklistNumberLimit = 3607,
    RetFriendDailyApplyLimit = 3608,
    RetFriendInHandleLimit = 3609,
    RetFriendApplyInCd = 3610,
    RetFriendRemarkNameFormatError = 3611,
    RetFriendPlayerNotFound = 3612,
    RetFriendInTargetBlacklist = 3613,
    RetFriendTargetNumberLimit = 3614,
    RetAssistQueryTooFast = 3615,
    RetAssistNotExist = 3616,
    RetAssistUsedAlready = 3617,
    RetFriendReportReasonFormatError = 3618,
    RetFriendReportSensitiveWords = 3619,
    RetAssistUsedTimesOver = 3620,
    RetAssistQuitAlready = 3621,
    RetAssistAvatarInLineup = 3622,
    RetAssistNoReward = 3623,
    RetFriendSearchNumLimit = 3624,
    RetFriendSearchInCd = 3625,
    RetFriendRemarkNameUtf8Error = 3626,
    RetFriendReportReasonUtf8Error = 3627,
    RetAssistSetAlready = 3628,
    RetFriendTargetForbidOtherApply = 3629,
    RetFriendMarkedCntMax = 3630,
    RetFriendMarkedAlready = 3631,
    RetFriendNotMarked = 3632,
    RetFriendChallengeLineupRecommendInCd = 3633,
    RetViewPlayerCardInCd = 3634,
    RetViewPlayerBattleRecordInCd = 3635,
    RetPlayerBoardHeadIconNotExist = 3701,
    RetPlayerBoardHeadIconLocked = 3702,
    RetPlayerBoardHeadIconAlreadyUnlocked = 3703,
    RetPlayerBoardDisplayAvatarNotExist = 3704,
    RetPlayerBoardDisplayAvatarExceedLimit = 3705,
    RetPlayerBoardDisplayRepeatedAvatar = 3706,
    RetPlayerBoardDisplayAvatarSamePos = 3707,
    RetPlayerBoardDisplayAvatarLocked = 3708,
    RetSignatureLengthExceedLimit = 3709,
    RetSignatureSensitiveWords = 3710,
    RetPlayerBoardAssistAvatarNotExist = 3712,
    RetPlayerBoardAssistAvatarLocked = 3713,
    RetSignatureUtf8Error = 3714,
    RetPlayerBoardAssistAvatarCntError = 3715,
    RetPlayerBoardPersonalCardNotExist = 3716,
    RetPlayerBoardPersonalCardLocked = 3717,
    RetPlayerBoardPersonalNoChange = 3718,
    RetBattlePassTierNotValid = 3801,
    RetBattlePassLevelNotMeet = 3802,
    RetBattlePassRewardTakeAlready = 3803,
    RetBattlePassNotPremium = 3804,
    RetBattlePassNotDoing = 3805,
    RetBattlePassLevelInvalid = 3806,
    RetBattlePassNotUnlock = 3807,
    RetBattlePassNoReward = 3808,
    RetBattlePassQuestNotValid = 3809,
    RetBattlePassNotChooseOptional = 3810,
    RetBattlePassNotTakeReward = 3811,
    RetBattlePassOptionalNotValid = 3812,
    RetBattlePassBuyAlready = 3813,
    RetBattlePassNearEnd = 3814,
    RetMusicLocked = 3901,
    RetMusicNotExist = 3902,
    RetMusicUnlockFailed = 3903,
    RetPunkLordLackSummonTimes = 4001,
    RetPunkLordAttackingMonsterLimit = 4002,
    RetPunkLordMonsterNotExist = 4003,
    RetPunkLordMonsterAlreadyShared = 4004,
    RetPunkLordMonsterExpired = 4005,
    RetPunkLordSelfMonsterAttackLimit = 4006,
    RetPunkLordLackSupportTimes = 4007,
    RetPunkLordMonsterAlreadyKilled = 4008,
    RetPunkLordMonsterAttackerLimit = 4009,
    RetPunkLordWorldLevleNotValid = 4010,
    RetPunkLordRewardLevleNotExist = 4011,
    RetPunkLordPointNotMeet = 4012,
    RetPunkLordInAttacking = 4013,
    RetPunkLordOperationInCd = 4014,
    RetPunkLordRewardAlreadyTaken = 4015,
    RetPunkLordOverBonusRewardLimit = 4016,
    RetPunkLordNotInSchedule = 4017,
    RetPunkLordMonsterNotAttacked = 4018,
    RetPunkLordMonsterNotKilled = 4019,
    RetPunkLordMonsterKilledScoreAlreadyTake = 4020,
    RetPunkLordRewardLevleAlreadyTake = 4021,
    RetDailyActiveLevelInvalid = 4101,
    RetDailyActiveLevelRewardAlreadyTaken = 4102,
    RetDailyActiveLevelApNotEnough = 4103,
    RetDailyMeetPam = 4201,
    RetReplayIdNotMatch = 4251,
    RetReplayReqNotValid = 4252,
    RetFightActivityDifficultyLevelNotPassed = 4301,
    RetFightActivityDifficultyLevelRewardAlreadyTake = 4302,
    RetFightActivityStageNotOpen = 4303,
    RetFightActivityLevelNotUnlock = 4304,
    RetTrainVisitorVisitorNotExist = 4351,
    RetTrainVisitorBehaviorNotExist = 4352,
    RetTrainVisitorBehaviorFinished = 4353,
    RetTrainVisitorAllBehaviorRewardTaken = 4354,
    RetTrainVisitorGetOnMissionNotFinish = 4355,
    RetTrainVisitorNotGetOffOrBeTrainMember = 4356,
    RetTextJoinUnknowIsOverride = 4401,
    RetTextJoinIdNotExist = 4402,
    RetTextJoinCanNotOverride = 4403,
    RetTextJoinItemIdError = 4404,
    RetTextJoinSensitiveCheckError = 4405,
    RetTextJoinMustOverride = 4406,
    RetTextJoinTextEmpty = 4407,
    RetTextJoinTextFormatError = 4408,
    RetTextJoinTextUtf8Error = 4409,
    RetTextJoinBatchReqIdRepeat = 4410,
    RetTextJoinTypeNotSupportBatchReq = 4411,
    RetTextJoinAvatarIdNotExist = 4412,
    RetTextJoinUnknowType = 4413,
    RetPamMissionMissionIdError = 4451,
    RetPamMissionMissionExpire = 4452,
    RetChatTypeNotExist = 4501,
    RetMsgTypeNotExist = 4502,
    RetChatNoTargetUid = 4503,
    RetChatMsgEmpty = 4504,
    RetChatMsgExceedLimit = 4505,
    RetChatMsgSensitiveCheckError = 4506,
    RetChatMsgUtf8Error = 4507,
    RetChatForbidSwitchOpen = 4508,
    RetChatForbid = 4509,
    RetChatMsgIncludeSpecialStr = 4510,
    RetChatMsgEmojiNotExist = 4511,
    RetChatMsgEmojiGenderNotMatch = 4512,
    RetChatMsgEmojiNotMarked = 4513,
    RetChatMsgEmojiAlreadyMarked = 4514,
    RetChatMsgEmojiMarkedMaxLimit = 4515,
    RetBoxingClubChallengeNotOpen = 4601,
    RetMuseumNotOpen = 4651,
    RetMuseumTurnCntNotMatch = 4652,
    RetMuseumPhaseNotReach = 4653,
    RetMuseumUnknowStuff = 4654,
    RetMuseumUnknowArea = 4655,
    RetMuseumUnknowPos = 4656,
    RetMuseumStuffAlreadyInArea = 4657,
    RetMuseumStuffNotInArea = 4658,
    RetMuseumGetNpcRepeat = 4659,
    RetMuseumGetNpcUnlock = 4660,
    RetMuseumGetNpcNotEnough = 4661,
    RetMuseumChangeStuffAreaError = 4662,
    RetMuseumNotInit = 4663,
    RetMuseumEventError = 4664,
    RetMuseumUnknowChooseEventId = 4665,
    RetMuseumEventOrderNotMatch = 4666,
    RetMuseumEventPhaseNotUnlock = 4667,
    RetMuseumEventMissionNotFound = 4668,
    RetMuseumAreaLevelUpAlready = 4669,
    RetMuseumStuffAlreadyUsed = 4670,
    RetMuseumEventRoundNotUnlock = 4671,
    RetMuseumStuffInArea = 4672,
    RetMuseumStuffDispatch = 4673,
    RetMuseumIsEnd = 4674,
    RetMuseumStuffLeaving = 4675,
    RetMuseumEventMissionNotFinish = 4678,
    RetMuseumCollectRewardNotExist = 4679,
    RetMuseumCollectRewardAlreadyTaken = 4680,
    RetMuseumAcceptMissionMaxLimit = 4681,
    RetRogueChallengeNotOpen = 4701,
    RetRogueChallengeAssisRefreshLimit = 4702,
    RetAlleyNotInit = 4721,
    RetAlleyNotOpen = 4722,
    RetAlleyMapNotExist = 4724,
    RetAlleyEmptyPosList = 4725,
    RetAlleyLinePosInvalid = 4726,
    RetAlleyShopNotUnlock = 4727,
    RetAlleyDepotFull = 4728,
    RetAlleyShopNotInclude = 4729,
    RetAlleyEventNotUnlock = 4730,
    RetAlleyEventNotRefresh = 4731,
    RetAlleyEventStateDoing = 4732,
    RetAlleyEventStateFinish = 4733,
    RetAlleyEventError = 4734,
    RetAlleyRewardLevelError = 4735,
    RetAlleyRewardPrestigeNotEnough = 4736,
    RetAlleyShipEmpty = 4737,
    RetAlleyShipIdDismatch = 4738,
    RetAlleyShipNotExist = 4739,
    RetAlleyShipNotUnlock = 4740,
    RetAlleyGoodsNotExist = 4741,
    RetAlleyGoodsNotUnlock = 4742,
    RetAlleyProfitNotPositive = 4743,
    RetAlleySpecialOrderDismatch = 4744,
    RetAlleyOrderGoodsOverLimit = 4745,
    RetAlleySpecialOrderConditionNotMeet = 4746,
    RetAlleyDepotSizeOverLimit = 4747,
    RetAlleyGoodsNotEnough = 4748,
    RetAlleyOrderIndexInvalid = 4749,
    RetAlleyRewardAlreadyTake = 4750,
    RetAlleyRewardNotExist = 4751,
    RetAlleyMainMissionNotDoing = 4752,
    RetAlleyCriticalEventNotFinish = 4753,
    RetAlleyShopGoodsNotValid = 4754,
    RetAlleySlashNotOpen = 4755,
    RetAlleyPlacingAnchorInvalid = 4756,
    RetAlleyPlacingGoodsIndexInvalid = 4757,
    RetAlleySaveMapTooQuick = 4758,
    RetAlleyMapNotLink = 4759,
    RetAlleyFundsNotLowerBase = 4760,
    RetAlleyEventNotFinish = 4761,
    RetAlleyNormalOrderNotMeet = 4762,
    RetPlayerReturnNotOpen = 4801,
    RetPlayerReturnIsSigned = 4802,
    RetPlayerReturnPointNotEnough = 4803,
    RetPlayerReturnConditionInvalid = 4804,
    RetPlayerReturnHasSigned = 4805,
    RetPlayerReturnRewardTaken = 4806,
    RetPlayerReturnRelicTaken = 4807,
    RetAetherDivideNoLineup = 4851,
    RetAetherDivideLineupInvalid = 4852,
    RetChatBubbleIdError = 4901,
    RetChatBubbleIdNotUnlock = 4902,
    RetPhoneThemeIdError = 4903,
    RetPhoneThemeIdNotUnlock = 4904,
    RetChatBubbleSelectIsCurrent = 4905,
    RetPhoneThemeSelectIsCurrent = 4906,
    RetPhoneCaseIdError = 4907,
    RetPhoneCaseIdNotUnlock = 4908,
    RetPhoneCaseSelectIsCurrent = 4909,
    RetChessRogueConfigNotFound = 4951,
    RetChessRogueConfigInvalid = 4952,
    RetChessRogueNoValidRoom = 4963,
    RetChessRogueNoCellInfo = 4964,
    RetChessRogueCellNotFinish = 4965,
    RetChessRogueCellIsLocked = 4966,
    RetChessRogueScheduleNotMatch = 4967,
    RetChessRogueStatusFail = 4968,
    RetChessRogueAreaNotExist = 4969,
    RetChessRogueLineupFail = 4970,
    RetChessRogueAeonFail = 4980,
    RetChessRogueEnterCellFail = 4981,
    RetChessRogueRollDiceFail = 4982,
    RetChessRogueDiceStatusFail = 4983,
    RetChessRogueDiceCntNotFull = 4984,
    RetChessRogueUnlock = 4985,
    RetChessRoguePickAvatarFail = 4986,
    RetChessRogueAvatarInvalid = 4987,
    RetChessRogueCellCanNotSelect = 4988,
    RetChessRogueDiceConfirmed = 4989,
    RetChessRogueNousDiceNotMatch = 4990,
    RetChessRogueNousDiceRarityFail = 4991,
    RetChessRogueNousDiceSurfaceDuplicate = 4992,
    RetChessRogueNotInRogue = 4993,
    RetChessRogueNousDiceBranchLimit = 4994,
    RetHeliobusNotOpen = 5101,
    RetHeliobusSnsPostNotUnlock = 5102,
    RetHeliobusSnsAlreadyRead = 5103,
    RetHeliobusSnsAlreadyLiked = 5104,
    RetHeliobusSnsAlreadyCommented = 5105,
    RetHeliobusSnsInMission = 5106,
    RetHeliobusSnsAlreadyPosted = 5107,
    RetHeliobusSnsNotDoingMission = 5108,
    RetHeliobusRewardLevelMax = 5109,
    RetHeliobusIncomeNotEnough = 5110,
    RetHeliobusSnsCommentNotUnlock = 5111,
    RetHeliobusChallengeNotUnlock = 5112,
    RetHeliobusChallengeIdError = 5113,
    RetHeliobusSkillNotUnlock = 5114,
    RetHeliobusAcceptPostMissionFail = 5115,
    RetHeliobusSkillNotSelected = 5116,
    RetHeliobusPlaneTypeInvalid = 5117,
    RetReddotParamInvalid = 5151,
    RetReddotActivityNotOpen = 5152,
    RetRogueEndlessActivityConfigError = 5201,
    RetRogueEndlessActivityNotOpen = 5202,
    RetRogueEndlessActivityOverBonusRewardLimit = 5203,
    RetRogueEndlessActivityScoreNotMeet = 5204,
    RetRogueEndlessActivityRewardLevleAlreadyTake = 5205,
    RetHeartDialScriptNotFound = 5251,
    RetHeartDialScriptEmotionTheSame = 5252,
    RetHeartDialScriptStepNotNormal = 5253,
    RetHeartDialScriptConditionNotMatch = 5254,
    RetHeartDialScriptSubmitItemNumNotMatch = 5255,
    RetHeartDialScriptSubmitItemIdNotMatch = 5256,
    RetHeartDialDialogueNotFound = 5257,
    RetHeartDialDialogueAlreadyPerformed = 5258,
    RetHeartDialNpcNotFound = 5259,
    RetHeartDialTraceConfigNotFound = 5260,
    RetHeartDialFloorTraceExist = 5261,
    RetHeartDialTraceFloorNotMatch = 5262,
    RetTravelBrochureConfigError = 5301,
    RetTravelBrochureParamInvalid = 5302,
    RetTravelBrochureLocked = 5303,
    RetTravelBrochureCannotOperate = 5304,
    RetTravelBrochureWorldIdNotMatch = 5305,
    RetTravelBrochureHasNoWorldBook = 5306,
    RetTravelBrochurePageFull = 5307,
    RetMapRotationNotInRegion = 5351,
    RetMapRotationRotaterAlreadyDeployed = 5352,
    RetMapRotationEnergyNotEnough = 5353,
    RetMapRotationEntityNotOnCurPose = 5354,
    RetMapRotationRotaterNotDeployed = 5355,
    RetMapRotationPoseRotaterMismatch = 5356,
    RetMapRotationRotaterNotRemovable = 5357,
    RetMapRotationRotaterDisposable = 5358,
    RetSpaceZooActivityCatNotFound = 5401,
    RetSpaceZooActivityCatParamInvalid = 5402,
    RetSpaceZooActivityCatItemNotEnough = 5403,
    RetSpaceZooActivityCatBagFull = 5404,
    RetSpaceZooActivityCatNotToMutate = 5405,
    RetSpaceZooActivityCatStateError = 5406,
    RetSpaceZooActivityCatCatteryLocked = 5407,
    RetSpaceZooActivityCatOutNow = 5408,
    RetSpaceZooActivityCatConfigNotFound = 5409,
    RetSpaceZooActivityCatFeatureNotFound = 5410,
    RetSpaceZooActivityCatAddCatError = 5411,
    RetSpaceZooActivityCatMoneyNotEnough = 5412,
    RetSpaceZooActivityCatCondNotMatch = 5413,
    RetStrongChallengeActivityStageCfgMiss = 5501,
    RetStrongChallengeActivityStageNotOpen = 5502,
    RetStrongChallengeActivityBuffError = 5503,
    RetRollShopNotFound = 5551,
    RetRollShopGroupEmpty = 5552,
    RetRollShopEmpty = 5553,
    RetRollShopGachaReqDuplicated = 5554,
    RetRollShopRandomError = 5555,
    RetRollShopGroupTypeNotFound = 5556,
    RetRollShopHasStoredRewardAlready = 5557,
    RetRollShopNoStoredReward = 5558,
    RetRollShopNotInValidScene = 5559,
    RetRollShopInvalidRollShopType = 5560,
    RetActivityRaidCollectionPrevNotFinish = 5601,
    RetActivityRaidCollectionGroupEnterNextUnavailable = 5602,
    RetActivityRaidCollectionIsLast = 5603,
    RetActivityRaidCollectionIsNotNext = 5604,
    RetOfferingNotUnlock = 5651,
    RetOfferingLevelNotUnlock = 5652,
    RetOfferingReachMaxLevel = 5653,
    RetOfferingItemNotEnough = 5654,
    RetOfferingLongtailNotOpen = 5655,
    RetOfferingRewardCondition = 5656,
    RetDrinkMakerChatInvalid = 5701,
    RetDrinkMakerParamInvalid = 5702,
    RetDrinkMakerParamNotUnlock = 5703,
    RetDrinkMakerConfigNotFound = 5704,
    RetDrinkMakerNotLastChat = 5705,
    RetDrinkMakerDayAndFreePhaseNotOpen = 5706,
    RetMonopolyNotOpen = 5751,
    RetMonopolyConfigError = 5752,
    RetMonopolyDiceNotEnough = 5753,
    RetMonopolyCurCellNotFinish = 5754,
    RetMonopolyCoinNotEnough = 5755,
    RetMonopolyCellWaitPending = 5756,
    RetMonopolyCellStateError = 5757,
    RetMonopolyCellContentError = 5758,
    RetMonopolyItemNotEnough = 5759,
    RetMonopolyCellContentCannotGiveup = 5760,
    RetMonopolyAssetLevelInvalid = 5761,
    RetMonopolyTurnNotFinish = 5762,
    RetMonopolyGuideNotFinish = 5763,
    RetMonopolyRaffleRewardReissued = 5764,
    RetMonopolyNoGameActive = 5771,
    RetMonopolyGameRatioNotIncreasable = 5772,
    RetMonopolyGameRatioMax = 5773,
    RetMonopolyGameTargetRatioInvalid = 5774,
    RetMonopolyGameBingoFlipPosInvalid = 5775,
    RetMonopolyGameGuessAlreadyChoose = 5776,
    RetMonopolyGameGuessChooseInvalid = 5777,
    RetMonopolyGameGuessInformationAlreadyBought = 5778,
    RetMonopolyGameRaiseRatioNotUnlock = 5779,
    RetMonopolyFriendNotSynced = 5785,
    RetMonopolyGetFriendRankingListInCd = 5786,
    RetMonopolyLikeTargetNotFriend = 5787,
    RetMonopolyDailyAlreadyLiked = 5788,
    RetMonopolySocialEventStatusNotMatch = 5789,
    RetMonopolySocialEventServerCacheNotExist = 5790,
    RetMonopolyActivityIdNotMatch = 5791,
    RetMonopolyRafflePoolNotExist = 5792,
    RetMonopolyRafflePoolTimeNotMatch = 5793,
    RetMonopolyRafflePoolPhaseNotMeet = 5794,
    RetMonopolyRafflePoolShowTimeNotMeet = 5795,
    RetMonopolyRaffleTicketNotFound = 5796,
    RetMonopolyRaffleTicketTimeNotMeet = 5797,
    RetMonopolyRaffleTicketRewardAlreadyTaken = 5798,
    RetMonopolyRafflePoolNotInRaffleTime = 5799,
    RetMonopolyMbtiReportRewardAlreadyTaken = 5800,
    RetEvolveBuildLevelGaming = 5801,
    RetEveolveBuildLevelBanRandom = 5802,
    RetEvolveBuildFirstRewardAlreadyTaken = 5803,
    RetEvolveBuildLevelUnfinish = 5804,
    RetEvolveBuildShopAbilityMaxLevel = 5805,
    RetEvolveBuildShopAbilityMinLevel = 5806,
    RetEvolveBuildShopAbilityNotGet = 5807,
    RetEvolveBuildLevelLock = 5808,
    RetEvolveBuildExpNotEnough = 5809,
    RetEvolveBuildShopAbilityLevelError = 5810,
    RetEvolveBuildActivityNotOpen = 5811,
    RetEvolveBuildShopAbilityEmpty = 5812,
    RetEvolveBuildLevelNotStart = 5813,
    RetEvolveBuildShopLock = 5814,
    RetEvolveBuildRewardLock = 5815,
    RetEvolveBuildRewardLevelMax = 5816,
    RetEvolveBuildRewardAlreadyAllTaken = 5717,
    RetEvolveBuildSeasonError = 5718,
    RetEvolveBuildTeachSkipQuestNotFinish = 5719,
    RetClockParkConfigError = 5851,
    RetClockParkEffectError = 5852,
    RetClockParkScriptAlreadyUnlock = 5853,
    RetClockParkScriptUnlockConditionNotMeet = 5854,
    RetClockParkTalentAlreadyUnlock = 5855,
    RetClockParkScriptLocked = 5856,
    RetClockParkHasOngoingScript = 5857,
    RetClockParkNoOngoingScript = 5858,
    RetClockParkDicePlacementError = 5859,
    RetClockParkMismatchStatus = 5860,
    RetClockParkNoBuff = 5861,
    RetClockParkSlotMachineGachaReqDuplicated = 5862,
    RetClockParkSlotMachineCostNotEnough = 5863,
    RetClockParkSlotMachineGachaCntExceedLimit = 5864,
    RetClockParkNotOpen = 5865,
    RetTournRogueStatusMismatch = 5901,
    RetMagicRogueStatusMismatch = 5902,
    RetAutoMountMagicUnitNoMatchedMagicScepter = 5903,
    RetMagicUnitWorkbenchReforgeGenFail = 5904,
    RetMatchAlreadyInMatch = 6201,
    RetMatchNotInMatch = 6202,
    RetMatchPlayNotOpen = 6203,
    RetCrossStateError = 6204,
    RetMatchVersionNotEqual = 6205,
    RetMatchPlayerNotInLobbyRoom = 6206,
    RetLobbyStateNotMatch = 6207,
    RetLobbyRoomNotExist = 6208,
    RetLobbyRoomPalyerFull = 6209,
    RetLobbyRoomPalyerNotReady = 6210,
    RetLobbyRoomPalyerFighting = 6211,
    RetFightRoomNotExist = 6250,
    RetFightMatch3PlayerStateErr = 6251,
    RetFightMatch3RoomStateErr = 6252,
    RetCrossStateTimeOut = 6253,
    RetLobbyStartFightDisable = 6254,
    RetLobbyStartFightPlayerLack = 6255,
    RetMatchClientDataVersionLow = 6256,
    RetLobbyStartMatchDisable = 6257,
    RetLobbyInteractInCd = 6258,
    RetLobbyOwnerStateErr = 6259,
    RetLobbyOpTooFast = 6260,
    RetSwordTrainingNoActiveGame = 6301,
    RetSwordTrainingNoPendingActionMatch = 6302,
    RetSwordTrainingPartnerAbilityInvalid = 6303,
    RetSwordTrainingSkillAlreadyLearned = 6304,
    RetSwordTrainingConditionNotMeet = 6305,
    RetSwordTrainingParentSkillNotLearned = 6306,
    RetSwordTrainingSkillTypeNotUnlock = 6307,
    RetSwordTrainingGameAlreadyExist = 6308,
    RetSwordTrainingEndingHintNotMatch = 6309,
    RetSwordTrainingStorylineConfigNotFound = 6310,
    RetSwordTrainingStoryConfigNotFound = 6311,
    RetSwordTrainingUnlockNotFinish = 6312,
    RetSwordTrainingOptionMismatch = 6313,
    RetSwordTrainingRestoreWithoutExamFailed = 6314,
    RetSwordTrainingNoRestoreGameAvailable = 6315,
    RetSwordTrainingEndingStoryNotMatch = 6316,
    RetSwordTrainingEndingNotFinish = 6317,
    RetSwordTrainingEndingRewardTaken = 6318,
    RetSwordTrainingCombatRankNotChange = 6319,
    RetSwordTrainingDirectBattleDisable = 6320,
    RetFightFestPhaseNotMatch = 6351,
    RetFightFestScoreRaceAlreadyFinish = 6352,
    RetFightFestChallengeLocked = 6353,
    RetFightFestCoachSkillLocked = 6354,
    RetFightFestCoachSkillEquipTypeExisted = 6355,
    RetFightFestScoreRaceMissionDoind = 6356,
    RetFightFestCoachSkillNoEquip = 6357,
    RetPetNotExist = 6401,
    RetPetAlreadySummoned = 6402,
    RetPetNotSummoned = 6403,
    RetMusicRhythmLevelTimeTooShort = 6451,
    RetMusicRhythmNotInLevel = 6452,
    RetMusicRhythmPreDifficultyNotPass = 6453,
    RetMusicRhythmSongLimited = 6454,
    RetMusicRhythmSongLocked = 6455,
    RetMusicRhythmTrackLocked = 6456,
    RetMusicRhythmLevelNotUnlock = 6457,
    RetMusicRhythmSongSfxLocked = 6458,
    RetTrainPartyCoinNotEnough = 6501,
    RetTrainPartyDiyTagNotMatch = 6502,
    RetTrainPartyUseCardMobilityNotEnough = 6503,
    RetTrainPartyAreaUnlockCoinNotEnough = 6504,
    RetTarotBookEnergyNotEnough = 6601,
    RetTarotBookPackNotAvailable = 6602,
    RetTarotBookStoryAlreadyUnlock = 6603,
    RetTarotBookCardNotEnough = 6604,
    RetTarotBookClueNotEnough = 6605,
    RetTarotBookUnlockStoryCardNotSame = 6606,
    RetTarotBookStoryNotUnlock = 6607,
    RetTarotBookStoryAlreadyFinish = 6608,
    RetTarotBookInteractionAlreadyFinish = 6609,
    RetChimeraChimeraNotUnlock = 6621,
    RetChimeraChimeraDuplicated = 6622,
    RetChimeraChimeraTypeError = 6623,
    RetChimeraWorkMismatchRound = 6624,
    RetChimeraWorkRoundOptionNotMeet = 6625,
    RetChimeraEndlessNotUnlock = 6626,
    RetChimeraInEndless = 6627,
    RetChimeraNotInEndless = 6628,
    RetChimeraChimeraFallInEndless = 6629,
    RetPlanetFesAvatarNotExist = 6641,
    RetPlanetFesLandNotExist = 6642,
    RetPlanetFesItemNotEnough = 6643,
    RetPlanetFesLandAlreadyUnlock = 6644,
    RetPlanetFesWorkAvatarRepeat = 6645,
    RetPlanetFesWorkAvatarTypeNotMatch = 6646,
    RetPlanetFesActivityNotOpen = 6647,
    RetPlanetFesSkilltreePhaseNotUnlock = 6648,
    RetPlanetFesSkillNotUnlock = 6649,
    RetPlanetFesConfigError = 6650,
    RetPlanetFesNotInBusinessDay = 6651,
    RetPlanetFesEventLocked = 6652,
    RetPlanetFesEventFinished = 6653,
    RetPlanetFesEventInCd = 6654,
    RetPlanetFesEventAlreadyInState = 6655,
    RetPlanetFesEventNoWorkAvatar = 6656,
    RetPlanetFesEventProcessingCannotDisappear = 6657,
    RetPlanetFesEventOptionPhaseWrong = 6658,
    RetPlanetFesFunctionNotUnlock = 6659,
    RetPlanetFesRewardAlreadyTaken = 6660,
    RetPlanetFesEventGameNotActive = 6661,
    RetPlanetFesRegionProgressNotEnough = 6662,
    RetPlanetFesFriendItemNotEnough = 6663,
    RetPlanetFesPiecePermissionBan = 6664,
    RetPlanetFesPieceOfferNotExist = 6665,
    RetPlanetFesPieceApplyInStackTooMuch = 6666,
    RetPlanetFesPieceApplyNotExist = 6667,
    RetPlanetFesGetFriendRankingListInCd = 6668,
    RetPlanetFesGivePieceOwnedByTarget = 6669,
    RetPlanetFesLevelMax = 6670,
    RetPlanetFesExclusiveEvent = 6671,
    RetMarbleSealAlreadyUnlocked = 6701,
    RetMarbleSealShopItemNotEnough = 6702,
    RetMarbleSealLocked = 6703,
    RetParkourActivityNotOpen = 6801,
    RetParkourLevelNotUnlock = 6802,
    RetParkourRailBallNotAllowed = 6803,
    RetParkourNotInLevel = 6804,
    RetParkourLevelNotMatch = 6805,
    RetParkourNotPlayedAllNonStoryLevel = 6806,
    RetFtcLimitNameChange = 6830,
    RetGridFightConfMiss = 6900,
}
impl Retcode {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RetSucc => "RET_SUCC",
            Self::RetFail => "RET_FAIL",
            Self::RetServerInternalError => "RET_SERVER_INTERNAL_ERROR",
            Self::RetTimeout => "RET_TIMEOUT",
            Self::RetRepeatedReq => "RET_REPEATED_REQ",
            Self::RetReqParaInvalid => "RET_REQ_PARA_INVALID",
            Self::RetPlayerDataError => "RET_PLAYER_DATA_ERROR",
            Self::RetPlayerClientPaused => "RET_PLAYER_CLIENT_PAUSED",
            Self::RetFuncCheckFailed => "RET_FUNC_CHECK_FAILED",
            Self::RetFeatureSwitchClosed => "RET_FEATURE_SWITCH_CLOSED",
            Self::RetFreqOverLimit => "RET_FREQ_OVER_LIMIT",
            Self::RetSystemBusy => "RET_SYSTEM_BUSY",
            Self::RetPlayerNotOnline => "RET_PLAYER_NOT_ONLINE",
            Self::RetOperationInCd => "RET_OPERATION_IN_CD",
            Self::RetRepeateLogin => "RET_REPEATE_LOGIN",
            Self::RetRetryLogin => "RET_RETRY_LOGIN",
            Self::RetWaitLogin => "RET_WAIT_LOGIN",
            Self::RetNotInWhiteList => "RET_NOT_IN_WHITE_LIST",
            Self::RetInBlackList => "RET_IN_BLACK_LIST",
            Self::RetAccountVerifyError => "RET_ACCOUNT_VERIFY_ERROR",
            Self::RetAccountParaError => "RET_ACCOUNT_PARA_ERROR",
            Self::RetAntiAddictLogin => "RET_ANTI_ADDICT_LOGIN",
            Self::RetCheckSumError => "RET_CHECK_SUM_ERROR",
            Self::RetReachMaxPlayerNum => "RET_REACH_MAX_PLAYER_NUM",
            Self::RetAlreadyRegistered => "RET_ALREADY_REGISTERED",
            Self::RetGenderError => "RET_GENDER_ERROR",
            Self::SetNicknameRetCallbackProcessing => {
                "SET_NICKNAME_RET_CALLBACK_PROCESSING"
            }
            Self::RetInGmBindAccess => "RET_IN_GM_BIND_ACCESS",
            Self::RetQuestRewardAlreadyTaken => "RET_QUEST_REWARD_ALREADY_TAKEN",
            Self::RetQuestNotAccept => "RET_QUEST_NOT_ACCEPT",
            Self::RetQuestNotFinish => "RET_QUEST_NOT_FINISH",
            Self::RetQuestStatusError => "RET_QUEST_STATUS_ERROR",
            Self::RetAchievementLevelNotReach => "RET_ACHIEVEMENT_LEVEL_NOT_REACH",
            Self::RetAchievementLevelAlreadyTaken => {
                "RET_ACHIEVEMENT_LEVEL_ALREADY_TAKEN"
            }
            Self::RetAvatarNotExist => "RET_AVATAR_NOT_EXIST",
            Self::RetAvatarResExpNotEnough => "RET_AVATAR_RES_EXP_NOT_ENOUGH",
            Self::RetAvatarExpReachPromotionLimit => {
                "RET_AVATAR_EXP_REACH_PROMOTION_LIMIT"
            }
            Self::RetAvatarReachMaxPromotion => "RET_AVATAR_REACH_MAX_PROMOTION",
            Self::RetSkilltreeConfigNotExist => "RET_SKILLTREE_CONFIG_NOT_EXIST",
            Self::RetSkilltreeAlreadyUnlock => "RET_SKILLTREE_ALREADY_UNLOCK",
            Self::RetSkilltreePreLocked => "RET_SKILLTREE_PRE_LOCKED",
            Self::RetSkilltreeLevelNotMeet => "RET_SKILLTREE_LEVEL_NOT_MEET",
            Self::RetSkilltreeRankNotMeet => "RET_SKILLTREE_RANK_NOT_MEET",
            Self::RetAvatarDressNoEquipment => "RET_AVATAR_DRESS_NO_EQUIPMENT",
            Self::RetAvatarExpItemNotExist => "RET_AVATAR_EXP_ITEM_NOT_EXIST",
            Self::RetSkilltreePointLocked => "RET_SKILLTREE_POINT_LOCKED",
            Self::RetSkilltreePointLevelUpgradeNotMatch => {
                "RET_SKILLTREE_POINT_LEVEL_UPGRADE_NOT_MATCH"
            }
            Self::RetSkilltreePointLevelReachMax => "RET_SKILLTREE_POINT_LEVEL_REACH_MAX",
            Self::RetWorldLevelNotMeet => "RET_WORLD_LEVEL_NOT_MEET",
            Self::RetPlayerLevelNotMeet => "RET_PLAYER_LEVEL_NOT_MEET",
            Self::RetAvatarRankNotMatch => "RET_AVATAR_RANK_NOT_MATCH",
            Self::RetAvatarRankReachMax => "RET_AVATAR_RANK_REACH_MAX",
            Self::RetHeroBasicTypeNotMatch => "RET_HERO_BASIC_TYPE_NOT_MATCH",
            Self::RetAvatarPromotionNotMeet => "RET_AVATAR_PROMOTION_NOT_MEET",
            Self::RetPromotionRewardConfigNotExist => {
                "RET_PROMOTION_REWARD_CONFIG_NOT_EXIST"
            }
            Self::RetPromotionRewardAlreadyTaken => "RET_PROMOTION_REWARD_ALREADY_TAKEN",
            Self::RetAvatarSkinItemNotExist => "RET_AVATAR_SKIN_ITEM_NOT_EXIST",
            Self::RetAvatarSkinAlreadyDressed => "RET_AVATAR_SKIN_ALREADY_DRESSED",
            Self::RetAvatarNotDressSkin => "RET_AVATAR_NOT_DRESS_SKIN",
            Self::RetAvatarSkinNotMatchAvatar => "RET_AVATAR_SKIN_NOT_MATCH_AVATAR",
            Self::RetAvatarPathNotMatch => "RET_AVATAR_PATH_NOT_MATCH",
            Self::RetItemNotExist => "RET_ITEM_NOT_EXIST",
            Self::RetItemCostNotEnough => "RET_ITEM_COST_NOT_ENOUGH",
            Self::RetItemCostTooMuch => "RET_ITEM_COST_TOO_MUCH",
            Self::RetItemNoCost => "RET_ITEM_NO_COST",
            Self::RetItemNotEnough => "RET_ITEM_NOT_ENOUGH",
            Self::RetItemInvalid => "RET_ITEM_INVALID",
            Self::RetItemConfigNotExist => "RET_ITEM_CONFIG_NOT_EXIST",
            Self::RetScoinNotEnough => "RET_SCOIN_NOT_ENOUGH",
            Self::RetItemRewardExceedLimit => "RET_ITEM_REWARD_EXCEED_LIMIT",
            Self::RetItemInvalidUse => "RET_ITEM_INVALID_USE",
            Self::RetItemUseConfigNotExist => "RET_ITEM_USE_CONFIG_NOT_EXIST",
            Self::RetRewardConfigNotExist => "RET_REWARD_CONFIG_NOT_EXIST",
            Self::RetItemExceedLimit => "RET_ITEM_EXCEED_LIMIT",
            Self::RetItemCountInvalid => "RET_ITEM_COUNT_INVALID",
            Self::RetItemUseTargetTypeInvalid => "RET_ITEM_USE_TARGET_TYPE_INVALID",
            Self::RetItemUseSatietyFull => "RET_ITEM_USE_SATIETY_FULL",
            Self::RetItemComposeNotExist => "RET_ITEM_COMPOSE_NOT_EXIST",
            Self::RetRelicComposeNotExist => "RET_RELIC_COMPOSE_NOT_EXIST",
            Self::RetItemCanNotSell => "RET_ITEM_CAN_NOT_SELL",
            Self::RetItemSellExceddLimit => "RET_ITEM_SELL_EXCEDD_LIMIT",
            Self::RetItemNotInCostList => "RET_ITEM_NOT_IN_COST_LIST",
            Self::RetItemSpecialCostNotEnough => "RET_ITEM_SPECIAL_COST_NOT_ENOUGH",
            Self::RetItemSpecialCostTooMuch => "RET_ITEM_SPECIAL_COST_TOO_MUCH",
            Self::RetItemFormulaNotExist => "RET_ITEM_FORMULA_NOT_EXIST",
            Self::RetItemAutoGiftOptionalNotExist => {
                "RET_ITEM_AUTO_GIFT_OPTIONAL_NOT_EXIST"
            }
            Self::RetRelicComposeRelicInvalid => "RET_RELIC_COMPOSE_RELIC_INVALID",
            Self::RetRelicComposeMainAffixIdInvalid => {
                "RET_RELIC_COMPOSE_MAIN_AFFIX_ID_INVALID"
            }
            Self::RetRelicComposeWrongFormulaType => {
                "RET_RELIC_COMPOSE_WRONG_FORMULA_TYPE"
            }
            Self::RetRelicComposeRelicNotExist => "RET_RELIC_COMPOSE_RELIC_NOT_EXIST",
            Self::RetRelicComposeBlackGoldCountInvalid => {
                "RET_RELIC_COMPOSE_BLACK_GOLD_COUNT_INVALID"
            }
            Self::RetRelicComposeBlackGoldNotNeed => {
                "RET_RELIC_COMPOSE_BLACK_GOLD_NOT_NEED"
            }
            Self::RetMonthCardCannotUse => "RET_MONTH_CARD_CANNOT_USE",
            Self::RetItemRewardExceedDisappear => "RET_ITEM_REWARD_EXCEED_DISAPPEAR",
            Self::RetItemNeedRecycle => "RET_ITEM_NEED_RECYCLE",
            Self::RetItemComposeExceedLimit => "RET_ITEM_COMPOSE_EXCEED_LIMIT",
            Self::RetItemCanNotDestroy => "RET_ITEM_CAN_NOT_DESTROY",
            Self::RetItemAlreadyMark => "RET_ITEM_ALREADY_MARK",
            Self::RetItemMarkExceedLimit => "RET_ITEM_MARK_EXCEED_LIMIT",
            Self::RetItemNotMark => "RET_ITEM_NOT_MARK",
            Self::RetItenTurnFoodNotSet => "RET_ITEN_TURN_FOOD_NOT_SET",
            Self::RetItemTurnFoodAlreadySet => "RET_ITEM_TURN_FOOD_ALREADY_SET",
            Self::RetItemTurnFoodConsumeTypeError => {
                "RET_ITEM_TURN_FOOD_CONSUME_TYPE_ERROR"
            }
            Self::RetItemTurnFoodSwitchAlreadyOpen => {
                "RET_ITEM_TURN_FOOD_SWITCH_ALREADY_OPEN"
            }
            Self::RetItemTurnFoodSwitchAlreadyClose => {
                "RET_ITEM_TURN_FOOD_SWITCH_ALREADY_CLOSE"
            }
            Self::RetHcoinExchangeTooMuch => "RET_HCOIN_EXCHANGE_TOO_MUCH",
            Self::RetItemTurnFoodSceneTypeError => "RET_ITEM_TURN_FOOD_SCENE_TYPE_ERROR",
            Self::RetEquipmentAlreadyDressed => "RET_EQUIPMENT_ALREADY_DRESSED",
            Self::RetEquipmentNotExist => "RET_EQUIPMENT_NOT_EXIST",
            Self::RetEquipmentReachLevelLimit => "RET_EQUIPMENT_REACH_LEVEL_LIMIT",
            Self::RetEquipmentConsumeSelf => "RET_EQUIPMENT_CONSUME_SELF",
            Self::RetEquipmentAlreadyLocked => "RET_EQUIPMENT_ALREADY_LOCKED",
            Self::RetEquipmentAlreadyUnlocked => "RET_EQUIPMENT_ALREADY_UNLOCKED",
            Self::RetEquipmentLocked => "RET_EQUIPMENT_LOCKED",
            Self::RetEquipmentSelectNumOverLimit => "RET_EQUIPMENT_SELECT_NUM_OVER_LIMIT",
            Self::RetEquipmentRankUpMustConsumeSameTid => {
                "RET_EQUIPMENT_RANK_UP_MUST_CONSUME_SAME_TID"
            }
            Self::RetEquipmentPromotionReachMax => "RET_EQUIPMENT_PROMOTION_REACH_MAX",
            Self::RetEquipmentRankUpReachMax => "RET_EQUIPMENT_RANK_UP_REACH_MAX",
            Self::RetEquipmentLevelReachMax => "RET_EQUIPMENT_LEVEL_REACH_MAX",
            Self::RetEquipmentExceedLimit => "RET_EQUIPMENT_EXCEED_LIMIT",
            Self::RetRelicNotExist => "RET_RELIC_NOT_EXIST",
            Self::RetRelicReachLevelLimit => "RET_RELIC_REACH_LEVEL_LIMIT",
            Self::RetRelicConsumeSelf => "RET_RELIC_CONSUME_SELF",
            Self::RetRelicAlreadyDressed => "RET_RELIC_ALREADY_DRESSED",
            Self::RetRelicLocked => "RET_RELIC_LOCKED",
            Self::RetRelicAlreadyLocked => "RET_RELIC_ALREADY_LOCKED",
            Self::RetRelicAlreadyUnlocked => "RET_RELIC_ALREADY_UNLOCKED",
            Self::RetRelicLevelIsNotZero => "RET_RELIC_LEVEL_IS_NOT_ZERO",
            Self::RetUniqueIdRepeated => "RET_UNIQUE_ID_REPEATED",
            Self::RetEquipmentLevelNotMeet => "RET_EQUIPMENT_LEVEL_NOT_MEET",
            Self::RetEquipmentItemNotInCostList => "RET_EQUIPMENT_ITEM_NOT_IN_COST_LIST",
            Self::RetEquipmentLevelGreaterThanOne => {
                "RET_EQUIPMENT_LEVEL_GREATER_THAN_ONE"
            }
            Self::RetEquipmentAlreadyRanked => "RET_EQUIPMENT_ALREADY_RANKED",
            Self::RetRelicExceedLimit => "RET_RELIC_EXCEED_LIMIT",
            Self::RetRelicAlreadyDiscarded => "RET_RELIC_ALREADY_DISCARDED",
            Self::RetRelicAlreadyUndiscarded => "RET_RELIC_ALREADY_UNDISCARDED",
            Self::RetEquipmentBatchLockTooFast => "RET_EQUIPMENT_BATCH_LOCK_TOO_FAST",
            Self::RetRelicFilterPlanSlotEmpty => "RET_RELIC_FILTER_PLAN_SLOT_EMPTY",
            Self::RetRelicFilterPlanNumExceedLimit => {
                "RET_RELIC_FILTER_PLAN_NUM_EXCEED_LIMIT"
            }
            Self::RetRelicFilterPlanNameUtf8Error => {
                "RET_RELIC_FILTER_PLAN_NAME_UTF8_ERROR"
            }
            Self::RetRelicFilterPlanNameFormatError => {
                "RET_RELIC_FILTER_PLAN_NAME_FORMAT_ERROR"
            }
            Self::RetRelicFilterPlanNoChange => "RET_RELIC_FILTER_PLAN_NO_CHANGE",
            Self::RetRelicReforgeNotConfirmed => "RET_RELIC_REFORGE_NOT_CONFIRMED",
            Self::RetEquipmentAlreadyLevelup => "RET_EQUIPMENT_ALREADY_LEVELUP",
            Self::RetEquipmentRarityError => "RET_EQUIPMENT_RARITY_ERROR",
            Self::RetLineupInvalidIndex => "RET_LINEUP_INVALID_INDEX",
            Self::RetLineupInvalidMemberPos => "RET_LINEUP_INVALID_MEMBER_POS",
            Self::RetLineupSwapNotExist => "RET_LINEUP_SWAP_NOT_EXIST",
            Self::RetLineupAvatarAlreadyIn => "RET_LINEUP_AVATAR_ALREADY_IN",
            Self::RetLineupCreateAvatarError => "RET_LINEUP_CREATE_AVATAR_ERROR",
            Self::RetLineupAvatarInitError => "RET_LINEUP_AVATAR_INIT_ERROR",
            Self::RetLineupNotExist => "RET_LINEUP_NOT_EXIST",
            Self::RetLineupOnlyOneMember => "RET_LINEUP_ONLY_ONE_MEMBER",
            Self::RetLineupSameLeaderSlot => "RET_LINEUP_SAME_LEADER_SLOT",
            Self::RetLineupNoLeaderSelect => "RET_LINEUP_NO_LEADER_SELECT",
            Self::RetLineupSwapSameSlot => "RET_LINEUP_SWAP_SAME_SLOT",
            Self::RetLineupAvatarNotExist => "RET_LINEUP_AVATAR_NOT_EXIST",
            Self::RetLineupTrialAvatarCanNotQuit => {
                "RET_LINEUP_TRIAL_AVATAR_CAN_NOT_QUIT"
            }
            Self::RetLineupVirtualLineupPlaneNotMatch => {
                "RET_LINEUP_VIRTUAL_LINEUP_PLANE_NOT_MATCH"
            }
            Self::RetLineupNotValidLeader => "RET_LINEUP_NOT_VALID_LEADER",
            Self::RetLineupSameIndex => "RET_LINEUP_SAME_INDEX",
            Self::RetLineupIsEmpty => "RET_LINEUP_IS_EMPTY",
            Self::RetLineupNameFormatError => "RET_LINEUP_NAME_FORMAT_ERROR",
            Self::RetLineupTypeNotMatch => "RET_LINEUP_TYPE_NOT_MATCH",
            Self::RetLineupReplaceAllFailed => "RET_LINEUP_REPLACE_ALL_FAILED",
            Self::RetLineupNotAllowEdit => "RET_LINEUP_NOT_ALLOW_EDIT",
            Self::RetLineupAvatarIsAlive => "RET_LINEUP_AVATAR_IS_ALIVE",
            Self::RetLineupAssistHasOnlyMember => "RET_LINEUP_ASSIST_HAS_ONLY_MEMBER",
            Self::RetLineupAssistCannotSwitch => "RET_LINEUP_ASSIST_CANNOT_SWITCH",
            Self::RetLineupAvatarTypeInvalid => "RET_LINEUP_AVATAR_TYPE_INVALID",
            Self::RetLineupNameUtf8Error => "RET_LINEUP_NAME_UTF8_ERROR",
            Self::RetLineupLeaderLock => "RET_LINEUP_LEADER_LOCK",
            Self::RetLineupStoryLineNotMatch => "RET_LINEUP_STORY_LINE_NOT_MATCH",
            Self::RetLineupAvatarLock => "RET_LINEUP_AVATAR_LOCK",
            Self::RetLineupAvatarInvalid => "RET_LINEUP_AVATAR_INVALID",
            Self::RetLineupAvatarAlreadyInit => "RET_LINEUP_AVATAR_ALREADY_INIT",
            Self::RetLineupLimited => "RET_LINEUP_LIMITED",
            Self::RetMailNotExist => "RET_MAIL_NOT_EXIST",
            Self::RetMailRangeInvalid => "RET_MAIL_RANGE_INVALID",
            Self::RetMailMailIdInvalid => "RET_MAIL_MAIL_ID_INVALID",
            Self::RetMailNoMailTakeAttachment => "RET_MAIL_NO_MAIL_TAKE_ATTACHMENT",
            Self::RetMailNoMailToDel => "RET_MAIL_NO_MAIL_TO_DEL",
            Self::RetMailTypeInvalid => "RET_MAIL_TYPE_INVALID",
            Self::RetMailParaInvalid => "RET_MAIL_PARA_INVALID",
            Self::RetMailAttachementInvalid => "RET_MAIL_ATTACHEMENT_INVALID",
            Self::RetMailTicketInvalid => "RET_MAIL_TICKET_INVALID",
            Self::RetMailTicketRepeated => "RET_MAIL_TICKET_REPEATED",
            Self::RetStageSettleError => "RET_STAGE_SETTLE_ERROR",
            Self::RetStageConfigNotExist => "RET_STAGE_CONFIG_NOT_EXIST",
            Self::RetStageNotFound => "RET_STAGE_NOT_FOUND",
            Self::RetStageCocoonPropNotValid => "RET_STAGE_COCOON_PROP_NOT_VALID",
            Self::RetStageCocoonWaveNotValid => "RET_STAGE_COCOON_WAVE_NOT_VALID",
            Self::RetStagePropIdNotEqual => "RET_STAGE_PROP_ID_NOT_EQUAL",
            Self::RetStageCocoonWaveOver => "RET_STAGE_COCOON_WAVE_OVER",
            Self::RetStageWeekCocoonOverCnt => "RET_STAGE_WEEK_COCOON_OVER_CNT",
            Self::RetStageCocoonNotOpen => "RET_STAGE_COCOON_NOT_OPEN",
            Self::RetStageTrialNotOpen => "RET_STAGE_TRIAL_NOT_OPEN",
            Self::RetStageFarmNotOpen => "RET_STAGE_FARM_NOT_OPEN",
            Self::RetStageFarmTypeError => "RET_STAGE_FARM_TYPE_ERROR",
            Self::RetStageFarmSweepCd => "RET_STAGE_FARM_SWEEP_CD",
            Self::RetChapterLock => "RET_CHAPTER_LOCK",
            Self::RetChapterChallengeNumNotEnough => {
                "RET_CHAPTER_CHALLENGE_NUM_NOT_ENOUGH"
            }
            Self::RetChapterRewardIdNotExist => "RET_CHAPTER_REWARD_ID_NOT_EXIST",
            Self::RetChapterRewardAlreadyTaken => "RET_CHAPTER_REWARD_ALREADY_TAKEN",
            Self::RetBattleStageNotMatch => "RET_BATTLE_STAGE_NOT_MATCH",
            Self::RetInBattleNow => "RET_IN_BATTLE_NOW",
            Self::RetBattleCheat => "RET_BATTLE_CHEAT",
            Self::RetBattleFail => "RET_BATTLE_FAIL",
            Self::RetBattleNoLineup => "RET_BATTLE_NO_LINEUP",
            Self::RetBattleLineupEmpty => "RET_BATTLE_LINEUP_EMPTY",
            Self::RetBattleVersionNotMatch => "RET_BATTLE_VERSION_NOT_MATCH",
            Self::RetBattleQuitByServer => "RET_BATTLE_QUIT_BY_SERVER",
            Self::RetInBattleCheck => "RET_IN_BATTLE_CHECK",
            Self::RetBattleCheckNeedRetry => "RET_BATTLE_CHECK_NEED_RETRY",
            Self::RetBattleCostTimeCheckFail => "RET_BATTLE_COST_TIME_CHECK_FAIL",
            Self::RetLackExchangeStaminaTimes => "RET_LACK_EXCHANGE_STAMINA_TIMES",
            Self::RetLackStamina => "RET_LACK_STAMINA",
            Self::RetStaminaFull => "RET_STAMINA_FULL",
            Self::RetAuthkeySignTypeError => "RET_AUTHKEY_SIGN_TYPE_ERROR",
            Self::RetAuthkeySignVerError => "RET_AUTHKEY_SIGN_VER_ERROR",
            Self::RetNicknameFormatError => "RET_NICKNAME_FORMAT_ERROR",
            Self::RetSensitiveWords => "RET_SENSITIVE_WORDS",
            Self::RetLevelRewardHasTaken => "RET_LEVEL_REWARD_HAS_TAKEN",
            Self::RetLevelRewardLevelError => "RET_LEVEL_REWARD_LEVEL_ERROR",
            Self::RetLanguageInvalid => "RET_LANGUAGE_INVALID",
            Self::RetNicknameInCd => "RET_NICKNAME_IN_CD",
            Self::RetGameplayBirthdayInvalid => "RET_GAMEPLAY_BIRTHDAY_INVALID",
            Self::RetGameplayBirthdayAlreadySet => "RET_GAMEPLAY_BIRTHDAY_ALREADY_SET",
            Self::RetNicknameUtf8Error => "RET_NICKNAME_UTF8_ERROR",
            Self::RetNicknameDigitLimitError => "RET_NICKNAME_DIGIT_LIMIT_ERROR",
            Self::RetSensitiveWordsPlatformError => "RET_SENSITIVE_WORDS_PLATFORM_ERROR",
            Self::RetPlayerSettingTypeInvalid => "RET_PLAYER_SETTING_TYPE_INVALID",
            Self::RetMazeLackTicket => "RET_MAZE_LACK_TICKET",
            Self::RetMazeNotUnlock => "RET_MAZE_NOT_UNLOCK",
            Self::RetMazeNoAbility => "RET_MAZE_NO_ABILITY",
            Self::RetMazeNoPlane => "RET_MAZE_NO_PLANE",
            Self::RetMazeMapNotExist => "RET_MAZE_MAP_NOT_EXIST",
            Self::RetMazeMpNotEnough => "RET_MAZE_MP_NOT_ENOUGH",
            Self::RetSpringNotEnable => "RET_SPRING_NOT_ENABLE",
            Self::RetSpringTooFar => "RET_SPRING_TOO_FAR",
            Self::RetNotInMaze => "RET_NOT_IN_MAZE",
            Self::RetMazeTimeOfDayTypeError => "RET_MAZE_TIME_OF_DAY_TYPE_ERROR",
            Self::RetSceneTransferLockedByTask => "RET_SCENE_TRANSFER_LOCKED_BY_TASK",
            Self::RetPlotNotUnlock => "RET_PLOT_NOT_UNLOCK",
            Self::RetMissionNotExist => "RET_MISSION_NOT_EXIST",
            Self::RetMissionAlreadyDone => "RET_MISSION_ALREADY_DONE",
            Self::RetDailyTaskNotFinish => "RET_DAILY_TASK_NOT_FINISH",
            Self::RetDailyTaskRewardHasTaken => "RET_DAILY_TASK_REWARD_HAS_TAKEN",
            Self::RetMissionNotFinish => "RET_MISSION_NOT_FINISH",
            Self::RetMissionNotDoing => "RET_MISSION_NOT_DOING",
            Self::RetMissionFinishWayNotMatch => "RET_MISSION_FINISH_WAY_NOT_MATCH",
            Self::RetMissionSceneNotMatch => "RET_MISSION_SCENE_NOT_MATCH",
            Self::RetMissionCustomValueNotValid => "RET_MISSION_CUSTOM_VALUE_NOT_VALID",
            Self::RetMissionSubMissionNotMatch => "RET_MISSION_SUB_MISSION_NOT_MATCH",
            Self::RetAdventureMapNotExist => "RET_ADVENTURE_MAP_NOT_EXIST",
            Self::RetSceneEntityNotExist => "RET_SCENE_ENTITY_NOT_EXIST",
            Self::RetNotInScene => "RET_NOT_IN_SCENE",
            Self::RetSceneMonsterNotExist => "RET_SCENE_MONSTER_NOT_EXIST",
            Self::RetInteractConfigNotExist => "RET_INTERACT_CONFIG_NOT_EXIST",
            Self::RetUnsupportedPropState => "RET_UNSUPPORTED_PROP_STATE",
            Self::RetSceneEntryIdNotMatch => "RET_SCENE_ENTRY_ID_NOT_MATCH",
            Self::RetSceneEntityMoveCheckFailed => "RET_SCENE_ENTITY_MOVE_CHECK_FAILED",
            Self::RetAssistMonsterCountLimit => "RET_ASSIST_MONSTER_COUNT_LIMIT",
            Self::RetSceneUseSkillFail => "RET_SCENE_USE_SKILL_FAIL",
            Self::RetPropIsHidden => "RET_PROP_IS_HIDDEN",
            Self::RetLoadingSuccAlready => "RET_LOADING_SUCC_ALREADY",
            Self::RetSceneEntityTypeInvalid => "RET_SCENE_ENTITY_TYPE_INVALID",
            Self::RetInteractTypeInvalid => "RET_INTERACT_TYPE_INVALID",
            Self::RetInteractNotInRegion => "RET_INTERACT_NOT_IN_REGION",
            Self::RetInteractSubTypeInvalid => "RET_INTERACT_SUB_TYPE_INVALID",
            Self::RetNotLeaderEntity => "RET_NOT_LEADER_ENTITY",
            Self::RetMonsterIsNotFarmElement => "RET_MONSTER_IS_NOT_FARM_ELEMENT",
            Self::RetMonsterConfigNotExist => "RET_MONSTER_CONFIG_NOT_EXIST",
            Self::RetAvatarHpAlreadyFull => "RET_AVATAR_HP_ALREADY_FULL",
            Self::RetCurInteractEntityNotMatch => "RET_CUR_INTERACT_ENTITY_NOT_MATCH",
            Self::RetPlaneTypeNotAllow => "RET_PLANE_TYPE_NOT_ALLOW",
            Self::RetGroupNotExist => "RET_GROUP_NOT_EXIST",
            Self::RetGroupSaveDataInCd => "RET_GROUP_SAVE_DATA_IN_CD",
            Self::RetGroupSaveLenghReachMax => "RET_GROUP_SAVE_LENGH_REACH_MAX",
            Self::RetRecentElementNotExist => "RET_RECENT_ELEMENT_NOT_EXIST",
            Self::RetRecentElementStageNotMatch => "RET_RECENT_ELEMENT_STAGE_NOT_MATCH",
            Self::RetScenePositionVersionNotMatch => {
                "RET_SCENE_POSITION_VERSION_NOT_MATCH"
            }
            Self::RetGameplayCounterNotExist => "RET_GAMEPLAY_COUNTER_NOT_EXIST",
            Self::RetGameplayCounterNotEnough => "RET_GAMEPLAY_COUNTER_NOT_ENOUGH",
            Self::RetGroupStateNotMatch => "RET_GROUP_STATE_NOT_MATCH",
            Self::RetSceneEntityPosNotMatch => "RET_SCENE_ENTITY_POS_NOT_MATCH",
            Self::RetGroupStateCustomSaveDataOff => {
                "RET_GROUP_STATE_CUSTOM_SAVE_DATA_OFF"
            }
            Self::RetSceneNotMatch => "RET_SCENE_NOT_MATCH",
            Self::RetPropTypeInvalid => "RET_PROP_TYPE_INVALID",
            Self::RetBuyTimesLimit => "RET_BUY_TIMES_LIMIT",
            Self::RetBuyLimitType => "RET_BUY_LIMIT_TYPE",
            Self::RetShopNotOpen => "RET_SHOP_NOT_OPEN",
            Self::RetGoodsNotOpen => "RET_GOODS_NOT_OPEN",
            Self::RetCityLevelRewardTaken => "RET_CITY_LEVEL_REWARD_TAKEN",
            Self::RetCityLevelNotMeet => "RET_CITY_LEVEL_NOT_MEET",
            Self::RetSingleBuyLimit => "RET_SINGLE_BUY_LIMIT",
            Self::RetTutorialNotUnlock => "RET_TUTORIAL_NOT_UNLOCK",
            Self::RetTutorialUnlockAlready => "RET_TUTORIAL_UNLOCK_ALREADY",
            Self::RetTutorialFinishAlready => "RET_TUTORIAL_FINISH_ALREADY",
            Self::RetTutorialPreNotUnlock => "RET_TUTORIAL_PRE_NOT_UNLOCK",
            Self::RetTutorialPlayerLevelNotMatch => "RET_TUTORIAL_PLAYER_LEVEL_NOT_MATCH",
            Self::RetTutorialTutorialNotFound => "RET_TUTORIAL_TUTORIAL_NOT_FOUND",
            Self::RetChallengeNotExist => "RET_CHALLENGE_NOT_EXIST",
            Self::RetChallengeNotUnlock => "RET_CHALLENGE_NOT_UNLOCK",
            Self::RetChallengeAlready => "RET_CHALLENGE_ALREADY",
            Self::RetChallengeLineupEditForbidden => {
                "RET_CHALLENGE_LINEUP_EDIT_FORBIDDEN"
            }
            Self::RetChallengeLineupEmpty => "RET_CHALLENGE_LINEUP_EMPTY",
            Self::RetChallengeNotDoing => "RET_CHALLENGE_NOT_DOING",
            Self::RetChallengeNotFinish => "RET_CHALLENGE_NOT_FINISH",
            Self::RetChallengeTargetNotFinish => "RET_CHALLENGE_TARGET_NOT_FINISH",
            Self::RetChallengeTargetRewardTaken => "RET_CHALLENGE_TARGET_REWARD_TAKEN",
            Self::RetChallengeTimeNotValid => "RET_CHALLENGE_TIME_NOT_VALID",
            Self::RetChallengeStarsCountNotMeet => "RET_CHALLENGE_STARS_COUNT_NOT_MEET",
            Self::RetChallengeStarsRewardTaken => "RET_CHALLENGE_STARS_REWARD_TAKEN",
            Self::RetChallengeStarsNotExist => "RET_CHALLENGE_STARS_NOT_EXIST",
            Self::RetChallengeCurSceneNotEntryFloor => {
                "RET_CHALLENGE_CUR_SCENE_NOT_ENTRY_FLOOR"
            }
            Self::RetChallengeNoTeamArchive => "RET_CHALLENGE_NO_TEAM_ARCHIVE",
            Self::RetChallengeLineupAvatarTypeInvalid => {
                "RET_CHALLENGE_LINEUP_AVATAR_TYPE_INVALID"
            }
            Self::RetChallengeLineupRecommendInCd => {
                "RET_CHALLENGE_LINEUP_RECOMMEND_IN_CD"
            }
            Self::RetBasicTypeAlready => "RET_BASIC_TYPE_ALREADY",
            Self::RetNoBasicType => "RET_NO_BASIC_TYPE",
            Self::RetNotChooseBasicType => "RET_NOT_CHOOSE_BASIC_TYPE",
            Self::RetNotFuncClose => "RET_NOT_FUNC_CLOSE",
            Self::RetNotChooseGender => "RET_NOT_CHOOSE_GENDER",
            Self::RetNotReqUnlockBasicType => "RET_NOT_REQ_UNLOCK_BASIC_TYPE",
            Self::RetAvatarPathLocked => "RET_AVATAR_PATH_LOCKED",
            Self::RetRogueStatusNotMatch => "RET_ROGUE_STATUS_NOT_MATCH",
            Self::RetRogueSelectBuffNotExist => "RET_ROGUE_SELECT_BUFF_NOT_EXIST",
            Self::RetRogueCoinNotEnough => "RET_ROGUE_COIN_NOT_ENOUGH",
            Self::RetRogueStaminaNotEnough => "RET_ROGUE_STAMINA_NOT_ENOUGH",
            Self::RetRogueAppraisalCountNotEnough => {
                "RET_ROGUE_APPRAISAL_COUNT_NOT_ENOUGH"
            }
            Self::RetRoguePropAlreadyUsed => "RET_ROGUE_PROP_ALREADY_USED",
            Self::RetRogueRecordAlreadySaved => "RET_ROGUE_RECORD_ALREADY_SAVED",
            Self::RetRogueRollBuffMaxCount => "RET_ROGUE_ROLL_BUFF_MAX_COUNT",
            Self::RetRoguePickAvatarInvalid => "RET_ROGUE_PICK_AVATAR_INVALID",
            Self::RetRogueQuestExpire => "RET_ROGUE_QUEST_EXPIRE",
            Self::RetRogueQuestRewardAlready => "RET_ROGUE_QUEST_REWARD_ALREADY",
            Self::RetRogueReviveCountNotEnough => "RET_ROGUE_REVIVE_COUNT_NOT_ENOUGH",
            Self::RetRogueAreaInvalid => "RET_ROGUE_AREA_INVALID",
            Self::RetRogueScoreRewardPoolInvalid => "RET_ROGUE_SCORE_REWARD_POOL_INVALID",
            Self::RetRogueScoreRewardRowInvalid => "RET_ROGUE_SCORE_REWARD_ROW_INVALID",
            Self::RetRogueAeonLevelNotMeet => "RET_ROGUE_AEON_LEVEL_NOT_MEET",
            Self::RetRogueAeonLevelRewardAlreadyTaken => {
                "RET_ROGUE_AEON_LEVEL_REWARD_ALREADY_TAKEN"
            }
            Self::RetRogueAeonConfigNotExist => "RET_ROGUE_AEON_CONFIG_NOT_EXIST",
            Self::RetRogueTrialAvatarInvalid => "RET_ROGUE_TRIAL_AVATAR_INVALID",
            Self::RetRogueHandbookRewardAlreadyTaken => {
                "RET_ROGUE_HANDBOOK_REWARD_ALREADY_TAKEN"
            }
            Self::RetRogueRoomTypeNotMatch => "RET_ROGUE_ROOM_TYPE_NOT_MATCH",
            Self::RetRogueShopGoodNotFound => "RET_ROGUE_SHOP_GOOD_NOT_FOUND",
            Self::RetRogueShopGoodAlreadyBought => "RET_ROGUE_SHOP_GOOD_ALREADY_BOUGHT",
            Self::RetRogueShopGoodAlreadyOwn => "RET_ROGUE_SHOP_GOOD_ALREADY_OWN",
            Self::RetRogueShopMiracleNotExist => "RET_ROGUE_SHOP_MIRACLE_NOT_EXIST",
            Self::RetRogueShopNotExist => "RET_ROGUE_SHOP_NOT_EXIST",
            Self::RetRogueShopCannotRefresh => "RET_ROGUE_SHOP_CANNOT_REFRESH",
            Self::RetRogueSelectBuffCertainMismatch => {
                "RET_ROGUE_SELECT_BUFF_CERTAIN_MISMATCH"
            }
            Self::RetRogueActionQueueNotEmptyBattle => {
                "RET_ROGUE_ACTION_QUEUE_NOT_EMPTY_BATTLE"
            }
            Self::RetRogueActionQueueNotEmptyOthers => {
                "RET_ROGUE_ACTION_QUEUE_NOT_EMPTY_OTHERS"
            }
            Self::RetMissionEventConfigNotExist => "RET_MISSION_EVENT_CONFIG_NOT_EXIST",
            Self::RetMissionEventNotClient => "RET_MISSION_EVENT_NOT_CLIENT",
            Self::RetMissionEventFinished => "RET_MISSION_EVENT_FINISHED",
            Self::RetMissionEventDoing => "RET_MISSION_EVENT_DOING",
            Self::RetHasChallengeMissionEvent => "RET_HAS_CHALLENGE_MISSION_EVENT",
            Self::RetNotChallengeMissionEvent => "RET_NOT_CHALLENGE_MISSION_EVENT",
            Self::RetGachaIdNotExist => "RET_GACHA_ID_NOT_EXIST",
            Self::RetGachaNumInvalid => "RET_GACHA_NUM_INVALID",
            Self::RetGachaFirstGachaMustOne => "RET_GACHA_FIRST_GACHA_MUST_ONE",
            Self::RetGachaReqDuplicated => "RET_GACHA_REQ_DUPLICATED",
            Self::RetGachaNotInSchedule => "RET_GACHA_NOT_IN_SCHEDULE",
            Self::RetGachaNewbieClose => "RET_GACHA_NEWBIE_CLOSE",
            Self::RetGachaTodayLimited => "RET_GACHA_TODAY_LIMITED",
            Self::RetGachaNotSupport => "RET_GACHA_NOT_SUPPORT",
            Self::RetGachaCeilingNotEnough => "RET_GACHA_CEILING_NOT_ENOUGH",
            Self::RetGachaCeilingClose => "RET_GACHA_CEILING_CLOSE",
            Self::RetGachaLocked => "RET_GACHA_LOCKED",
            Self::RetGachaDecideItemTypeInvalid => "RET_GACHA_DECIDE_ITEM_TYPE_INVALID",
            Self::RetGachaDecideItemIdInvalid => "RET_GACHA_DECIDE_ITEM_ID_INVALID",
            Self::RetNotInRaid => "RET_NOT_IN_RAID",
            Self::RetRaidDoing => "RET_RAID_DOING",
            Self::RetNotProp => "RET_NOT_PROP",
            Self::RetRaidIdNotMatch => "RET_RAID_ID_NOT_MATCH",
            Self::RetRaidRestartNotMatch => "RET_RAID_RESTART_NOT_MATCH",
            Self::RetRaidLimit => "RET_RAID_LIMIT",
            Self::RetRaidAvatarListEmpty => "RET_RAID_AVATAR_LIST_EMPTY",
            Self::RetRaidAvatarNotExist => "RET_RAID_AVATAR_NOT_EXIST",
            Self::RetChallengeRaidRewardAlready => "RET_CHALLENGE_RAID_REWARD_ALREADY",
            Self::RetChallengeRaidScoreNotReach => "RET_CHALLENGE_RAID_SCORE_NOT_REACH",
            Self::RetChallengeRaidNotOpen => "RET_CHALLENGE_RAID_NOT_OPEN",
            Self::RetRaidFinished => "RET_RAID_FINISHED",
            Self::RetRaidWorldLevelNotLock => "RET_RAID_WORLD_LEVEL_NOT_LOCK",
            Self::RetRaidCannotUseAssist => "RET_RAID_CANNOT_USE_ASSIST",
            Self::RetRaidAvatarNotMatch => "RET_RAID_AVATAR_NOT_MATCH",
            Self::RetRaidCanNotSave => "RET_RAID_CAN_NOT_SAVE",
            Self::RetRaidNoSave => "RET_RAID_NO_SAVE",
            Self::RetActivityRaidNotOpen => "RET_ACTIVITY_RAID_NOT_OPEN",
            Self::RetRaidAvatarCaptainNotExist => "RET_RAID_AVATAR_CAPTAIN_NOT_EXIST",
            Self::RetRaidStoryLineNotMatch => "RET_RAID_STORY_LINE_NOT_MATCH",
            Self::RetTalkEventAlreadyTaken => "RET_TALK_EVENT_ALREADY_TAKEN",
            Self::RetNpcAlreadyMeet => "RET_NPC_ALREADY_MEET",
            Self::RetNpcNotInConfig => "RET_NPC_NOT_IN_CONFIG",
            Self::RetDialogueGroupDismatch => "RET_DIALOGUE_GROUP_DISMATCH",
            Self::RetDialogueEventInvalid => "RET_DIALOGUE_EVENT_INVALID",
            Self::RetTalkEventTakeProtoNotMatch => "RET_TALK_EVENT_TAKE_PROTO_NOT_MATCH",
            Self::RetTalkEventNotValid => "RET_TALK_EVENT_NOT_VALID",
            Self::RetExpeditionConfigNotExist => "RET_EXPEDITION_CONFIG_NOT_EXIST",
            Self::RetExpeditionRewardConfigNotExist => {
                "RET_EXPEDITION_REWARD_CONFIG_NOT_EXIST"
            }
            Self::RetExpeditionNotUnlocked => "RET_EXPEDITION_NOT_UNLOCKED",
            Self::RetExpeditionAlreadyAccepted => "RET_EXPEDITION_ALREADY_ACCEPTED",
            Self::RetExpeditionRepeatedAvatar => "RET_EXPEDITION_REPEATED_AVATAR",
            Self::RetAvatarAlreadyDispatched => "RET_AVATAR_ALREADY_DISPATCHED",
            Self::RetExpeditionNotAccepted => "RET_EXPEDITION_NOT_ACCEPTED",
            Self::RetExpeditionNotFinish => "RET_EXPEDITION_NOT_FINISH",
            Self::RetExpeditionAlreadyFinish => "RET_EXPEDITION_ALREADY_FINISH",
            Self::RetExpeditionTeamCountLimit => "RET_EXPEDITION_TEAM_COUNT_LIMIT",
            Self::RetExpeditionAvatarNumNotMatch => "RET_EXPEDITION_AVATAR_NUM_NOT_MATCH",
            Self::RetExpeditionNotOpen => "RET_EXPEDITION_NOT_OPEN",
            Self::RetExpeditionFriendAvatarNotValid => {
                "RET_EXPEDITION_FRIEND_AVATAR_NOT_VALID"
            }
            Self::RetExpeditionNotPublished => "RET_EXPEDITION_NOT_PUBLISHED",
            Self::RetLoginActivityHasTaken => "RET_LOGIN_ACTIVITY_HAS_TAKEN",
            Self::RetLoginActivityDaysLack => "RET_LOGIN_ACTIVITY_DAYS_LACK",
            Self::RetTrialActivityRewardAlreadyTake => {
                "RET_TRIAL_ACTIVITY_REWARD_ALREADY_TAKE"
            }
            Self::RetTrialActivityStageNotFinish => "RET_TRIAL_ACTIVITY_STAGE_NOT_FINISH",
            Self::RetMaterialSubmitActivityHasTaken => {
                "RET_MATERIAL_SUBMIT_ACTIVITY_HAS_TAKEN"
            }
            Self::RetMaterialSubmitActivityMaterialNotSubmitted => {
                "RET_MATERIAL_SUBMIT_ACTIVITY_MATERIAL_NOT_SUBMITTED"
            }
            Self::RetMaterialSubmitActivityMaterialAlreadySubmitted => {
                "RET_MATERIAL_SUBMIT_ACTIVITY_MATERIAL_ALREADY_SUBMITTED"
            }
            Self::RetFantasticStoryActivityStoryError => {
                "RET_FANTASTIC_STORY_ACTIVITY_STORY_ERROR"
            }
            Self::RetFantasticStoryActivityStoryNotOpen => {
                "RET_FANTASTIC_STORY_ACTIVITY_STORY_NOT_OPEN"
            }
            Self::RetFantasticStoryActivityBattleError => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_ERROR"
            }
            Self::RetFantasticStoryActivityBattleNotOpen => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_NOT_OPEN"
            }
            Self::RetFantasticStoryActivityBattleAvatarError => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_AVATAR_ERROR"
            }
            Self::RetFantasticStoryActivityBattleBuffError => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_BUFF_ERROR"
            }
            Self::RetFantasticStoryActivityPreBattleScoreNotEnough => {
                "RET_FANTASTIC_STORY_ACTIVITY_PRE_BATTLE_SCORE_NOT_ENOUGH"
            }
            Self::RetTrialActivityAlreadyInTrialActivity => {
                "RET_TRIAL_ACTIVITY_ALREADY_IN_TRIAL_ACTIVITY"
            }
            Self::RetCommonActivityNotOpen => "RET_COMMON_ACTIVITY_NOT_OPEN",
            Self::RetBenefitNotReady => "RET_BENEFIT_NOT_READY",
            Self::RetCommonActivityBusy => "RET_COMMON_ACTIVITY_BUSY",
            Self::RetAvatarDeliverRewardPhaseError => {
                "RET_AVATAR_DELIVER_REWARD_PHASE_ERROR"
            }
            Self::RetMessageConfigNotExist => "RET_MESSAGE_CONFIG_NOT_EXIST",
            Self::RetMessageSectionNotTake => "RET_MESSAGE_SECTION_NOT_TAKE",
            Self::RetMessageGroupNotTake => "RET_MESSAGE_GROUP_NOT_TAKE",
            Self::RetMessageSectionIdNotMatch => "RET_MESSAGE_SECTION_ID_NOT_MATCH",
            Self::RetMessageSectionCanNotFinish => "RET_MESSAGE_SECTION_CAN_NOT_FINISH",
            Self::RetMessageItemCanNotFinish => "RET_MESSAGE_ITEM_CAN_NOT_FINISH",
            Self::RetMessageItemRaidCanNotFinish => {
                "RET_MESSAGE_ITEM_RAID_CAN_NOT_FINISH"
            }
            Self::RetFriendAlreadyIsFriend => "RET_FRIEND_ALREADY_IS_FRIEND",
            Self::RetFriendIsNotFriend => "RET_FRIEND_IS_NOT_FRIEND",
            Self::RetFriendApplyExpire => "RET_FRIEND_APPLY_EXPIRE",
            Self::RetFriendInBlacklist => "RET_FRIEND_IN_BLACKLIST",
            Self::RetFriendNotInBlacklist => "RET_FRIEND_NOT_IN_BLACKLIST",
            Self::RetFriendNumberLimit => "RET_FRIEND_NUMBER_LIMIT",
            Self::RetFriendBlacklistNumberLimit => "RET_FRIEND_BLACKLIST_NUMBER_LIMIT",
            Self::RetFriendDailyApplyLimit => "RET_FRIEND_DAILY_APPLY_LIMIT",
            Self::RetFriendInHandleLimit => "RET_FRIEND_IN_HANDLE_LIMIT",
            Self::RetFriendApplyInCd => "RET_FRIEND_APPLY_IN_CD",
            Self::RetFriendRemarkNameFormatError => "RET_FRIEND_REMARK_NAME_FORMAT_ERROR",
            Self::RetFriendPlayerNotFound => "RET_FRIEND_PLAYER_NOT_FOUND",
            Self::RetFriendInTargetBlacklist => "RET_FRIEND_IN_TARGET_BLACKLIST",
            Self::RetFriendTargetNumberLimit => "RET_FRIEND_TARGET_NUMBER_LIMIT",
            Self::RetAssistQueryTooFast => "RET_ASSIST_QUERY_TOO_FAST",
            Self::RetAssistNotExist => "RET_ASSIST_NOT_EXIST",
            Self::RetAssistUsedAlready => "RET_ASSIST_USED_ALREADY",
            Self::RetFriendReportReasonFormatError => {
                "RET_FRIEND_REPORT_REASON_FORMAT_ERROR"
            }
            Self::RetFriendReportSensitiveWords => "RET_FRIEND_REPORT_SENSITIVE_WORDS",
            Self::RetAssistUsedTimesOver => "RET_ASSIST_USED_TIMES_OVER",
            Self::RetAssistQuitAlready => "RET_ASSIST_QUIT_ALREADY",
            Self::RetAssistAvatarInLineup => "RET_ASSIST_AVATAR_IN_LINEUP",
            Self::RetAssistNoReward => "RET_ASSIST_NO_REWARD",
            Self::RetFriendSearchNumLimit => "RET_FRIEND_SEARCH_NUM_LIMIT",
            Self::RetFriendSearchInCd => "RET_FRIEND_SEARCH_IN_CD",
            Self::RetFriendRemarkNameUtf8Error => "RET_FRIEND_REMARK_NAME_UTF8_ERROR",
            Self::RetFriendReportReasonUtf8Error => "RET_FRIEND_REPORT_REASON_UTF8_ERROR",
            Self::RetAssistSetAlready => "RET_ASSIST_SET_ALREADY",
            Self::RetFriendTargetForbidOtherApply => {
                "RET_FRIEND_TARGET_FORBID_OTHER_APPLY"
            }
            Self::RetFriendMarkedCntMax => "RET_FRIEND_MARKED_CNT_MAX",
            Self::RetFriendMarkedAlready => "RET_FRIEND_MARKED_ALREADY",
            Self::RetFriendNotMarked => "RET_FRIEND_NOT_MARKED",
            Self::RetFriendChallengeLineupRecommendInCd => {
                "RET_FRIEND_CHALLENGE_LINEUP_RECOMMEND_IN_CD"
            }
            Self::RetViewPlayerCardInCd => "RET_VIEW_PLAYER_CARD_IN_CD",
            Self::RetViewPlayerBattleRecordInCd => "RET_VIEW_PLAYER_BATTLE_RECORD_IN_CD",
            Self::RetPlayerBoardHeadIconNotExist => {
                "RET_PLAYER_BOARD_HEAD_ICON_NOT_EXIST"
            }
            Self::RetPlayerBoardHeadIconLocked => "RET_PLAYER_BOARD_HEAD_ICON_LOCKED",
            Self::RetPlayerBoardHeadIconAlreadyUnlocked => {
                "RET_PLAYER_BOARD_HEAD_ICON_ALREADY_UNLOCKED"
            }
            Self::RetPlayerBoardDisplayAvatarNotExist => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_NOT_EXIST"
            }
            Self::RetPlayerBoardDisplayAvatarExceedLimit => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_EXCEED_LIMIT"
            }
            Self::RetPlayerBoardDisplayRepeatedAvatar => {
                "RET_PLAYER_BOARD_DISPLAY_REPEATED_AVATAR"
            }
            Self::RetPlayerBoardDisplayAvatarSamePos => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_SAME_POS"
            }
            Self::RetPlayerBoardDisplayAvatarLocked => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_LOCKED"
            }
            Self::RetSignatureLengthExceedLimit => "RET_SIGNATURE_LENGTH_EXCEED_LIMIT",
            Self::RetSignatureSensitiveWords => "RET_SIGNATURE_SENSITIVE_WORDS",
            Self::RetPlayerBoardAssistAvatarNotExist => {
                "RET_PLAYER_BOARD_ASSIST_AVATAR_NOT_EXIST"
            }
            Self::RetPlayerBoardAssistAvatarLocked => {
                "RET_PLAYER_BOARD_ASSIST_AVATAR_LOCKED"
            }
            Self::RetSignatureUtf8Error => "RET_SIGNATURE_UTF8_ERROR",
            Self::RetPlayerBoardAssistAvatarCntError => {
                "RET_PLAYER_BOARD_ASSIST_AVATAR_CNT_ERROR"
            }
            Self::RetPlayerBoardPersonalCardNotExist => {
                "RET_PLAYER_BOARD_PERSONAL_CARD_NOT_EXIST"
            }
            Self::RetPlayerBoardPersonalCardLocked => {
                "RET_PLAYER_BOARD_PERSONAL_CARD_LOCKED"
            }
            Self::RetPlayerBoardPersonalNoChange => "RET_PLAYER_BOARD_PERSONAL_NO_CHANGE",
            Self::RetBattlePassTierNotValid => "RET_BATTLE_PASS_TIER_NOT_VALID",
            Self::RetBattlePassLevelNotMeet => "RET_BATTLE_PASS_LEVEL_NOT_MEET",
            Self::RetBattlePassRewardTakeAlready => "RET_BATTLE_PASS_REWARD_TAKE_ALREADY",
            Self::RetBattlePassNotPremium => "RET_BATTLE_PASS_NOT_PREMIUM",
            Self::RetBattlePassNotDoing => "RET_BATTLE_PASS_NOT_DOING",
            Self::RetBattlePassLevelInvalid => "RET_BATTLE_PASS_LEVEL_INVALID",
            Self::RetBattlePassNotUnlock => "RET_BATTLE_PASS_NOT_UNLOCK",
            Self::RetBattlePassNoReward => "RET_BATTLE_PASS_NO_REWARD",
            Self::RetBattlePassQuestNotValid => "RET_BATTLE_PASS_QUEST_NOT_VALID",
            Self::RetBattlePassNotChooseOptional => "RET_BATTLE_PASS_NOT_CHOOSE_OPTIONAL",
            Self::RetBattlePassNotTakeReward => "RET_BATTLE_PASS_NOT_TAKE_REWARD",
            Self::RetBattlePassOptionalNotValid => "RET_BATTLE_PASS_OPTIONAL_NOT_VALID",
            Self::RetBattlePassBuyAlready => "RET_BATTLE_PASS_BUY_ALREADY",
            Self::RetBattlePassNearEnd => "RET_BATTLE_PASS_NEAR_END",
            Self::RetMusicLocked => "RET_MUSIC_LOCKED",
            Self::RetMusicNotExist => "RET_MUSIC_NOT_EXIST",
            Self::RetMusicUnlockFailed => "RET_MUSIC_UNLOCK_FAILED",
            Self::RetPunkLordLackSummonTimes => "RET_PUNK_LORD_LACK_SUMMON_TIMES",
            Self::RetPunkLordAttackingMonsterLimit => {
                "RET_PUNK_LORD_ATTACKING_MONSTER_LIMIT"
            }
            Self::RetPunkLordMonsterNotExist => "RET_PUNK_LORD_MONSTER_NOT_EXIST",
            Self::RetPunkLordMonsterAlreadyShared => {
                "RET_PUNK_LORD_MONSTER_ALREADY_SHARED"
            }
            Self::RetPunkLordMonsterExpired => "RET_PUNK_LORD_MONSTER_EXPIRED",
            Self::RetPunkLordSelfMonsterAttackLimit => {
                "RET_PUNK_LORD_SELF_MONSTER_ATTACK_LIMIT"
            }
            Self::RetPunkLordLackSupportTimes => "RET_PUNK_LORD_LACK_SUPPORT_TIMES",
            Self::RetPunkLordMonsterAlreadyKilled => {
                "RET_PUNK_LORD_MONSTER_ALREADY_KILLED"
            }
            Self::RetPunkLordMonsterAttackerLimit => {
                "RET_PUNK_LORD_MONSTER_ATTACKER_LIMIT"
            }
            Self::RetPunkLordWorldLevleNotValid => "RET_PUNK_LORD_WORLD_LEVLE_NOT_VALID",
            Self::RetPunkLordRewardLevleNotExist => {
                "RET_PUNK_LORD_REWARD_LEVLE_NOT_EXIST"
            }
            Self::RetPunkLordPointNotMeet => "RET_PUNK_LORD_POINT_NOT_MEET",
            Self::RetPunkLordInAttacking => "RET_PUNK_LORD_IN_ATTACKING",
            Self::RetPunkLordOperationInCd => "RET_PUNK_LORD_OPERATION_IN_CD",
            Self::RetPunkLordRewardAlreadyTaken => "RET_PUNK_LORD_REWARD_ALREADY_TAKEN",
            Self::RetPunkLordOverBonusRewardLimit => {
                "RET_PUNK_LORD_OVER_BONUS_REWARD_LIMIT"
            }
            Self::RetPunkLordNotInSchedule => "RET_PUNK_LORD_NOT_IN_SCHEDULE",
            Self::RetPunkLordMonsterNotAttacked => "RET_PUNK_LORD_MONSTER_NOT_ATTACKED",
            Self::RetPunkLordMonsterNotKilled => "RET_PUNK_LORD_MONSTER_NOT_KILLED",
            Self::RetPunkLordMonsterKilledScoreAlreadyTake => {
                "RET_PUNK_LORD_MONSTER_KILLED_SCORE_ALREADY_TAKE"
            }
            Self::RetPunkLordRewardLevleAlreadyTake => {
                "RET_PUNK_LORD_REWARD_LEVLE_ALREADY_TAKE"
            }
            Self::RetDailyActiveLevelInvalid => "RET_DAILY_ACTIVE_LEVEL_INVALID",
            Self::RetDailyActiveLevelRewardAlreadyTaken => {
                "RET_DAILY_ACTIVE_LEVEL_REWARD_ALREADY_TAKEN"
            }
            Self::RetDailyActiveLevelApNotEnough => {
                "RET_DAILY_ACTIVE_LEVEL_AP_NOT_ENOUGH"
            }
            Self::RetDailyMeetPam => "RET_DAILY_MEET_PAM",
            Self::RetReplayIdNotMatch => "RET_REPLAY_ID_NOT_MATCH",
            Self::RetReplayReqNotValid => "RET_REPLAY_REQ_NOT_VALID",
            Self::RetFightActivityDifficultyLevelNotPassed => {
                "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_NOT_PASSED"
            }
            Self::RetFightActivityDifficultyLevelRewardAlreadyTake => {
                "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_REWARD_ALREADY_TAKE"
            }
            Self::RetFightActivityStageNotOpen => "RET_FIGHT_ACTIVITY_STAGE_NOT_OPEN",
            Self::RetFightActivityLevelNotUnlock => "RET_FIGHT_ACTIVITY_LEVEL_NOT_UNLOCK",
            Self::RetTrainVisitorVisitorNotExist => "RET_TRAIN_VISITOR_VISITOR_NOT_EXIST",
            Self::RetTrainVisitorBehaviorNotExist => {
                "RET_TRAIN_VISITOR_BEHAVIOR_NOT_EXIST"
            }
            Self::RetTrainVisitorBehaviorFinished => {
                "RET_TRAIN_VISITOR_BEHAVIOR_FINISHED"
            }
            Self::RetTrainVisitorAllBehaviorRewardTaken => {
                "RET_TRAIN_VISITOR_ALL_BEHAVIOR_REWARD_TAKEN"
            }
            Self::RetTrainVisitorGetOnMissionNotFinish => {
                "RET_TRAIN_VISITOR_GET_ON_MISSION_NOT_FINISH"
            }
            Self::RetTrainVisitorNotGetOffOrBeTrainMember => {
                "RET_TRAIN_VISITOR_NOT_GET_OFF_OR_BE_TRAIN_MEMBER"
            }
            Self::RetTextJoinUnknowIsOverride => "RET_TEXT_JOIN_UNKNOW_IS_OVERRIDE",
            Self::RetTextJoinIdNotExist => "RET_TEXT_JOIN_ID_NOT_EXIST",
            Self::RetTextJoinCanNotOverride => "RET_TEXT_JOIN_CAN_NOT_OVERRIDE",
            Self::RetTextJoinItemIdError => "RET_TEXT_JOIN_ITEM_ID_ERROR",
            Self::RetTextJoinSensitiveCheckError => "RET_TEXT_JOIN_SENSITIVE_CHECK_ERROR",
            Self::RetTextJoinMustOverride => "RET_TEXT_JOIN_MUST_OVERRIDE",
            Self::RetTextJoinTextEmpty => "RET_TEXT_JOIN_TEXT_EMPTY",
            Self::RetTextJoinTextFormatError => "RET_TEXT_JOIN_TEXT_FORMAT_ERROR",
            Self::RetTextJoinTextUtf8Error => "RET_TEXT_JOIN_TEXT_UTF8_ERROR",
            Self::RetTextJoinBatchReqIdRepeat => "RET_TEXT_JOIN_BATCH_REQ_ID_REPEAT",
            Self::RetTextJoinTypeNotSupportBatchReq => {
                "RET_TEXT_JOIN_TYPE_NOT_SUPPORT_BATCH_REQ"
            }
            Self::RetTextJoinAvatarIdNotExist => "RET_TEXT_JOIN_AVATAR_ID_NOT_EXIST",
            Self::RetTextJoinUnknowType => "RET_TEXT_JOIN_UNKNOW_TYPE",
            Self::RetPamMissionMissionIdError => "RET_PAM_MISSION_MISSION_ID_ERROR",
            Self::RetPamMissionMissionExpire => "RET_PAM_MISSION_MISSION_EXPIRE",
            Self::RetChatTypeNotExist => "RET_CHAT_TYPE_NOT_EXIST",
            Self::RetMsgTypeNotExist => "RET_MSG_TYPE_NOT_EXIST",
            Self::RetChatNoTargetUid => "RET_CHAT_NO_TARGET_UID",
            Self::RetChatMsgEmpty => "RET_CHAT_MSG_EMPTY",
            Self::RetChatMsgExceedLimit => "RET_CHAT_MSG_EXCEED_LIMIT",
            Self::RetChatMsgSensitiveCheckError => "RET_CHAT_MSG_SENSITIVE_CHECK_ERROR",
            Self::RetChatMsgUtf8Error => "RET_CHAT_MSG_UTF8_ERROR",
            Self::RetChatForbidSwitchOpen => "RET_CHAT_FORBID_SWITCH_OPEN",
            Self::RetChatForbid => "RET_CHAT_FORBID",
            Self::RetChatMsgIncludeSpecialStr => "RET_CHAT_MSG_INCLUDE_SPECIAL_STR",
            Self::RetChatMsgEmojiNotExist => "RET_CHAT_MSG_EMOJI_NOT_EXIST",
            Self::RetChatMsgEmojiGenderNotMatch => "RET_CHAT_MSG_EMOJI_GENDER_NOT_MATCH",
            Self::RetChatMsgEmojiNotMarked => "RET_CHAT_MSG_EMOJI_NOT_MARKED",
            Self::RetChatMsgEmojiAlreadyMarked => "RET_CHAT_MSG_EMOJI_ALREADY_MARKED",
            Self::RetChatMsgEmojiMarkedMaxLimit => "RET_CHAT_MSG_EMOJI_MARKED_MAX_LIMIT",
            Self::RetBoxingClubChallengeNotOpen => "RET_BOXING_CLUB_CHALLENGE_NOT_OPEN",
            Self::RetMuseumNotOpen => "RET_MUSEUM_NOT_OPEN",
            Self::RetMuseumTurnCntNotMatch => "RET_MUSEUM_TURN_CNT_NOT_MATCH",
            Self::RetMuseumPhaseNotReach => "RET_MUSEUM_PHASE_NOT_REACH",
            Self::RetMuseumUnknowStuff => "RET_MUSEUM_UNKNOW_STUFF",
            Self::RetMuseumUnknowArea => "RET_MUSEUM_UNKNOW_AREA",
            Self::RetMuseumUnknowPos => "RET_MUSEUM_UNKNOW_POS",
            Self::RetMuseumStuffAlreadyInArea => "RET_MUSEUM_STUFF_ALREADY_IN_AREA",
            Self::RetMuseumStuffNotInArea => "RET_MUSEUM_STUFF_NOT_IN_AREA",
            Self::RetMuseumGetNpcRepeat => "RET_MUSEUM_GET_NPC_REPEAT",
            Self::RetMuseumGetNpcUnlock => "RET_MUSEUM_GET_NPC_UNLOCK",
            Self::RetMuseumGetNpcNotEnough => "RET_MUSEUM_GET_NPC_NOT_ENOUGH",
            Self::RetMuseumChangeStuffAreaError => "RET_MUSEUM_CHANGE_STUFF_AREA_ERROR",
            Self::RetMuseumNotInit => "RET_MUSEUM_NOT_INIT",
            Self::RetMuseumEventError => "RET_MUSEUM_EVENT_ERROR",
            Self::RetMuseumUnknowChooseEventId => "RET_MUSEUM_UNKNOW_CHOOSE_EVENT_ID",
            Self::RetMuseumEventOrderNotMatch => "RET_MUSEUM_EVENT_ORDER_NOT_MATCH",
            Self::RetMuseumEventPhaseNotUnlock => "RET_MUSEUM_EVENT_PHASE_NOT_UNLOCK",
            Self::RetMuseumEventMissionNotFound => "RET_MUSEUM_EVENT_MISSION_NOT_FOUND",
            Self::RetMuseumAreaLevelUpAlready => "RET_MUSEUM_AREA_LEVEL_UP_ALREADY",
            Self::RetMuseumStuffAlreadyUsed => "RET_MUSEUM_STUFF_ALREADY_USED",
            Self::RetMuseumEventRoundNotUnlock => "RET_MUSEUM_EVENT_ROUND_NOT_UNLOCK",
            Self::RetMuseumStuffInArea => "RET_MUSEUM_STUFF_IN_AREA",
            Self::RetMuseumStuffDispatch => "RET_MUSEUM_STUFF_DISPATCH",
            Self::RetMuseumIsEnd => "RET_MUSEUM_IS_END",
            Self::RetMuseumStuffLeaving => "RET_MUSEUM_STUFF_LEAVING",
            Self::RetMuseumEventMissionNotFinish => "RET_MUSEUM_EVENT_MISSION_NOT_FINISH",
            Self::RetMuseumCollectRewardNotExist => "RET_MUSEUM_COLLECT_REWARD_NOT_EXIST",
            Self::RetMuseumCollectRewardAlreadyTaken => {
                "RET_MUSEUM_COLLECT_REWARD_ALREADY_TAKEN"
            }
            Self::RetMuseumAcceptMissionMaxLimit => "RET_MUSEUM_ACCEPT_MISSION_MAX_LIMIT",
            Self::RetRogueChallengeNotOpen => "RET_ROGUE_CHALLENGE_NOT_OPEN",
            Self::RetRogueChallengeAssisRefreshLimit => {
                "RET_ROGUE_CHALLENGE_ASSIS_REFRESH_LIMIT"
            }
            Self::RetAlleyNotInit => "RET_ALLEY_NOT_INIT",
            Self::RetAlleyNotOpen => "RET_ALLEY_NOT_OPEN",
            Self::RetAlleyMapNotExist => "RET_ALLEY_MAP_NOT_EXIST",
            Self::RetAlleyEmptyPosList => "RET_ALLEY_EMPTY_POS_LIST",
            Self::RetAlleyLinePosInvalid => "RET_ALLEY_LINE_POS_INVALID",
            Self::RetAlleyShopNotUnlock => "RET_ALLEY_SHOP_NOT_UNLOCK",
            Self::RetAlleyDepotFull => "RET_ALLEY_DEPOT_FULL",
            Self::RetAlleyShopNotInclude => "RET_ALLEY_SHOP_NOT_INCLUDE",
            Self::RetAlleyEventNotUnlock => "RET_ALLEY_EVENT_NOT_UNLOCK",
            Self::RetAlleyEventNotRefresh => "RET_ALLEY_EVENT_NOT_REFRESH",
            Self::RetAlleyEventStateDoing => "RET_ALLEY_EVENT_STATE_DOING",
            Self::RetAlleyEventStateFinish => "RET_ALLEY_EVENT_STATE_FINISH",
            Self::RetAlleyEventError => "RET_ALLEY_EVENT_ERROR",
            Self::RetAlleyRewardLevelError => "RET_ALLEY_REWARD_LEVEL_ERROR",
            Self::RetAlleyRewardPrestigeNotEnough => {
                "RET_ALLEY_REWARD_PRESTIGE_NOT_ENOUGH"
            }
            Self::RetAlleyShipEmpty => "RET_ALLEY_SHIP_EMPTY",
            Self::RetAlleyShipIdDismatch => "RET_ALLEY_SHIP_ID_DISMATCH",
            Self::RetAlleyShipNotExist => "RET_ALLEY_SHIP_NOT_EXIST",
            Self::RetAlleyShipNotUnlock => "RET_ALLEY_SHIP_NOT_UNLOCK",
            Self::RetAlleyGoodsNotExist => "RET_ALLEY_GOODS_NOT_EXIST",
            Self::RetAlleyGoodsNotUnlock => "RET_ALLEY_GOODS_NOT_UNLOCK",
            Self::RetAlleyProfitNotPositive => "RET_ALLEY_PROFIT_NOT_POSITIVE",
            Self::RetAlleySpecialOrderDismatch => "RET_ALLEY_SPECIAL_ORDER_DISMATCH",
            Self::RetAlleyOrderGoodsOverLimit => "RET_ALLEY_ORDER_GOODS_OVER_LIMIT",
            Self::RetAlleySpecialOrderConditionNotMeet => {
                "RET_ALLEY_SPECIAL_ORDER_CONDITION_NOT_MEET"
            }
            Self::RetAlleyDepotSizeOverLimit => "RET_ALLEY_DEPOT_SIZE_OVER_LIMIT",
            Self::RetAlleyGoodsNotEnough => "RET_ALLEY_GOODS_NOT_ENOUGH",
            Self::RetAlleyOrderIndexInvalid => "RET_ALLEY_ORDER_INDEX_INVALID",
            Self::RetAlleyRewardAlreadyTake => "RET_ALLEY_REWARD_ALREADY_TAKE",
            Self::RetAlleyRewardNotExist => "RET_ALLEY_REWARD_NOT_EXIST",
            Self::RetAlleyMainMissionNotDoing => "RET_ALLEY_MAIN_MISSION_NOT_DOING",
            Self::RetAlleyCriticalEventNotFinish => "RET_ALLEY_CRITICAL_EVENT_NOT_FINISH",
            Self::RetAlleyShopGoodsNotValid => "RET_ALLEY_SHOP_GOODS_NOT_VALID",
            Self::RetAlleySlashNotOpen => "RET_ALLEY_SLASH_NOT_OPEN",
            Self::RetAlleyPlacingAnchorInvalid => "RET_ALLEY_PLACING_ANCHOR_INVALID",
            Self::RetAlleyPlacingGoodsIndexInvalid => {
                "RET_ALLEY_PLACING_GOODS_INDEX_INVALID"
            }
            Self::RetAlleySaveMapTooQuick => "RET_ALLEY_SAVE_MAP_TOO_QUICK",
            Self::RetAlleyMapNotLink => "RET_ALLEY_MAP_NOT_LINK",
            Self::RetAlleyFundsNotLowerBase => "RET_ALLEY_FUNDS_NOT_LOWER_BASE",
            Self::RetAlleyEventNotFinish => "RET_ALLEY_EVENT_NOT_FINISH",
            Self::RetAlleyNormalOrderNotMeet => "RET_ALLEY_NORMAL_ORDER_NOT_MEET",
            Self::RetPlayerReturnNotOpen => "RET_PLAYER_RETURN_NOT_OPEN",
            Self::RetPlayerReturnIsSigned => "RET_PLAYER_RETURN_IS_SIGNED",
            Self::RetPlayerReturnPointNotEnough => "RET_PLAYER_RETURN_POINT_NOT_ENOUGH",
            Self::RetPlayerReturnConditionInvalid => {
                "RET_PLAYER_RETURN_CONDITION_INVALID"
            }
            Self::RetPlayerReturnHasSigned => "RET_PLAYER_RETURN_HAS_SIGNED",
            Self::RetPlayerReturnRewardTaken => "RET_PLAYER_RETURN_REWARD_TAKEN",
            Self::RetPlayerReturnRelicTaken => "RET_PLAYER_RETURN_RELIC_TAKEN",
            Self::RetAetherDivideNoLineup => "RET_AETHER_DIVIDE_NO_LINEUP",
            Self::RetAetherDivideLineupInvalid => "RET_AETHER_DIVIDE_LINEUP_INVALID",
            Self::RetChatBubbleIdError => "RET_CHAT_BUBBLE_ID_ERROR",
            Self::RetChatBubbleIdNotUnlock => "RET_CHAT_BUBBLE_ID_NOT_UNLOCK",
            Self::RetPhoneThemeIdError => "RET_PHONE_THEME_ID_ERROR",
            Self::RetPhoneThemeIdNotUnlock => "RET_PHONE_THEME_ID_NOT_UNLOCK",
            Self::RetChatBubbleSelectIsCurrent => "RET_CHAT_BUBBLE_SELECT_IS_CURRENT",
            Self::RetPhoneThemeSelectIsCurrent => "RET_PHONE_THEME_SELECT_IS_CURRENT",
            Self::RetPhoneCaseIdError => "RET_PHONE_CASE_ID_ERROR",
            Self::RetPhoneCaseIdNotUnlock => "RET_PHONE_CASE_ID_NOT_UNLOCK",
            Self::RetPhoneCaseSelectIsCurrent => "RET_PHONE_CASE_SELECT_IS_CURRENT",
            Self::RetChessRogueConfigNotFound => "RET_CHESS_ROGUE_CONFIG_NOT_FOUND",
            Self::RetChessRogueConfigInvalid => "RET_CHESS_ROGUE_CONFIG_INVALID",
            Self::RetChessRogueNoValidRoom => "RET_CHESS_ROGUE_NO_VALID_ROOM",
            Self::RetChessRogueNoCellInfo => "RET_CHESS_ROGUE_NO_CELL_INFO",
            Self::RetChessRogueCellNotFinish => "RET_CHESS_ROGUE_CELL_NOT_FINISH",
            Self::RetChessRogueCellIsLocked => "RET_CHESS_ROGUE_CELL_IS_LOCKED",
            Self::RetChessRogueScheduleNotMatch => "RET_CHESS_ROGUE_SCHEDULE_NOT_MATCH",
            Self::RetChessRogueStatusFail => "RET_CHESS_ROGUE_STATUS_FAIL",
            Self::RetChessRogueAreaNotExist => "RET_CHESS_ROGUE_AREA_NOT_EXIST",
            Self::RetChessRogueLineupFail => "RET_CHESS_ROGUE_LINEUP_FAIL",
            Self::RetChessRogueAeonFail => "RET_CHESS_ROGUE_AEON_FAIL",
            Self::RetChessRogueEnterCellFail => "RET_CHESS_ROGUE_ENTER_CELL_FAIL",
            Self::RetChessRogueRollDiceFail => "RET_CHESS_ROGUE_ROLL_DICE_FAIL",
            Self::RetChessRogueDiceStatusFail => "RET_CHESS_ROGUE_DICE_STATUS_FAIL",
            Self::RetChessRogueDiceCntNotFull => "RET_CHESS_ROGUE_DICE_CNT_NOT_FULL",
            Self::RetChessRogueUnlock => "RET_CHESS_ROGUE_UNLOCK",
            Self::RetChessRoguePickAvatarFail => "RET_CHESS_ROGUE_PICK_AVATAR_FAIL",
            Self::RetChessRogueAvatarInvalid => "RET_CHESS_ROGUE_AVATAR_INVALID",
            Self::RetChessRogueCellCanNotSelect => "RET_CHESS_ROGUE_CELL_CAN_NOT_SELECT",
            Self::RetChessRogueDiceConfirmed => "RET_CHESS_ROGUE_DICE_CONFIRMED",
            Self::RetChessRogueNousDiceNotMatch => "RET_CHESS_ROGUE_NOUS_DICE_NOT_MATCH",
            Self::RetChessRogueNousDiceRarityFail => {
                "RET_CHESS_ROGUE_NOUS_DICE_RARITY_FAIL"
            }
            Self::RetChessRogueNousDiceSurfaceDuplicate => {
                "RET_CHESS_ROGUE_NOUS_DICE_SURFACE_DUPLICATE"
            }
            Self::RetChessRogueNotInRogue => "RET_CHESS_ROGUE_NOT_IN_ROGUE",
            Self::RetChessRogueNousDiceBranchLimit => {
                "RET_CHESS_ROGUE_NOUS_DICE_BRANCH_LIMIT"
            }
            Self::RetHeliobusNotOpen => "RET_HELIOBUS_NOT_OPEN",
            Self::RetHeliobusSnsPostNotUnlock => "RET_HELIOBUS_SNS_POST_NOT_UNLOCK",
            Self::RetHeliobusSnsAlreadyRead => "RET_HELIOBUS_SNS_ALREADY_READ",
            Self::RetHeliobusSnsAlreadyLiked => "RET_HELIOBUS_SNS_ALREADY_LIKED",
            Self::RetHeliobusSnsAlreadyCommented => "RET_HELIOBUS_SNS_ALREADY_COMMENTED",
            Self::RetHeliobusSnsInMission => "RET_HELIOBUS_SNS_IN_MISSION",
            Self::RetHeliobusSnsAlreadyPosted => "RET_HELIOBUS_SNS_ALREADY_POSTED",
            Self::RetHeliobusSnsNotDoingMission => "RET_HELIOBUS_SNS_NOT_DOING_MISSION",
            Self::RetHeliobusRewardLevelMax => "RET_HELIOBUS_REWARD_LEVEL_MAX",
            Self::RetHeliobusIncomeNotEnough => "RET_HELIOBUS_INCOME_NOT_ENOUGH",
            Self::RetHeliobusSnsCommentNotUnlock => "RET_HELIOBUS_SNS_COMMENT_NOT_UNLOCK",
            Self::RetHeliobusChallengeNotUnlock => "RET_HELIOBUS_CHALLENGE_NOT_UNLOCK",
            Self::RetHeliobusChallengeIdError => "RET_HELIOBUS_CHALLENGE_ID_ERROR",
            Self::RetHeliobusSkillNotUnlock => "RET_HELIOBUS_SKILL_NOT_UNLOCK",
            Self::RetHeliobusAcceptPostMissionFail => {
                "RET_HELIOBUS_ACCEPT_POST_MISSION_FAIL"
            }
            Self::RetHeliobusSkillNotSelected => "RET_HELIOBUS_SKILL_NOT_SELECTED",
            Self::RetHeliobusPlaneTypeInvalid => "RET_HELIOBUS_PLANE_TYPE_INVALID",
            Self::RetReddotParamInvalid => "RET_REDDOT_PARAM_INVALID",
            Self::RetReddotActivityNotOpen => "RET_REDDOT_ACTIVITY_NOT_OPEN",
            Self::RetRogueEndlessActivityConfigError => {
                "RET_ROGUE_ENDLESS_ACTIVITY_CONFIG_ERROR"
            }
            Self::RetRogueEndlessActivityNotOpen => "RET_ROGUE_ENDLESS_ACTIVITY_NOT_OPEN",
            Self::RetRogueEndlessActivityOverBonusRewardLimit => {
                "RET_ROGUE_ENDLESS_ACTIVITY_OVER_BONUS_REWARD_LIMIT"
            }
            Self::RetRogueEndlessActivityScoreNotMeet => {
                "RET_ROGUE_ENDLESS_ACTIVITY_SCORE_NOT_MEET"
            }
            Self::RetRogueEndlessActivityRewardLevleAlreadyTake => {
                "RET_ROGUE_ENDLESS_ACTIVITY_REWARD_LEVLE_ALREADY_TAKE"
            }
            Self::RetHeartDialScriptNotFound => "RET_HEART_DIAL_SCRIPT_NOT_FOUND",
            Self::RetHeartDialScriptEmotionTheSame => {
                "RET_HEART_DIAL_SCRIPT_EMOTION_THE_SAME"
            }
            Self::RetHeartDialScriptStepNotNormal => {
                "RET_HEART_DIAL_SCRIPT_STEP_NOT_NORMAL"
            }
            Self::RetHeartDialScriptConditionNotMatch => {
                "RET_HEART_DIAL_SCRIPT_CONDITION_NOT_MATCH"
            }
            Self::RetHeartDialScriptSubmitItemNumNotMatch => {
                "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_NUM_NOT_MATCH"
            }
            Self::RetHeartDialScriptSubmitItemIdNotMatch => {
                "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_ID_NOT_MATCH"
            }
            Self::RetHeartDialDialogueNotFound => "RET_HEART_DIAL_DIALOGUE_NOT_FOUND",
            Self::RetHeartDialDialogueAlreadyPerformed => {
                "RET_HEART_DIAL_DIALOGUE_ALREADY_PERFORMED"
            }
            Self::RetHeartDialNpcNotFound => "RET_HEART_DIAL_NPC_NOT_FOUND",
            Self::RetHeartDialTraceConfigNotFound => {
                "RET_HEART_DIAL_TRACE_CONFIG_NOT_FOUND"
            }
            Self::RetHeartDialFloorTraceExist => "RET_HEART_DIAL_FLOOR_TRACE_EXIST",
            Self::RetHeartDialTraceFloorNotMatch => {
                "RET_HEART_DIAL_TRACE_FLOOR_NOT_MATCH"
            }
            Self::RetTravelBrochureConfigError => "RET_TRAVEL_BROCHURE_CONFIG_ERROR",
            Self::RetTravelBrochureParamInvalid => "RET_TRAVEL_BROCHURE_PARAM_INVALID",
            Self::RetTravelBrochureLocked => "RET_TRAVEL_BROCHURE_LOCKED",
            Self::RetTravelBrochureCannotOperate => "RET_TRAVEL_BROCHURE_CANNOT_OPERATE",
            Self::RetTravelBrochureWorldIdNotMatch => {
                "RET_TRAVEL_BROCHURE_WORLD_ID_NOT_MATCH"
            }
            Self::RetTravelBrochureHasNoWorldBook => {
                "RET_TRAVEL_BROCHURE_HAS_NO_WORLD_BOOK"
            }
            Self::RetTravelBrochurePageFull => "RET_TRAVEL_BROCHURE_PAGE_FULL",
            Self::RetMapRotationNotInRegion => "RET_MAP_ROTATION_NOT_IN_REGION",
            Self::RetMapRotationRotaterAlreadyDeployed => {
                "RET_MAP_ROTATION_ROTATER_ALREADY_DEPLOYED"
            }
            Self::RetMapRotationEnergyNotEnough => "RET_MAP_ROTATION_ENERGY_NOT_ENOUGH",
            Self::RetMapRotationEntityNotOnCurPose => {
                "RET_MAP_ROTATION_ENTITY_NOT_ON_CUR_POSE"
            }
            Self::RetMapRotationRotaterNotDeployed => {
                "RET_MAP_ROTATION_ROTATER_NOT_DEPLOYED"
            }
            Self::RetMapRotationPoseRotaterMismatch => {
                "RET_MAP_ROTATION_POSE_ROTATER_MISMATCH"
            }
            Self::RetMapRotationRotaterNotRemovable => {
                "RET_MAP_ROTATION_ROTATER_NOT_REMOVABLE"
            }
            Self::RetMapRotationRotaterDisposable => {
                "RET_MAP_ROTATION_ROTATER_DISPOSABLE"
            }
            Self::RetSpaceZooActivityCatNotFound => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_FOUND"
            }
            Self::RetSpaceZooActivityCatParamInvalid => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_PARAM_INVALID"
            }
            Self::RetSpaceZooActivityCatItemNotEnough => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_ITEM_NOT_ENOUGH"
            }
            Self::RetSpaceZooActivityCatBagFull => "RET_SPACE_ZOO_ACTIVITY_CAT_BAG_FULL",
            Self::RetSpaceZooActivityCatNotToMutate => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_TO_MUTATE"
            }
            Self::RetSpaceZooActivityCatStateError => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_STATE_ERROR"
            }
            Self::RetSpaceZooActivityCatCatteryLocked => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_CATTERY_LOCKED"
            }
            Self::RetSpaceZooActivityCatOutNow => "RET_SPACE_ZOO_ACTIVITY_CAT_OUT_NOW",
            Self::RetSpaceZooActivityCatConfigNotFound => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_CONFIG_NOT_FOUND"
            }
            Self::RetSpaceZooActivityCatFeatureNotFound => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_FEATURE_NOT_FOUND"
            }
            Self::RetSpaceZooActivityCatAddCatError => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_ADD_CAT_ERROR"
            }
            Self::RetSpaceZooActivityCatMoneyNotEnough => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_MONEY_NOT_ENOUGH"
            }
            Self::RetSpaceZooActivityCatCondNotMatch => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_COND_NOT_MATCH"
            }
            Self::RetStrongChallengeActivityStageCfgMiss => {
                "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_CFG_MISS"
            }
            Self::RetStrongChallengeActivityStageNotOpen => {
                "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_NOT_OPEN"
            }
            Self::RetStrongChallengeActivityBuffError => {
                "RET_STRONG_CHALLENGE_ACTIVITY_BUFF_ERROR"
            }
            Self::RetRollShopNotFound => "RET_ROLL_SHOP_NOT_FOUND",
            Self::RetRollShopGroupEmpty => "RET_ROLL_SHOP_GROUP_EMPTY",
            Self::RetRollShopEmpty => "RET_ROLL_SHOP_EMPTY",
            Self::RetRollShopGachaReqDuplicated => "RET_ROLL_SHOP_GACHA_REQ_DUPLICATED",
            Self::RetRollShopRandomError => "RET_ROLL_SHOP_RANDOM_ERROR",
            Self::RetRollShopGroupTypeNotFound => "RET_ROLL_SHOP_GROUP_TYPE_NOT_FOUND",
            Self::RetRollShopHasStoredRewardAlready => {
                "RET_ROLL_SHOP_HAS_STORED_REWARD_ALREADY"
            }
            Self::RetRollShopNoStoredReward => "RET_ROLL_SHOP_NO_STORED_REWARD",
            Self::RetRollShopNotInValidScene => "RET_ROLL_SHOP_NOT_IN_VALID_SCENE",
            Self::RetRollShopInvalidRollShopType => {
                "RET_ROLL_SHOP_INVALID_ROLL_SHOP_TYPE"
            }
            Self::RetActivityRaidCollectionPrevNotFinish => {
                "RET_ACTIVITY_RAID_COLLECTION_PREV_NOT_FINISH"
            }
            Self::RetActivityRaidCollectionGroupEnterNextUnavailable => {
                "RET_ACTIVITY_RAID_COLLECTION_GROUP_ENTER_NEXT_UNAVAILABLE"
            }
            Self::RetActivityRaidCollectionIsLast => {
                "RET_ACTIVITY_RAID_COLLECTION_IS_LAST"
            }
            Self::RetActivityRaidCollectionIsNotNext => {
                "RET_ACTIVITY_RAID_COLLECTION_IS_NOT_NEXT"
            }
            Self::RetOfferingNotUnlock => "RET_OFFERING_NOT_UNLOCK",
            Self::RetOfferingLevelNotUnlock => "RET_OFFERING_LEVEL_NOT_UNLOCK",
            Self::RetOfferingReachMaxLevel => "RET_OFFERING_REACH_MAX_LEVEL",
            Self::RetOfferingItemNotEnough => "RET_OFFERING_ITEM_NOT_ENOUGH",
            Self::RetOfferingLongtailNotOpen => "RET_OFFERING_LONGTAIL_NOT_OPEN",
            Self::RetOfferingRewardCondition => "RET_OFFERING_REWARD_CONDITION",
            Self::RetDrinkMakerChatInvalid => "RET_DRINK_MAKER_CHAT_INVALID",
            Self::RetDrinkMakerParamInvalid => "RET_DRINK_MAKER_PARAM_INVALID",
            Self::RetDrinkMakerParamNotUnlock => "RET_DRINK_MAKER_PARAM_NOT_UNLOCK",
            Self::RetDrinkMakerConfigNotFound => "RET_DRINK_MAKER_CONFIG_NOT_FOUND",
            Self::RetDrinkMakerNotLastChat => "RET_DRINK_MAKER_NOT_LAST_CHAT",
            Self::RetDrinkMakerDayAndFreePhaseNotOpen => {
                "RET_DRINK_MAKER_DAY_AND_FREE_PHASE_NOT_OPEN"
            }
            Self::RetMonopolyNotOpen => "RET_MONOPOLY_NOT_OPEN",
            Self::RetMonopolyConfigError => "RET_MONOPOLY_CONFIG_ERROR",
            Self::RetMonopolyDiceNotEnough => "RET_MONOPOLY_DICE_NOT_ENOUGH",
            Self::RetMonopolyCurCellNotFinish => "RET_MONOPOLY_CUR_CELL_NOT_FINISH",
            Self::RetMonopolyCoinNotEnough => "RET_MONOPOLY_COIN_NOT_ENOUGH",
            Self::RetMonopolyCellWaitPending => "RET_MONOPOLY_CELL_WAIT_PENDING",
            Self::RetMonopolyCellStateError => "RET_MONOPOLY_CELL_STATE_ERROR",
            Self::RetMonopolyCellContentError => "RET_MONOPOLY_CELL_CONTENT_ERROR",
            Self::RetMonopolyItemNotEnough => "RET_MONOPOLY_ITEM_NOT_ENOUGH",
            Self::RetMonopolyCellContentCannotGiveup => {
                "RET_MONOPOLY_CELL_CONTENT_CANNOT_GIVEUP"
            }
            Self::RetMonopolyAssetLevelInvalid => "RET_MONOPOLY_ASSET_LEVEL_INVALID",
            Self::RetMonopolyTurnNotFinish => "RET_MONOPOLY_TURN_NOT_FINISH",
            Self::RetMonopolyGuideNotFinish => "RET_MONOPOLY_GUIDE_NOT_FINISH",
            Self::RetMonopolyRaffleRewardReissued => {
                "RET_MONOPOLY_RAFFLE_REWARD_REISSUED"
            }
            Self::RetMonopolyNoGameActive => "RET_MONOPOLY_NO_GAME_ACTIVE",
            Self::RetMonopolyGameRatioNotIncreasable => {
                "RET_MONOPOLY_GAME_RATIO_NOT_INCREASABLE"
            }
            Self::RetMonopolyGameRatioMax => "RET_MONOPOLY_GAME_RATIO_MAX",
            Self::RetMonopolyGameTargetRatioInvalid => {
                "RET_MONOPOLY_GAME_TARGET_RATIO_INVALID"
            }
            Self::RetMonopolyGameBingoFlipPosInvalid => {
                "RET_MONOPOLY_GAME_BINGO_FLIP_POS_INVALID"
            }
            Self::RetMonopolyGameGuessAlreadyChoose => {
                "RET_MONOPOLY_GAME_GUESS_ALREADY_CHOOSE"
            }
            Self::RetMonopolyGameGuessChooseInvalid => {
                "RET_MONOPOLY_GAME_GUESS_CHOOSE_INVALID"
            }
            Self::RetMonopolyGameGuessInformationAlreadyBought => {
                "RET_MONOPOLY_GAME_GUESS_INFORMATION_ALREADY_BOUGHT"
            }
            Self::RetMonopolyGameRaiseRatioNotUnlock => {
                "RET_MONOPOLY_GAME_RAISE_RATIO_NOT_UNLOCK"
            }
            Self::RetMonopolyFriendNotSynced => "RET_MONOPOLY_FRIEND_NOT_SYNCED",
            Self::RetMonopolyGetFriendRankingListInCd => {
                "RET_MONOPOLY_GET_FRIEND_RANKING_LIST_IN_CD"
            }
            Self::RetMonopolyLikeTargetNotFriend => "RET_MONOPOLY_LIKE_TARGET_NOT_FRIEND",
            Self::RetMonopolyDailyAlreadyLiked => "RET_MONOPOLY_DAILY_ALREADY_LIKED",
            Self::RetMonopolySocialEventStatusNotMatch => {
                "RET_MONOPOLY_SOCIAL_EVENT_STATUS_NOT_MATCH"
            }
            Self::RetMonopolySocialEventServerCacheNotExist => {
                "RET_MONOPOLY_SOCIAL_EVENT_SERVER_CACHE_NOT_EXIST"
            }
            Self::RetMonopolyActivityIdNotMatch => "RET_MONOPOLY_ACTIVITY_ID_NOT_MATCH",
            Self::RetMonopolyRafflePoolNotExist => "RET_MONOPOLY_RAFFLE_POOL_NOT_EXIST",
            Self::RetMonopolyRafflePoolTimeNotMatch => {
                "RET_MONOPOLY_RAFFLE_POOL_TIME_NOT_MATCH"
            }
            Self::RetMonopolyRafflePoolPhaseNotMeet => {
                "RET_MONOPOLY_RAFFLE_POOL_PHASE_NOT_MEET"
            }
            Self::RetMonopolyRafflePoolShowTimeNotMeet => {
                "RET_MONOPOLY_RAFFLE_POOL_SHOW_TIME_NOT_MEET"
            }
            Self::RetMonopolyRaffleTicketNotFound => {
                "RET_MONOPOLY_RAFFLE_TICKET_NOT_FOUND"
            }
            Self::RetMonopolyRaffleTicketTimeNotMeet => {
                "RET_MONOPOLY_RAFFLE_TICKET_TIME_NOT_MEET"
            }
            Self::RetMonopolyRaffleTicketRewardAlreadyTaken => {
                "RET_MONOPOLY_RAFFLE_TICKET_REWARD_ALREADY_TAKEN"
            }
            Self::RetMonopolyRafflePoolNotInRaffleTime => {
                "RET_MONOPOLY_RAFFLE_POOL_NOT_IN_RAFFLE_TIME"
            }
            Self::RetMonopolyMbtiReportRewardAlreadyTaken => {
                "RET_MONOPOLY_MBTI_REPORT_REWARD_ALREADY_TAKEN"
            }
            Self::RetEvolveBuildLevelGaming => "RET_EVOLVE_BUILD_LEVEL_GAMING",
            Self::RetEveolveBuildLevelBanRandom => "RET_EVEOLVE_BUILD_LEVEL_BAN_RANDOM",
            Self::RetEvolveBuildFirstRewardAlreadyTaken => {
                "RET_EVOLVE_BUILD_FIRST_REWARD_ALREADY_TAKEN"
            }
            Self::RetEvolveBuildLevelUnfinish => "RET_EVOLVE_BUILD_LEVEL_UNFINISH",
            Self::RetEvolveBuildShopAbilityMaxLevel => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_MAX_LEVEL"
            }
            Self::RetEvolveBuildShopAbilityMinLevel => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_MIN_LEVEL"
            }
            Self::RetEvolveBuildShopAbilityNotGet => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_NOT_GET"
            }
            Self::RetEvolveBuildLevelLock => "RET_EVOLVE_BUILD_LEVEL_LOCK",
            Self::RetEvolveBuildExpNotEnough => "RET_EVOLVE_BUILD_EXP_NOT_ENOUGH",
            Self::RetEvolveBuildShopAbilityLevelError => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_LEVEL_ERROR"
            }
            Self::RetEvolveBuildActivityNotOpen => "RET_EVOLVE_BUILD_ACTIVITY_NOT_OPEN",
            Self::RetEvolveBuildShopAbilityEmpty => "RET_EVOLVE_BUILD_SHOP_ABILITY_EMPTY",
            Self::RetEvolveBuildLevelNotStart => "RET_EVOLVE_BUILD_LEVEL_NOT_START",
            Self::RetEvolveBuildShopLock => "RET_EVOLVE_BUILD_SHOP_LOCK",
            Self::RetEvolveBuildRewardLock => "RET_EVOLVE_BUILD_REWARD_LOCK",
            Self::RetEvolveBuildRewardLevelMax => "RET_EVOLVE_BUILD_REWARD_LEVEL_MAX",
            Self::RetEvolveBuildRewardAlreadyAllTaken => {
                "RET_EVOLVE_BUILD_REWARD_ALREADY_ALL_TAKEN"
            }
            Self::RetEvolveBuildSeasonError => "RET_EVOLVE_BUILD_SEASON_ERROR",
            Self::RetEvolveBuildTeachSkipQuestNotFinish => {
                "RET_EVOLVE_BUILD_TEACH_SKIP_QUEST_NOT_FINISH"
            }
            Self::RetClockParkConfigError => "RET_CLOCK_PARK_CONFIG_ERROR",
            Self::RetClockParkEffectError => "RET_CLOCK_PARK_EFFECT_ERROR",
            Self::RetClockParkScriptAlreadyUnlock => {
                "RET_CLOCK_PARK_SCRIPT_ALREADY_UNLOCK"
            }
            Self::RetClockParkScriptUnlockConditionNotMeet => {
                "RET_CLOCK_PARK_SCRIPT_UNLOCK_CONDITION_NOT_MEET"
            }
            Self::RetClockParkTalentAlreadyUnlock => {
                "RET_CLOCK_PARK_TALENT_ALREADY_UNLOCK"
            }
            Self::RetClockParkScriptLocked => "RET_CLOCK_PARK_SCRIPT_LOCKED",
            Self::RetClockParkHasOngoingScript => "RET_CLOCK_PARK_HAS_ONGOING_SCRIPT",
            Self::RetClockParkNoOngoingScript => "RET_CLOCK_PARK_NO_ONGOING_SCRIPT",
            Self::RetClockParkDicePlacementError => "RET_CLOCK_PARK_DICE_PLACEMENT_ERROR",
            Self::RetClockParkMismatchStatus => "RET_CLOCK_PARK_MISMATCH_STATUS",
            Self::RetClockParkNoBuff => "RET_CLOCK_PARK_NO_BUFF",
            Self::RetClockParkSlotMachineGachaReqDuplicated => {
                "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_REQ_DUPLICATED"
            }
            Self::RetClockParkSlotMachineCostNotEnough => {
                "RET_CLOCK_PARK_SLOT_MACHINE_COST_NOT_ENOUGH"
            }
            Self::RetClockParkSlotMachineGachaCntExceedLimit => {
                "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_CNT_EXCEED_LIMIT"
            }
            Self::RetClockParkNotOpen => "RET_CLOCK_PARK_NOT_OPEN",
            Self::RetTournRogueStatusMismatch => "RET_TOURN_ROGUE_STATUS_MISMATCH",
            Self::RetMagicRogueStatusMismatch => "RET_MAGIC_ROGUE_STATUS_MISMATCH",
            Self::RetAutoMountMagicUnitNoMatchedMagicScepter => {
                "RET_AUTO_MOUNT_MAGIC_UNIT_NO_MATCHED_MAGIC_SCEPTER"
            }
            Self::RetMagicUnitWorkbenchReforgeGenFail => {
                "RET_MAGIC_UNIT_WORKBENCH_REFORGE_GEN_FAIL"
            }
            Self::RetMatchAlreadyInMatch => "RET_MATCH_ALREADY_IN_MATCH",
            Self::RetMatchNotInMatch => "RET_MATCH_NOT_IN_MATCH",
            Self::RetMatchPlayNotOpen => "RET_MATCH_PLAY_NOT_OPEN",
            Self::RetCrossStateError => "RET_CROSS_STATE_ERROR",
            Self::RetMatchVersionNotEqual => "RET_MATCH_VERSION_NOT_EQUAL",
            Self::RetMatchPlayerNotInLobbyRoom => "RET_MATCH_PLAYER_NOT_IN_LOBBY_ROOM",
            Self::RetLobbyStateNotMatch => "RET_LOBBY_STATE_NOT_MATCH",
            Self::RetLobbyRoomNotExist => "RET_LOBBY_ROOM_NOT_EXIST",
            Self::RetLobbyRoomPalyerFull => "RET_LOBBY_ROOM_PALYER_FULL",
            Self::RetLobbyRoomPalyerNotReady => "RET_LOBBY_ROOM_PALYER_NOT_READY",
            Self::RetLobbyRoomPalyerFighting => "RET_LOBBY_ROOM_PALYER_FIGHTING",
            Self::RetFightRoomNotExist => "RET_FIGHT_ROOM_NOT_EXIST",
            Self::RetFightMatch3PlayerStateErr => "RET_FIGHT_MATCH3_PLAYER_STATE_ERR",
            Self::RetFightMatch3RoomStateErr => "RET_FIGHT_MATCH3_ROOM_STATE_ERR",
            Self::RetCrossStateTimeOut => "RET_CROSS_STATE_TIME_OUT",
            Self::RetLobbyStartFightDisable => "RET_LOBBY_START_FIGHT_DISABLE",
            Self::RetLobbyStartFightPlayerLack => "RET_LOBBY_START_FIGHT_PLAYER_LACK",
            Self::RetMatchClientDataVersionLow => "RET_MATCH_CLIENT_DATA_VERSION_LOW",
            Self::RetLobbyStartMatchDisable => "RET_LOBBY_START_MATCH_DISABLE",
            Self::RetLobbyInteractInCd => "RET_LOBBY_INTERACT_IN_CD",
            Self::RetLobbyOwnerStateErr => "RET_LOBBY_OWNER_STATE_ERR",
            Self::RetLobbyOpTooFast => "RET_LOBBY_OP_TOO_FAST",
            Self::RetSwordTrainingNoActiveGame => "RET_SWORD_TRAINING_NO_ACTIVE_GAME",
            Self::RetSwordTrainingNoPendingActionMatch => {
                "RET_SWORD_TRAINING_NO_PENDING_ACTION_MATCH"
            }
            Self::RetSwordTrainingPartnerAbilityInvalid => {
                "RET_SWORD_TRAINING_PARTNER_ABILITY_INVALID"
            }
            Self::RetSwordTrainingSkillAlreadyLearned => {
                "RET_SWORD_TRAINING_SKILL_ALREADY_LEARNED"
            }
            Self::RetSwordTrainingConditionNotMeet => {
                "RET_SWORD_TRAINING_CONDITION_NOT_MEET"
            }
            Self::RetSwordTrainingParentSkillNotLearned => {
                "RET_SWORD_TRAINING_PARENT_SKILL_NOT_LEARNED"
            }
            Self::RetSwordTrainingSkillTypeNotUnlock => {
                "RET_SWORD_TRAINING_SKILL_TYPE_NOT_UNLOCK"
            }
            Self::RetSwordTrainingGameAlreadyExist => {
                "RET_SWORD_TRAINING_GAME_ALREADY_EXIST"
            }
            Self::RetSwordTrainingEndingHintNotMatch => {
                "RET_SWORD_TRAINING_ENDING_HINT_NOT_MATCH"
            }
            Self::RetSwordTrainingStorylineConfigNotFound => {
                "RET_SWORD_TRAINING_STORYLINE_CONFIG_NOT_FOUND"
            }
            Self::RetSwordTrainingStoryConfigNotFound => {
                "RET_SWORD_TRAINING_STORY_CONFIG_NOT_FOUND"
            }
            Self::RetSwordTrainingUnlockNotFinish => {
                "RET_SWORD_TRAINING_UNLOCK_NOT_FINISH"
            }
            Self::RetSwordTrainingOptionMismatch => "RET_SWORD_TRAINING_OPTION_MISMATCH",
            Self::RetSwordTrainingRestoreWithoutExamFailed => {
                "RET_SWORD_TRAINING_RESTORE_WITHOUT_EXAM_FAILED"
            }
            Self::RetSwordTrainingNoRestoreGameAvailable => {
                "RET_SWORD_TRAINING_NO_RESTORE_GAME_AVAILABLE"
            }
            Self::RetSwordTrainingEndingStoryNotMatch => {
                "RET_SWORD_TRAINING_ENDING_STORY_NOT_MATCH"
            }
            Self::RetSwordTrainingEndingNotFinish => {
                "RET_SWORD_TRAINING_ENDING_NOT_FINISH"
            }
            Self::RetSwordTrainingEndingRewardTaken => {
                "RET_SWORD_TRAINING_ENDING_REWARD_TAKEN"
            }
            Self::RetSwordTrainingCombatRankNotChange => {
                "RET_SWORD_TRAINING_COMBAT_RANK_NOT_CHANGE"
            }
            Self::RetSwordTrainingDirectBattleDisable => {
                "RET_SWORD_TRAINING_DIRECT_BATTLE_DISABLE"
            }
            Self::RetFightFestPhaseNotMatch => "RET_FIGHT_FEST_PHASE_NOT_MATCH",
            Self::RetFightFestScoreRaceAlreadyFinish => {
                "RET_FIGHT_FEST_SCORE_RACE_ALREADY_FINISH"
            }
            Self::RetFightFestChallengeLocked => "RET_FIGHT_FEST_CHALLENGE_LOCKED",
            Self::RetFightFestCoachSkillLocked => "RET_FIGHT_FEST_COACH_SKILL_LOCKED",
            Self::RetFightFestCoachSkillEquipTypeExisted => {
                "RET_FIGHT_FEST_COACH_SKILL_EQUIP_TYPE_EXISTED"
            }
            Self::RetFightFestScoreRaceMissionDoind => {
                "RET_FIGHT_FEST_SCORE_RACE_MISSION_DOIND"
            }
            Self::RetFightFestCoachSkillNoEquip => "RET_FIGHT_FEST_COACH_SKILL_NO_EQUIP",
            Self::RetPetNotExist => "RET_PET_NOT_EXIST",
            Self::RetPetAlreadySummoned => "RET_PET_ALREADY_SUMMONED",
            Self::RetPetNotSummoned => "RET_PET_NOT_SUMMONED",
            Self::RetMusicRhythmLevelTimeTooShort => {
                "RET_MUSIC_RHYTHM_LEVEL_TIME_TOO_SHORT"
            }
            Self::RetMusicRhythmNotInLevel => "RET_MUSIC_RHYTHM_NOT_IN_LEVEL",
            Self::RetMusicRhythmPreDifficultyNotPass => {
                "RET_MUSIC_RHYTHM_PRE_DIFFICULTY_NOT_PASS"
            }
            Self::RetMusicRhythmSongLimited => "RET_MUSIC_RHYTHM_SONG_LIMITED",
            Self::RetMusicRhythmSongLocked => "RET_MUSIC_RHYTHM_SONG_LOCKED",
            Self::RetMusicRhythmTrackLocked => "RET_MUSIC_RHYTHM_TRACK_LOCKED",
            Self::RetMusicRhythmLevelNotUnlock => "RET_MUSIC_RHYTHM_LEVEL_NOT_UNLOCK",
            Self::RetMusicRhythmSongSfxLocked => "RET_MUSIC_RHYTHM_SONG_SFX_LOCKED",
            Self::RetTrainPartyCoinNotEnough => "RET_TRAIN_PARTY_COIN_NOT_ENOUGH",
            Self::RetTrainPartyDiyTagNotMatch => "RET_TRAIN_PARTY_DIY_TAG_NOT_MATCH",
            Self::RetTrainPartyUseCardMobilityNotEnough => {
                "RET_TRAIN_PARTY_USE_CARD_MOBILITY_NOT_ENOUGH"
            }
            Self::RetTrainPartyAreaUnlockCoinNotEnough => {
                "RET_TRAIN_PARTY_AREA_UNLOCK_COIN_NOT_ENOUGH"
            }
            Self::RetTarotBookEnergyNotEnough => "RET_TAROT_BOOK_ENERGY_NOT_ENOUGH",
            Self::RetTarotBookPackNotAvailable => "RET_TAROT_BOOK_PACK_NOT_AVAILABLE",
            Self::RetTarotBookStoryAlreadyUnlock => "RET_TAROT_BOOK_STORY_ALREADY_UNLOCK",
            Self::RetTarotBookCardNotEnough => "RET_TAROT_BOOK_CARD_NOT_ENOUGH",
            Self::RetTarotBookClueNotEnough => "RET_TAROT_BOOK_CLUE_NOT_ENOUGH",
            Self::RetTarotBookUnlockStoryCardNotSame => {
                "RET_TAROT_BOOK_UNLOCK_STORY_CARD_NOT_SAME"
            }
            Self::RetTarotBookStoryNotUnlock => "RET_TAROT_BOOK_STORY_NOT_UNLOCK",
            Self::RetTarotBookStoryAlreadyFinish => "RET_TAROT_BOOK_STORY_ALREADY_FINISH",
            Self::RetTarotBookInteractionAlreadyFinish => {
                "RET_TAROT_BOOK_INTERACTION_ALREADY_FINISH"
            }
            Self::RetChimeraChimeraNotUnlock => "RET_CHIMERA_CHIMERA_NOT_UNLOCK",
            Self::RetChimeraChimeraDuplicated => "RET_CHIMERA_CHIMERA_DUPLICATED",
            Self::RetChimeraChimeraTypeError => "RET_CHIMERA_CHIMERA_TYPE_ERROR",
            Self::RetChimeraWorkMismatchRound => "RET_CHIMERA_WORK_MISMATCH_ROUND",
            Self::RetChimeraWorkRoundOptionNotMeet => {
                "RET_CHIMERA_WORK_ROUND_OPTION_NOT_MEET"
            }
            Self::RetChimeraEndlessNotUnlock => "RET_CHIMERA_ENDLESS_NOT_UNLOCK",
            Self::RetChimeraInEndless => "RET_CHIMERA_IN_ENDLESS",
            Self::RetChimeraNotInEndless => "RET_CHIMERA_NOT_IN_ENDLESS",
            Self::RetChimeraChimeraFallInEndless => "RET_CHIMERA_CHIMERA_FALL_IN_ENDLESS",
            Self::RetPlanetFesAvatarNotExist => "RET_PLANET_FES_AVATAR_NOT_EXIST",
            Self::RetPlanetFesLandNotExist => "RET_PLANET_FES_LAND_NOT_EXIST",
            Self::RetPlanetFesItemNotEnough => "RET_PLANET_FES_ITEM_NOT_ENOUGH",
            Self::RetPlanetFesLandAlreadyUnlock => "RET_PLANET_FES_LAND_ALREADY_UNLOCK",
            Self::RetPlanetFesWorkAvatarRepeat => "RET_PLANET_FES_WORK_AVATAR_REPEAT",
            Self::RetPlanetFesWorkAvatarTypeNotMatch => {
                "RET_PLANET_FES_WORK_AVATAR_TYPE_NOT_MATCH"
            }
            Self::RetPlanetFesActivityNotOpen => "RET_PLANET_FES_ACTIVITY_NOT_OPEN",
            Self::RetPlanetFesSkilltreePhaseNotUnlock => {
                "RET_PLANET_FES_SKILLTREE_PHASE_NOT_UNLOCK"
            }
            Self::RetPlanetFesSkillNotUnlock => "RET_PLANET_FES_SKILL_NOT_UNLOCK",
            Self::RetPlanetFesConfigError => "RET_PLANET_FES_CONFIG_ERROR",
            Self::RetPlanetFesNotInBusinessDay => "RET_PLANET_FES_NOT_IN_BUSINESS_DAY",
            Self::RetPlanetFesEventLocked => "RET_PLANET_FES_EVENT_LOCKED",
            Self::RetPlanetFesEventFinished => "RET_PLANET_FES_EVENT_FINISHED",
            Self::RetPlanetFesEventInCd => "RET_PLANET_FES_EVENT_IN_CD",
            Self::RetPlanetFesEventAlreadyInState => {
                "RET_PLANET_FES_EVENT_ALREADY_IN_STATE"
            }
            Self::RetPlanetFesEventNoWorkAvatar => "RET_PLANET_FES_EVENT_NO_WORK_AVATAR",
            Self::RetPlanetFesEventProcessingCannotDisappear => {
                "RET_PLANET_FES_EVENT_PROCESSING_CANNOT_DISAPPEAR"
            }
            Self::RetPlanetFesEventOptionPhaseWrong => {
                "RET_PLANET_FES_EVENT_OPTION_PHASE_WRONG"
            }
            Self::RetPlanetFesFunctionNotUnlock => "RET_PLANET_FES_FUNCTION_NOT_UNLOCK",
            Self::RetPlanetFesRewardAlreadyTaken => "RET_PLANET_FES_REWARD_ALREADY_TAKEN",
            Self::RetPlanetFesEventGameNotActive => {
                "RET_PLANET_FES_EVENT_GAME_NOT_ACTIVE"
            }
            Self::RetPlanetFesRegionProgressNotEnough => {
                "RET_PLANET_FES_REGION_PROGRESS_NOT_ENOUGH"
            }
            Self::RetPlanetFesFriendItemNotEnough => {
                "RET_PLANET_FES_FRIEND_ITEM_NOT_ENOUGH"
            }
            Self::RetPlanetFesPiecePermissionBan => "RET_PLANET_FES_PIECE_PERMISSION_BAN",
            Self::RetPlanetFesPieceOfferNotExist => {
                "RET_PLANET_FES_PIECE_OFFER_NOT_EXIST"
            }
            Self::RetPlanetFesPieceApplyInStackTooMuch => {
                "RET_PLANET_FES_PIECE_APPLY_IN_STACK_TOO_MUCH"
            }
            Self::RetPlanetFesPieceApplyNotExist => {
                "RET_PLANET_FES_PIECE_APPLY_NOT_EXIST"
            }
            Self::RetPlanetFesGetFriendRankingListInCd => {
                "RET_PLANET_FES_GET_FRIEND_RANKING_LIST_IN_CD"
            }
            Self::RetPlanetFesGivePieceOwnedByTarget => {
                "RET_PLANET_FES_GIVE_PIECE_OWNED_BY_TARGET"
            }
            Self::RetPlanetFesLevelMax => "RET_PLANET_FES_LEVEL_MAX",
            Self::RetPlanetFesExclusiveEvent => "RET_PLANET_FES_EXCLUSIVE_EVENT",
            Self::RetMarbleSealAlreadyUnlocked => "RET_MARBLE_SEAL_ALREADY_UNLOCKED",
            Self::RetMarbleSealShopItemNotEnough => {
                "RET_MARBLE_SEAL_SHOP_ITEM_NOT_ENOUGH"
            }
            Self::RetMarbleSealLocked => "RET_MARBLE_SEAL_LOCKED",
            Self::RetParkourActivityNotOpen => "RET_PARKOUR_ACTIVITY_NOT_OPEN",
            Self::RetParkourLevelNotUnlock => "RET_PARKOUR_LEVEL_NOT_UNLOCK",
            Self::RetParkourRailBallNotAllowed => "RET_PARKOUR_RAIL_BALL_NOT_ALLOWED",
            Self::RetParkourNotInLevel => "RET_PARKOUR_NOT_IN_LEVEL",
            Self::RetParkourLevelNotMatch => "RET_PARKOUR_LEVEL_NOT_MATCH",
            Self::RetParkourNotPlayedAllNonStoryLevel => {
                "RET_PARKOUR_NOT_PLAYED_ALL_NON_STORY_LEVEL"
            }
            Self::RetFtcLimitNameChange => "RET_FTC_LIMIT_NAME_CHANGE",
            Self::RetGridFightConfMiss => "RET_GRID_FIGHT_CONF_MISS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RET_SUCC" => Some(Self::RetSucc),
            "RET_FAIL" => Some(Self::RetFail),
            "RET_SERVER_INTERNAL_ERROR" => Some(Self::RetServerInternalError),
            "RET_TIMEOUT" => Some(Self::RetTimeout),
            "RET_REPEATED_REQ" => Some(Self::RetRepeatedReq),
            "RET_REQ_PARA_INVALID" => Some(Self::RetReqParaInvalid),
            "RET_PLAYER_DATA_ERROR" => Some(Self::RetPlayerDataError),
            "RET_PLAYER_CLIENT_PAUSED" => Some(Self::RetPlayerClientPaused),
            "RET_FUNC_CHECK_FAILED" => Some(Self::RetFuncCheckFailed),
            "RET_FEATURE_SWITCH_CLOSED" => Some(Self::RetFeatureSwitchClosed),
            "RET_FREQ_OVER_LIMIT" => Some(Self::RetFreqOverLimit),
            "RET_SYSTEM_BUSY" => Some(Self::RetSystemBusy),
            "RET_PLAYER_NOT_ONLINE" => Some(Self::RetPlayerNotOnline),
            "RET_OPERATION_IN_CD" => Some(Self::RetOperationInCd),
            "RET_REPEATE_LOGIN" => Some(Self::RetRepeateLogin),
            "RET_RETRY_LOGIN" => Some(Self::RetRetryLogin),
            "RET_WAIT_LOGIN" => Some(Self::RetWaitLogin),
            "RET_NOT_IN_WHITE_LIST" => Some(Self::RetNotInWhiteList),
            "RET_IN_BLACK_LIST" => Some(Self::RetInBlackList),
            "RET_ACCOUNT_VERIFY_ERROR" => Some(Self::RetAccountVerifyError),
            "RET_ACCOUNT_PARA_ERROR" => Some(Self::RetAccountParaError),
            "RET_ANTI_ADDICT_LOGIN" => Some(Self::RetAntiAddictLogin),
            "RET_CHECK_SUM_ERROR" => Some(Self::RetCheckSumError),
            "RET_REACH_MAX_PLAYER_NUM" => Some(Self::RetReachMaxPlayerNum),
            "RET_ALREADY_REGISTERED" => Some(Self::RetAlreadyRegistered),
            "RET_GENDER_ERROR" => Some(Self::RetGenderError),
            "SET_NICKNAME_RET_CALLBACK_PROCESSING" => {
                Some(Self::SetNicknameRetCallbackProcessing)
            }
            "RET_IN_GM_BIND_ACCESS" => Some(Self::RetInGmBindAccess),
            "RET_QUEST_REWARD_ALREADY_TAKEN" => Some(Self::RetQuestRewardAlreadyTaken),
            "RET_QUEST_NOT_ACCEPT" => Some(Self::RetQuestNotAccept),
            "RET_QUEST_NOT_FINISH" => Some(Self::RetQuestNotFinish),
            "RET_QUEST_STATUS_ERROR" => Some(Self::RetQuestStatusError),
            "RET_ACHIEVEMENT_LEVEL_NOT_REACH" => Some(Self::RetAchievementLevelNotReach),
            "RET_ACHIEVEMENT_LEVEL_ALREADY_TAKEN" => {
                Some(Self::RetAchievementLevelAlreadyTaken)
            }
            "RET_AVATAR_NOT_EXIST" => Some(Self::RetAvatarNotExist),
            "RET_AVATAR_RES_EXP_NOT_ENOUGH" => Some(Self::RetAvatarResExpNotEnough),
            "RET_AVATAR_EXP_REACH_PROMOTION_LIMIT" => {
                Some(Self::RetAvatarExpReachPromotionLimit)
            }
            "RET_AVATAR_REACH_MAX_PROMOTION" => Some(Self::RetAvatarReachMaxPromotion),
            "RET_SKILLTREE_CONFIG_NOT_EXIST" => Some(Self::RetSkilltreeConfigNotExist),
            "RET_SKILLTREE_ALREADY_UNLOCK" => Some(Self::RetSkilltreeAlreadyUnlock),
            "RET_SKILLTREE_PRE_LOCKED" => Some(Self::RetSkilltreePreLocked),
            "RET_SKILLTREE_LEVEL_NOT_MEET" => Some(Self::RetSkilltreeLevelNotMeet),
            "RET_SKILLTREE_RANK_NOT_MEET" => Some(Self::RetSkilltreeRankNotMeet),
            "RET_AVATAR_DRESS_NO_EQUIPMENT" => Some(Self::RetAvatarDressNoEquipment),
            "RET_AVATAR_EXP_ITEM_NOT_EXIST" => Some(Self::RetAvatarExpItemNotExist),
            "RET_SKILLTREE_POINT_LOCKED" => Some(Self::RetSkilltreePointLocked),
            "RET_SKILLTREE_POINT_LEVEL_UPGRADE_NOT_MATCH" => {
                Some(Self::RetSkilltreePointLevelUpgradeNotMatch)
            }
            "RET_SKILLTREE_POINT_LEVEL_REACH_MAX" => {
                Some(Self::RetSkilltreePointLevelReachMax)
            }
            "RET_WORLD_LEVEL_NOT_MEET" => Some(Self::RetWorldLevelNotMeet),
            "RET_PLAYER_LEVEL_NOT_MEET" => Some(Self::RetPlayerLevelNotMeet),
            "RET_AVATAR_RANK_NOT_MATCH" => Some(Self::RetAvatarRankNotMatch),
            "RET_AVATAR_RANK_REACH_MAX" => Some(Self::RetAvatarRankReachMax),
            "RET_HERO_BASIC_TYPE_NOT_MATCH" => Some(Self::RetHeroBasicTypeNotMatch),
            "RET_AVATAR_PROMOTION_NOT_MEET" => Some(Self::RetAvatarPromotionNotMeet),
            "RET_PROMOTION_REWARD_CONFIG_NOT_EXIST" => {
                Some(Self::RetPromotionRewardConfigNotExist)
            }
            "RET_PROMOTION_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetPromotionRewardAlreadyTaken)
            }
            "RET_AVATAR_SKIN_ITEM_NOT_EXIST" => Some(Self::RetAvatarSkinItemNotExist),
            "RET_AVATAR_SKIN_ALREADY_DRESSED" => Some(Self::RetAvatarSkinAlreadyDressed),
            "RET_AVATAR_NOT_DRESS_SKIN" => Some(Self::RetAvatarNotDressSkin),
            "RET_AVATAR_SKIN_NOT_MATCH_AVATAR" => Some(Self::RetAvatarSkinNotMatchAvatar),
            "RET_AVATAR_PATH_NOT_MATCH" => Some(Self::RetAvatarPathNotMatch),
            "RET_ITEM_NOT_EXIST" => Some(Self::RetItemNotExist),
            "RET_ITEM_COST_NOT_ENOUGH" => Some(Self::RetItemCostNotEnough),
            "RET_ITEM_COST_TOO_MUCH" => Some(Self::RetItemCostTooMuch),
            "RET_ITEM_NO_COST" => Some(Self::RetItemNoCost),
            "RET_ITEM_NOT_ENOUGH" => Some(Self::RetItemNotEnough),
            "RET_ITEM_INVALID" => Some(Self::RetItemInvalid),
            "RET_ITEM_CONFIG_NOT_EXIST" => Some(Self::RetItemConfigNotExist),
            "RET_SCOIN_NOT_ENOUGH" => Some(Self::RetScoinNotEnough),
            "RET_ITEM_REWARD_EXCEED_LIMIT" => Some(Self::RetItemRewardExceedLimit),
            "RET_ITEM_INVALID_USE" => Some(Self::RetItemInvalidUse),
            "RET_ITEM_USE_CONFIG_NOT_EXIST" => Some(Self::RetItemUseConfigNotExist),
            "RET_REWARD_CONFIG_NOT_EXIST" => Some(Self::RetRewardConfigNotExist),
            "RET_ITEM_EXCEED_LIMIT" => Some(Self::RetItemExceedLimit),
            "RET_ITEM_COUNT_INVALID" => Some(Self::RetItemCountInvalid),
            "RET_ITEM_USE_TARGET_TYPE_INVALID" => Some(Self::RetItemUseTargetTypeInvalid),
            "RET_ITEM_USE_SATIETY_FULL" => Some(Self::RetItemUseSatietyFull),
            "RET_ITEM_COMPOSE_NOT_EXIST" => Some(Self::RetItemComposeNotExist),
            "RET_RELIC_COMPOSE_NOT_EXIST" => Some(Self::RetRelicComposeNotExist),
            "RET_ITEM_CAN_NOT_SELL" => Some(Self::RetItemCanNotSell),
            "RET_ITEM_SELL_EXCEDD_LIMIT" => Some(Self::RetItemSellExceddLimit),
            "RET_ITEM_NOT_IN_COST_LIST" => Some(Self::RetItemNotInCostList),
            "RET_ITEM_SPECIAL_COST_NOT_ENOUGH" => Some(Self::RetItemSpecialCostNotEnough),
            "RET_ITEM_SPECIAL_COST_TOO_MUCH" => Some(Self::RetItemSpecialCostTooMuch),
            "RET_ITEM_FORMULA_NOT_EXIST" => Some(Self::RetItemFormulaNotExist),
            "RET_ITEM_AUTO_GIFT_OPTIONAL_NOT_EXIST" => {
                Some(Self::RetItemAutoGiftOptionalNotExist)
            }
            "RET_RELIC_COMPOSE_RELIC_INVALID" => Some(Self::RetRelicComposeRelicInvalid),
            "RET_RELIC_COMPOSE_MAIN_AFFIX_ID_INVALID" => {
                Some(Self::RetRelicComposeMainAffixIdInvalid)
            }
            "RET_RELIC_COMPOSE_WRONG_FORMULA_TYPE" => {
                Some(Self::RetRelicComposeWrongFormulaType)
            }
            "RET_RELIC_COMPOSE_RELIC_NOT_EXIST" => {
                Some(Self::RetRelicComposeRelicNotExist)
            }
            "RET_RELIC_COMPOSE_BLACK_GOLD_COUNT_INVALID" => {
                Some(Self::RetRelicComposeBlackGoldCountInvalid)
            }
            "RET_RELIC_COMPOSE_BLACK_GOLD_NOT_NEED" => {
                Some(Self::RetRelicComposeBlackGoldNotNeed)
            }
            "RET_MONTH_CARD_CANNOT_USE" => Some(Self::RetMonthCardCannotUse),
            "RET_ITEM_REWARD_EXCEED_DISAPPEAR" => {
                Some(Self::RetItemRewardExceedDisappear)
            }
            "RET_ITEM_NEED_RECYCLE" => Some(Self::RetItemNeedRecycle),
            "RET_ITEM_COMPOSE_EXCEED_LIMIT" => Some(Self::RetItemComposeExceedLimit),
            "RET_ITEM_CAN_NOT_DESTROY" => Some(Self::RetItemCanNotDestroy),
            "RET_ITEM_ALREADY_MARK" => Some(Self::RetItemAlreadyMark),
            "RET_ITEM_MARK_EXCEED_LIMIT" => Some(Self::RetItemMarkExceedLimit),
            "RET_ITEM_NOT_MARK" => Some(Self::RetItemNotMark),
            "RET_ITEN_TURN_FOOD_NOT_SET" => Some(Self::RetItenTurnFoodNotSet),
            "RET_ITEM_TURN_FOOD_ALREADY_SET" => Some(Self::RetItemTurnFoodAlreadySet),
            "RET_ITEM_TURN_FOOD_CONSUME_TYPE_ERROR" => {
                Some(Self::RetItemTurnFoodConsumeTypeError)
            }
            "RET_ITEM_TURN_FOOD_SWITCH_ALREADY_OPEN" => {
                Some(Self::RetItemTurnFoodSwitchAlreadyOpen)
            }
            "RET_ITEM_TURN_FOOD_SWITCH_ALREADY_CLOSE" => {
                Some(Self::RetItemTurnFoodSwitchAlreadyClose)
            }
            "RET_HCOIN_EXCHANGE_TOO_MUCH" => Some(Self::RetHcoinExchangeTooMuch),
            "RET_ITEM_TURN_FOOD_SCENE_TYPE_ERROR" => {
                Some(Self::RetItemTurnFoodSceneTypeError)
            }
            "RET_EQUIPMENT_ALREADY_DRESSED" => Some(Self::RetEquipmentAlreadyDressed),
            "RET_EQUIPMENT_NOT_EXIST" => Some(Self::RetEquipmentNotExist),
            "RET_EQUIPMENT_REACH_LEVEL_LIMIT" => Some(Self::RetEquipmentReachLevelLimit),
            "RET_EQUIPMENT_CONSUME_SELF" => Some(Self::RetEquipmentConsumeSelf),
            "RET_EQUIPMENT_ALREADY_LOCKED" => Some(Self::RetEquipmentAlreadyLocked),
            "RET_EQUIPMENT_ALREADY_UNLOCKED" => Some(Self::RetEquipmentAlreadyUnlocked),
            "RET_EQUIPMENT_LOCKED" => Some(Self::RetEquipmentLocked),
            "RET_EQUIPMENT_SELECT_NUM_OVER_LIMIT" => {
                Some(Self::RetEquipmentSelectNumOverLimit)
            }
            "RET_EQUIPMENT_RANK_UP_MUST_CONSUME_SAME_TID" => {
                Some(Self::RetEquipmentRankUpMustConsumeSameTid)
            }
            "RET_EQUIPMENT_PROMOTION_REACH_MAX" => {
                Some(Self::RetEquipmentPromotionReachMax)
            }
            "RET_EQUIPMENT_RANK_UP_REACH_MAX" => Some(Self::RetEquipmentRankUpReachMax),
            "RET_EQUIPMENT_LEVEL_REACH_MAX" => Some(Self::RetEquipmentLevelReachMax),
            "RET_EQUIPMENT_EXCEED_LIMIT" => Some(Self::RetEquipmentExceedLimit),
            "RET_RELIC_NOT_EXIST" => Some(Self::RetRelicNotExist),
            "RET_RELIC_REACH_LEVEL_LIMIT" => Some(Self::RetRelicReachLevelLimit),
            "RET_RELIC_CONSUME_SELF" => Some(Self::RetRelicConsumeSelf),
            "RET_RELIC_ALREADY_DRESSED" => Some(Self::RetRelicAlreadyDressed),
            "RET_RELIC_LOCKED" => Some(Self::RetRelicLocked),
            "RET_RELIC_ALREADY_LOCKED" => Some(Self::RetRelicAlreadyLocked),
            "RET_RELIC_ALREADY_UNLOCKED" => Some(Self::RetRelicAlreadyUnlocked),
            "RET_RELIC_LEVEL_IS_NOT_ZERO" => Some(Self::RetRelicLevelIsNotZero),
            "RET_UNIQUE_ID_REPEATED" => Some(Self::RetUniqueIdRepeated),
            "RET_EQUIPMENT_LEVEL_NOT_MEET" => Some(Self::RetEquipmentLevelNotMeet),
            "RET_EQUIPMENT_ITEM_NOT_IN_COST_LIST" => {
                Some(Self::RetEquipmentItemNotInCostList)
            }
            "RET_EQUIPMENT_LEVEL_GREATER_THAN_ONE" => {
                Some(Self::RetEquipmentLevelGreaterThanOne)
            }
            "RET_EQUIPMENT_ALREADY_RANKED" => Some(Self::RetEquipmentAlreadyRanked),
            "RET_RELIC_EXCEED_LIMIT" => Some(Self::RetRelicExceedLimit),
            "RET_RELIC_ALREADY_DISCARDED" => Some(Self::RetRelicAlreadyDiscarded),
            "RET_RELIC_ALREADY_UNDISCARDED" => Some(Self::RetRelicAlreadyUndiscarded),
            "RET_EQUIPMENT_BATCH_LOCK_TOO_FAST" => {
                Some(Self::RetEquipmentBatchLockTooFast)
            }
            "RET_RELIC_FILTER_PLAN_SLOT_EMPTY" => Some(Self::RetRelicFilterPlanSlotEmpty),
            "RET_RELIC_FILTER_PLAN_NUM_EXCEED_LIMIT" => {
                Some(Self::RetRelicFilterPlanNumExceedLimit)
            }
            "RET_RELIC_FILTER_PLAN_NAME_UTF8_ERROR" => {
                Some(Self::RetRelicFilterPlanNameUtf8Error)
            }
            "RET_RELIC_FILTER_PLAN_NAME_FORMAT_ERROR" => {
                Some(Self::RetRelicFilterPlanNameFormatError)
            }
            "RET_RELIC_FILTER_PLAN_NO_CHANGE" => Some(Self::RetRelicFilterPlanNoChange),
            "RET_RELIC_REFORGE_NOT_CONFIRMED" => Some(Self::RetRelicReforgeNotConfirmed),
            "RET_EQUIPMENT_ALREADY_LEVELUP" => Some(Self::RetEquipmentAlreadyLevelup),
            "RET_EQUIPMENT_RARITY_ERROR" => Some(Self::RetEquipmentRarityError),
            "RET_LINEUP_INVALID_INDEX" => Some(Self::RetLineupInvalidIndex),
            "RET_LINEUP_INVALID_MEMBER_POS" => Some(Self::RetLineupInvalidMemberPos),
            "RET_LINEUP_SWAP_NOT_EXIST" => Some(Self::RetLineupSwapNotExist),
            "RET_LINEUP_AVATAR_ALREADY_IN" => Some(Self::RetLineupAvatarAlreadyIn),
            "RET_LINEUP_CREATE_AVATAR_ERROR" => Some(Self::RetLineupCreateAvatarError),
            "RET_LINEUP_AVATAR_INIT_ERROR" => Some(Self::RetLineupAvatarInitError),
            "RET_LINEUP_NOT_EXIST" => Some(Self::RetLineupNotExist),
            "RET_LINEUP_ONLY_ONE_MEMBER" => Some(Self::RetLineupOnlyOneMember),
            "RET_LINEUP_SAME_LEADER_SLOT" => Some(Self::RetLineupSameLeaderSlot),
            "RET_LINEUP_NO_LEADER_SELECT" => Some(Self::RetLineupNoLeaderSelect),
            "RET_LINEUP_SWAP_SAME_SLOT" => Some(Self::RetLineupSwapSameSlot),
            "RET_LINEUP_AVATAR_NOT_EXIST" => Some(Self::RetLineupAvatarNotExist),
            "RET_LINEUP_TRIAL_AVATAR_CAN_NOT_QUIT" => {
                Some(Self::RetLineupTrialAvatarCanNotQuit)
            }
            "RET_LINEUP_VIRTUAL_LINEUP_PLANE_NOT_MATCH" => {
                Some(Self::RetLineupVirtualLineupPlaneNotMatch)
            }
            "RET_LINEUP_NOT_VALID_LEADER" => Some(Self::RetLineupNotValidLeader),
            "RET_LINEUP_SAME_INDEX" => Some(Self::RetLineupSameIndex),
            "RET_LINEUP_IS_EMPTY" => Some(Self::RetLineupIsEmpty),
            "RET_LINEUP_NAME_FORMAT_ERROR" => Some(Self::RetLineupNameFormatError),
            "RET_LINEUP_TYPE_NOT_MATCH" => Some(Self::RetLineupTypeNotMatch),
            "RET_LINEUP_REPLACE_ALL_FAILED" => Some(Self::RetLineupReplaceAllFailed),
            "RET_LINEUP_NOT_ALLOW_EDIT" => Some(Self::RetLineupNotAllowEdit),
            "RET_LINEUP_AVATAR_IS_ALIVE" => Some(Self::RetLineupAvatarIsAlive),
            "RET_LINEUP_ASSIST_HAS_ONLY_MEMBER" => {
                Some(Self::RetLineupAssistHasOnlyMember)
            }
            "RET_LINEUP_ASSIST_CANNOT_SWITCH" => Some(Self::RetLineupAssistCannotSwitch),
            "RET_LINEUP_AVATAR_TYPE_INVALID" => Some(Self::RetLineupAvatarTypeInvalid),
            "RET_LINEUP_NAME_UTF8_ERROR" => Some(Self::RetLineupNameUtf8Error),
            "RET_LINEUP_LEADER_LOCK" => Some(Self::RetLineupLeaderLock),
            "RET_LINEUP_STORY_LINE_NOT_MATCH" => Some(Self::RetLineupStoryLineNotMatch),
            "RET_LINEUP_AVATAR_LOCK" => Some(Self::RetLineupAvatarLock),
            "RET_LINEUP_AVATAR_INVALID" => Some(Self::RetLineupAvatarInvalid),
            "RET_LINEUP_AVATAR_ALREADY_INIT" => Some(Self::RetLineupAvatarAlreadyInit),
            "RET_LINEUP_LIMITED" => Some(Self::RetLineupLimited),
            "RET_MAIL_NOT_EXIST" => Some(Self::RetMailNotExist),
            "RET_MAIL_RANGE_INVALID" => Some(Self::RetMailRangeInvalid),
            "RET_MAIL_MAIL_ID_INVALID" => Some(Self::RetMailMailIdInvalid),
            "RET_MAIL_NO_MAIL_TAKE_ATTACHMENT" => Some(Self::RetMailNoMailTakeAttachment),
            "RET_MAIL_NO_MAIL_TO_DEL" => Some(Self::RetMailNoMailToDel),
            "RET_MAIL_TYPE_INVALID" => Some(Self::RetMailTypeInvalid),
            "RET_MAIL_PARA_INVALID" => Some(Self::RetMailParaInvalid),
            "RET_MAIL_ATTACHEMENT_INVALID" => Some(Self::RetMailAttachementInvalid),
            "RET_MAIL_TICKET_INVALID" => Some(Self::RetMailTicketInvalid),
            "RET_MAIL_TICKET_REPEATED" => Some(Self::RetMailTicketRepeated),
            "RET_STAGE_SETTLE_ERROR" => Some(Self::RetStageSettleError),
            "RET_STAGE_CONFIG_NOT_EXIST" => Some(Self::RetStageConfigNotExist),
            "RET_STAGE_NOT_FOUND" => Some(Self::RetStageNotFound),
            "RET_STAGE_COCOON_PROP_NOT_VALID" => Some(Self::RetStageCocoonPropNotValid),
            "RET_STAGE_COCOON_WAVE_NOT_VALID" => Some(Self::RetStageCocoonWaveNotValid),
            "RET_STAGE_PROP_ID_NOT_EQUAL" => Some(Self::RetStagePropIdNotEqual),
            "RET_STAGE_COCOON_WAVE_OVER" => Some(Self::RetStageCocoonWaveOver),
            "RET_STAGE_WEEK_COCOON_OVER_CNT" => Some(Self::RetStageWeekCocoonOverCnt),
            "RET_STAGE_COCOON_NOT_OPEN" => Some(Self::RetStageCocoonNotOpen),
            "RET_STAGE_TRIAL_NOT_OPEN" => Some(Self::RetStageTrialNotOpen),
            "RET_STAGE_FARM_NOT_OPEN" => Some(Self::RetStageFarmNotOpen),
            "RET_STAGE_FARM_TYPE_ERROR" => Some(Self::RetStageFarmTypeError),
            "RET_STAGE_FARM_SWEEP_CD" => Some(Self::RetStageFarmSweepCd),
            "RET_CHAPTER_LOCK" => Some(Self::RetChapterLock),
            "RET_CHAPTER_CHALLENGE_NUM_NOT_ENOUGH" => {
                Some(Self::RetChapterChallengeNumNotEnough)
            }
            "RET_CHAPTER_REWARD_ID_NOT_EXIST" => Some(Self::RetChapterRewardIdNotExist),
            "RET_CHAPTER_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetChapterRewardAlreadyTaken)
            }
            "RET_BATTLE_STAGE_NOT_MATCH" => Some(Self::RetBattleStageNotMatch),
            "RET_IN_BATTLE_NOW" => Some(Self::RetInBattleNow),
            "RET_BATTLE_CHEAT" => Some(Self::RetBattleCheat),
            "RET_BATTLE_FAIL" => Some(Self::RetBattleFail),
            "RET_BATTLE_NO_LINEUP" => Some(Self::RetBattleNoLineup),
            "RET_BATTLE_LINEUP_EMPTY" => Some(Self::RetBattleLineupEmpty),
            "RET_BATTLE_VERSION_NOT_MATCH" => Some(Self::RetBattleVersionNotMatch),
            "RET_BATTLE_QUIT_BY_SERVER" => Some(Self::RetBattleQuitByServer),
            "RET_IN_BATTLE_CHECK" => Some(Self::RetInBattleCheck),
            "RET_BATTLE_CHECK_NEED_RETRY" => Some(Self::RetBattleCheckNeedRetry),
            "RET_BATTLE_COST_TIME_CHECK_FAIL" => Some(Self::RetBattleCostTimeCheckFail),
            "RET_LACK_EXCHANGE_STAMINA_TIMES" => Some(Self::RetLackExchangeStaminaTimes),
            "RET_LACK_STAMINA" => Some(Self::RetLackStamina),
            "RET_STAMINA_FULL" => Some(Self::RetStaminaFull),
            "RET_AUTHKEY_SIGN_TYPE_ERROR" => Some(Self::RetAuthkeySignTypeError),
            "RET_AUTHKEY_SIGN_VER_ERROR" => Some(Self::RetAuthkeySignVerError),
            "RET_NICKNAME_FORMAT_ERROR" => Some(Self::RetNicknameFormatError),
            "RET_SENSITIVE_WORDS" => Some(Self::RetSensitiveWords),
            "RET_LEVEL_REWARD_HAS_TAKEN" => Some(Self::RetLevelRewardHasTaken),
            "RET_LEVEL_REWARD_LEVEL_ERROR" => Some(Self::RetLevelRewardLevelError),
            "RET_LANGUAGE_INVALID" => Some(Self::RetLanguageInvalid),
            "RET_NICKNAME_IN_CD" => Some(Self::RetNicknameInCd),
            "RET_GAMEPLAY_BIRTHDAY_INVALID" => Some(Self::RetGameplayBirthdayInvalid),
            "RET_GAMEPLAY_BIRTHDAY_ALREADY_SET" => {
                Some(Self::RetGameplayBirthdayAlreadySet)
            }
            "RET_NICKNAME_UTF8_ERROR" => Some(Self::RetNicknameUtf8Error),
            "RET_NICKNAME_DIGIT_LIMIT_ERROR" => Some(Self::RetNicknameDigitLimitError),
            "RET_SENSITIVE_WORDS_PLATFORM_ERROR" => {
                Some(Self::RetSensitiveWordsPlatformError)
            }
            "RET_PLAYER_SETTING_TYPE_INVALID" => Some(Self::RetPlayerSettingTypeInvalid),
            "RET_MAZE_LACK_TICKET" => Some(Self::RetMazeLackTicket),
            "RET_MAZE_NOT_UNLOCK" => Some(Self::RetMazeNotUnlock),
            "RET_MAZE_NO_ABILITY" => Some(Self::RetMazeNoAbility),
            "RET_MAZE_NO_PLANE" => Some(Self::RetMazeNoPlane),
            "RET_MAZE_MAP_NOT_EXIST" => Some(Self::RetMazeMapNotExist),
            "RET_MAZE_MP_NOT_ENOUGH" => Some(Self::RetMazeMpNotEnough),
            "RET_SPRING_NOT_ENABLE" => Some(Self::RetSpringNotEnable),
            "RET_SPRING_TOO_FAR" => Some(Self::RetSpringTooFar),
            "RET_NOT_IN_MAZE" => Some(Self::RetNotInMaze),
            "RET_MAZE_TIME_OF_DAY_TYPE_ERROR" => Some(Self::RetMazeTimeOfDayTypeError),
            "RET_SCENE_TRANSFER_LOCKED_BY_TASK" => {
                Some(Self::RetSceneTransferLockedByTask)
            }
            "RET_PLOT_NOT_UNLOCK" => Some(Self::RetPlotNotUnlock),
            "RET_MISSION_NOT_EXIST" => Some(Self::RetMissionNotExist),
            "RET_MISSION_ALREADY_DONE" => Some(Self::RetMissionAlreadyDone),
            "RET_DAILY_TASK_NOT_FINISH" => Some(Self::RetDailyTaskNotFinish),
            "RET_DAILY_TASK_REWARD_HAS_TAKEN" => Some(Self::RetDailyTaskRewardHasTaken),
            "RET_MISSION_NOT_FINISH" => Some(Self::RetMissionNotFinish),
            "RET_MISSION_NOT_DOING" => Some(Self::RetMissionNotDoing),
            "RET_MISSION_FINISH_WAY_NOT_MATCH" => Some(Self::RetMissionFinishWayNotMatch),
            "RET_MISSION_SCENE_NOT_MATCH" => Some(Self::RetMissionSceneNotMatch),
            "RET_MISSION_CUSTOM_VALUE_NOT_VALID" => {
                Some(Self::RetMissionCustomValueNotValid)
            }
            "RET_MISSION_SUB_MISSION_NOT_MATCH" => {
                Some(Self::RetMissionSubMissionNotMatch)
            }
            "RET_ADVENTURE_MAP_NOT_EXIST" => Some(Self::RetAdventureMapNotExist),
            "RET_SCENE_ENTITY_NOT_EXIST" => Some(Self::RetSceneEntityNotExist),
            "RET_NOT_IN_SCENE" => Some(Self::RetNotInScene),
            "RET_SCENE_MONSTER_NOT_EXIST" => Some(Self::RetSceneMonsterNotExist),
            "RET_INTERACT_CONFIG_NOT_EXIST" => Some(Self::RetInteractConfigNotExist),
            "RET_UNSUPPORTED_PROP_STATE" => Some(Self::RetUnsupportedPropState),
            "RET_SCENE_ENTRY_ID_NOT_MATCH" => Some(Self::RetSceneEntryIdNotMatch),
            "RET_SCENE_ENTITY_MOVE_CHECK_FAILED" => {
                Some(Self::RetSceneEntityMoveCheckFailed)
            }
            "RET_ASSIST_MONSTER_COUNT_LIMIT" => Some(Self::RetAssistMonsterCountLimit),
            "RET_SCENE_USE_SKILL_FAIL" => Some(Self::RetSceneUseSkillFail),
            "RET_PROP_IS_HIDDEN" => Some(Self::RetPropIsHidden),
            "RET_LOADING_SUCC_ALREADY" => Some(Self::RetLoadingSuccAlready),
            "RET_SCENE_ENTITY_TYPE_INVALID" => Some(Self::RetSceneEntityTypeInvalid),
            "RET_INTERACT_TYPE_INVALID" => Some(Self::RetInteractTypeInvalid),
            "RET_INTERACT_NOT_IN_REGION" => Some(Self::RetInteractNotInRegion),
            "RET_INTERACT_SUB_TYPE_INVALID" => Some(Self::RetInteractSubTypeInvalid),
            "RET_NOT_LEADER_ENTITY" => Some(Self::RetNotLeaderEntity),
            "RET_MONSTER_IS_NOT_FARM_ELEMENT" => Some(Self::RetMonsterIsNotFarmElement),
            "RET_MONSTER_CONFIG_NOT_EXIST" => Some(Self::RetMonsterConfigNotExist),
            "RET_AVATAR_HP_ALREADY_FULL" => Some(Self::RetAvatarHpAlreadyFull),
            "RET_CUR_INTERACT_ENTITY_NOT_MATCH" => {
                Some(Self::RetCurInteractEntityNotMatch)
            }
            "RET_PLANE_TYPE_NOT_ALLOW" => Some(Self::RetPlaneTypeNotAllow),
            "RET_GROUP_NOT_EXIST" => Some(Self::RetGroupNotExist),
            "RET_GROUP_SAVE_DATA_IN_CD" => Some(Self::RetGroupSaveDataInCd),
            "RET_GROUP_SAVE_LENGH_REACH_MAX" => Some(Self::RetGroupSaveLenghReachMax),
            "RET_RECENT_ELEMENT_NOT_EXIST" => Some(Self::RetRecentElementNotExist),
            "RET_RECENT_ELEMENT_STAGE_NOT_MATCH" => {
                Some(Self::RetRecentElementStageNotMatch)
            }
            "RET_SCENE_POSITION_VERSION_NOT_MATCH" => {
                Some(Self::RetScenePositionVersionNotMatch)
            }
            "RET_GAMEPLAY_COUNTER_NOT_EXIST" => Some(Self::RetGameplayCounterNotExist),
            "RET_GAMEPLAY_COUNTER_NOT_ENOUGH" => Some(Self::RetGameplayCounterNotEnough),
            "RET_GROUP_STATE_NOT_MATCH" => Some(Self::RetGroupStateNotMatch),
            "RET_SCENE_ENTITY_POS_NOT_MATCH" => Some(Self::RetSceneEntityPosNotMatch),
            "RET_GROUP_STATE_CUSTOM_SAVE_DATA_OFF" => {
                Some(Self::RetGroupStateCustomSaveDataOff)
            }
            "RET_SCENE_NOT_MATCH" => Some(Self::RetSceneNotMatch),
            "RET_PROP_TYPE_INVALID" => Some(Self::RetPropTypeInvalid),
            "RET_BUY_TIMES_LIMIT" => Some(Self::RetBuyTimesLimit),
            "RET_BUY_LIMIT_TYPE" => Some(Self::RetBuyLimitType),
            "RET_SHOP_NOT_OPEN" => Some(Self::RetShopNotOpen),
            "RET_GOODS_NOT_OPEN" => Some(Self::RetGoodsNotOpen),
            "RET_CITY_LEVEL_REWARD_TAKEN" => Some(Self::RetCityLevelRewardTaken),
            "RET_CITY_LEVEL_NOT_MEET" => Some(Self::RetCityLevelNotMeet),
            "RET_SINGLE_BUY_LIMIT" => Some(Self::RetSingleBuyLimit),
            "RET_TUTORIAL_NOT_UNLOCK" => Some(Self::RetTutorialNotUnlock),
            "RET_TUTORIAL_UNLOCK_ALREADY" => Some(Self::RetTutorialUnlockAlready),
            "RET_TUTORIAL_FINISH_ALREADY" => Some(Self::RetTutorialFinishAlready),
            "RET_TUTORIAL_PRE_NOT_UNLOCK" => Some(Self::RetTutorialPreNotUnlock),
            "RET_TUTORIAL_PLAYER_LEVEL_NOT_MATCH" => {
                Some(Self::RetTutorialPlayerLevelNotMatch)
            }
            "RET_TUTORIAL_TUTORIAL_NOT_FOUND" => Some(Self::RetTutorialTutorialNotFound),
            "RET_CHALLENGE_NOT_EXIST" => Some(Self::RetChallengeNotExist),
            "RET_CHALLENGE_NOT_UNLOCK" => Some(Self::RetChallengeNotUnlock),
            "RET_CHALLENGE_ALREADY" => Some(Self::RetChallengeAlready),
            "RET_CHALLENGE_LINEUP_EDIT_FORBIDDEN" => {
                Some(Self::RetChallengeLineupEditForbidden)
            }
            "RET_CHALLENGE_LINEUP_EMPTY" => Some(Self::RetChallengeLineupEmpty),
            "RET_CHALLENGE_NOT_DOING" => Some(Self::RetChallengeNotDoing),
            "RET_CHALLENGE_NOT_FINISH" => Some(Self::RetChallengeNotFinish),
            "RET_CHALLENGE_TARGET_NOT_FINISH" => Some(Self::RetChallengeTargetNotFinish),
            "RET_CHALLENGE_TARGET_REWARD_TAKEN" => {
                Some(Self::RetChallengeTargetRewardTaken)
            }
            "RET_CHALLENGE_TIME_NOT_VALID" => Some(Self::RetChallengeTimeNotValid),
            "RET_CHALLENGE_STARS_COUNT_NOT_MEET" => {
                Some(Self::RetChallengeStarsCountNotMeet)
            }
            "RET_CHALLENGE_STARS_REWARD_TAKEN" => {
                Some(Self::RetChallengeStarsRewardTaken)
            }
            "RET_CHALLENGE_STARS_NOT_EXIST" => Some(Self::RetChallengeStarsNotExist),
            "RET_CHALLENGE_CUR_SCENE_NOT_ENTRY_FLOOR" => {
                Some(Self::RetChallengeCurSceneNotEntryFloor)
            }
            "RET_CHALLENGE_NO_TEAM_ARCHIVE" => Some(Self::RetChallengeNoTeamArchive),
            "RET_CHALLENGE_LINEUP_AVATAR_TYPE_INVALID" => {
                Some(Self::RetChallengeLineupAvatarTypeInvalid)
            }
            "RET_CHALLENGE_LINEUP_RECOMMEND_IN_CD" => {
                Some(Self::RetChallengeLineupRecommendInCd)
            }
            "RET_BASIC_TYPE_ALREADY" => Some(Self::RetBasicTypeAlready),
            "RET_NO_BASIC_TYPE" => Some(Self::RetNoBasicType),
            "RET_NOT_CHOOSE_BASIC_TYPE" => Some(Self::RetNotChooseBasicType),
            "RET_NOT_FUNC_CLOSE" => Some(Self::RetNotFuncClose),
            "RET_NOT_CHOOSE_GENDER" => Some(Self::RetNotChooseGender),
            "RET_NOT_REQ_UNLOCK_BASIC_TYPE" => Some(Self::RetNotReqUnlockBasicType),
            "RET_AVATAR_PATH_LOCKED" => Some(Self::RetAvatarPathLocked),
            "RET_ROGUE_STATUS_NOT_MATCH" => Some(Self::RetRogueStatusNotMatch),
            "RET_ROGUE_SELECT_BUFF_NOT_EXIST" => Some(Self::RetRogueSelectBuffNotExist),
            "RET_ROGUE_COIN_NOT_ENOUGH" => Some(Self::RetRogueCoinNotEnough),
            "RET_ROGUE_STAMINA_NOT_ENOUGH" => Some(Self::RetRogueStaminaNotEnough),
            "RET_ROGUE_APPRAISAL_COUNT_NOT_ENOUGH" => {
                Some(Self::RetRogueAppraisalCountNotEnough)
            }
            "RET_ROGUE_PROP_ALREADY_USED" => Some(Self::RetRoguePropAlreadyUsed),
            "RET_ROGUE_RECORD_ALREADY_SAVED" => Some(Self::RetRogueRecordAlreadySaved),
            "RET_ROGUE_ROLL_BUFF_MAX_COUNT" => Some(Self::RetRogueRollBuffMaxCount),
            "RET_ROGUE_PICK_AVATAR_INVALID" => Some(Self::RetRoguePickAvatarInvalid),
            "RET_ROGUE_QUEST_EXPIRE" => Some(Self::RetRogueQuestExpire),
            "RET_ROGUE_QUEST_REWARD_ALREADY" => Some(Self::RetRogueQuestRewardAlready),
            "RET_ROGUE_REVIVE_COUNT_NOT_ENOUGH" => {
                Some(Self::RetRogueReviveCountNotEnough)
            }
            "RET_ROGUE_AREA_INVALID" => Some(Self::RetRogueAreaInvalid),
            "RET_ROGUE_SCORE_REWARD_POOL_INVALID" => {
                Some(Self::RetRogueScoreRewardPoolInvalid)
            }
            "RET_ROGUE_SCORE_REWARD_ROW_INVALID" => {
                Some(Self::RetRogueScoreRewardRowInvalid)
            }
            "RET_ROGUE_AEON_LEVEL_NOT_MEET" => Some(Self::RetRogueAeonLevelNotMeet),
            "RET_ROGUE_AEON_LEVEL_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetRogueAeonLevelRewardAlreadyTaken)
            }
            "RET_ROGUE_AEON_CONFIG_NOT_EXIST" => Some(Self::RetRogueAeonConfigNotExist),
            "RET_ROGUE_TRIAL_AVATAR_INVALID" => Some(Self::RetRogueTrialAvatarInvalid),
            "RET_ROGUE_HANDBOOK_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetRogueHandbookRewardAlreadyTaken)
            }
            "RET_ROGUE_ROOM_TYPE_NOT_MATCH" => Some(Self::RetRogueRoomTypeNotMatch),
            "RET_ROGUE_SHOP_GOOD_NOT_FOUND" => Some(Self::RetRogueShopGoodNotFound),
            "RET_ROGUE_SHOP_GOOD_ALREADY_BOUGHT" => {
                Some(Self::RetRogueShopGoodAlreadyBought)
            }
            "RET_ROGUE_SHOP_GOOD_ALREADY_OWN" => Some(Self::RetRogueShopGoodAlreadyOwn),
            "RET_ROGUE_SHOP_MIRACLE_NOT_EXIST" => Some(Self::RetRogueShopMiracleNotExist),
            "RET_ROGUE_SHOP_NOT_EXIST" => Some(Self::RetRogueShopNotExist),
            "RET_ROGUE_SHOP_CANNOT_REFRESH" => Some(Self::RetRogueShopCannotRefresh),
            "RET_ROGUE_SELECT_BUFF_CERTAIN_MISMATCH" => {
                Some(Self::RetRogueSelectBuffCertainMismatch)
            }
            "RET_ROGUE_ACTION_QUEUE_NOT_EMPTY_BATTLE" => {
                Some(Self::RetRogueActionQueueNotEmptyBattle)
            }
            "RET_ROGUE_ACTION_QUEUE_NOT_EMPTY_OTHERS" => {
                Some(Self::RetRogueActionQueueNotEmptyOthers)
            }
            "RET_MISSION_EVENT_CONFIG_NOT_EXIST" => {
                Some(Self::RetMissionEventConfigNotExist)
            }
            "RET_MISSION_EVENT_NOT_CLIENT" => Some(Self::RetMissionEventNotClient),
            "RET_MISSION_EVENT_FINISHED" => Some(Self::RetMissionEventFinished),
            "RET_MISSION_EVENT_DOING" => Some(Self::RetMissionEventDoing),
            "RET_HAS_CHALLENGE_MISSION_EVENT" => Some(Self::RetHasChallengeMissionEvent),
            "RET_NOT_CHALLENGE_MISSION_EVENT" => Some(Self::RetNotChallengeMissionEvent),
            "RET_GACHA_ID_NOT_EXIST" => Some(Self::RetGachaIdNotExist),
            "RET_GACHA_NUM_INVALID" => Some(Self::RetGachaNumInvalid),
            "RET_GACHA_FIRST_GACHA_MUST_ONE" => Some(Self::RetGachaFirstGachaMustOne),
            "RET_GACHA_REQ_DUPLICATED" => Some(Self::RetGachaReqDuplicated),
            "RET_GACHA_NOT_IN_SCHEDULE" => Some(Self::RetGachaNotInSchedule),
            "RET_GACHA_NEWBIE_CLOSE" => Some(Self::RetGachaNewbieClose),
            "RET_GACHA_TODAY_LIMITED" => Some(Self::RetGachaTodayLimited),
            "RET_GACHA_NOT_SUPPORT" => Some(Self::RetGachaNotSupport),
            "RET_GACHA_CEILING_NOT_ENOUGH" => Some(Self::RetGachaCeilingNotEnough),
            "RET_GACHA_CEILING_CLOSE" => Some(Self::RetGachaCeilingClose),
            "RET_GACHA_LOCKED" => Some(Self::RetGachaLocked),
            "RET_GACHA_DECIDE_ITEM_TYPE_INVALID" => {
                Some(Self::RetGachaDecideItemTypeInvalid)
            }
            "RET_GACHA_DECIDE_ITEM_ID_INVALID" => Some(Self::RetGachaDecideItemIdInvalid),
            "RET_NOT_IN_RAID" => Some(Self::RetNotInRaid),
            "RET_RAID_DOING" => Some(Self::RetRaidDoing),
            "RET_NOT_PROP" => Some(Self::RetNotProp),
            "RET_RAID_ID_NOT_MATCH" => Some(Self::RetRaidIdNotMatch),
            "RET_RAID_RESTART_NOT_MATCH" => Some(Self::RetRaidRestartNotMatch),
            "RET_RAID_LIMIT" => Some(Self::RetRaidLimit),
            "RET_RAID_AVATAR_LIST_EMPTY" => Some(Self::RetRaidAvatarListEmpty),
            "RET_RAID_AVATAR_NOT_EXIST" => Some(Self::RetRaidAvatarNotExist),
            "RET_CHALLENGE_RAID_REWARD_ALREADY" => {
                Some(Self::RetChallengeRaidRewardAlready)
            }
            "RET_CHALLENGE_RAID_SCORE_NOT_REACH" => {
                Some(Self::RetChallengeRaidScoreNotReach)
            }
            "RET_CHALLENGE_RAID_NOT_OPEN" => Some(Self::RetChallengeRaidNotOpen),
            "RET_RAID_FINISHED" => Some(Self::RetRaidFinished),
            "RET_RAID_WORLD_LEVEL_NOT_LOCK" => Some(Self::RetRaidWorldLevelNotLock),
            "RET_RAID_CANNOT_USE_ASSIST" => Some(Self::RetRaidCannotUseAssist),
            "RET_RAID_AVATAR_NOT_MATCH" => Some(Self::RetRaidAvatarNotMatch),
            "RET_RAID_CAN_NOT_SAVE" => Some(Self::RetRaidCanNotSave),
            "RET_RAID_NO_SAVE" => Some(Self::RetRaidNoSave),
            "RET_ACTIVITY_RAID_NOT_OPEN" => Some(Self::RetActivityRaidNotOpen),
            "RET_RAID_AVATAR_CAPTAIN_NOT_EXIST" => {
                Some(Self::RetRaidAvatarCaptainNotExist)
            }
            "RET_RAID_STORY_LINE_NOT_MATCH" => Some(Self::RetRaidStoryLineNotMatch),
            "RET_TALK_EVENT_ALREADY_TAKEN" => Some(Self::RetTalkEventAlreadyTaken),
            "RET_NPC_ALREADY_MEET" => Some(Self::RetNpcAlreadyMeet),
            "RET_NPC_NOT_IN_CONFIG" => Some(Self::RetNpcNotInConfig),
            "RET_DIALOGUE_GROUP_DISMATCH" => Some(Self::RetDialogueGroupDismatch),
            "RET_DIALOGUE_EVENT_INVALID" => Some(Self::RetDialogueEventInvalid),
            "RET_TALK_EVENT_TAKE_PROTO_NOT_MATCH" => {
                Some(Self::RetTalkEventTakeProtoNotMatch)
            }
            "RET_TALK_EVENT_NOT_VALID" => Some(Self::RetTalkEventNotValid),
            "RET_EXPEDITION_CONFIG_NOT_EXIST" => Some(Self::RetExpeditionConfigNotExist),
            "RET_EXPEDITION_REWARD_CONFIG_NOT_EXIST" => {
                Some(Self::RetExpeditionRewardConfigNotExist)
            }
            "RET_EXPEDITION_NOT_UNLOCKED" => Some(Self::RetExpeditionNotUnlocked),
            "RET_EXPEDITION_ALREADY_ACCEPTED" => Some(Self::RetExpeditionAlreadyAccepted),
            "RET_EXPEDITION_REPEATED_AVATAR" => Some(Self::RetExpeditionRepeatedAvatar),
            "RET_AVATAR_ALREADY_DISPATCHED" => Some(Self::RetAvatarAlreadyDispatched),
            "RET_EXPEDITION_NOT_ACCEPTED" => Some(Self::RetExpeditionNotAccepted),
            "RET_EXPEDITION_NOT_FINISH" => Some(Self::RetExpeditionNotFinish),
            "RET_EXPEDITION_ALREADY_FINISH" => Some(Self::RetExpeditionAlreadyFinish),
            "RET_EXPEDITION_TEAM_COUNT_LIMIT" => Some(Self::RetExpeditionTeamCountLimit),
            "RET_EXPEDITION_AVATAR_NUM_NOT_MATCH" => {
                Some(Self::RetExpeditionAvatarNumNotMatch)
            }
            "RET_EXPEDITION_NOT_OPEN" => Some(Self::RetExpeditionNotOpen),
            "RET_EXPEDITION_FRIEND_AVATAR_NOT_VALID" => {
                Some(Self::RetExpeditionFriendAvatarNotValid)
            }
            "RET_EXPEDITION_NOT_PUBLISHED" => Some(Self::RetExpeditionNotPublished),
            "RET_LOGIN_ACTIVITY_HAS_TAKEN" => Some(Self::RetLoginActivityHasTaken),
            "RET_LOGIN_ACTIVITY_DAYS_LACK" => Some(Self::RetLoginActivityDaysLack),
            "RET_TRIAL_ACTIVITY_REWARD_ALREADY_TAKE" => {
                Some(Self::RetTrialActivityRewardAlreadyTake)
            }
            "RET_TRIAL_ACTIVITY_STAGE_NOT_FINISH" => {
                Some(Self::RetTrialActivityStageNotFinish)
            }
            "RET_MATERIAL_SUBMIT_ACTIVITY_HAS_TAKEN" => {
                Some(Self::RetMaterialSubmitActivityHasTaken)
            }
            "RET_MATERIAL_SUBMIT_ACTIVITY_MATERIAL_NOT_SUBMITTED" => {
                Some(Self::RetMaterialSubmitActivityMaterialNotSubmitted)
            }
            "RET_MATERIAL_SUBMIT_ACTIVITY_MATERIAL_ALREADY_SUBMITTED" => {
                Some(Self::RetMaterialSubmitActivityMaterialAlreadySubmitted)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_STORY_ERROR" => {
                Some(Self::RetFantasticStoryActivityStoryError)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_STORY_NOT_OPEN" => {
                Some(Self::RetFantasticStoryActivityStoryNotOpen)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_ERROR" => {
                Some(Self::RetFantasticStoryActivityBattleError)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_NOT_OPEN" => {
                Some(Self::RetFantasticStoryActivityBattleNotOpen)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_AVATAR_ERROR" => {
                Some(Self::RetFantasticStoryActivityBattleAvatarError)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_BUFF_ERROR" => {
                Some(Self::RetFantasticStoryActivityBattleBuffError)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_PRE_BATTLE_SCORE_NOT_ENOUGH" => {
                Some(Self::RetFantasticStoryActivityPreBattleScoreNotEnough)
            }
            "RET_TRIAL_ACTIVITY_ALREADY_IN_TRIAL_ACTIVITY" => {
                Some(Self::RetTrialActivityAlreadyInTrialActivity)
            }
            "RET_COMMON_ACTIVITY_NOT_OPEN" => Some(Self::RetCommonActivityNotOpen),
            "RET_BENEFIT_NOT_READY" => Some(Self::RetBenefitNotReady),
            "RET_COMMON_ACTIVITY_BUSY" => Some(Self::RetCommonActivityBusy),
            "RET_AVATAR_DELIVER_REWARD_PHASE_ERROR" => {
                Some(Self::RetAvatarDeliverRewardPhaseError)
            }
            "RET_MESSAGE_CONFIG_NOT_EXIST" => Some(Self::RetMessageConfigNotExist),
            "RET_MESSAGE_SECTION_NOT_TAKE" => Some(Self::RetMessageSectionNotTake),
            "RET_MESSAGE_GROUP_NOT_TAKE" => Some(Self::RetMessageGroupNotTake),
            "RET_MESSAGE_SECTION_ID_NOT_MATCH" => Some(Self::RetMessageSectionIdNotMatch),
            "RET_MESSAGE_SECTION_CAN_NOT_FINISH" => {
                Some(Self::RetMessageSectionCanNotFinish)
            }
            "RET_MESSAGE_ITEM_CAN_NOT_FINISH" => Some(Self::RetMessageItemCanNotFinish),
            "RET_MESSAGE_ITEM_RAID_CAN_NOT_FINISH" => {
                Some(Self::RetMessageItemRaidCanNotFinish)
            }
            "RET_FRIEND_ALREADY_IS_FRIEND" => Some(Self::RetFriendAlreadyIsFriend),
            "RET_FRIEND_IS_NOT_FRIEND" => Some(Self::RetFriendIsNotFriend),
            "RET_FRIEND_APPLY_EXPIRE" => Some(Self::RetFriendApplyExpire),
            "RET_FRIEND_IN_BLACKLIST" => Some(Self::RetFriendInBlacklist),
            "RET_FRIEND_NOT_IN_BLACKLIST" => Some(Self::RetFriendNotInBlacklist),
            "RET_FRIEND_NUMBER_LIMIT" => Some(Self::RetFriendNumberLimit),
            "RET_FRIEND_BLACKLIST_NUMBER_LIMIT" => {
                Some(Self::RetFriendBlacklistNumberLimit)
            }
            "RET_FRIEND_DAILY_APPLY_LIMIT" => Some(Self::RetFriendDailyApplyLimit),
            "RET_FRIEND_IN_HANDLE_LIMIT" => Some(Self::RetFriendInHandleLimit),
            "RET_FRIEND_APPLY_IN_CD" => Some(Self::RetFriendApplyInCd),
            "RET_FRIEND_REMARK_NAME_FORMAT_ERROR" => {
                Some(Self::RetFriendRemarkNameFormatError)
            }
            "RET_FRIEND_PLAYER_NOT_FOUND" => Some(Self::RetFriendPlayerNotFound),
            "RET_FRIEND_IN_TARGET_BLACKLIST" => Some(Self::RetFriendInTargetBlacklist),
            "RET_FRIEND_TARGET_NUMBER_LIMIT" => Some(Self::RetFriendTargetNumberLimit),
            "RET_ASSIST_QUERY_TOO_FAST" => Some(Self::RetAssistQueryTooFast),
            "RET_ASSIST_NOT_EXIST" => Some(Self::RetAssistNotExist),
            "RET_ASSIST_USED_ALREADY" => Some(Self::RetAssistUsedAlready),
            "RET_FRIEND_REPORT_REASON_FORMAT_ERROR" => {
                Some(Self::RetFriendReportReasonFormatError)
            }
            "RET_FRIEND_REPORT_SENSITIVE_WORDS" => {
                Some(Self::RetFriendReportSensitiveWords)
            }
            "RET_ASSIST_USED_TIMES_OVER" => Some(Self::RetAssistUsedTimesOver),
            "RET_ASSIST_QUIT_ALREADY" => Some(Self::RetAssistQuitAlready),
            "RET_ASSIST_AVATAR_IN_LINEUP" => Some(Self::RetAssistAvatarInLineup),
            "RET_ASSIST_NO_REWARD" => Some(Self::RetAssistNoReward),
            "RET_FRIEND_SEARCH_NUM_LIMIT" => Some(Self::RetFriendSearchNumLimit),
            "RET_FRIEND_SEARCH_IN_CD" => Some(Self::RetFriendSearchInCd),
            "RET_FRIEND_REMARK_NAME_UTF8_ERROR" => {
                Some(Self::RetFriendRemarkNameUtf8Error)
            }
            "RET_FRIEND_REPORT_REASON_UTF8_ERROR" => {
                Some(Self::RetFriendReportReasonUtf8Error)
            }
            "RET_ASSIST_SET_ALREADY" => Some(Self::RetAssistSetAlready),
            "RET_FRIEND_TARGET_FORBID_OTHER_APPLY" => {
                Some(Self::RetFriendTargetForbidOtherApply)
            }
            "RET_FRIEND_MARKED_CNT_MAX" => Some(Self::RetFriendMarkedCntMax),
            "RET_FRIEND_MARKED_ALREADY" => Some(Self::RetFriendMarkedAlready),
            "RET_FRIEND_NOT_MARKED" => Some(Self::RetFriendNotMarked),
            "RET_FRIEND_CHALLENGE_LINEUP_RECOMMEND_IN_CD" => {
                Some(Self::RetFriendChallengeLineupRecommendInCd)
            }
            "RET_VIEW_PLAYER_CARD_IN_CD" => Some(Self::RetViewPlayerCardInCd),
            "RET_VIEW_PLAYER_BATTLE_RECORD_IN_CD" => {
                Some(Self::RetViewPlayerBattleRecordInCd)
            }
            "RET_PLAYER_BOARD_HEAD_ICON_NOT_EXIST" => {
                Some(Self::RetPlayerBoardHeadIconNotExist)
            }
            "RET_PLAYER_BOARD_HEAD_ICON_LOCKED" => {
                Some(Self::RetPlayerBoardHeadIconLocked)
            }
            "RET_PLAYER_BOARD_HEAD_ICON_ALREADY_UNLOCKED" => {
                Some(Self::RetPlayerBoardHeadIconAlreadyUnlocked)
            }
            "RET_PLAYER_BOARD_DISPLAY_AVATAR_NOT_EXIST" => {
                Some(Self::RetPlayerBoardDisplayAvatarNotExist)
            }
            "RET_PLAYER_BOARD_DISPLAY_AVATAR_EXCEED_LIMIT" => {
                Some(Self::RetPlayerBoardDisplayAvatarExceedLimit)
            }
            "RET_PLAYER_BOARD_DISPLAY_REPEATED_AVATAR" => {
                Some(Self::RetPlayerBoardDisplayRepeatedAvatar)
            }
            "RET_PLAYER_BOARD_DISPLAY_AVATAR_SAME_POS" => {
                Some(Self::RetPlayerBoardDisplayAvatarSamePos)
            }
            "RET_PLAYER_BOARD_DISPLAY_AVATAR_LOCKED" => {
                Some(Self::RetPlayerBoardDisplayAvatarLocked)
            }
            "RET_SIGNATURE_LENGTH_EXCEED_LIMIT" => {
                Some(Self::RetSignatureLengthExceedLimit)
            }
            "RET_SIGNATURE_SENSITIVE_WORDS" => Some(Self::RetSignatureSensitiveWords),
            "RET_PLAYER_BOARD_ASSIST_AVATAR_NOT_EXIST" => {
                Some(Self::RetPlayerBoardAssistAvatarNotExist)
            }
            "RET_PLAYER_BOARD_ASSIST_AVATAR_LOCKED" => {
                Some(Self::RetPlayerBoardAssistAvatarLocked)
            }
            "RET_SIGNATURE_UTF8_ERROR" => Some(Self::RetSignatureUtf8Error),
            "RET_PLAYER_BOARD_ASSIST_AVATAR_CNT_ERROR" => {
                Some(Self::RetPlayerBoardAssistAvatarCntError)
            }
            "RET_PLAYER_BOARD_PERSONAL_CARD_NOT_EXIST" => {
                Some(Self::RetPlayerBoardPersonalCardNotExist)
            }
            "RET_PLAYER_BOARD_PERSONAL_CARD_LOCKED" => {
                Some(Self::RetPlayerBoardPersonalCardLocked)
            }
            "RET_PLAYER_BOARD_PERSONAL_NO_CHANGE" => {
                Some(Self::RetPlayerBoardPersonalNoChange)
            }
            "RET_BATTLE_PASS_TIER_NOT_VALID" => Some(Self::RetBattlePassTierNotValid),
            "RET_BATTLE_PASS_LEVEL_NOT_MEET" => Some(Self::RetBattlePassLevelNotMeet),
            "RET_BATTLE_PASS_REWARD_TAKE_ALREADY" => {
                Some(Self::RetBattlePassRewardTakeAlready)
            }
            "RET_BATTLE_PASS_NOT_PREMIUM" => Some(Self::RetBattlePassNotPremium),
            "RET_BATTLE_PASS_NOT_DOING" => Some(Self::RetBattlePassNotDoing),
            "RET_BATTLE_PASS_LEVEL_INVALID" => Some(Self::RetBattlePassLevelInvalid),
            "RET_BATTLE_PASS_NOT_UNLOCK" => Some(Self::RetBattlePassNotUnlock),
            "RET_BATTLE_PASS_NO_REWARD" => Some(Self::RetBattlePassNoReward),
            "RET_BATTLE_PASS_QUEST_NOT_VALID" => Some(Self::RetBattlePassQuestNotValid),
            "RET_BATTLE_PASS_NOT_CHOOSE_OPTIONAL" => {
                Some(Self::RetBattlePassNotChooseOptional)
            }
            "RET_BATTLE_PASS_NOT_TAKE_REWARD" => Some(Self::RetBattlePassNotTakeReward),
            "RET_BATTLE_PASS_OPTIONAL_NOT_VALID" => {
                Some(Self::RetBattlePassOptionalNotValid)
            }
            "RET_BATTLE_PASS_BUY_ALREADY" => Some(Self::RetBattlePassBuyAlready),
            "RET_BATTLE_PASS_NEAR_END" => Some(Self::RetBattlePassNearEnd),
            "RET_MUSIC_LOCKED" => Some(Self::RetMusicLocked),
            "RET_MUSIC_NOT_EXIST" => Some(Self::RetMusicNotExist),
            "RET_MUSIC_UNLOCK_FAILED" => Some(Self::RetMusicUnlockFailed),
            "RET_PUNK_LORD_LACK_SUMMON_TIMES" => Some(Self::RetPunkLordLackSummonTimes),
            "RET_PUNK_LORD_ATTACKING_MONSTER_LIMIT" => {
                Some(Self::RetPunkLordAttackingMonsterLimit)
            }
            "RET_PUNK_LORD_MONSTER_NOT_EXIST" => Some(Self::RetPunkLordMonsterNotExist),
            "RET_PUNK_LORD_MONSTER_ALREADY_SHARED" => {
                Some(Self::RetPunkLordMonsterAlreadyShared)
            }
            "RET_PUNK_LORD_MONSTER_EXPIRED" => Some(Self::RetPunkLordMonsterExpired),
            "RET_PUNK_LORD_SELF_MONSTER_ATTACK_LIMIT" => {
                Some(Self::RetPunkLordSelfMonsterAttackLimit)
            }
            "RET_PUNK_LORD_LACK_SUPPORT_TIMES" => Some(Self::RetPunkLordLackSupportTimes),
            "RET_PUNK_LORD_MONSTER_ALREADY_KILLED" => {
                Some(Self::RetPunkLordMonsterAlreadyKilled)
            }
            "RET_PUNK_LORD_MONSTER_ATTACKER_LIMIT" => {
                Some(Self::RetPunkLordMonsterAttackerLimit)
            }
            "RET_PUNK_LORD_WORLD_LEVLE_NOT_VALID" => {
                Some(Self::RetPunkLordWorldLevleNotValid)
            }
            "RET_PUNK_LORD_REWARD_LEVLE_NOT_EXIST" => {
                Some(Self::RetPunkLordRewardLevleNotExist)
            }
            "RET_PUNK_LORD_POINT_NOT_MEET" => Some(Self::RetPunkLordPointNotMeet),
            "RET_PUNK_LORD_IN_ATTACKING" => Some(Self::RetPunkLordInAttacking),
            "RET_PUNK_LORD_OPERATION_IN_CD" => Some(Self::RetPunkLordOperationInCd),
            "RET_PUNK_LORD_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetPunkLordRewardAlreadyTaken)
            }
            "RET_PUNK_LORD_OVER_BONUS_REWARD_LIMIT" => {
                Some(Self::RetPunkLordOverBonusRewardLimit)
            }
            "RET_PUNK_LORD_NOT_IN_SCHEDULE" => Some(Self::RetPunkLordNotInSchedule),
            "RET_PUNK_LORD_MONSTER_NOT_ATTACKED" => {
                Some(Self::RetPunkLordMonsterNotAttacked)
            }
            "RET_PUNK_LORD_MONSTER_NOT_KILLED" => Some(Self::RetPunkLordMonsterNotKilled),
            "RET_PUNK_LORD_MONSTER_KILLED_SCORE_ALREADY_TAKE" => {
                Some(Self::RetPunkLordMonsterKilledScoreAlreadyTake)
            }
            "RET_PUNK_LORD_REWARD_LEVLE_ALREADY_TAKE" => {
                Some(Self::RetPunkLordRewardLevleAlreadyTake)
            }
            "RET_DAILY_ACTIVE_LEVEL_INVALID" => Some(Self::RetDailyActiveLevelInvalid),
            "RET_DAILY_ACTIVE_LEVEL_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetDailyActiveLevelRewardAlreadyTaken)
            }
            "RET_DAILY_ACTIVE_LEVEL_AP_NOT_ENOUGH" => {
                Some(Self::RetDailyActiveLevelApNotEnough)
            }
            "RET_DAILY_MEET_PAM" => Some(Self::RetDailyMeetPam),
            "RET_REPLAY_ID_NOT_MATCH" => Some(Self::RetReplayIdNotMatch),
            "RET_REPLAY_REQ_NOT_VALID" => Some(Self::RetReplayReqNotValid),
            "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_NOT_PASSED" => {
                Some(Self::RetFightActivityDifficultyLevelNotPassed)
            }
            "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_REWARD_ALREADY_TAKE" => {
                Some(Self::RetFightActivityDifficultyLevelRewardAlreadyTake)
            }
            "RET_FIGHT_ACTIVITY_STAGE_NOT_OPEN" => {
                Some(Self::RetFightActivityStageNotOpen)
            }
            "RET_FIGHT_ACTIVITY_LEVEL_NOT_UNLOCK" => {
                Some(Self::RetFightActivityLevelNotUnlock)
            }
            "RET_TRAIN_VISITOR_VISITOR_NOT_EXIST" => {
                Some(Self::RetTrainVisitorVisitorNotExist)
            }
            "RET_TRAIN_VISITOR_BEHAVIOR_NOT_EXIST" => {
                Some(Self::RetTrainVisitorBehaviorNotExist)
            }
            "RET_TRAIN_VISITOR_BEHAVIOR_FINISHED" => {
                Some(Self::RetTrainVisitorBehaviorFinished)
            }
            "RET_TRAIN_VISITOR_ALL_BEHAVIOR_REWARD_TAKEN" => {
                Some(Self::RetTrainVisitorAllBehaviorRewardTaken)
            }
            "RET_TRAIN_VISITOR_GET_ON_MISSION_NOT_FINISH" => {
                Some(Self::RetTrainVisitorGetOnMissionNotFinish)
            }
            "RET_TRAIN_VISITOR_NOT_GET_OFF_OR_BE_TRAIN_MEMBER" => {
                Some(Self::RetTrainVisitorNotGetOffOrBeTrainMember)
            }
            "RET_TEXT_JOIN_UNKNOW_IS_OVERRIDE" => Some(Self::RetTextJoinUnknowIsOverride),
            "RET_TEXT_JOIN_ID_NOT_EXIST" => Some(Self::RetTextJoinIdNotExist),
            "RET_TEXT_JOIN_CAN_NOT_OVERRIDE" => Some(Self::RetTextJoinCanNotOverride),
            "RET_TEXT_JOIN_ITEM_ID_ERROR" => Some(Self::RetTextJoinItemIdError),
            "RET_TEXT_JOIN_SENSITIVE_CHECK_ERROR" => {
                Some(Self::RetTextJoinSensitiveCheckError)
            }
            "RET_TEXT_JOIN_MUST_OVERRIDE" => Some(Self::RetTextJoinMustOverride),
            "RET_TEXT_JOIN_TEXT_EMPTY" => Some(Self::RetTextJoinTextEmpty),
            "RET_TEXT_JOIN_TEXT_FORMAT_ERROR" => Some(Self::RetTextJoinTextFormatError),
            "RET_TEXT_JOIN_TEXT_UTF8_ERROR" => Some(Self::RetTextJoinTextUtf8Error),
            "RET_TEXT_JOIN_BATCH_REQ_ID_REPEAT" => {
                Some(Self::RetTextJoinBatchReqIdRepeat)
            }
            "RET_TEXT_JOIN_TYPE_NOT_SUPPORT_BATCH_REQ" => {
                Some(Self::RetTextJoinTypeNotSupportBatchReq)
            }
            "RET_TEXT_JOIN_AVATAR_ID_NOT_EXIST" => {
                Some(Self::RetTextJoinAvatarIdNotExist)
            }
            "RET_TEXT_JOIN_UNKNOW_TYPE" => Some(Self::RetTextJoinUnknowType),
            "RET_PAM_MISSION_MISSION_ID_ERROR" => Some(Self::RetPamMissionMissionIdError),
            "RET_PAM_MISSION_MISSION_EXPIRE" => Some(Self::RetPamMissionMissionExpire),
            "RET_CHAT_TYPE_NOT_EXIST" => Some(Self::RetChatTypeNotExist),
            "RET_MSG_TYPE_NOT_EXIST" => Some(Self::RetMsgTypeNotExist),
            "RET_CHAT_NO_TARGET_UID" => Some(Self::RetChatNoTargetUid),
            "RET_CHAT_MSG_EMPTY" => Some(Self::RetChatMsgEmpty),
            "RET_CHAT_MSG_EXCEED_LIMIT" => Some(Self::RetChatMsgExceedLimit),
            "RET_CHAT_MSG_SENSITIVE_CHECK_ERROR" => {
                Some(Self::RetChatMsgSensitiveCheckError)
            }
            "RET_CHAT_MSG_UTF8_ERROR" => Some(Self::RetChatMsgUtf8Error),
            "RET_CHAT_FORBID_SWITCH_OPEN" => Some(Self::RetChatForbidSwitchOpen),
            "RET_CHAT_FORBID" => Some(Self::RetChatForbid),
            "RET_CHAT_MSG_INCLUDE_SPECIAL_STR" => Some(Self::RetChatMsgIncludeSpecialStr),
            "RET_CHAT_MSG_EMOJI_NOT_EXIST" => Some(Self::RetChatMsgEmojiNotExist),
            "RET_CHAT_MSG_EMOJI_GENDER_NOT_MATCH" => {
                Some(Self::RetChatMsgEmojiGenderNotMatch)
            }
            "RET_CHAT_MSG_EMOJI_NOT_MARKED" => Some(Self::RetChatMsgEmojiNotMarked),
            "RET_CHAT_MSG_EMOJI_ALREADY_MARKED" => {
                Some(Self::RetChatMsgEmojiAlreadyMarked)
            }
            "RET_CHAT_MSG_EMOJI_MARKED_MAX_LIMIT" => {
                Some(Self::RetChatMsgEmojiMarkedMaxLimit)
            }
            "RET_BOXING_CLUB_CHALLENGE_NOT_OPEN" => {
                Some(Self::RetBoxingClubChallengeNotOpen)
            }
            "RET_MUSEUM_NOT_OPEN" => Some(Self::RetMuseumNotOpen),
            "RET_MUSEUM_TURN_CNT_NOT_MATCH" => Some(Self::RetMuseumTurnCntNotMatch),
            "RET_MUSEUM_PHASE_NOT_REACH" => Some(Self::RetMuseumPhaseNotReach),
            "RET_MUSEUM_UNKNOW_STUFF" => Some(Self::RetMuseumUnknowStuff),
            "RET_MUSEUM_UNKNOW_AREA" => Some(Self::RetMuseumUnknowArea),
            "RET_MUSEUM_UNKNOW_POS" => Some(Self::RetMuseumUnknowPos),
            "RET_MUSEUM_STUFF_ALREADY_IN_AREA" => Some(Self::RetMuseumStuffAlreadyInArea),
            "RET_MUSEUM_STUFF_NOT_IN_AREA" => Some(Self::RetMuseumStuffNotInArea),
            "RET_MUSEUM_GET_NPC_REPEAT" => Some(Self::RetMuseumGetNpcRepeat),
            "RET_MUSEUM_GET_NPC_UNLOCK" => Some(Self::RetMuseumGetNpcUnlock),
            "RET_MUSEUM_GET_NPC_NOT_ENOUGH" => Some(Self::RetMuseumGetNpcNotEnough),
            "RET_MUSEUM_CHANGE_STUFF_AREA_ERROR" => {
                Some(Self::RetMuseumChangeStuffAreaError)
            }
            "RET_MUSEUM_NOT_INIT" => Some(Self::RetMuseumNotInit),
            "RET_MUSEUM_EVENT_ERROR" => Some(Self::RetMuseumEventError),
            "RET_MUSEUM_UNKNOW_CHOOSE_EVENT_ID" => {
                Some(Self::RetMuseumUnknowChooseEventId)
            }
            "RET_MUSEUM_EVENT_ORDER_NOT_MATCH" => Some(Self::RetMuseumEventOrderNotMatch),
            "RET_MUSEUM_EVENT_PHASE_NOT_UNLOCK" => {
                Some(Self::RetMuseumEventPhaseNotUnlock)
            }
            "RET_MUSEUM_EVENT_MISSION_NOT_FOUND" => {
                Some(Self::RetMuseumEventMissionNotFound)
            }
            "RET_MUSEUM_AREA_LEVEL_UP_ALREADY" => Some(Self::RetMuseumAreaLevelUpAlready),
            "RET_MUSEUM_STUFF_ALREADY_USED" => Some(Self::RetMuseumStuffAlreadyUsed),
            "RET_MUSEUM_EVENT_ROUND_NOT_UNLOCK" => {
                Some(Self::RetMuseumEventRoundNotUnlock)
            }
            "RET_MUSEUM_STUFF_IN_AREA" => Some(Self::RetMuseumStuffInArea),
            "RET_MUSEUM_STUFF_DISPATCH" => Some(Self::RetMuseumStuffDispatch),
            "RET_MUSEUM_IS_END" => Some(Self::RetMuseumIsEnd),
            "RET_MUSEUM_STUFF_LEAVING" => Some(Self::RetMuseumStuffLeaving),
            "RET_MUSEUM_EVENT_MISSION_NOT_FINISH" => {
                Some(Self::RetMuseumEventMissionNotFinish)
            }
            "RET_MUSEUM_COLLECT_REWARD_NOT_EXIST" => {
                Some(Self::RetMuseumCollectRewardNotExist)
            }
            "RET_MUSEUM_COLLECT_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetMuseumCollectRewardAlreadyTaken)
            }
            "RET_MUSEUM_ACCEPT_MISSION_MAX_LIMIT" => {
                Some(Self::RetMuseumAcceptMissionMaxLimit)
            }
            "RET_ROGUE_CHALLENGE_NOT_OPEN" => Some(Self::RetRogueChallengeNotOpen),
            "RET_ROGUE_CHALLENGE_ASSIS_REFRESH_LIMIT" => {
                Some(Self::RetRogueChallengeAssisRefreshLimit)
            }
            "RET_ALLEY_NOT_INIT" => Some(Self::RetAlleyNotInit),
            "RET_ALLEY_NOT_OPEN" => Some(Self::RetAlleyNotOpen),
            "RET_ALLEY_MAP_NOT_EXIST" => Some(Self::RetAlleyMapNotExist),
            "RET_ALLEY_EMPTY_POS_LIST" => Some(Self::RetAlleyEmptyPosList),
            "RET_ALLEY_LINE_POS_INVALID" => Some(Self::RetAlleyLinePosInvalid),
            "RET_ALLEY_SHOP_NOT_UNLOCK" => Some(Self::RetAlleyShopNotUnlock),
            "RET_ALLEY_DEPOT_FULL" => Some(Self::RetAlleyDepotFull),
            "RET_ALLEY_SHOP_NOT_INCLUDE" => Some(Self::RetAlleyShopNotInclude),
            "RET_ALLEY_EVENT_NOT_UNLOCK" => Some(Self::RetAlleyEventNotUnlock),
            "RET_ALLEY_EVENT_NOT_REFRESH" => Some(Self::RetAlleyEventNotRefresh),
            "RET_ALLEY_EVENT_STATE_DOING" => Some(Self::RetAlleyEventStateDoing),
            "RET_ALLEY_EVENT_STATE_FINISH" => Some(Self::RetAlleyEventStateFinish),
            "RET_ALLEY_EVENT_ERROR" => Some(Self::RetAlleyEventError),
            "RET_ALLEY_REWARD_LEVEL_ERROR" => Some(Self::RetAlleyRewardLevelError),
            "RET_ALLEY_REWARD_PRESTIGE_NOT_ENOUGH" => {
                Some(Self::RetAlleyRewardPrestigeNotEnough)
            }
            "RET_ALLEY_SHIP_EMPTY" => Some(Self::RetAlleyShipEmpty),
            "RET_ALLEY_SHIP_ID_DISMATCH" => Some(Self::RetAlleyShipIdDismatch),
            "RET_ALLEY_SHIP_NOT_EXIST" => Some(Self::RetAlleyShipNotExist),
            "RET_ALLEY_SHIP_NOT_UNLOCK" => Some(Self::RetAlleyShipNotUnlock),
            "RET_ALLEY_GOODS_NOT_EXIST" => Some(Self::RetAlleyGoodsNotExist),
            "RET_ALLEY_GOODS_NOT_UNLOCK" => Some(Self::RetAlleyGoodsNotUnlock),
            "RET_ALLEY_PROFIT_NOT_POSITIVE" => Some(Self::RetAlleyProfitNotPositive),
            "RET_ALLEY_SPECIAL_ORDER_DISMATCH" => {
                Some(Self::RetAlleySpecialOrderDismatch)
            }
            "RET_ALLEY_ORDER_GOODS_OVER_LIMIT" => Some(Self::RetAlleyOrderGoodsOverLimit),
            "RET_ALLEY_SPECIAL_ORDER_CONDITION_NOT_MEET" => {
                Some(Self::RetAlleySpecialOrderConditionNotMeet)
            }
            "RET_ALLEY_DEPOT_SIZE_OVER_LIMIT" => Some(Self::RetAlleyDepotSizeOverLimit),
            "RET_ALLEY_GOODS_NOT_ENOUGH" => Some(Self::RetAlleyGoodsNotEnough),
            "RET_ALLEY_ORDER_INDEX_INVALID" => Some(Self::RetAlleyOrderIndexInvalid),
            "RET_ALLEY_REWARD_ALREADY_TAKE" => Some(Self::RetAlleyRewardAlreadyTake),
            "RET_ALLEY_REWARD_NOT_EXIST" => Some(Self::RetAlleyRewardNotExist),
            "RET_ALLEY_MAIN_MISSION_NOT_DOING" => Some(Self::RetAlleyMainMissionNotDoing),
            "RET_ALLEY_CRITICAL_EVENT_NOT_FINISH" => {
                Some(Self::RetAlleyCriticalEventNotFinish)
            }
            "RET_ALLEY_SHOP_GOODS_NOT_VALID" => Some(Self::RetAlleyShopGoodsNotValid),
            "RET_ALLEY_SLASH_NOT_OPEN" => Some(Self::RetAlleySlashNotOpen),
            "RET_ALLEY_PLACING_ANCHOR_INVALID" => {
                Some(Self::RetAlleyPlacingAnchorInvalid)
            }
            "RET_ALLEY_PLACING_GOODS_INDEX_INVALID" => {
                Some(Self::RetAlleyPlacingGoodsIndexInvalid)
            }
            "RET_ALLEY_SAVE_MAP_TOO_QUICK" => Some(Self::RetAlleySaveMapTooQuick),
            "RET_ALLEY_MAP_NOT_LINK" => Some(Self::RetAlleyMapNotLink),
            "RET_ALLEY_FUNDS_NOT_LOWER_BASE" => Some(Self::RetAlleyFundsNotLowerBase),
            "RET_ALLEY_EVENT_NOT_FINISH" => Some(Self::RetAlleyEventNotFinish),
            "RET_ALLEY_NORMAL_ORDER_NOT_MEET" => Some(Self::RetAlleyNormalOrderNotMeet),
            "RET_PLAYER_RETURN_NOT_OPEN" => Some(Self::RetPlayerReturnNotOpen),
            "RET_PLAYER_RETURN_IS_SIGNED" => Some(Self::RetPlayerReturnIsSigned),
            "RET_PLAYER_RETURN_POINT_NOT_ENOUGH" => {
                Some(Self::RetPlayerReturnPointNotEnough)
            }
            "RET_PLAYER_RETURN_CONDITION_INVALID" => {
                Some(Self::RetPlayerReturnConditionInvalid)
            }
            "RET_PLAYER_RETURN_HAS_SIGNED" => Some(Self::RetPlayerReturnHasSigned),
            "RET_PLAYER_RETURN_REWARD_TAKEN" => Some(Self::RetPlayerReturnRewardTaken),
            "RET_PLAYER_RETURN_RELIC_TAKEN" => Some(Self::RetPlayerReturnRelicTaken),
            "RET_AETHER_DIVIDE_NO_LINEUP" => Some(Self::RetAetherDivideNoLineup),
            "RET_AETHER_DIVIDE_LINEUP_INVALID" => {
                Some(Self::RetAetherDivideLineupInvalid)
            }
            "RET_CHAT_BUBBLE_ID_ERROR" => Some(Self::RetChatBubbleIdError),
            "RET_CHAT_BUBBLE_ID_NOT_UNLOCK" => Some(Self::RetChatBubbleIdNotUnlock),
            "RET_PHONE_THEME_ID_ERROR" => Some(Self::RetPhoneThemeIdError),
            "RET_PHONE_THEME_ID_NOT_UNLOCK" => Some(Self::RetPhoneThemeIdNotUnlock),
            "RET_CHAT_BUBBLE_SELECT_IS_CURRENT" => {
                Some(Self::RetChatBubbleSelectIsCurrent)
            }
            "RET_PHONE_THEME_SELECT_IS_CURRENT" => {
                Some(Self::RetPhoneThemeSelectIsCurrent)
            }
            "RET_PHONE_CASE_ID_ERROR" => Some(Self::RetPhoneCaseIdError),
            "RET_PHONE_CASE_ID_NOT_UNLOCK" => Some(Self::RetPhoneCaseIdNotUnlock),
            "RET_PHONE_CASE_SELECT_IS_CURRENT" => Some(Self::RetPhoneCaseSelectIsCurrent),
            "RET_CHESS_ROGUE_CONFIG_NOT_FOUND" => Some(Self::RetChessRogueConfigNotFound),
            "RET_CHESS_ROGUE_CONFIG_INVALID" => Some(Self::RetChessRogueConfigInvalid),
            "RET_CHESS_ROGUE_NO_VALID_ROOM" => Some(Self::RetChessRogueNoValidRoom),
            "RET_CHESS_ROGUE_NO_CELL_INFO" => Some(Self::RetChessRogueNoCellInfo),
            "RET_CHESS_ROGUE_CELL_NOT_FINISH" => Some(Self::RetChessRogueCellNotFinish),
            "RET_CHESS_ROGUE_CELL_IS_LOCKED" => Some(Self::RetChessRogueCellIsLocked),
            "RET_CHESS_ROGUE_SCHEDULE_NOT_MATCH" => {
                Some(Self::RetChessRogueScheduleNotMatch)
            }
            "RET_CHESS_ROGUE_STATUS_FAIL" => Some(Self::RetChessRogueStatusFail),
            "RET_CHESS_ROGUE_AREA_NOT_EXIST" => Some(Self::RetChessRogueAreaNotExist),
            "RET_CHESS_ROGUE_LINEUP_FAIL" => Some(Self::RetChessRogueLineupFail),
            "RET_CHESS_ROGUE_AEON_FAIL" => Some(Self::RetChessRogueAeonFail),
            "RET_CHESS_ROGUE_ENTER_CELL_FAIL" => Some(Self::RetChessRogueEnterCellFail),
            "RET_CHESS_ROGUE_ROLL_DICE_FAIL" => Some(Self::RetChessRogueRollDiceFail),
            "RET_CHESS_ROGUE_DICE_STATUS_FAIL" => Some(Self::RetChessRogueDiceStatusFail),
            "RET_CHESS_ROGUE_DICE_CNT_NOT_FULL" => {
                Some(Self::RetChessRogueDiceCntNotFull)
            }
            "RET_CHESS_ROGUE_UNLOCK" => Some(Self::RetChessRogueUnlock),
            "RET_CHESS_ROGUE_PICK_AVATAR_FAIL" => Some(Self::RetChessRoguePickAvatarFail),
            "RET_CHESS_ROGUE_AVATAR_INVALID" => Some(Self::RetChessRogueAvatarInvalid),
            "RET_CHESS_ROGUE_CELL_CAN_NOT_SELECT" => {
                Some(Self::RetChessRogueCellCanNotSelect)
            }
            "RET_CHESS_ROGUE_DICE_CONFIRMED" => Some(Self::RetChessRogueDiceConfirmed),
            "RET_CHESS_ROGUE_NOUS_DICE_NOT_MATCH" => {
                Some(Self::RetChessRogueNousDiceNotMatch)
            }
            "RET_CHESS_ROGUE_NOUS_DICE_RARITY_FAIL" => {
                Some(Self::RetChessRogueNousDiceRarityFail)
            }
            "RET_CHESS_ROGUE_NOUS_DICE_SURFACE_DUPLICATE" => {
                Some(Self::RetChessRogueNousDiceSurfaceDuplicate)
            }
            "RET_CHESS_ROGUE_NOT_IN_ROGUE" => Some(Self::RetChessRogueNotInRogue),
            "RET_CHESS_ROGUE_NOUS_DICE_BRANCH_LIMIT" => {
                Some(Self::RetChessRogueNousDiceBranchLimit)
            }
            "RET_HELIOBUS_NOT_OPEN" => Some(Self::RetHeliobusNotOpen),
            "RET_HELIOBUS_SNS_POST_NOT_UNLOCK" => Some(Self::RetHeliobusSnsPostNotUnlock),
            "RET_HELIOBUS_SNS_ALREADY_READ" => Some(Self::RetHeliobusSnsAlreadyRead),
            "RET_HELIOBUS_SNS_ALREADY_LIKED" => Some(Self::RetHeliobusSnsAlreadyLiked),
            "RET_HELIOBUS_SNS_ALREADY_COMMENTED" => {
                Some(Self::RetHeliobusSnsAlreadyCommented)
            }
            "RET_HELIOBUS_SNS_IN_MISSION" => Some(Self::RetHeliobusSnsInMission),
            "RET_HELIOBUS_SNS_ALREADY_POSTED" => Some(Self::RetHeliobusSnsAlreadyPosted),
            "RET_HELIOBUS_SNS_NOT_DOING_MISSION" => {
                Some(Self::RetHeliobusSnsNotDoingMission)
            }
            "RET_HELIOBUS_REWARD_LEVEL_MAX" => Some(Self::RetHeliobusRewardLevelMax),
            "RET_HELIOBUS_INCOME_NOT_ENOUGH" => Some(Self::RetHeliobusIncomeNotEnough),
            "RET_HELIOBUS_SNS_COMMENT_NOT_UNLOCK" => {
                Some(Self::RetHeliobusSnsCommentNotUnlock)
            }
            "RET_HELIOBUS_CHALLENGE_NOT_UNLOCK" => {
                Some(Self::RetHeliobusChallengeNotUnlock)
            }
            "RET_HELIOBUS_CHALLENGE_ID_ERROR" => Some(Self::RetHeliobusChallengeIdError),
            "RET_HELIOBUS_SKILL_NOT_UNLOCK" => Some(Self::RetHeliobusSkillNotUnlock),
            "RET_HELIOBUS_ACCEPT_POST_MISSION_FAIL" => {
                Some(Self::RetHeliobusAcceptPostMissionFail)
            }
            "RET_HELIOBUS_SKILL_NOT_SELECTED" => Some(Self::RetHeliobusSkillNotSelected),
            "RET_HELIOBUS_PLANE_TYPE_INVALID" => Some(Self::RetHeliobusPlaneTypeInvalid),
            "RET_REDDOT_PARAM_INVALID" => Some(Self::RetReddotParamInvalid),
            "RET_REDDOT_ACTIVITY_NOT_OPEN" => Some(Self::RetReddotActivityNotOpen),
            "RET_ROGUE_ENDLESS_ACTIVITY_CONFIG_ERROR" => {
                Some(Self::RetRogueEndlessActivityConfigError)
            }
            "RET_ROGUE_ENDLESS_ACTIVITY_NOT_OPEN" => {
                Some(Self::RetRogueEndlessActivityNotOpen)
            }
            "RET_ROGUE_ENDLESS_ACTIVITY_OVER_BONUS_REWARD_LIMIT" => {
                Some(Self::RetRogueEndlessActivityOverBonusRewardLimit)
            }
            "RET_ROGUE_ENDLESS_ACTIVITY_SCORE_NOT_MEET" => {
                Some(Self::RetRogueEndlessActivityScoreNotMeet)
            }
            "RET_ROGUE_ENDLESS_ACTIVITY_REWARD_LEVLE_ALREADY_TAKE" => {
                Some(Self::RetRogueEndlessActivityRewardLevleAlreadyTake)
            }
            "RET_HEART_DIAL_SCRIPT_NOT_FOUND" => Some(Self::RetHeartDialScriptNotFound),
            "RET_HEART_DIAL_SCRIPT_EMOTION_THE_SAME" => {
                Some(Self::RetHeartDialScriptEmotionTheSame)
            }
            "RET_HEART_DIAL_SCRIPT_STEP_NOT_NORMAL" => {
                Some(Self::RetHeartDialScriptStepNotNormal)
            }
            "RET_HEART_DIAL_SCRIPT_CONDITION_NOT_MATCH" => {
                Some(Self::RetHeartDialScriptConditionNotMatch)
            }
            "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_NUM_NOT_MATCH" => {
                Some(Self::RetHeartDialScriptSubmitItemNumNotMatch)
            }
            "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_ID_NOT_MATCH" => {
                Some(Self::RetHeartDialScriptSubmitItemIdNotMatch)
            }
            "RET_HEART_DIAL_DIALOGUE_NOT_FOUND" => {
                Some(Self::RetHeartDialDialogueNotFound)
            }
            "RET_HEART_DIAL_DIALOGUE_ALREADY_PERFORMED" => {
                Some(Self::RetHeartDialDialogueAlreadyPerformed)
            }
            "RET_HEART_DIAL_NPC_NOT_FOUND" => Some(Self::RetHeartDialNpcNotFound),
            "RET_HEART_DIAL_TRACE_CONFIG_NOT_FOUND" => {
                Some(Self::RetHeartDialTraceConfigNotFound)
            }
            "RET_HEART_DIAL_FLOOR_TRACE_EXIST" => Some(Self::RetHeartDialFloorTraceExist),
            "RET_HEART_DIAL_TRACE_FLOOR_NOT_MATCH" => {
                Some(Self::RetHeartDialTraceFloorNotMatch)
            }
            "RET_TRAVEL_BROCHURE_CONFIG_ERROR" => {
                Some(Self::RetTravelBrochureConfigError)
            }
            "RET_TRAVEL_BROCHURE_PARAM_INVALID" => {
                Some(Self::RetTravelBrochureParamInvalid)
            }
            "RET_TRAVEL_BROCHURE_LOCKED" => Some(Self::RetTravelBrochureLocked),
            "RET_TRAVEL_BROCHURE_CANNOT_OPERATE" => {
                Some(Self::RetTravelBrochureCannotOperate)
            }
            "RET_TRAVEL_BROCHURE_WORLD_ID_NOT_MATCH" => {
                Some(Self::RetTravelBrochureWorldIdNotMatch)
            }
            "RET_TRAVEL_BROCHURE_HAS_NO_WORLD_BOOK" => {
                Some(Self::RetTravelBrochureHasNoWorldBook)
            }
            "RET_TRAVEL_BROCHURE_PAGE_FULL" => Some(Self::RetTravelBrochurePageFull),
            "RET_MAP_ROTATION_NOT_IN_REGION" => Some(Self::RetMapRotationNotInRegion),
            "RET_MAP_ROTATION_ROTATER_ALREADY_DEPLOYED" => {
                Some(Self::RetMapRotationRotaterAlreadyDeployed)
            }
            "RET_MAP_ROTATION_ENERGY_NOT_ENOUGH" => {
                Some(Self::RetMapRotationEnergyNotEnough)
            }
            "RET_MAP_ROTATION_ENTITY_NOT_ON_CUR_POSE" => {
                Some(Self::RetMapRotationEntityNotOnCurPose)
            }
            "RET_MAP_ROTATION_ROTATER_NOT_DEPLOYED" => {
                Some(Self::RetMapRotationRotaterNotDeployed)
            }
            "RET_MAP_ROTATION_POSE_ROTATER_MISMATCH" => {
                Some(Self::RetMapRotationPoseRotaterMismatch)
            }
            "RET_MAP_ROTATION_ROTATER_NOT_REMOVABLE" => {
                Some(Self::RetMapRotationRotaterNotRemovable)
            }
            "RET_MAP_ROTATION_ROTATER_DISPOSABLE" => {
                Some(Self::RetMapRotationRotaterDisposable)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_FOUND" => {
                Some(Self::RetSpaceZooActivityCatNotFound)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_PARAM_INVALID" => {
                Some(Self::RetSpaceZooActivityCatParamInvalid)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_ITEM_NOT_ENOUGH" => {
                Some(Self::RetSpaceZooActivityCatItemNotEnough)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_BAG_FULL" => {
                Some(Self::RetSpaceZooActivityCatBagFull)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_TO_MUTATE" => {
                Some(Self::RetSpaceZooActivityCatNotToMutate)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_STATE_ERROR" => {
                Some(Self::RetSpaceZooActivityCatStateError)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_CATTERY_LOCKED" => {
                Some(Self::RetSpaceZooActivityCatCatteryLocked)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_OUT_NOW" => {
                Some(Self::RetSpaceZooActivityCatOutNow)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_CONFIG_NOT_FOUND" => {
                Some(Self::RetSpaceZooActivityCatConfigNotFound)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_FEATURE_NOT_FOUND" => {
                Some(Self::RetSpaceZooActivityCatFeatureNotFound)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_ADD_CAT_ERROR" => {
                Some(Self::RetSpaceZooActivityCatAddCatError)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_MONEY_NOT_ENOUGH" => {
                Some(Self::RetSpaceZooActivityCatMoneyNotEnough)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_COND_NOT_MATCH" => {
                Some(Self::RetSpaceZooActivityCatCondNotMatch)
            }
            "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_CFG_MISS" => {
                Some(Self::RetStrongChallengeActivityStageCfgMiss)
            }
            "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_NOT_OPEN" => {
                Some(Self::RetStrongChallengeActivityStageNotOpen)
            }
            "RET_STRONG_CHALLENGE_ACTIVITY_BUFF_ERROR" => {
                Some(Self::RetStrongChallengeActivityBuffError)
            }
            "RET_ROLL_SHOP_NOT_FOUND" => Some(Self::RetRollShopNotFound),
            "RET_ROLL_SHOP_GROUP_EMPTY" => Some(Self::RetRollShopGroupEmpty),
            "RET_ROLL_SHOP_EMPTY" => Some(Self::RetRollShopEmpty),
            "RET_ROLL_SHOP_GACHA_REQ_DUPLICATED" => {
                Some(Self::RetRollShopGachaReqDuplicated)
            }
            "RET_ROLL_SHOP_RANDOM_ERROR" => Some(Self::RetRollShopRandomError),
            "RET_ROLL_SHOP_GROUP_TYPE_NOT_FOUND" => {
                Some(Self::RetRollShopGroupTypeNotFound)
            }
            "RET_ROLL_SHOP_HAS_STORED_REWARD_ALREADY" => {
                Some(Self::RetRollShopHasStoredRewardAlready)
            }
            "RET_ROLL_SHOP_NO_STORED_REWARD" => Some(Self::RetRollShopNoStoredReward),
            "RET_ROLL_SHOP_NOT_IN_VALID_SCENE" => Some(Self::RetRollShopNotInValidScene),
            "RET_ROLL_SHOP_INVALID_ROLL_SHOP_TYPE" => {
                Some(Self::RetRollShopInvalidRollShopType)
            }
            "RET_ACTIVITY_RAID_COLLECTION_PREV_NOT_FINISH" => {
                Some(Self::RetActivityRaidCollectionPrevNotFinish)
            }
            "RET_ACTIVITY_RAID_COLLECTION_GROUP_ENTER_NEXT_UNAVAILABLE" => {
                Some(Self::RetActivityRaidCollectionGroupEnterNextUnavailable)
            }
            "RET_ACTIVITY_RAID_COLLECTION_IS_LAST" => {
                Some(Self::RetActivityRaidCollectionIsLast)
            }
            "RET_ACTIVITY_RAID_COLLECTION_IS_NOT_NEXT" => {
                Some(Self::RetActivityRaidCollectionIsNotNext)
            }
            "RET_OFFERING_NOT_UNLOCK" => Some(Self::RetOfferingNotUnlock),
            "RET_OFFERING_LEVEL_NOT_UNLOCK" => Some(Self::RetOfferingLevelNotUnlock),
            "RET_OFFERING_REACH_MAX_LEVEL" => Some(Self::RetOfferingReachMaxLevel),
            "RET_OFFERING_ITEM_NOT_ENOUGH" => Some(Self::RetOfferingItemNotEnough),
            "RET_OFFERING_LONGTAIL_NOT_OPEN" => Some(Self::RetOfferingLongtailNotOpen),
            "RET_OFFERING_REWARD_CONDITION" => Some(Self::RetOfferingRewardCondition),
            "RET_DRINK_MAKER_CHAT_INVALID" => Some(Self::RetDrinkMakerChatInvalid),
            "RET_DRINK_MAKER_PARAM_INVALID" => Some(Self::RetDrinkMakerParamInvalid),
            "RET_DRINK_MAKER_PARAM_NOT_UNLOCK" => Some(Self::RetDrinkMakerParamNotUnlock),
            "RET_DRINK_MAKER_CONFIG_NOT_FOUND" => Some(Self::RetDrinkMakerConfigNotFound),
            "RET_DRINK_MAKER_NOT_LAST_CHAT" => Some(Self::RetDrinkMakerNotLastChat),
            "RET_DRINK_MAKER_DAY_AND_FREE_PHASE_NOT_OPEN" => {
                Some(Self::RetDrinkMakerDayAndFreePhaseNotOpen)
            }
            "RET_MONOPOLY_NOT_OPEN" => Some(Self::RetMonopolyNotOpen),
            "RET_MONOPOLY_CONFIG_ERROR" => Some(Self::RetMonopolyConfigError),
            "RET_MONOPOLY_DICE_NOT_ENOUGH" => Some(Self::RetMonopolyDiceNotEnough),
            "RET_MONOPOLY_CUR_CELL_NOT_FINISH" => Some(Self::RetMonopolyCurCellNotFinish),
            "RET_MONOPOLY_COIN_NOT_ENOUGH" => Some(Self::RetMonopolyCoinNotEnough),
            "RET_MONOPOLY_CELL_WAIT_PENDING" => Some(Self::RetMonopolyCellWaitPending),
            "RET_MONOPOLY_CELL_STATE_ERROR" => Some(Self::RetMonopolyCellStateError),
            "RET_MONOPOLY_CELL_CONTENT_ERROR" => Some(Self::RetMonopolyCellContentError),
            "RET_MONOPOLY_ITEM_NOT_ENOUGH" => Some(Self::RetMonopolyItemNotEnough),
            "RET_MONOPOLY_CELL_CONTENT_CANNOT_GIVEUP" => {
                Some(Self::RetMonopolyCellContentCannotGiveup)
            }
            "RET_MONOPOLY_ASSET_LEVEL_INVALID" => {
                Some(Self::RetMonopolyAssetLevelInvalid)
            }
            "RET_MONOPOLY_TURN_NOT_FINISH" => Some(Self::RetMonopolyTurnNotFinish),
            "RET_MONOPOLY_GUIDE_NOT_FINISH" => Some(Self::RetMonopolyGuideNotFinish),
            "RET_MONOPOLY_RAFFLE_REWARD_REISSUED" => {
                Some(Self::RetMonopolyRaffleRewardReissued)
            }
            "RET_MONOPOLY_NO_GAME_ACTIVE" => Some(Self::RetMonopolyNoGameActive),
            "RET_MONOPOLY_GAME_RATIO_NOT_INCREASABLE" => {
                Some(Self::RetMonopolyGameRatioNotIncreasable)
            }
            "RET_MONOPOLY_GAME_RATIO_MAX" => Some(Self::RetMonopolyGameRatioMax),
            "RET_MONOPOLY_GAME_TARGET_RATIO_INVALID" => {
                Some(Self::RetMonopolyGameTargetRatioInvalid)
            }
            "RET_MONOPOLY_GAME_BINGO_FLIP_POS_INVALID" => {
                Some(Self::RetMonopolyGameBingoFlipPosInvalid)
            }
            "RET_MONOPOLY_GAME_GUESS_ALREADY_CHOOSE" => {
                Some(Self::RetMonopolyGameGuessAlreadyChoose)
            }
            "RET_MONOPOLY_GAME_GUESS_CHOOSE_INVALID" => {
                Some(Self::RetMonopolyGameGuessChooseInvalid)
            }
            "RET_MONOPOLY_GAME_GUESS_INFORMATION_ALREADY_BOUGHT" => {
                Some(Self::RetMonopolyGameGuessInformationAlreadyBought)
            }
            "RET_MONOPOLY_GAME_RAISE_RATIO_NOT_UNLOCK" => {
                Some(Self::RetMonopolyGameRaiseRatioNotUnlock)
            }
            "RET_MONOPOLY_FRIEND_NOT_SYNCED" => Some(Self::RetMonopolyFriendNotSynced),
            "RET_MONOPOLY_GET_FRIEND_RANKING_LIST_IN_CD" => {
                Some(Self::RetMonopolyGetFriendRankingListInCd)
            }
            "RET_MONOPOLY_LIKE_TARGET_NOT_FRIEND" => {
                Some(Self::RetMonopolyLikeTargetNotFriend)
            }
            "RET_MONOPOLY_DAILY_ALREADY_LIKED" => {
                Some(Self::RetMonopolyDailyAlreadyLiked)
            }
            "RET_MONOPOLY_SOCIAL_EVENT_STATUS_NOT_MATCH" => {
                Some(Self::RetMonopolySocialEventStatusNotMatch)
            }
            "RET_MONOPOLY_SOCIAL_EVENT_SERVER_CACHE_NOT_EXIST" => {
                Some(Self::RetMonopolySocialEventServerCacheNotExist)
            }
            "RET_MONOPOLY_ACTIVITY_ID_NOT_MATCH" => {
                Some(Self::RetMonopolyActivityIdNotMatch)
            }
            "RET_MONOPOLY_RAFFLE_POOL_NOT_EXIST" => {
                Some(Self::RetMonopolyRafflePoolNotExist)
            }
            "RET_MONOPOLY_RAFFLE_POOL_TIME_NOT_MATCH" => {
                Some(Self::RetMonopolyRafflePoolTimeNotMatch)
            }
            "RET_MONOPOLY_RAFFLE_POOL_PHASE_NOT_MEET" => {
                Some(Self::RetMonopolyRafflePoolPhaseNotMeet)
            }
            "RET_MONOPOLY_RAFFLE_POOL_SHOW_TIME_NOT_MEET" => {
                Some(Self::RetMonopolyRafflePoolShowTimeNotMeet)
            }
            "RET_MONOPOLY_RAFFLE_TICKET_NOT_FOUND" => {
                Some(Self::RetMonopolyRaffleTicketNotFound)
            }
            "RET_MONOPOLY_RAFFLE_TICKET_TIME_NOT_MEET" => {
                Some(Self::RetMonopolyRaffleTicketTimeNotMeet)
            }
            "RET_MONOPOLY_RAFFLE_TICKET_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetMonopolyRaffleTicketRewardAlreadyTaken)
            }
            "RET_MONOPOLY_RAFFLE_POOL_NOT_IN_RAFFLE_TIME" => {
                Some(Self::RetMonopolyRafflePoolNotInRaffleTime)
            }
            "RET_MONOPOLY_MBTI_REPORT_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetMonopolyMbtiReportRewardAlreadyTaken)
            }
            "RET_EVOLVE_BUILD_LEVEL_GAMING" => Some(Self::RetEvolveBuildLevelGaming),
            "RET_EVEOLVE_BUILD_LEVEL_BAN_RANDOM" => {
                Some(Self::RetEveolveBuildLevelBanRandom)
            }
            "RET_EVOLVE_BUILD_FIRST_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetEvolveBuildFirstRewardAlreadyTaken)
            }
            "RET_EVOLVE_BUILD_LEVEL_UNFINISH" => Some(Self::RetEvolveBuildLevelUnfinish),
            "RET_EVOLVE_BUILD_SHOP_ABILITY_MAX_LEVEL" => {
                Some(Self::RetEvolveBuildShopAbilityMaxLevel)
            }
            "RET_EVOLVE_BUILD_SHOP_ABILITY_MIN_LEVEL" => {
                Some(Self::RetEvolveBuildShopAbilityMinLevel)
            }
            "RET_EVOLVE_BUILD_SHOP_ABILITY_NOT_GET" => {
                Some(Self::RetEvolveBuildShopAbilityNotGet)
            }
            "RET_EVOLVE_BUILD_LEVEL_LOCK" => Some(Self::RetEvolveBuildLevelLock),
            "RET_EVOLVE_BUILD_EXP_NOT_ENOUGH" => Some(Self::RetEvolveBuildExpNotEnough),
            "RET_EVOLVE_BUILD_SHOP_ABILITY_LEVEL_ERROR" => {
                Some(Self::RetEvolveBuildShopAbilityLevelError)
            }
            "RET_EVOLVE_BUILD_ACTIVITY_NOT_OPEN" => {
                Some(Self::RetEvolveBuildActivityNotOpen)
            }
            "RET_EVOLVE_BUILD_SHOP_ABILITY_EMPTY" => {
                Some(Self::RetEvolveBuildShopAbilityEmpty)
            }
            "RET_EVOLVE_BUILD_LEVEL_NOT_START" => Some(Self::RetEvolveBuildLevelNotStart),
            "RET_EVOLVE_BUILD_SHOP_LOCK" => Some(Self::RetEvolveBuildShopLock),
            "RET_EVOLVE_BUILD_REWARD_LOCK" => Some(Self::RetEvolveBuildRewardLock),
            "RET_EVOLVE_BUILD_REWARD_LEVEL_MAX" => {
                Some(Self::RetEvolveBuildRewardLevelMax)
            }
            "RET_EVOLVE_BUILD_REWARD_ALREADY_ALL_TAKEN" => {
                Some(Self::RetEvolveBuildRewardAlreadyAllTaken)
            }
            "RET_EVOLVE_BUILD_SEASON_ERROR" => Some(Self::RetEvolveBuildSeasonError),
            "RET_EVOLVE_BUILD_TEACH_SKIP_QUEST_NOT_FINISH" => {
                Some(Self::RetEvolveBuildTeachSkipQuestNotFinish)
            }
            "RET_CLOCK_PARK_CONFIG_ERROR" => Some(Self::RetClockParkConfigError),
            "RET_CLOCK_PARK_EFFECT_ERROR" => Some(Self::RetClockParkEffectError),
            "RET_CLOCK_PARK_SCRIPT_ALREADY_UNLOCK" => {
                Some(Self::RetClockParkScriptAlreadyUnlock)
            }
            "RET_CLOCK_PARK_SCRIPT_UNLOCK_CONDITION_NOT_MEET" => {
                Some(Self::RetClockParkScriptUnlockConditionNotMeet)
            }
            "RET_CLOCK_PARK_TALENT_ALREADY_UNLOCK" => {
                Some(Self::RetClockParkTalentAlreadyUnlock)
            }
            "RET_CLOCK_PARK_SCRIPT_LOCKED" => Some(Self::RetClockParkScriptLocked),
            "RET_CLOCK_PARK_HAS_ONGOING_SCRIPT" => {
                Some(Self::RetClockParkHasOngoingScript)
            }
            "RET_CLOCK_PARK_NO_ONGOING_SCRIPT" => Some(Self::RetClockParkNoOngoingScript),
            "RET_CLOCK_PARK_DICE_PLACEMENT_ERROR" => {
                Some(Self::RetClockParkDicePlacementError)
            }
            "RET_CLOCK_PARK_MISMATCH_STATUS" => Some(Self::RetClockParkMismatchStatus),
            "RET_CLOCK_PARK_NO_BUFF" => Some(Self::RetClockParkNoBuff),
            "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_REQ_DUPLICATED" => {
                Some(Self::RetClockParkSlotMachineGachaReqDuplicated)
            }
            "RET_CLOCK_PARK_SLOT_MACHINE_COST_NOT_ENOUGH" => {
                Some(Self::RetClockParkSlotMachineCostNotEnough)
            }
            "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_CNT_EXCEED_LIMIT" => {
                Some(Self::RetClockParkSlotMachineGachaCntExceedLimit)
            }
            "RET_CLOCK_PARK_NOT_OPEN" => Some(Self::RetClockParkNotOpen),
            "RET_TOURN_ROGUE_STATUS_MISMATCH" => Some(Self::RetTournRogueStatusMismatch),
            "RET_MAGIC_ROGUE_STATUS_MISMATCH" => Some(Self::RetMagicRogueStatusMismatch),
            "RET_AUTO_MOUNT_MAGIC_UNIT_NO_MATCHED_MAGIC_SCEPTER" => {
                Some(Self::RetAutoMountMagicUnitNoMatchedMagicScepter)
            }
            "RET_MAGIC_UNIT_WORKBENCH_REFORGE_GEN_FAIL" => {
                Some(Self::RetMagicUnitWorkbenchReforgeGenFail)
            }
            "RET_MATCH_ALREADY_IN_MATCH" => Some(Self::RetMatchAlreadyInMatch),
            "RET_MATCH_NOT_IN_MATCH" => Some(Self::RetMatchNotInMatch),
            "RET_MATCH_PLAY_NOT_OPEN" => Some(Self::RetMatchPlayNotOpen),
            "RET_CROSS_STATE_ERROR" => Some(Self::RetCrossStateError),
            "RET_MATCH_VERSION_NOT_EQUAL" => Some(Self::RetMatchVersionNotEqual),
            "RET_MATCH_PLAYER_NOT_IN_LOBBY_ROOM" => {
                Some(Self::RetMatchPlayerNotInLobbyRoom)
            }
            "RET_LOBBY_STATE_NOT_MATCH" => Some(Self::RetLobbyStateNotMatch),
            "RET_LOBBY_ROOM_NOT_EXIST" => Some(Self::RetLobbyRoomNotExist),
            "RET_LOBBY_ROOM_PALYER_FULL" => Some(Self::RetLobbyRoomPalyerFull),
            "RET_LOBBY_ROOM_PALYER_NOT_READY" => Some(Self::RetLobbyRoomPalyerNotReady),
            "RET_LOBBY_ROOM_PALYER_FIGHTING" => Some(Self::RetLobbyRoomPalyerFighting),
            "RET_FIGHT_ROOM_NOT_EXIST" => Some(Self::RetFightRoomNotExist),
            "RET_FIGHT_MATCH3_PLAYER_STATE_ERR" => {
                Some(Self::RetFightMatch3PlayerStateErr)
            }
            "RET_FIGHT_MATCH3_ROOM_STATE_ERR" => Some(Self::RetFightMatch3RoomStateErr),
            "RET_CROSS_STATE_TIME_OUT" => Some(Self::RetCrossStateTimeOut),
            "RET_LOBBY_START_FIGHT_DISABLE" => Some(Self::RetLobbyStartFightDisable),
            "RET_LOBBY_START_FIGHT_PLAYER_LACK" => {
                Some(Self::RetLobbyStartFightPlayerLack)
            }
            "RET_MATCH_CLIENT_DATA_VERSION_LOW" => {
                Some(Self::RetMatchClientDataVersionLow)
            }
            "RET_LOBBY_START_MATCH_DISABLE" => Some(Self::RetLobbyStartMatchDisable),
            "RET_LOBBY_INTERACT_IN_CD" => Some(Self::RetLobbyInteractInCd),
            "RET_LOBBY_OWNER_STATE_ERR" => Some(Self::RetLobbyOwnerStateErr),
            "RET_LOBBY_OP_TOO_FAST" => Some(Self::RetLobbyOpTooFast),
            "RET_SWORD_TRAINING_NO_ACTIVE_GAME" => {
                Some(Self::RetSwordTrainingNoActiveGame)
            }
            "RET_SWORD_TRAINING_NO_PENDING_ACTION_MATCH" => {
                Some(Self::RetSwordTrainingNoPendingActionMatch)
            }
            "RET_SWORD_TRAINING_PARTNER_ABILITY_INVALID" => {
                Some(Self::RetSwordTrainingPartnerAbilityInvalid)
            }
            "RET_SWORD_TRAINING_SKILL_ALREADY_LEARNED" => {
                Some(Self::RetSwordTrainingSkillAlreadyLearned)
            }
            "RET_SWORD_TRAINING_CONDITION_NOT_MEET" => {
                Some(Self::RetSwordTrainingConditionNotMeet)
            }
            "RET_SWORD_TRAINING_PARENT_SKILL_NOT_LEARNED" => {
                Some(Self::RetSwordTrainingParentSkillNotLearned)
            }
            "RET_SWORD_TRAINING_SKILL_TYPE_NOT_UNLOCK" => {
                Some(Self::RetSwordTrainingSkillTypeNotUnlock)
            }
            "RET_SWORD_TRAINING_GAME_ALREADY_EXIST" => {
                Some(Self::RetSwordTrainingGameAlreadyExist)
            }
            "RET_SWORD_TRAINING_ENDING_HINT_NOT_MATCH" => {
                Some(Self::RetSwordTrainingEndingHintNotMatch)
            }
            "RET_SWORD_TRAINING_STORYLINE_CONFIG_NOT_FOUND" => {
                Some(Self::RetSwordTrainingStorylineConfigNotFound)
            }
            "RET_SWORD_TRAINING_STORY_CONFIG_NOT_FOUND" => {
                Some(Self::RetSwordTrainingStoryConfigNotFound)
            }
            "RET_SWORD_TRAINING_UNLOCK_NOT_FINISH" => {
                Some(Self::RetSwordTrainingUnlockNotFinish)
            }
            "RET_SWORD_TRAINING_OPTION_MISMATCH" => {
                Some(Self::RetSwordTrainingOptionMismatch)
            }
            "RET_SWORD_TRAINING_RESTORE_WITHOUT_EXAM_FAILED" => {
                Some(Self::RetSwordTrainingRestoreWithoutExamFailed)
            }
            "RET_SWORD_TRAINING_NO_RESTORE_GAME_AVAILABLE" => {
                Some(Self::RetSwordTrainingNoRestoreGameAvailable)
            }
            "RET_SWORD_TRAINING_ENDING_STORY_NOT_MATCH" => {
                Some(Self::RetSwordTrainingEndingStoryNotMatch)
            }
            "RET_SWORD_TRAINING_ENDING_NOT_FINISH" => {
                Some(Self::RetSwordTrainingEndingNotFinish)
            }
            "RET_SWORD_TRAINING_ENDING_REWARD_TAKEN" => {
                Some(Self::RetSwordTrainingEndingRewardTaken)
            }
            "RET_SWORD_TRAINING_COMBAT_RANK_NOT_CHANGE" => {
                Some(Self::RetSwordTrainingCombatRankNotChange)
            }
            "RET_SWORD_TRAINING_DIRECT_BATTLE_DISABLE" => {
                Some(Self::RetSwordTrainingDirectBattleDisable)
            }
            "RET_FIGHT_FEST_PHASE_NOT_MATCH" => Some(Self::RetFightFestPhaseNotMatch),
            "RET_FIGHT_FEST_SCORE_RACE_ALREADY_FINISH" => {
                Some(Self::RetFightFestScoreRaceAlreadyFinish)
            }
            "RET_FIGHT_FEST_CHALLENGE_LOCKED" => Some(Self::RetFightFestChallengeLocked),
            "RET_FIGHT_FEST_COACH_SKILL_LOCKED" => {
                Some(Self::RetFightFestCoachSkillLocked)
            }
            "RET_FIGHT_FEST_COACH_SKILL_EQUIP_TYPE_EXISTED" => {
                Some(Self::RetFightFestCoachSkillEquipTypeExisted)
            }
            "RET_FIGHT_FEST_SCORE_RACE_MISSION_DOIND" => {
                Some(Self::RetFightFestScoreRaceMissionDoind)
            }
            "RET_FIGHT_FEST_COACH_SKILL_NO_EQUIP" => {
                Some(Self::RetFightFestCoachSkillNoEquip)
            }
            "RET_PET_NOT_EXIST" => Some(Self::RetPetNotExist),
            "RET_PET_ALREADY_SUMMONED" => Some(Self::RetPetAlreadySummoned),
            "RET_PET_NOT_SUMMONED" => Some(Self::RetPetNotSummoned),
            "RET_MUSIC_RHYTHM_LEVEL_TIME_TOO_SHORT" => {
                Some(Self::RetMusicRhythmLevelTimeTooShort)
            }
            "RET_MUSIC_RHYTHM_NOT_IN_LEVEL" => Some(Self::RetMusicRhythmNotInLevel),
            "RET_MUSIC_RHYTHM_PRE_DIFFICULTY_NOT_PASS" => {
                Some(Self::RetMusicRhythmPreDifficultyNotPass)
            }
            "RET_MUSIC_RHYTHM_SONG_LIMITED" => Some(Self::RetMusicRhythmSongLimited),
            "RET_MUSIC_RHYTHM_SONG_LOCKED" => Some(Self::RetMusicRhythmSongLocked),
            "RET_MUSIC_RHYTHM_TRACK_LOCKED" => Some(Self::RetMusicRhythmTrackLocked),
            "RET_MUSIC_RHYTHM_LEVEL_NOT_UNLOCK" => {
                Some(Self::RetMusicRhythmLevelNotUnlock)
            }
            "RET_MUSIC_RHYTHM_SONG_SFX_LOCKED" => Some(Self::RetMusicRhythmSongSfxLocked),
            "RET_TRAIN_PARTY_COIN_NOT_ENOUGH" => Some(Self::RetTrainPartyCoinNotEnough),
            "RET_TRAIN_PARTY_DIY_TAG_NOT_MATCH" => {
                Some(Self::RetTrainPartyDiyTagNotMatch)
            }
            "RET_TRAIN_PARTY_USE_CARD_MOBILITY_NOT_ENOUGH" => {
                Some(Self::RetTrainPartyUseCardMobilityNotEnough)
            }
            "RET_TRAIN_PARTY_AREA_UNLOCK_COIN_NOT_ENOUGH" => {
                Some(Self::RetTrainPartyAreaUnlockCoinNotEnough)
            }
            "RET_TAROT_BOOK_ENERGY_NOT_ENOUGH" => Some(Self::RetTarotBookEnergyNotEnough),
            "RET_TAROT_BOOK_PACK_NOT_AVAILABLE" => {
                Some(Self::RetTarotBookPackNotAvailable)
            }
            "RET_TAROT_BOOK_STORY_ALREADY_UNLOCK" => {
                Some(Self::RetTarotBookStoryAlreadyUnlock)
            }
            "RET_TAROT_BOOK_CARD_NOT_ENOUGH" => Some(Self::RetTarotBookCardNotEnough),
            "RET_TAROT_BOOK_CLUE_NOT_ENOUGH" => Some(Self::RetTarotBookClueNotEnough),
            "RET_TAROT_BOOK_UNLOCK_STORY_CARD_NOT_SAME" => {
                Some(Self::RetTarotBookUnlockStoryCardNotSame)
            }
            "RET_TAROT_BOOK_STORY_NOT_UNLOCK" => Some(Self::RetTarotBookStoryNotUnlock),
            "RET_TAROT_BOOK_STORY_ALREADY_FINISH" => {
                Some(Self::RetTarotBookStoryAlreadyFinish)
            }
            "RET_TAROT_BOOK_INTERACTION_ALREADY_FINISH" => {
                Some(Self::RetTarotBookInteractionAlreadyFinish)
            }
            "RET_CHIMERA_CHIMERA_NOT_UNLOCK" => Some(Self::RetChimeraChimeraNotUnlock),
            "RET_CHIMERA_CHIMERA_DUPLICATED" => Some(Self::RetChimeraChimeraDuplicated),
            "RET_CHIMERA_CHIMERA_TYPE_ERROR" => Some(Self::RetChimeraChimeraTypeError),
            "RET_CHIMERA_WORK_MISMATCH_ROUND" => Some(Self::RetChimeraWorkMismatchRound),
            "RET_CHIMERA_WORK_ROUND_OPTION_NOT_MEET" => {
                Some(Self::RetChimeraWorkRoundOptionNotMeet)
            }
            "RET_CHIMERA_ENDLESS_NOT_UNLOCK" => Some(Self::RetChimeraEndlessNotUnlock),
            "RET_CHIMERA_IN_ENDLESS" => Some(Self::RetChimeraInEndless),
            "RET_CHIMERA_NOT_IN_ENDLESS" => Some(Self::RetChimeraNotInEndless),
            "RET_CHIMERA_CHIMERA_FALL_IN_ENDLESS" => {
                Some(Self::RetChimeraChimeraFallInEndless)
            }
            "RET_PLANET_FES_AVATAR_NOT_EXIST" => Some(Self::RetPlanetFesAvatarNotExist),
            "RET_PLANET_FES_LAND_NOT_EXIST" => Some(Self::RetPlanetFesLandNotExist),
            "RET_PLANET_FES_ITEM_NOT_ENOUGH" => Some(Self::RetPlanetFesItemNotEnough),
            "RET_PLANET_FES_LAND_ALREADY_UNLOCK" => {
                Some(Self::RetPlanetFesLandAlreadyUnlock)
            }
            "RET_PLANET_FES_WORK_AVATAR_REPEAT" => {
                Some(Self::RetPlanetFesWorkAvatarRepeat)
            }
            "RET_PLANET_FES_WORK_AVATAR_TYPE_NOT_MATCH" => {
                Some(Self::RetPlanetFesWorkAvatarTypeNotMatch)
            }
            "RET_PLANET_FES_ACTIVITY_NOT_OPEN" => Some(Self::RetPlanetFesActivityNotOpen),
            "RET_PLANET_FES_SKILLTREE_PHASE_NOT_UNLOCK" => {
                Some(Self::RetPlanetFesSkilltreePhaseNotUnlock)
            }
            "RET_PLANET_FES_SKILL_NOT_UNLOCK" => Some(Self::RetPlanetFesSkillNotUnlock),
            "RET_PLANET_FES_CONFIG_ERROR" => Some(Self::RetPlanetFesConfigError),
            "RET_PLANET_FES_NOT_IN_BUSINESS_DAY" => {
                Some(Self::RetPlanetFesNotInBusinessDay)
            }
            "RET_PLANET_FES_EVENT_LOCKED" => Some(Self::RetPlanetFesEventLocked),
            "RET_PLANET_FES_EVENT_FINISHED" => Some(Self::RetPlanetFesEventFinished),
            "RET_PLANET_FES_EVENT_IN_CD" => Some(Self::RetPlanetFesEventInCd),
            "RET_PLANET_FES_EVENT_ALREADY_IN_STATE" => {
                Some(Self::RetPlanetFesEventAlreadyInState)
            }
            "RET_PLANET_FES_EVENT_NO_WORK_AVATAR" => {
                Some(Self::RetPlanetFesEventNoWorkAvatar)
            }
            "RET_PLANET_FES_EVENT_PROCESSING_CANNOT_DISAPPEAR" => {
                Some(Self::RetPlanetFesEventProcessingCannotDisappear)
            }
            "RET_PLANET_FES_EVENT_OPTION_PHASE_WRONG" => {
                Some(Self::RetPlanetFesEventOptionPhaseWrong)
            }
            "RET_PLANET_FES_FUNCTION_NOT_UNLOCK" => {
                Some(Self::RetPlanetFesFunctionNotUnlock)
            }
            "RET_PLANET_FES_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetPlanetFesRewardAlreadyTaken)
            }
            "RET_PLANET_FES_EVENT_GAME_NOT_ACTIVE" => {
                Some(Self::RetPlanetFesEventGameNotActive)
            }
            "RET_PLANET_FES_REGION_PROGRESS_NOT_ENOUGH" => {
                Some(Self::RetPlanetFesRegionProgressNotEnough)
            }
            "RET_PLANET_FES_FRIEND_ITEM_NOT_ENOUGH" => {
                Some(Self::RetPlanetFesFriendItemNotEnough)
            }
            "RET_PLANET_FES_PIECE_PERMISSION_BAN" => {
                Some(Self::RetPlanetFesPiecePermissionBan)
            }
            "RET_PLANET_FES_PIECE_OFFER_NOT_EXIST" => {
                Some(Self::RetPlanetFesPieceOfferNotExist)
            }
            "RET_PLANET_FES_PIECE_APPLY_IN_STACK_TOO_MUCH" => {
                Some(Self::RetPlanetFesPieceApplyInStackTooMuch)
            }
            "RET_PLANET_FES_PIECE_APPLY_NOT_EXIST" => {
                Some(Self::RetPlanetFesPieceApplyNotExist)
            }
            "RET_PLANET_FES_GET_FRIEND_RANKING_LIST_IN_CD" => {
                Some(Self::RetPlanetFesGetFriendRankingListInCd)
            }
            "RET_PLANET_FES_GIVE_PIECE_OWNED_BY_TARGET" => {
                Some(Self::RetPlanetFesGivePieceOwnedByTarget)
            }
            "RET_PLANET_FES_LEVEL_MAX" => Some(Self::RetPlanetFesLevelMax),
            "RET_PLANET_FES_EXCLUSIVE_EVENT" => Some(Self::RetPlanetFesExclusiveEvent),
            "RET_MARBLE_SEAL_ALREADY_UNLOCKED" => {
                Some(Self::RetMarbleSealAlreadyUnlocked)
            }
            "RET_MARBLE_SEAL_SHOP_ITEM_NOT_ENOUGH" => {
                Some(Self::RetMarbleSealShopItemNotEnough)
            }
            "RET_MARBLE_SEAL_LOCKED" => Some(Self::RetMarbleSealLocked),
            "RET_PARKOUR_ACTIVITY_NOT_OPEN" => Some(Self::RetParkourActivityNotOpen),
            "RET_PARKOUR_LEVEL_NOT_UNLOCK" => Some(Self::RetParkourLevelNotUnlock),
            "RET_PARKOUR_RAIL_BALL_NOT_ALLOWED" => {
                Some(Self::RetParkourRailBallNotAllowed)
            }
            "RET_PARKOUR_NOT_IN_LEVEL" => Some(Self::RetParkourNotInLevel),
            "RET_PARKOUR_LEVEL_NOT_MATCH" => Some(Self::RetParkourLevelNotMatch),
            "RET_PARKOUR_NOT_PLAYED_ALL_NON_STORY_LEVEL" => {
                Some(Self::RetParkourNotPlayedAllNonStoryLevel)
            }
            "RET_FTC_LIMIT_NAME_CHANGE" => Some(Self::RetFtcLimitNameChange),
            "RET_GRID_FIGHT_CONF_MISS" => Some(Self::RetGridFightConfMiss),
            _ => None,
        }
    }
}
/// Obf: IADDHHOPMOD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdActivityType {
    None = 0,
    CmdTakeTrialActivityRewardCsReq = 2634,
    CmdAvatarDeliverRewardChooseAvatarCsReq = 2617,
    CmdGetActivityScheduleConfigScRsp = 2648,
    CmdStartTrialActivityCsReq = 2601,
    CmdGetTrialActivityDataCsReq = 2654,
    CmdEnterTrialActivityStageScRsp = 2635,
    CmdGetActivityScheduleConfigCsReq = 2676,
    CmdLeaveTrialActivityCsReq = 2636,
    CmdTakeMaterialSubmitActivityRewardCsReq = 2642,
    CmdGetAvatarDeliverRewardActivityDataScRsp = 2690,
    CmdSubmitMaterialSubmitActivityMaterialScRsp = 2633,
    CmdTakeLoginActivityRewardCsReq = 2631,
    CmdTakeMaterialSubmitActivityRewardScRsp = 2677,
    CmdGetTrialActivityDataScRsp = 2699,
    CmdAvatarDeliverRewardTakeRewardCsReq = 2649,
    CmdSubmitMaterialSubmitActivityMaterialCsReq = 2643,
    CmdGetMaterialSubmitActivityDataScRsp = 2639,
    CmdStartTrialActivityScRsp = 2653,
    CmdTakeLoginActivityRewardScRsp = 2640,
    CmdAvatarDeliverRewardTakeRewardScRsp = 2603,
    CmdLeaveTrialActivityScRsp = 2694,
    CmdAvatarDeliverRewardChooseAvatarScRsp = 2669,
    CmdGetLoginActivityScRsp = 2632,
    CmdTrialActivityDataChangeScNotify = 2687,
    CmdTakeTrialActivityRewardScRsp = 2668,
    CmdGetAvatarDeliverRewardActivityDataCsReq = 2674,
    CmdGetMaterialSubmitActivityDataCsReq = 2602,
    CmdEnterTrialActivityStageCsReq = 2608,
    CmdGetLoginActivityCsReq = 2695,
    CmdCurTrialActivityScNotify = 2627,
}
impl CmdActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdActivityTypeNone",
            Self::CmdTakeTrialActivityRewardCsReq => "CmdTakeTrialActivityRewardCsReq",
            Self::CmdAvatarDeliverRewardChooseAvatarCsReq => {
                "CmdAvatarDeliverRewardChooseAvatarCsReq"
            }
            Self::CmdGetActivityScheduleConfigScRsp => {
                "CmdGetActivityScheduleConfigScRsp"
            }
            Self::CmdStartTrialActivityCsReq => "CmdStartTrialActivityCsReq",
            Self::CmdGetTrialActivityDataCsReq => "CmdGetTrialActivityDataCsReq",
            Self::CmdEnterTrialActivityStageScRsp => "CmdEnterTrialActivityStageScRsp",
            Self::CmdGetActivityScheduleConfigCsReq => {
                "CmdGetActivityScheduleConfigCsReq"
            }
            Self::CmdLeaveTrialActivityCsReq => "CmdLeaveTrialActivityCsReq",
            Self::CmdTakeMaterialSubmitActivityRewardCsReq => {
                "CmdTakeMaterialSubmitActivityRewardCsReq"
            }
            Self::CmdGetAvatarDeliverRewardActivityDataScRsp => {
                "CmdGetAvatarDeliverRewardActivityDataScRsp"
            }
            Self::CmdSubmitMaterialSubmitActivityMaterialScRsp => {
                "CmdSubmitMaterialSubmitActivityMaterialScRsp"
            }
            Self::CmdTakeLoginActivityRewardCsReq => "CmdTakeLoginActivityRewardCsReq",
            Self::CmdTakeMaterialSubmitActivityRewardScRsp => {
                "CmdTakeMaterialSubmitActivityRewardScRsp"
            }
            Self::CmdGetTrialActivityDataScRsp => "CmdGetTrialActivityDataScRsp",
            Self::CmdAvatarDeliverRewardTakeRewardCsReq => {
                "CmdAvatarDeliverRewardTakeRewardCsReq"
            }
            Self::CmdSubmitMaterialSubmitActivityMaterialCsReq => {
                "CmdSubmitMaterialSubmitActivityMaterialCsReq"
            }
            Self::CmdGetMaterialSubmitActivityDataScRsp => {
                "CmdGetMaterialSubmitActivityDataScRsp"
            }
            Self::CmdStartTrialActivityScRsp => "CmdStartTrialActivityScRsp",
            Self::CmdTakeLoginActivityRewardScRsp => "CmdTakeLoginActivityRewardScRsp",
            Self::CmdAvatarDeliverRewardTakeRewardScRsp => {
                "CmdAvatarDeliverRewardTakeRewardScRsp"
            }
            Self::CmdLeaveTrialActivityScRsp => "CmdLeaveTrialActivityScRsp",
            Self::CmdAvatarDeliverRewardChooseAvatarScRsp => {
                "CmdAvatarDeliverRewardChooseAvatarScRsp"
            }
            Self::CmdGetLoginActivityScRsp => "CmdGetLoginActivityScRsp",
            Self::CmdTrialActivityDataChangeScNotify => {
                "CmdTrialActivityDataChangeScNotify"
            }
            Self::CmdTakeTrialActivityRewardScRsp => "CmdTakeTrialActivityRewardScRsp",
            Self::CmdGetAvatarDeliverRewardActivityDataCsReq => {
                "CmdGetAvatarDeliverRewardActivityDataCsReq"
            }
            Self::CmdGetMaterialSubmitActivityDataCsReq => {
                "CmdGetMaterialSubmitActivityDataCsReq"
            }
            Self::CmdEnterTrialActivityStageCsReq => "CmdEnterTrialActivityStageCsReq",
            Self::CmdGetLoginActivityCsReq => "CmdGetLoginActivityCsReq",
            Self::CmdCurTrialActivityScNotify => "CmdCurTrialActivityScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdActivityTypeNone" => Some(Self::None),
            "CmdTakeTrialActivityRewardCsReq" => {
                Some(Self::CmdTakeTrialActivityRewardCsReq)
            }
            "CmdAvatarDeliverRewardChooseAvatarCsReq" => {
                Some(Self::CmdAvatarDeliverRewardChooseAvatarCsReq)
            }
            "CmdGetActivityScheduleConfigScRsp" => {
                Some(Self::CmdGetActivityScheduleConfigScRsp)
            }
            "CmdStartTrialActivityCsReq" => Some(Self::CmdStartTrialActivityCsReq),
            "CmdGetTrialActivityDataCsReq" => Some(Self::CmdGetTrialActivityDataCsReq),
            "CmdEnterTrialActivityStageScRsp" => {
                Some(Self::CmdEnterTrialActivityStageScRsp)
            }
            "CmdGetActivityScheduleConfigCsReq" => {
                Some(Self::CmdGetActivityScheduleConfigCsReq)
            }
            "CmdLeaveTrialActivityCsReq" => Some(Self::CmdLeaveTrialActivityCsReq),
            "CmdTakeMaterialSubmitActivityRewardCsReq" => {
                Some(Self::CmdTakeMaterialSubmitActivityRewardCsReq)
            }
            "CmdGetAvatarDeliverRewardActivityDataScRsp" => {
                Some(Self::CmdGetAvatarDeliverRewardActivityDataScRsp)
            }
            "CmdSubmitMaterialSubmitActivityMaterialScRsp" => {
                Some(Self::CmdSubmitMaterialSubmitActivityMaterialScRsp)
            }
            "CmdTakeLoginActivityRewardCsReq" => {
                Some(Self::CmdTakeLoginActivityRewardCsReq)
            }
            "CmdTakeMaterialSubmitActivityRewardScRsp" => {
                Some(Self::CmdTakeMaterialSubmitActivityRewardScRsp)
            }
            "CmdGetTrialActivityDataScRsp" => Some(Self::CmdGetTrialActivityDataScRsp),
            "CmdAvatarDeliverRewardTakeRewardCsReq" => {
                Some(Self::CmdAvatarDeliverRewardTakeRewardCsReq)
            }
            "CmdSubmitMaterialSubmitActivityMaterialCsReq" => {
                Some(Self::CmdSubmitMaterialSubmitActivityMaterialCsReq)
            }
            "CmdGetMaterialSubmitActivityDataScRsp" => {
                Some(Self::CmdGetMaterialSubmitActivityDataScRsp)
            }
            "CmdStartTrialActivityScRsp" => Some(Self::CmdStartTrialActivityScRsp),
            "CmdTakeLoginActivityRewardScRsp" => {
                Some(Self::CmdTakeLoginActivityRewardScRsp)
            }
            "CmdAvatarDeliverRewardTakeRewardScRsp" => {
                Some(Self::CmdAvatarDeliverRewardTakeRewardScRsp)
            }
            "CmdLeaveTrialActivityScRsp" => Some(Self::CmdLeaveTrialActivityScRsp),
            "CmdAvatarDeliverRewardChooseAvatarScRsp" => {
                Some(Self::CmdAvatarDeliverRewardChooseAvatarScRsp)
            }
            "CmdGetLoginActivityScRsp" => Some(Self::CmdGetLoginActivityScRsp),
            "CmdTrialActivityDataChangeScNotify" => {
                Some(Self::CmdTrialActivityDataChangeScNotify)
            }
            "CmdTakeTrialActivityRewardScRsp" => {
                Some(Self::CmdTakeTrialActivityRewardScRsp)
            }
            "CmdGetAvatarDeliverRewardActivityDataCsReq" => {
                Some(Self::CmdGetAvatarDeliverRewardActivityDataCsReq)
            }
            "CmdGetMaterialSubmitActivityDataCsReq" => {
                Some(Self::CmdGetMaterialSubmitActivityDataCsReq)
            }
            "CmdEnterTrialActivityStageCsReq" => {
                Some(Self::CmdEnterTrialActivityStageCsReq)
            }
            "CmdGetLoginActivityCsReq" => Some(Self::CmdGetLoginActivityCsReq),
            "CmdCurTrialActivityScNotify" => Some(Self::CmdCurTrialActivityScNotify),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pmidehdobhj {
    TrialActivityStatusNone = 0,
    TrialActivityStatusFinish = 1,
}
impl Pmidehdobhj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::TrialActivityStatusNone => "TRIAL_ACTIVITY_STATUS_NONE",
            Self::TrialActivityStatusFinish => "TRIAL_ACTIVITY_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRIAL_ACTIVITY_STATUS_NONE" => Some(Self::TrialActivityStatusNone),
            "TRIAL_ACTIVITY_STATUS_FINISH" => Some(Self::TrialActivityStatusFinish),
            _ => None,
        }
    }
}
/// Obf: GKCEOHNMEFN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAdventureType {
    None = 0,
    CmdQuickStartFarmElementCsReq = 1371,
    CmdQuickStartFarmElementScRsp = 1352,
    CmdFarmElementSweepCsReq = 1372,
    CmdCocoonSweepCsReq = 1322,
    CmdEnterAdventureScRsp = 1332,
    CmdEnterAdventureCsReq = 1395,
    CmdCocoonSweepScRsp = 1356,
    CmdQuickStartCocoonStageCsReq = 1376,
    CmdFarmElementSweepScRsp = 1385,
    CmdGetFarmStageGachaInfoCsReq = 1331,
    CmdGetFarmStageGachaInfoScRsp = 1340,
    CmdQuickStartCocoonStageScRsp = 1348,
}
impl CmdAdventureType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdAdventureTypeNone",
            Self::CmdQuickStartFarmElementCsReq => "CmdQuickStartFarmElementCsReq",
            Self::CmdQuickStartFarmElementScRsp => "CmdQuickStartFarmElementScRsp",
            Self::CmdFarmElementSweepCsReq => "CmdFarmElementSweepCsReq",
            Self::CmdCocoonSweepCsReq => "CmdCocoonSweepCsReq",
            Self::CmdEnterAdventureScRsp => "CmdEnterAdventureScRsp",
            Self::CmdEnterAdventureCsReq => "CmdEnterAdventureCsReq",
            Self::CmdCocoonSweepScRsp => "CmdCocoonSweepScRsp",
            Self::CmdQuickStartCocoonStageCsReq => "CmdQuickStartCocoonStageCsReq",
            Self::CmdFarmElementSweepScRsp => "CmdFarmElementSweepScRsp",
            Self::CmdGetFarmStageGachaInfoCsReq => "CmdGetFarmStageGachaInfoCsReq",
            Self::CmdGetFarmStageGachaInfoScRsp => "CmdGetFarmStageGachaInfoScRsp",
            Self::CmdQuickStartCocoonStageScRsp => "CmdQuickStartCocoonStageScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdAdventureTypeNone" => Some(Self::None),
            "CmdQuickStartFarmElementCsReq" => Some(Self::CmdQuickStartFarmElementCsReq),
            "CmdQuickStartFarmElementScRsp" => Some(Self::CmdQuickStartFarmElementScRsp),
            "CmdFarmElementSweepCsReq" => Some(Self::CmdFarmElementSweepCsReq),
            "CmdCocoonSweepCsReq" => Some(Self::CmdCocoonSweepCsReq),
            "CmdEnterAdventureScRsp" => Some(Self::CmdEnterAdventureScRsp),
            "CmdEnterAdventureCsReq" => Some(Self::CmdEnterAdventureCsReq),
            "CmdCocoonSweepScRsp" => Some(Self::CmdCocoonSweepScRsp),
            "CmdQuickStartCocoonStageCsReq" => Some(Self::CmdQuickStartCocoonStageCsReq),
            "CmdFarmElementSweepScRsp" => Some(Self::CmdFarmElementSweepScRsp),
            "CmdGetFarmStageGachaInfoCsReq" => Some(Self::CmdGetFarmStageGachaInfoCsReq),
            "CmdGetFarmStageGachaInfoScRsp" => Some(Self::CmdGetFarmStageGachaInfoScRsp),
            "CmdQuickStartCocoonStageScRsp" => Some(Self::CmdQuickStartCocoonStageScRsp),
            _ => None,
        }
    }
}
/// Obf: NOECJNGPMFK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAetherDivideType {
    None = 0,
    CmdAetherDivideTakeChallengeRewardScRsp = 4808,
    CmdAetherDivideSpiritInfoScNotify = 4818,
    CmdClearAetherDividePassiveSkillScRsp = 4823,
    CmdAetherDivideSkillItemScNotify = 4811,
    CmdAetherDivideTakeChallengeRewardCsReq = 4814,
    CmdGetAetherDivideInfoScRsp = 4807,
    CmdStartAetherDivideStageBattleScRsp = 4842,
    CmdAetherDivideLineupScNotify = 4813,
    CmdEquipAetherDividePassiveSkillCsReq = 4820,
    CmdLeaveAetherDivideSceneCsReq = 4802,
    CmdSwitchAetherDivideLineUpSlotScRsp = 4822,
    CmdAetherDivideRefreshEndlessScNotify = 4849,
    CmdStartAetherDivideChallengeBattleScRsp = 4815,
    CmdSetAetherDivideLineUpCsReq = 4850,
    CmdGetAetherDivideChallengeInfoScRsp = 4805,
    CmdAetherDivideTainerInfoScNotify = 4839,
    CmdLeaveAetherDivideSceneScRsp = 4837,
    CmdEnterAetherDivideSceneCsReq = 4804,
    CmdEnterAetherDivideSceneScRsp = 4846,
    CmdGetAetherDivideChallengeInfoCsReq = 4801,
    CmdStartAetherDivideChallengeBattleCsReq = 4827,
    CmdAetherDivideSpiritExpUpCsReq = 4829,
    CmdAetherDivideRefreshEndlessScRsp = 4821,
    CmdSetAetherDivideLineUpScRsp = 4840,
    CmdAetherDivideFinishChallengeScNotify = 4835,
    CmdEquipAetherDividePassiveSkillScRsp = 4844,
    CmdStartAetherDivideSceneBattleScRsp = 4817,
    CmdClearAetherDividePassiveSkillCsReq = 4832,
    CmdAetherDivideSpiritExpUpScRsp = 4834,
    CmdSwitchAetherDivideLineUpSlotCsReq = 4826,
    CmdGetAetherDivideInfoCsReq = 4845,
    CmdStartAetherDivideSceneBattleCsReq = 4836,
    CmdAetherDivideRefreshEndlessCsReq = 4806,
    CmdStartAetherDivideStageBattleCsReq = 4816,
}
impl CmdAetherDivideType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdAetherDivideTypeNone",
            Self::CmdAetherDivideTakeChallengeRewardScRsp => {
                "CmdAetherDivideTakeChallengeRewardScRsp"
            }
            Self::CmdAetherDivideSpiritInfoScNotify => {
                "CmdAetherDivideSpiritInfoScNotify"
            }
            Self::CmdClearAetherDividePassiveSkillScRsp => {
                "CmdClearAetherDividePassiveSkillScRsp"
            }
            Self::CmdAetherDivideSkillItemScNotify => "CmdAetherDivideSkillItemScNotify",
            Self::CmdAetherDivideTakeChallengeRewardCsReq => {
                "CmdAetherDivideTakeChallengeRewardCsReq"
            }
            Self::CmdGetAetherDivideInfoScRsp => "CmdGetAetherDivideInfoScRsp",
            Self::CmdStartAetherDivideStageBattleScRsp => {
                "CmdStartAetherDivideStageBattleScRsp"
            }
            Self::CmdAetherDivideLineupScNotify => "CmdAetherDivideLineupScNotify",
            Self::CmdEquipAetherDividePassiveSkillCsReq => {
                "CmdEquipAetherDividePassiveSkillCsReq"
            }
            Self::CmdLeaveAetherDivideSceneCsReq => "CmdLeaveAetherDivideSceneCsReq",
            Self::CmdSwitchAetherDivideLineUpSlotScRsp => {
                "CmdSwitchAetherDivideLineUpSlotScRsp"
            }
            Self::CmdAetherDivideRefreshEndlessScNotify => {
                "CmdAetherDivideRefreshEndlessScNotify"
            }
            Self::CmdStartAetherDivideChallengeBattleScRsp => {
                "CmdStartAetherDivideChallengeBattleScRsp"
            }
            Self::CmdSetAetherDivideLineUpCsReq => "CmdSetAetherDivideLineUpCsReq",
            Self::CmdGetAetherDivideChallengeInfoScRsp => {
                "CmdGetAetherDivideChallengeInfoScRsp"
            }
            Self::CmdAetherDivideTainerInfoScNotify => {
                "CmdAetherDivideTainerInfoScNotify"
            }
            Self::CmdLeaveAetherDivideSceneScRsp => "CmdLeaveAetherDivideSceneScRsp",
            Self::CmdEnterAetherDivideSceneCsReq => "CmdEnterAetherDivideSceneCsReq",
            Self::CmdEnterAetherDivideSceneScRsp => "CmdEnterAetherDivideSceneScRsp",
            Self::CmdGetAetherDivideChallengeInfoCsReq => {
                "CmdGetAetherDivideChallengeInfoCsReq"
            }
            Self::CmdStartAetherDivideChallengeBattleCsReq => {
                "CmdStartAetherDivideChallengeBattleCsReq"
            }
            Self::CmdAetherDivideSpiritExpUpCsReq => "CmdAetherDivideSpiritExpUpCsReq",
            Self::CmdAetherDivideRefreshEndlessScRsp => {
                "CmdAetherDivideRefreshEndlessScRsp"
            }
            Self::CmdSetAetherDivideLineUpScRsp => "CmdSetAetherDivideLineUpScRsp",
            Self::CmdAetherDivideFinishChallengeScNotify => {
                "CmdAetherDivideFinishChallengeScNotify"
            }
            Self::CmdEquipAetherDividePassiveSkillScRsp => {
                "CmdEquipAetherDividePassiveSkillScRsp"
            }
            Self::CmdStartAetherDivideSceneBattleScRsp => {
                "CmdStartAetherDivideSceneBattleScRsp"
            }
            Self::CmdClearAetherDividePassiveSkillCsReq => {
                "CmdClearAetherDividePassiveSkillCsReq"
            }
            Self::CmdAetherDivideSpiritExpUpScRsp => "CmdAetherDivideSpiritExpUpScRsp",
            Self::CmdSwitchAetherDivideLineUpSlotCsReq => {
                "CmdSwitchAetherDivideLineUpSlotCsReq"
            }
            Self::CmdGetAetherDivideInfoCsReq => "CmdGetAetherDivideInfoCsReq",
            Self::CmdStartAetherDivideSceneBattleCsReq => {
                "CmdStartAetherDivideSceneBattleCsReq"
            }
            Self::CmdAetherDivideRefreshEndlessCsReq => {
                "CmdAetherDivideRefreshEndlessCsReq"
            }
            Self::CmdStartAetherDivideStageBattleCsReq => {
                "CmdStartAetherDivideStageBattleCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdAetherDivideTypeNone" => Some(Self::None),
            "CmdAetherDivideTakeChallengeRewardScRsp" => {
                Some(Self::CmdAetherDivideTakeChallengeRewardScRsp)
            }
            "CmdAetherDivideSpiritInfoScNotify" => {
                Some(Self::CmdAetherDivideSpiritInfoScNotify)
            }
            "CmdClearAetherDividePassiveSkillScRsp" => {
                Some(Self::CmdClearAetherDividePassiveSkillScRsp)
            }
            "CmdAetherDivideSkillItemScNotify" => {
                Some(Self::CmdAetherDivideSkillItemScNotify)
            }
            "CmdAetherDivideTakeChallengeRewardCsReq" => {
                Some(Self::CmdAetherDivideTakeChallengeRewardCsReq)
            }
            "CmdGetAetherDivideInfoScRsp" => Some(Self::CmdGetAetherDivideInfoScRsp),
            "CmdStartAetherDivideStageBattleScRsp" => {
                Some(Self::CmdStartAetherDivideStageBattleScRsp)
            }
            "CmdAetherDivideLineupScNotify" => Some(Self::CmdAetherDivideLineupScNotify),
            "CmdEquipAetherDividePassiveSkillCsReq" => {
                Some(Self::CmdEquipAetherDividePassiveSkillCsReq)
            }
            "CmdLeaveAetherDivideSceneCsReq" => {
                Some(Self::CmdLeaveAetherDivideSceneCsReq)
            }
            "CmdSwitchAetherDivideLineUpSlotScRsp" => {
                Some(Self::CmdSwitchAetherDivideLineUpSlotScRsp)
            }
            "CmdAetherDivideRefreshEndlessScNotify" => {
                Some(Self::CmdAetherDivideRefreshEndlessScNotify)
            }
            "CmdStartAetherDivideChallengeBattleScRsp" => {
                Some(Self::CmdStartAetherDivideChallengeBattleScRsp)
            }
            "CmdSetAetherDivideLineUpCsReq" => Some(Self::CmdSetAetherDivideLineUpCsReq),
            "CmdGetAetherDivideChallengeInfoScRsp" => {
                Some(Self::CmdGetAetherDivideChallengeInfoScRsp)
            }
            "CmdAetherDivideTainerInfoScNotify" => {
                Some(Self::CmdAetherDivideTainerInfoScNotify)
            }
            "CmdLeaveAetherDivideSceneScRsp" => {
                Some(Self::CmdLeaveAetherDivideSceneScRsp)
            }
            "CmdEnterAetherDivideSceneCsReq" => {
                Some(Self::CmdEnterAetherDivideSceneCsReq)
            }
            "CmdEnterAetherDivideSceneScRsp" => {
                Some(Self::CmdEnterAetherDivideSceneScRsp)
            }
            "CmdGetAetherDivideChallengeInfoCsReq" => {
                Some(Self::CmdGetAetherDivideChallengeInfoCsReq)
            }
            "CmdStartAetherDivideChallengeBattleCsReq" => {
                Some(Self::CmdStartAetherDivideChallengeBattleCsReq)
            }
            "CmdAetherDivideSpiritExpUpCsReq" => {
                Some(Self::CmdAetherDivideSpiritExpUpCsReq)
            }
            "CmdAetherDivideRefreshEndlessScRsp" => {
                Some(Self::CmdAetherDivideRefreshEndlessScRsp)
            }
            "CmdSetAetherDivideLineUpScRsp" => Some(Self::CmdSetAetherDivideLineUpScRsp),
            "CmdAetherDivideFinishChallengeScNotify" => {
                Some(Self::CmdAetherDivideFinishChallengeScNotify)
            }
            "CmdEquipAetherDividePassiveSkillScRsp" => {
                Some(Self::CmdEquipAetherDividePassiveSkillScRsp)
            }
            "CmdStartAetherDivideSceneBattleScRsp" => {
                Some(Self::CmdStartAetherDivideSceneBattleScRsp)
            }
            "CmdClearAetherDividePassiveSkillCsReq" => {
                Some(Self::CmdClearAetherDividePassiveSkillCsReq)
            }
            "CmdAetherDivideSpiritExpUpScRsp" => {
                Some(Self::CmdAetherDivideSpiritExpUpScRsp)
            }
            "CmdSwitchAetherDivideLineUpSlotCsReq" => {
                Some(Self::CmdSwitchAetherDivideLineUpSlotCsReq)
            }
            "CmdGetAetherDivideInfoCsReq" => Some(Self::CmdGetAetherDivideInfoCsReq),
            "CmdStartAetherDivideSceneBattleCsReq" => {
                Some(Self::CmdStartAetherDivideSceneBattleCsReq)
            }
            "CmdAetherDivideRefreshEndlessCsReq" => {
                Some(Self::CmdAetherDivideRefreshEndlessCsReq)
            }
            "CmdStartAetherDivideStageBattleCsReq" => {
                Some(Self::CmdStartAetherDivideStageBattleCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: ACBFCPEHPLO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAlleyType {
    None = 0,
    CmdAlleyShipUsedCountScNotify = 4737,
    CmdAlleyTakeEventRewardCsReq = 4751,
    CmdLogisticsGameScRsp = 4740,
    CmdLogisticsDetonateStarSkiffCsReq = 4724,
    CmdAlleyPlacingGameCsReq = 4716,
    CmdAlleyTakeEventRewardScRsp = 4791,
    CmdTakePrestigeRewardCsReq = 4772,
    CmdGetSaveLogisticsMapCsReq = 4714,
    CmdLogisticsGameCsReq = 4731,
    CmdSaveLogisticsCsReq = 4763,
    CmdPrestigeLevelUpScRsp = 4777,
    CmdAlleyShipmentEventEffectsScNotify = 4725,
    CmdPrestigeLevelUpCsReq = 4742,
    CmdRefreshAlleyOrderScRsp = 4739,
    CmdAlleyGuaranteedFundsScRsp = 4775,
    CmdActivityRaidPlacingGameCsReq = 4798,
    CmdRefreshAlleyOrderCsReq = 4702,
    CmdLogisticsScoreRewardSyncInfoScNotify = 4707,
    CmdLogisticsDetonateStarSkiffScRsp = 4757,
    CmdGetAlleyInfoScRsp = 4732,
    CmdAlleyPlacingGameScRsp = 4746,
    CmdGetAlleyInfoCsReq = 4795,
    CmdStartAlleyEventScRsp = 4752,
    CmdTakePrestigeRewardScRsp = 4785,
    CmdAlleyEventEffectNotify = 4756,
    CmdAlleyShopLevelScNotify = 4721,
    CmdAlleyOrderChangedScNotify = 4743,
    CmdSaveLogisticsScRsp = 4711,
    CmdAlleyShipUnlockScNotify = 4729,
    CmdAlleyFundsScNotify = 4758,
    CmdStartAlleyEventCsReq = 4771,
    CmdLogisticsInfoScNotify = 4793,
    CmdGetSaveLogisticsMapScRsp = 4784,
    CmdAlleyEventChangeNotify = 4722,
    CmdActivityRaidPlacingGameScRsp = 4764,
    CmdAlleyGuaranteedFundsCsReq = 4730,
}
impl CmdAlleyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdAlleyTypeNone",
            Self::CmdAlleyShipUsedCountScNotify => "CmdAlleyShipUsedCountScNotify",
            Self::CmdAlleyTakeEventRewardCsReq => "CmdAlleyTakeEventRewardCsReq",
            Self::CmdLogisticsGameScRsp => "CmdLogisticsGameScRsp",
            Self::CmdLogisticsDetonateStarSkiffCsReq => {
                "CmdLogisticsDetonateStarSkiffCsReq"
            }
            Self::CmdAlleyPlacingGameCsReq => "CmdAlleyPlacingGameCsReq",
            Self::CmdAlleyTakeEventRewardScRsp => "CmdAlleyTakeEventRewardScRsp",
            Self::CmdTakePrestigeRewardCsReq => "CmdTakePrestigeRewardCsReq",
            Self::CmdGetSaveLogisticsMapCsReq => "CmdGetSaveLogisticsMapCsReq",
            Self::CmdLogisticsGameCsReq => "CmdLogisticsGameCsReq",
            Self::CmdSaveLogisticsCsReq => "CmdSaveLogisticsCsReq",
            Self::CmdPrestigeLevelUpScRsp => "CmdPrestigeLevelUpScRsp",
            Self::CmdAlleyShipmentEventEffectsScNotify => {
                "CmdAlleyShipmentEventEffectsScNotify"
            }
            Self::CmdPrestigeLevelUpCsReq => "CmdPrestigeLevelUpCsReq",
            Self::CmdRefreshAlleyOrderScRsp => "CmdRefreshAlleyOrderScRsp",
            Self::CmdAlleyGuaranteedFundsScRsp => "CmdAlleyGuaranteedFundsScRsp",
            Self::CmdActivityRaidPlacingGameCsReq => "CmdActivityRaidPlacingGameCsReq",
            Self::CmdRefreshAlleyOrderCsReq => "CmdRefreshAlleyOrderCsReq",
            Self::CmdLogisticsScoreRewardSyncInfoScNotify => {
                "CmdLogisticsScoreRewardSyncInfoScNotify"
            }
            Self::CmdLogisticsDetonateStarSkiffScRsp => {
                "CmdLogisticsDetonateStarSkiffScRsp"
            }
            Self::CmdGetAlleyInfoScRsp => "CmdGetAlleyInfoScRsp",
            Self::CmdAlleyPlacingGameScRsp => "CmdAlleyPlacingGameScRsp",
            Self::CmdGetAlleyInfoCsReq => "CmdGetAlleyInfoCsReq",
            Self::CmdStartAlleyEventScRsp => "CmdStartAlleyEventScRsp",
            Self::CmdTakePrestigeRewardScRsp => "CmdTakePrestigeRewardScRsp",
            Self::CmdAlleyEventEffectNotify => "CmdAlleyEventEffectNotify",
            Self::CmdAlleyShopLevelScNotify => "CmdAlleyShopLevelScNotify",
            Self::CmdAlleyOrderChangedScNotify => "CmdAlleyOrderChangedScNotify",
            Self::CmdSaveLogisticsScRsp => "CmdSaveLogisticsScRsp",
            Self::CmdAlleyShipUnlockScNotify => "CmdAlleyShipUnlockScNotify",
            Self::CmdAlleyFundsScNotify => "CmdAlleyFundsScNotify",
            Self::CmdStartAlleyEventCsReq => "CmdStartAlleyEventCsReq",
            Self::CmdLogisticsInfoScNotify => "CmdLogisticsInfoScNotify",
            Self::CmdGetSaveLogisticsMapScRsp => "CmdGetSaveLogisticsMapScRsp",
            Self::CmdAlleyEventChangeNotify => "CmdAlleyEventChangeNotify",
            Self::CmdActivityRaidPlacingGameScRsp => "CmdActivityRaidPlacingGameScRsp",
            Self::CmdAlleyGuaranteedFundsCsReq => "CmdAlleyGuaranteedFundsCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdAlleyTypeNone" => Some(Self::None),
            "CmdAlleyShipUsedCountScNotify" => Some(Self::CmdAlleyShipUsedCountScNotify),
            "CmdAlleyTakeEventRewardCsReq" => Some(Self::CmdAlleyTakeEventRewardCsReq),
            "CmdLogisticsGameScRsp" => Some(Self::CmdLogisticsGameScRsp),
            "CmdLogisticsDetonateStarSkiffCsReq" => {
                Some(Self::CmdLogisticsDetonateStarSkiffCsReq)
            }
            "CmdAlleyPlacingGameCsReq" => Some(Self::CmdAlleyPlacingGameCsReq),
            "CmdAlleyTakeEventRewardScRsp" => Some(Self::CmdAlleyTakeEventRewardScRsp),
            "CmdTakePrestigeRewardCsReq" => Some(Self::CmdTakePrestigeRewardCsReq),
            "CmdGetSaveLogisticsMapCsReq" => Some(Self::CmdGetSaveLogisticsMapCsReq),
            "CmdLogisticsGameCsReq" => Some(Self::CmdLogisticsGameCsReq),
            "CmdSaveLogisticsCsReq" => Some(Self::CmdSaveLogisticsCsReq),
            "CmdPrestigeLevelUpScRsp" => Some(Self::CmdPrestigeLevelUpScRsp),
            "CmdAlleyShipmentEventEffectsScNotify" => {
                Some(Self::CmdAlleyShipmentEventEffectsScNotify)
            }
            "CmdPrestigeLevelUpCsReq" => Some(Self::CmdPrestigeLevelUpCsReq),
            "CmdRefreshAlleyOrderScRsp" => Some(Self::CmdRefreshAlleyOrderScRsp),
            "CmdAlleyGuaranteedFundsScRsp" => Some(Self::CmdAlleyGuaranteedFundsScRsp),
            "CmdActivityRaidPlacingGameCsReq" => {
                Some(Self::CmdActivityRaidPlacingGameCsReq)
            }
            "CmdRefreshAlleyOrderCsReq" => Some(Self::CmdRefreshAlleyOrderCsReq),
            "CmdLogisticsScoreRewardSyncInfoScNotify" => {
                Some(Self::CmdLogisticsScoreRewardSyncInfoScNotify)
            }
            "CmdLogisticsDetonateStarSkiffScRsp" => {
                Some(Self::CmdLogisticsDetonateStarSkiffScRsp)
            }
            "CmdGetAlleyInfoScRsp" => Some(Self::CmdGetAlleyInfoScRsp),
            "CmdAlleyPlacingGameScRsp" => Some(Self::CmdAlleyPlacingGameScRsp),
            "CmdGetAlleyInfoCsReq" => Some(Self::CmdGetAlleyInfoCsReq),
            "CmdStartAlleyEventScRsp" => Some(Self::CmdStartAlleyEventScRsp),
            "CmdTakePrestigeRewardScRsp" => Some(Self::CmdTakePrestigeRewardScRsp),
            "CmdAlleyEventEffectNotify" => Some(Self::CmdAlleyEventEffectNotify),
            "CmdAlleyShopLevelScNotify" => Some(Self::CmdAlleyShopLevelScNotify),
            "CmdAlleyOrderChangedScNotify" => Some(Self::CmdAlleyOrderChangedScNotify),
            "CmdSaveLogisticsScRsp" => Some(Self::CmdSaveLogisticsScRsp),
            "CmdAlleyShipUnlockScNotify" => Some(Self::CmdAlleyShipUnlockScNotify),
            "CmdAlleyFundsScNotify" => Some(Self::CmdAlleyFundsScNotify),
            "CmdStartAlleyEventCsReq" => Some(Self::CmdStartAlleyEventCsReq),
            "CmdLogisticsInfoScNotify" => Some(Self::CmdLogisticsInfoScNotify),
            "CmdGetSaveLogisticsMapScRsp" => Some(Self::CmdGetSaveLogisticsMapScRsp),
            "CmdAlleyEventChangeNotify" => Some(Self::CmdAlleyEventChangeNotify),
            "CmdActivityRaidPlacingGameScRsp" => {
                Some(Self::CmdActivityRaidPlacingGameScRsp)
            }
            "CmdAlleyGuaranteedFundsCsReq" => Some(Self::CmdAlleyGuaranteedFundsCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gbphkkmolmf {
    Left = 0,
    Right = 1,
    Up = 2,
    Down = 3,
    LeftUp = 4,
    LeftDown = 5,
    RightUp = 6,
    RightDown = 7,
}
impl Gbphkkmolmf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Left => "LEFT",
            Self::Right => "RIGHT",
            Self::Up => "UP",
            Self::Down => "DOWN",
            Self::LeftUp => "LEFT_UP",
            Self::LeftDown => "LEFT_DOWN",
            Self::RightUp => "RIGHT_UP",
            Self::RightDown => "RIGHT_DOWN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LEFT" => Some(Self::Left),
            "RIGHT" => Some(Self::Right),
            "UP" => Some(Self::Up),
            "DOWN" => Some(Self::Down),
            "LEFT_UP" => Some(Self::LeftUp),
            "LEFT_DOWN" => Some(Self::LeftDown),
            "RIGHT_UP" => Some(Self::RightUp),
            "RIGHT_DOWN" => Some(Self::RightDown),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cfancffhhkb {
    AlleyEventTypeNone = 0,
    AlleyMainEvent = 1,
    AlleyCriticalEvent = 2,
    AlleyDailyEvent = 3,
}
impl Cfancffhhkb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AlleyEventTypeNone => "ALLEY_EVENT_TYPE_NONE",
            Self::AlleyMainEvent => "ALLEY_MAIN_EVENT",
            Self::AlleyCriticalEvent => "ALLEY_CRITICAL_EVENT",
            Self::AlleyDailyEvent => "ALLEY_DAILY_EVENT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ALLEY_EVENT_TYPE_NONE" => Some(Self::AlleyEventTypeNone),
            "ALLEY_MAIN_EVENT" => Some(Self::AlleyMainEvent),
            "ALLEY_CRITICAL_EVENT" => Some(Self::AlleyCriticalEvent),
            "ALLEY_DAILY_EVENT" => Some(Self::AlleyDailyEvent),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bjlncfjoiaf {
    AlleyStateNone = 0,
    AlleyEventDoing = 1,
    AlleyEventFinish = 2,
    AlleyEventRewarded = 3,
}
impl Bjlncfjoiaf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AlleyStateNone => "ALLEY_STATE_NONE",
            Self::AlleyEventDoing => "ALLEY_EVENT_DOING",
            Self::AlleyEventFinish => "ALLEY_EVENT_FINISH",
            Self::AlleyEventRewarded => "ALLEY_EVENT_REWARDED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ALLEY_STATE_NONE" => Some(Self::AlleyStateNone),
            "ALLEY_EVENT_DOING" => Some(Self::AlleyEventDoing),
            "ALLEY_EVENT_FINISH" => Some(Self::AlleyEventFinish),
            "ALLEY_EVENT_REWARDED" => Some(Self::AlleyEventRewarded),
            _ => None,
        }
    }
}
/// Obf: ADIFBKPHBAP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdArchiveType {
    None = 0,
    CmdGetArchiveDataCsReq = 2395,
    CmdGetUpdatedArchiveDataScRsp = 2340,
    CmdGetArchiveDataScRsp = 2332,
    CmdGetUpdatedArchiveDataCsReq = 2331,
}
impl CmdArchiveType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdArchiveTypeNone",
            Self::CmdGetArchiveDataCsReq => "CmdGetArchiveDataCsReq",
            Self::CmdGetUpdatedArchiveDataScRsp => "CmdGetUpdatedArchiveDataScRsp",
            Self::CmdGetArchiveDataScRsp => "CmdGetArchiveDataScRsp",
            Self::CmdGetUpdatedArchiveDataCsReq => "CmdGetUpdatedArchiveDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdArchiveTypeNone" => Some(Self::None),
            "CmdGetArchiveDataCsReq" => Some(Self::CmdGetArchiveDataCsReq),
            "CmdGetUpdatedArchiveDataScRsp" => Some(Self::CmdGetUpdatedArchiveDataScRsp),
            "CmdGetArchiveDataScRsp" => Some(Self::CmdGetArchiveDataScRsp),
            "CmdGetUpdatedArchiveDataCsReq" => Some(Self::CmdGetUpdatedArchiveDataCsReq),
            _ => None,
        }
    }
}
/// Obf: FLJCHOOCKEK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAvatarType {
    None = 0,
    CmdAvatarExpUpScRsp = 340,
    CmdTakeOffAvatarSkinCsReq = 321,
    CmdTakeOffEquipmentScRsp = 385,
    CmdDressAvatarSkinScRsp = 358,
    CmdTakePromotionRewardCsReq = 333,
    CmdAddAvatarScNotify = 316,
    CmdMarkAvatarCsReq = 311,
    CmdUnlockSkilltreeCsReq = 376,
    CmdPromoteAvatarCsReq = 371,
    CmdGetPreAvatarGrowthInfoScRsp = 375,
    CmdDressAvatarSkinCsReq = 377,
    CmdDressRelicAvatarScRsp = 302,
    CmdRankUpAvatarCsReq = 346,
    CmdTakeOffEquipmentCsReq = 372,
    CmdGetAvatarDataScRsp = 332,
    CmdDressAvatarScRsp = 356,
    CmdDressRelicAvatarCsReq = 360,
    CmdUnlockAvatarSkinScNotify = 363,
    CmdPromoteAvatarScRsp = 352,
    CmdSetGrowthTargetAvatarScRsp = 384,
    CmdAvatarExpUpCsReq = 331,
    CmdAddMultiPathAvatarScNotify = 325,
    CmdRankUpAvatarScRsp = 383,
    CmdSetGrowthTargetAvatarCsReq = 314,
    CmdTakeOffRelicCsReq = 339,
    CmdDressAvatarCsReq = 322,
    CmdTakePromotionRewardScRsp = 342,
    CmdTakeOffRelicScRsp = 343,
    CmdGrowthTargetAvatarChangedScNotify = 337,
    CmdGetAvatarDataCsReq = 395,
    CmdGetPreAvatarGrowthInfoCsReq = 330,
    CmdTakeOffAvatarSkinScRsp = 329,
    CmdMarkAvatarScRsp = 393,
    CmdGetPreAvatarListCsReq = 351,
    CmdUnlockSkilltreeScRsp = 348,
    CmdGetPreAvatarListScRsp = 391,
}
impl CmdAvatarType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdAvatarTypeNone",
            Self::CmdAvatarExpUpScRsp => "CmdAvatarExpUpScRsp",
            Self::CmdTakeOffAvatarSkinCsReq => "CmdTakeOffAvatarSkinCsReq",
            Self::CmdTakeOffEquipmentScRsp => "CmdTakeOffEquipmentScRsp",
            Self::CmdDressAvatarSkinScRsp => "CmdDressAvatarSkinScRsp",
            Self::CmdTakePromotionRewardCsReq => "CmdTakePromotionRewardCsReq",
            Self::CmdAddAvatarScNotify => "CmdAddAvatarScNotify",
            Self::CmdMarkAvatarCsReq => "CmdMarkAvatarCsReq",
            Self::CmdUnlockSkilltreeCsReq => "CmdUnlockSkilltreeCsReq",
            Self::CmdPromoteAvatarCsReq => "CmdPromoteAvatarCsReq",
            Self::CmdGetPreAvatarGrowthInfoScRsp => "CmdGetPreAvatarGrowthInfoScRsp",
            Self::CmdDressAvatarSkinCsReq => "CmdDressAvatarSkinCsReq",
            Self::CmdDressRelicAvatarScRsp => "CmdDressRelicAvatarScRsp",
            Self::CmdRankUpAvatarCsReq => "CmdRankUpAvatarCsReq",
            Self::CmdTakeOffEquipmentCsReq => "CmdTakeOffEquipmentCsReq",
            Self::CmdGetAvatarDataScRsp => "CmdGetAvatarDataScRsp",
            Self::CmdDressAvatarScRsp => "CmdDressAvatarScRsp",
            Self::CmdDressRelicAvatarCsReq => "CmdDressRelicAvatarCsReq",
            Self::CmdUnlockAvatarSkinScNotify => "CmdUnlockAvatarSkinScNotify",
            Self::CmdPromoteAvatarScRsp => "CmdPromoteAvatarScRsp",
            Self::CmdSetGrowthTargetAvatarScRsp => "CmdSetGrowthTargetAvatarScRsp",
            Self::CmdAvatarExpUpCsReq => "CmdAvatarExpUpCsReq",
            Self::CmdAddMultiPathAvatarScNotify => "CmdAddMultiPathAvatarScNotify",
            Self::CmdRankUpAvatarScRsp => "CmdRankUpAvatarScRsp",
            Self::CmdSetGrowthTargetAvatarCsReq => "CmdSetGrowthTargetAvatarCsReq",
            Self::CmdTakeOffRelicCsReq => "CmdTakeOffRelicCsReq",
            Self::CmdDressAvatarCsReq => "CmdDressAvatarCsReq",
            Self::CmdTakePromotionRewardScRsp => "CmdTakePromotionRewardScRsp",
            Self::CmdTakeOffRelicScRsp => "CmdTakeOffRelicScRsp",
            Self::CmdGrowthTargetAvatarChangedScNotify => {
                "CmdGrowthTargetAvatarChangedScNotify"
            }
            Self::CmdGetAvatarDataCsReq => "CmdGetAvatarDataCsReq",
            Self::CmdGetPreAvatarGrowthInfoCsReq => "CmdGetPreAvatarGrowthInfoCsReq",
            Self::CmdTakeOffAvatarSkinScRsp => "CmdTakeOffAvatarSkinScRsp",
            Self::CmdMarkAvatarScRsp => "CmdMarkAvatarScRsp",
            Self::CmdGetPreAvatarListCsReq => "CmdGetPreAvatarListCsReq",
            Self::CmdUnlockSkilltreeScRsp => "CmdUnlockSkilltreeScRsp",
            Self::CmdGetPreAvatarListScRsp => "CmdGetPreAvatarListScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdAvatarTypeNone" => Some(Self::None),
            "CmdAvatarExpUpScRsp" => Some(Self::CmdAvatarExpUpScRsp),
            "CmdTakeOffAvatarSkinCsReq" => Some(Self::CmdTakeOffAvatarSkinCsReq),
            "CmdTakeOffEquipmentScRsp" => Some(Self::CmdTakeOffEquipmentScRsp),
            "CmdDressAvatarSkinScRsp" => Some(Self::CmdDressAvatarSkinScRsp),
            "CmdTakePromotionRewardCsReq" => Some(Self::CmdTakePromotionRewardCsReq),
            "CmdAddAvatarScNotify" => Some(Self::CmdAddAvatarScNotify),
            "CmdMarkAvatarCsReq" => Some(Self::CmdMarkAvatarCsReq),
            "CmdUnlockSkilltreeCsReq" => Some(Self::CmdUnlockSkilltreeCsReq),
            "CmdPromoteAvatarCsReq" => Some(Self::CmdPromoteAvatarCsReq),
            "CmdGetPreAvatarGrowthInfoScRsp" => {
                Some(Self::CmdGetPreAvatarGrowthInfoScRsp)
            }
            "CmdDressAvatarSkinCsReq" => Some(Self::CmdDressAvatarSkinCsReq),
            "CmdDressRelicAvatarScRsp" => Some(Self::CmdDressRelicAvatarScRsp),
            "CmdRankUpAvatarCsReq" => Some(Self::CmdRankUpAvatarCsReq),
            "CmdTakeOffEquipmentCsReq" => Some(Self::CmdTakeOffEquipmentCsReq),
            "CmdGetAvatarDataScRsp" => Some(Self::CmdGetAvatarDataScRsp),
            "CmdDressAvatarScRsp" => Some(Self::CmdDressAvatarScRsp),
            "CmdDressRelicAvatarCsReq" => Some(Self::CmdDressRelicAvatarCsReq),
            "CmdUnlockAvatarSkinScNotify" => Some(Self::CmdUnlockAvatarSkinScNotify),
            "CmdPromoteAvatarScRsp" => Some(Self::CmdPromoteAvatarScRsp),
            "CmdSetGrowthTargetAvatarScRsp" => Some(Self::CmdSetGrowthTargetAvatarScRsp),
            "CmdAvatarExpUpCsReq" => Some(Self::CmdAvatarExpUpCsReq),
            "CmdAddMultiPathAvatarScNotify" => Some(Self::CmdAddMultiPathAvatarScNotify),
            "CmdRankUpAvatarScRsp" => Some(Self::CmdRankUpAvatarScRsp),
            "CmdSetGrowthTargetAvatarCsReq" => Some(Self::CmdSetGrowthTargetAvatarCsReq),
            "CmdTakeOffRelicCsReq" => Some(Self::CmdTakeOffRelicCsReq),
            "CmdDressAvatarCsReq" => Some(Self::CmdDressAvatarCsReq),
            "CmdTakePromotionRewardScRsp" => Some(Self::CmdTakePromotionRewardScRsp),
            "CmdTakeOffRelicScRsp" => Some(Self::CmdTakeOffRelicScRsp),
            "CmdGrowthTargetAvatarChangedScNotify" => {
                Some(Self::CmdGrowthTargetAvatarChangedScNotify)
            }
            "CmdGetAvatarDataCsReq" => Some(Self::CmdGetAvatarDataCsReq),
            "CmdGetPreAvatarGrowthInfoCsReq" => {
                Some(Self::CmdGetPreAvatarGrowthInfoCsReq)
            }
            "CmdTakeOffAvatarSkinScRsp" => Some(Self::CmdTakeOffAvatarSkinScRsp),
            "CmdMarkAvatarScRsp" => Some(Self::CmdMarkAvatarScRsp),
            "CmdGetPreAvatarListCsReq" => Some(Self::CmdGetPreAvatarListCsReq),
            "CmdUnlockSkilltreeScRsp" => Some(Self::CmdUnlockSkilltreeScRsp),
            "CmdGetPreAvatarListScRsp" => Some(Self::CmdGetPreAvatarListScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bcmljcfoefm {
    GrowthTargetFunctionTypeIncludeAllSkilltree = 0,
}
impl Bcmljcfoefm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::GrowthTargetFunctionTypeIncludeAllSkilltree => {
                "GROWTH_TARGET_FUNCTION_TYPE_INCLUDE_ALL_SKILLTREE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GROWTH_TARGET_FUNCTION_TYPE_INCLUDE_ALL_SKILLTREE" => {
                Some(Self::GrowthTargetFunctionTypeIncludeAllSkilltree)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AddAvatarSrc {
    None = 0,
    Gacha = 1,
    Rogue = 2,
}
impl AddAvatarSrc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "ADD_AVATAR_SRC_NONE",
            Self::Gacha => "ADD_AVATAR_SRC_GACHA",
            Self::Rogue => "ADD_AVATAR_SRC_ROGUE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ADD_AVATAR_SRC_NONE" => Some(Self::None),
            "ADD_AVATAR_SRC_GACHA" => Some(Self::Gacha),
            "ADD_AVATAR_SRC_ROGUE" => Some(Self::Rogue),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gifjdobiiik {
    GrowthTargetAvatarNone = 0,
    GrowthTargetAvatarPre = 1,
    GrowthTargetAvatarUp = 2,
    GrowthTargetAvatarLock = 3,
    GrowthTargetAvatarUnlock = 4,
    GrowthTargetAvatarLockAndUp = 5,
}
impl Gifjdobiiik {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::GrowthTargetAvatarNone => "GROWTH_TARGET_AVATAR_NONE",
            Self::GrowthTargetAvatarPre => "GROWTH_TARGET_AVATAR_PRE",
            Self::GrowthTargetAvatarUp => "GROWTH_TARGET_AVATAR_UP",
            Self::GrowthTargetAvatarLock => "GROWTH_TARGET_AVATAR_LOCK",
            Self::GrowthTargetAvatarUnlock => "GROWTH_TARGET_AVATAR_UNLOCK",
            Self::GrowthTargetAvatarLockAndUp => "GROWTH_TARGET_AVATAR_LOCK_AND_UP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GROWTH_TARGET_AVATAR_NONE" => Some(Self::GrowthTargetAvatarNone),
            "GROWTH_TARGET_AVATAR_PRE" => Some(Self::GrowthTargetAvatarPre),
            "GROWTH_TARGET_AVATAR_UP" => Some(Self::GrowthTargetAvatarUp),
            "GROWTH_TARGET_AVATAR_LOCK" => Some(Self::GrowthTargetAvatarLock),
            "GROWTH_TARGET_AVATAR_UNLOCK" => Some(Self::GrowthTargetAvatarUnlock),
            "GROWTH_TARGET_AVATAR_LOCK_AND_UP" => Some(Self::GrowthTargetAvatarLockAndUp),
            _ => None,
        }
    }
}
/// Obf: IFHMDMPJKCA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattleType {
    None = 0,
    CmdPveBattleResultCsReq = 195,
    CmdPveBattleResultScRsp = 132,
    CmdSyncClientResVersionCsReq = 171,
    CmdBattleLogReportScRsp = 172,
    CmdQuitBattleScRsp = 140,
    CmdBattleLogReportCsReq = 156,
    CmdQuitBattleScNotify = 122,
    CmdGetCurBattleInfoScRsp = 148,
    CmdGetCurBattleInfoCsReq = 176,
    CmdReBattleAfterBattleLoseCsNotify = 116,
    CmdQuitBattleCsReq = 131,
    CmdServerSimulateBattleFinishScNotify = 185,
    CmdRebattleByClientCsNotify = 146,
    CmdSyncClientResVersionScRsp = 152,
}
impl CmdBattleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdBattleTypeNone",
            Self::CmdPveBattleResultCsReq => "CmdPVEBattleResultCsReq",
            Self::CmdPveBattleResultScRsp => "CmdPVEBattleResultScRsp",
            Self::CmdSyncClientResVersionCsReq => "CmdSyncClientResVersionCsReq",
            Self::CmdBattleLogReportScRsp => "CmdBattleLogReportScRsp",
            Self::CmdQuitBattleScRsp => "CmdQuitBattleScRsp",
            Self::CmdBattleLogReportCsReq => "CmdBattleLogReportCsReq",
            Self::CmdQuitBattleScNotify => "CmdQuitBattleScNotify",
            Self::CmdGetCurBattleInfoScRsp => "CmdGetCurBattleInfoScRsp",
            Self::CmdGetCurBattleInfoCsReq => "CmdGetCurBattleInfoCsReq",
            Self::CmdReBattleAfterBattleLoseCsNotify => {
                "CmdReBattleAfterBattleLoseCsNotify"
            }
            Self::CmdQuitBattleCsReq => "CmdQuitBattleCsReq",
            Self::CmdServerSimulateBattleFinishScNotify => {
                "CmdServerSimulateBattleFinishScNotify"
            }
            Self::CmdRebattleByClientCsNotify => "CmdRebattleByClientCsNotify",
            Self::CmdSyncClientResVersionScRsp => "CmdSyncClientResVersionScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBattleTypeNone" => Some(Self::None),
            "CmdPVEBattleResultCsReq" => Some(Self::CmdPveBattleResultCsReq),
            "CmdPVEBattleResultScRsp" => Some(Self::CmdPveBattleResultScRsp),
            "CmdSyncClientResVersionCsReq" => Some(Self::CmdSyncClientResVersionCsReq),
            "CmdBattleLogReportScRsp" => Some(Self::CmdBattleLogReportScRsp),
            "CmdQuitBattleScRsp" => Some(Self::CmdQuitBattleScRsp),
            "CmdBattleLogReportCsReq" => Some(Self::CmdBattleLogReportCsReq),
            "CmdQuitBattleScNotify" => Some(Self::CmdQuitBattleScNotify),
            "CmdGetCurBattleInfoScRsp" => Some(Self::CmdGetCurBattleInfoScRsp),
            "CmdGetCurBattleInfoCsReq" => Some(Self::CmdGetCurBattleInfoCsReq),
            "CmdReBattleAfterBattleLoseCsNotify" => {
                Some(Self::CmdReBattleAfterBattleLoseCsNotify)
            }
            "CmdQuitBattleCsReq" => Some(Self::CmdQuitBattleCsReq),
            "CmdServerSimulateBattleFinishScNotify" => {
                Some(Self::CmdServerSimulateBattleFinishScNotify)
            }
            "CmdRebattleByClientCsNotify" => Some(Self::CmdRebattleByClientCsNotify),
            "CmdSyncClientResVersionScRsp" => Some(Self::CmdSyncClientResVersionScRsp),
            _ => None,
        }
    }
}
/// Obf: LEMLEAEGGJH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattleCollegeType {
    None = 0,
    CmdGetBattleCollegeDataCsReq = 5795,
    CmdStartBattleCollegeCsReq = 5740,
    CmdBattleCollegeDataChangeScNotify = 5731,
    CmdGetBattleCollegeDataScRsp = 5732,
    CmdStartBattleCollegeScRsp = 5776,
}
impl CmdBattleCollegeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdBattleCollegeTypeNone",
            Self::CmdGetBattleCollegeDataCsReq => "CmdGetBattleCollegeDataCsReq",
            Self::CmdStartBattleCollegeCsReq => "CmdStartBattleCollegeCsReq",
            Self::CmdBattleCollegeDataChangeScNotify => {
                "CmdBattleCollegeDataChangeScNotify"
            }
            Self::CmdGetBattleCollegeDataScRsp => "CmdGetBattleCollegeDataScRsp",
            Self::CmdStartBattleCollegeScRsp => "CmdStartBattleCollegeScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBattleCollegeTypeNone" => Some(Self::None),
            "CmdGetBattleCollegeDataCsReq" => Some(Self::CmdGetBattleCollegeDataCsReq),
            "CmdStartBattleCollegeCsReq" => Some(Self::CmdStartBattleCollegeCsReq),
            "CmdBattleCollegeDataChangeScNotify" => {
                Some(Self::CmdBattleCollegeDataChangeScNotify)
            }
            "CmdGetBattleCollegeDataScRsp" => Some(Self::CmdGetBattleCollegeDataScRsp),
            "CmdStartBattleCollegeScRsp" => Some(Self::CmdStartBattleCollegeScRsp),
            _ => None,
        }
    }
}
/// Obf: NLEECJNKPHJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattlePassType {
    None = 0,
    CmdTakeBpRewardCsReq = 3040,
    CmdTakeAllRewardScRsp = 3022,
    CmdTakeBpRewardScRsp = 3076,
    CmdBattlePassInfoNotify = 3095,
    CmdBuyBpLevelScRsp = 3071,
    CmdBuyBpLevelCsReq = 3048,
    CmdTakeAllRewardCsReq = 3052,
}
impl CmdBattlePassType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdBattlePassTypeNone",
            Self::CmdTakeBpRewardCsReq => "CmdTakeBpRewardCsReq",
            Self::CmdTakeAllRewardScRsp => "CmdTakeAllRewardScRsp",
            Self::CmdTakeBpRewardScRsp => "CmdTakeBpRewardScRsp",
            Self::CmdBattlePassInfoNotify => "CmdBattlePassInfoNotify",
            Self::CmdBuyBpLevelScRsp => "CmdBuyBpLevelScRsp",
            Self::CmdBuyBpLevelCsReq => "CmdBuyBpLevelCsReq",
            Self::CmdTakeAllRewardCsReq => "CmdTakeAllRewardCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBattlePassTypeNone" => Some(Self::None),
            "CmdTakeBpRewardCsReq" => Some(Self::CmdTakeBpRewardCsReq),
            "CmdTakeAllRewardScRsp" => Some(Self::CmdTakeAllRewardScRsp),
            "CmdTakeBpRewardScRsp" => Some(Self::CmdTakeBpRewardScRsp),
            "CmdBattlePassInfoNotify" => Some(Self::CmdBattlePassInfoNotify),
            "CmdBuyBpLevelScRsp" => Some(Self::CmdBuyBpLevelScRsp),
            "CmdBuyBpLevelCsReq" => Some(Self::CmdBuyBpLevelCsReq),
            "CmdTakeAllRewardCsReq" => Some(Self::CmdTakeAllRewardCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BpTierType {
    None = 0,
    Free = 1,
    Premium1 = 2,
    Premium2 = 3,
}
impl BpTierType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "BP_TIER_TYPE_NONE",
            Self::Free => "BP_TIER_TYPE_FREE",
            Self::Premium1 => "BP_TIER_TYPE_PREMIUM_1",
            Self::Premium2 => "BP_TIER_TYPE_PREMIUM_2",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BP_TIER_TYPE_NONE" => Some(Self::None),
            "BP_TIER_TYPE_FREE" => Some(Self::Free),
            "BP_TIER_TYPE_PREMIUM_1" => Some(Self::Premium1),
            "BP_TIER_TYPE_PREMIUM_2" => Some(Self::Premium2),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BpRewardType {
    BpRewaradTypeNone = 0,
    BpRewaradTypeFree = 1,
    BpRewaradTypePremium1 = 2,
    BpRewaradTypePremium2 = 3,
    BpRewaradTypePremiumOptional = 4,
}
impl BpRewardType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BpRewaradTypeNone => "BP_REWARAD_TYPE_NONE",
            Self::BpRewaradTypeFree => "BP_REWARAD_TYPE_FREE",
            Self::BpRewaradTypePremium1 => "BP_REWARAD_TYPE_PREMIUM_1",
            Self::BpRewaradTypePremium2 => "BP_REWARAD_TYPE_PREMIUM_2",
            Self::BpRewaradTypePremiumOptional => "BP_REWARAD_TYPE_PREMIUM_OPTIONAL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BP_REWARAD_TYPE_NONE" => Some(Self::BpRewaradTypeNone),
            "BP_REWARAD_TYPE_FREE" => Some(Self::BpRewaradTypeFree),
            "BP_REWARAD_TYPE_PREMIUM_1" => Some(Self::BpRewaradTypePremium1),
            "BP_REWARAD_TYPE_PREMIUM_2" => Some(Self::BpRewaradTypePremium2),
            "BP_REWARAD_TYPE_PREMIUM_OPTIONAL" => {
                Some(Self::BpRewaradTypePremiumOptional)
            }
            _ => None,
        }
    }
}
/// Obf: EJINLEIJIFO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBenefitActivityType {
    None = 0,
    CmdTakeBenefitActivityRewardCsReq = 4852,
    CmdGetBenefitActivityInfoScRsp = 4896,
    CmdJoinBenefitActivityScRsp = 4867,
    CmdJoinBenefitActivityCsReq = 4886,
    CmdGetBenefitActivityInfoCsReq = 4854,
    CmdTakeBenefitActivityRewardScRsp = 4887,
}
impl CmdBenefitActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdBenefitActivityTypeNone",
            Self::CmdTakeBenefitActivityRewardCsReq => {
                "CmdTakeBenefitActivityRewardCsReq"
            }
            Self::CmdGetBenefitActivityInfoScRsp => "CmdGetBenefitActivityInfoScRsp",
            Self::CmdJoinBenefitActivityScRsp => "CmdJoinBenefitActivityScRsp",
            Self::CmdJoinBenefitActivityCsReq => "CmdJoinBenefitActivityCsReq",
            Self::CmdGetBenefitActivityInfoCsReq => "CmdGetBenefitActivityInfoCsReq",
            Self::CmdTakeBenefitActivityRewardScRsp => {
                "CmdTakeBenefitActivityRewardScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBenefitActivityTypeNone" => Some(Self::None),
            "CmdTakeBenefitActivityRewardCsReq" => {
                Some(Self::CmdTakeBenefitActivityRewardCsReq)
            }
            "CmdGetBenefitActivityInfoScRsp" => {
                Some(Self::CmdGetBenefitActivityInfoScRsp)
            }
            "CmdJoinBenefitActivityScRsp" => Some(Self::CmdJoinBenefitActivityScRsp),
            "CmdJoinBenefitActivityCsReq" => Some(Self::CmdJoinBenefitActivityCsReq),
            "CmdGetBenefitActivityInfoCsReq" => {
                Some(Self::CmdGetBenefitActivityInfoCsReq)
            }
            "CmdTakeBenefitActivityRewardScRsp" => {
                Some(Self::CmdTakeBenefitActivityRewardScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: PHMBPPHJMIL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBoxingClubType {
    None = 0,
    CmdStartBoxingClubBattleScRsp = 4248,
    CmdSetBoxingClubResonanceLineupScRsp = 4246,
    CmdSetBoxingClubResonanceLineupCsReq = 4216,
    CmdBoxingClubChallengeUpdateScNotify = 4256,
    CmdGiveUpBoxingClubChallengeScRsp = 4252,
    CmdGiveUpBoxingClubChallengeCsReq = 4271,
    CmdChooseBoxingClubResonanceCsReq = 4272,
    CmdChooseBoxingClubResonanceScRsp = 4285,
    CmdBoxingClubRewardScNotify = 4222,
    CmdGetBoxingClubInfoCsReq = 4295,
    CmdStartBoxingClubBattleCsReq = 4276,
    CmdMatchBoxingClubOpponentCsReq = 4231,
    CmdChooseBoxingClubStageOptionalBuffCsReq = 4283,
    CmdGetBoxingClubInfoScRsp = 4232,
    CmdChooseBoxingClubStageOptionalBuffScRsp = 4260,
    CmdMatchBoxingClubOpponentScRsp = 4240,
}
impl CmdBoxingClubType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdBoxingClubTypeNone",
            Self::CmdStartBoxingClubBattleScRsp => "CmdStartBoxingClubBattleScRsp",
            Self::CmdSetBoxingClubResonanceLineupScRsp => {
                "CmdSetBoxingClubResonanceLineupScRsp"
            }
            Self::CmdSetBoxingClubResonanceLineupCsReq => {
                "CmdSetBoxingClubResonanceLineupCsReq"
            }
            Self::CmdBoxingClubChallengeUpdateScNotify => {
                "CmdBoxingClubChallengeUpdateScNotify"
            }
            Self::CmdGiveUpBoxingClubChallengeScRsp => {
                "CmdGiveUpBoxingClubChallengeScRsp"
            }
            Self::CmdGiveUpBoxingClubChallengeCsReq => {
                "CmdGiveUpBoxingClubChallengeCsReq"
            }
            Self::CmdChooseBoxingClubResonanceCsReq => {
                "CmdChooseBoxingClubResonanceCsReq"
            }
            Self::CmdChooseBoxingClubResonanceScRsp => {
                "CmdChooseBoxingClubResonanceScRsp"
            }
            Self::CmdBoxingClubRewardScNotify => "CmdBoxingClubRewardScNotify",
            Self::CmdGetBoxingClubInfoCsReq => "CmdGetBoxingClubInfoCsReq",
            Self::CmdStartBoxingClubBattleCsReq => "CmdStartBoxingClubBattleCsReq",
            Self::CmdMatchBoxingClubOpponentCsReq => "CmdMatchBoxingClubOpponentCsReq",
            Self::CmdChooseBoxingClubStageOptionalBuffCsReq => {
                "CmdChooseBoxingClubStageOptionalBuffCsReq"
            }
            Self::CmdGetBoxingClubInfoScRsp => "CmdGetBoxingClubInfoScRsp",
            Self::CmdChooseBoxingClubStageOptionalBuffScRsp => {
                "CmdChooseBoxingClubStageOptionalBuffScRsp"
            }
            Self::CmdMatchBoxingClubOpponentScRsp => "CmdMatchBoxingClubOpponentScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBoxingClubTypeNone" => Some(Self::None),
            "CmdStartBoxingClubBattleScRsp" => Some(Self::CmdStartBoxingClubBattleScRsp),
            "CmdSetBoxingClubResonanceLineupScRsp" => {
                Some(Self::CmdSetBoxingClubResonanceLineupScRsp)
            }
            "CmdSetBoxingClubResonanceLineupCsReq" => {
                Some(Self::CmdSetBoxingClubResonanceLineupCsReq)
            }
            "CmdBoxingClubChallengeUpdateScNotify" => {
                Some(Self::CmdBoxingClubChallengeUpdateScNotify)
            }
            "CmdGiveUpBoxingClubChallengeScRsp" => {
                Some(Self::CmdGiveUpBoxingClubChallengeScRsp)
            }
            "CmdGiveUpBoxingClubChallengeCsReq" => {
                Some(Self::CmdGiveUpBoxingClubChallengeCsReq)
            }
            "CmdChooseBoxingClubResonanceCsReq" => {
                Some(Self::CmdChooseBoxingClubResonanceCsReq)
            }
            "CmdChooseBoxingClubResonanceScRsp" => {
                Some(Self::CmdChooseBoxingClubResonanceScRsp)
            }
            "CmdBoxingClubRewardScNotify" => Some(Self::CmdBoxingClubRewardScNotify),
            "CmdGetBoxingClubInfoCsReq" => Some(Self::CmdGetBoxingClubInfoCsReq),
            "CmdStartBoxingClubBattleCsReq" => Some(Self::CmdStartBoxingClubBattleCsReq),
            "CmdMatchBoxingClubOpponentCsReq" => {
                Some(Self::CmdMatchBoxingClubOpponentCsReq)
            }
            "CmdChooseBoxingClubStageOptionalBuffCsReq" => {
                Some(Self::CmdChooseBoxingClubStageOptionalBuffCsReq)
            }
            "CmdGetBoxingClubInfoScRsp" => Some(Self::CmdGetBoxingClubInfoScRsp),
            "CmdChooseBoxingClubStageOptionalBuffScRsp" => {
                Some(Self::CmdChooseBoxingClubStageOptionalBuffScRsp)
            }
            "CmdMatchBoxingClubOpponentScRsp" => {
                Some(Self::CmdMatchBoxingClubOpponentScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: KGHIFCBKJME
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChallengeType {
    None = 0,
    CmdLeaveChallengeCsReq = 1776,
    CmdTakeChallengeRewardScRsp = 1760,
    CmdRestartChallengePhaseScRsp = 1758,
    CmdStartPartialChallengeScRsp = 1733,
    CmdStartChallengeScRsp = 1740,
    CmdGetChallengeGroupStatisticsScRsp = 1739,
    CmdTakeChallengeRewardCsReq = 1783,
    CmdEnterChallengeNextPhaseCsReq = 1721,
    CmdGetChallengeScRsp = 1732,
    CmdChallengeLineupNotify = 1785,
    CmdLeaveChallengeScRsp = 1748,
    CmdGetCurChallengeCsReq = 1756,
    CmdStartChallengeCsReq = 1731,
    CmdGetChallengeCsReq = 1795,
    CmdEnterChallengeNextPhaseScRsp = 1729,
    CmdChallengeBossPhaseSettleNotify = 1763,
    CmdRestartChallengePhaseCsReq = 1777,
    CmdStartPartialChallengeCsReq = 1743,
    CmdGetChallengeGroupStatisticsCsReq = 1702,
    CmdGetCurChallengeScRsp = 1772,
    CmdChallengeSettleNotify = 1771,
}
impl CmdChallengeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdChallengeTypeNone",
            Self::CmdLeaveChallengeCsReq => "CmdLeaveChallengeCsReq",
            Self::CmdTakeChallengeRewardScRsp => "CmdTakeChallengeRewardScRsp",
            Self::CmdRestartChallengePhaseScRsp => "CmdRestartChallengePhaseScRsp",
            Self::CmdStartPartialChallengeScRsp => "CmdStartPartialChallengeScRsp",
            Self::CmdStartChallengeScRsp => "CmdStartChallengeScRsp",
            Self::CmdGetChallengeGroupStatisticsScRsp => {
                "CmdGetChallengeGroupStatisticsScRsp"
            }
            Self::CmdTakeChallengeRewardCsReq => "CmdTakeChallengeRewardCsReq",
            Self::CmdEnterChallengeNextPhaseCsReq => "CmdEnterChallengeNextPhaseCsReq",
            Self::CmdGetChallengeScRsp => "CmdGetChallengeScRsp",
            Self::CmdChallengeLineupNotify => "CmdChallengeLineupNotify",
            Self::CmdLeaveChallengeScRsp => "CmdLeaveChallengeScRsp",
            Self::CmdGetCurChallengeCsReq => "CmdGetCurChallengeCsReq",
            Self::CmdStartChallengeCsReq => "CmdStartChallengeCsReq",
            Self::CmdGetChallengeCsReq => "CmdGetChallengeCsReq",
            Self::CmdEnterChallengeNextPhaseScRsp => "CmdEnterChallengeNextPhaseScRsp",
            Self::CmdChallengeBossPhaseSettleNotify => {
                "CmdChallengeBossPhaseSettleNotify"
            }
            Self::CmdRestartChallengePhaseCsReq => "CmdRestartChallengePhaseCsReq",
            Self::CmdStartPartialChallengeCsReq => "CmdStartPartialChallengeCsReq",
            Self::CmdGetChallengeGroupStatisticsCsReq => {
                "CmdGetChallengeGroupStatisticsCsReq"
            }
            Self::CmdGetCurChallengeScRsp => "CmdGetCurChallengeScRsp",
            Self::CmdChallengeSettleNotify => "CmdChallengeSettleNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdChallengeTypeNone" => Some(Self::None),
            "CmdLeaveChallengeCsReq" => Some(Self::CmdLeaveChallengeCsReq),
            "CmdTakeChallengeRewardScRsp" => Some(Self::CmdTakeChallengeRewardScRsp),
            "CmdRestartChallengePhaseScRsp" => Some(Self::CmdRestartChallengePhaseScRsp),
            "CmdStartPartialChallengeScRsp" => Some(Self::CmdStartPartialChallengeScRsp),
            "CmdStartChallengeScRsp" => Some(Self::CmdStartChallengeScRsp),
            "CmdGetChallengeGroupStatisticsScRsp" => {
                Some(Self::CmdGetChallengeGroupStatisticsScRsp)
            }
            "CmdTakeChallengeRewardCsReq" => Some(Self::CmdTakeChallengeRewardCsReq),
            "CmdEnterChallengeNextPhaseCsReq" => {
                Some(Self::CmdEnterChallengeNextPhaseCsReq)
            }
            "CmdGetChallengeScRsp" => Some(Self::CmdGetChallengeScRsp),
            "CmdChallengeLineupNotify" => Some(Self::CmdChallengeLineupNotify),
            "CmdLeaveChallengeScRsp" => Some(Self::CmdLeaveChallengeScRsp),
            "CmdGetCurChallengeCsReq" => Some(Self::CmdGetCurChallengeCsReq),
            "CmdStartChallengeCsReq" => Some(Self::CmdStartChallengeCsReq),
            "CmdGetChallengeCsReq" => Some(Self::CmdGetChallengeCsReq),
            "CmdEnterChallengeNextPhaseScRsp" => {
                Some(Self::CmdEnterChallengeNextPhaseScRsp)
            }
            "CmdChallengeBossPhaseSettleNotify" => {
                Some(Self::CmdChallengeBossPhaseSettleNotify)
            }
            "CmdRestartChallengePhaseCsReq" => Some(Self::CmdRestartChallengePhaseCsReq),
            "CmdStartPartialChallengeCsReq" => Some(Self::CmdStartPartialChallengeCsReq),
            "CmdGetChallengeGroupStatisticsCsReq" => {
                Some(Self::CmdGetChallengeGroupStatisticsCsReq)
            }
            "CmdGetCurChallengeScRsp" => Some(Self::CmdGetCurChallengeScRsp),
            "CmdChallengeSettleNotify" => Some(Self::CmdChallengeSettleNotify),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChallengeStatus {
    ChallengeUnknown = 0,
    ChallengeDoing = 1,
    ChallengeFinish = 2,
    ChallengeFailed = 3,
}
impl ChallengeStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChallengeUnknown => "CHALLENGE_UNKNOWN",
            Self::ChallengeDoing => "CHALLENGE_DOING",
            Self::ChallengeFinish => "CHALLENGE_FINISH",
            Self::ChallengeFailed => "CHALLENGE_FAILED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHALLENGE_UNKNOWN" => Some(Self::ChallengeUnknown),
            "CHALLENGE_DOING" => Some(Self::ChallengeDoing),
            "CHALLENGE_FINISH" => Some(Self::ChallengeFinish),
            "CHALLENGE_FAILED" => Some(Self::ChallengeFailed),
            _ => None,
        }
    }
}
/// Obf: COGBHHBJHPE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChatType {
    None = 0,
    CmdSendMsgScRsp = 3932,
    CmdGetLoginChatInfoScRsp = 3960,
    CmdGetPrivateChatHistoryCsReq = 3976,
    CmdBatchMarkChatEmojiCsReq = 3916,
    CmdRevcMsgScNotify = 3931,
    CmdMarkChatEmojiCsReq = 3972,
    CmdGetLoginChatInfoCsReq = 3983,
    CmdBatchMarkChatEmojiScRsp = 3946,
    CmdSendMsgCsReq = 3995,
    CmdGetChatEmojiListScRsp = 3956,
    CmdPrivateMsgOfflineUsersScNotify = 3940,
    CmdGetChatFriendHistoryCsReq = 3971,
    CmdMarkChatEmojiScRsp = 3985,
    CmdGetChatEmojiListCsReq = 3922,
    CmdGetPrivateChatHistoryScRsp = 3948,
    CmdGetChatFriendHistoryScRsp = 3952,
}
impl CmdChatType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdChatTypeNone",
            Self::CmdSendMsgScRsp => "CmdSendMsgScRsp",
            Self::CmdGetLoginChatInfoScRsp => "CmdGetLoginChatInfoScRsp",
            Self::CmdGetPrivateChatHistoryCsReq => "CmdGetPrivateChatHistoryCsReq",
            Self::CmdBatchMarkChatEmojiCsReq => "CmdBatchMarkChatEmojiCsReq",
            Self::CmdRevcMsgScNotify => "CmdRevcMsgScNotify",
            Self::CmdMarkChatEmojiCsReq => "CmdMarkChatEmojiCsReq",
            Self::CmdGetLoginChatInfoCsReq => "CmdGetLoginChatInfoCsReq",
            Self::CmdBatchMarkChatEmojiScRsp => "CmdBatchMarkChatEmojiScRsp",
            Self::CmdSendMsgCsReq => "CmdSendMsgCsReq",
            Self::CmdGetChatEmojiListScRsp => "CmdGetChatEmojiListScRsp",
            Self::CmdPrivateMsgOfflineUsersScNotify => {
                "CmdPrivateMsgOfflineUsersScNotify"
            }
            Self::CmdGetChatFriendHistoryCsReq => "CmdGetChatFriendHistoryCsReq",
            Self::CmdMarkChatEmojiScRsp => "CmdMarkChatEmojiScRsp",
            Self::CmdGetChatEmojiListCsReq => "CmdGetChatEmojiListCsReq",
            Self::CmdGetPrivateChatHistoryScRsp => "CmdGetPrivateChatHistoryScRsp",
            Self::CmdGetChatFriendHistoryScRsp => "CmdGetChatFriendHistoryScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdChatTypeNone" => Some(Self::None),
            "CmdSendMsgScRsp" => Some(Self::CmdSendMsgScRsp),
            "CmdGetLoginChatInfoScRsp" => Some(Self::CmdGetLoginChatInfoScRsp),
            "CmdGetPrivateChatHistoryCsReq" => Some(Self::CmdGetPrivateChatHistoryCsReq),
            "CmdBatchMarkChatEmojiCsReq" => Some(Self::CmdBatchMarkChatEmojiCsReq),
            "CmdRevcMsgScNotify" => Some(Self::CmdRevcMsgScNotify),
            "CmdMarkChatEmojiCsReq" => Some(Self::CmdMarkChatEmojiCsReq),
            "CmdGetLoginChatInfoCsReq" => Some(Self::CmdGetLoginChatInfoCsReq),
            "CmdBatchMarkChatEmojiScRsp" => Some(Self::CmdBatchMarkChatEmojiScRsp),
            "CmdSendMsgCsReq" => Some(Self::CmdSendMsgCsReq),
            "CmdGetChatEmojiListScRsp" => Some(Self::CmdGetChatEmojiListScRsp),
            "CmdPrivateMsgOfflineUsersScNotify" => {
                Some(Self::CmdPrivateMsgOfflineUsersScNotify)
            }
            "CmdGetChatFriendHistoryCsReq" => Some(Self::CmdGetChatFriendHistoryCsReq),
            "CmdMarkChatEmojiScRsp" => Some(Self::CmdMarkChatEmojiScRsp),
            "CmdGetChatEmojiListCsReq" => Some(Self::CmdGetChatEmojiListCsReq),
            "CmdGetPrivateChatHistoryScRsp" => Some(Self::CmdGetPrivateChatHistoryScRsp),
            "CmdGetChatFriendHistoryScRsp" => Some(Self::CmdGetChatFriendHistoryScRsp),
            _ => None,
        }
    }
}
/// Obf: PEICFIGPMAK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChessRogueType {
    None = 0,
    CmdChessRogueUpdateDiceInfoScNotify = 5514,
    CmdChessRoguePickAvatarScRsp = 5568,
    CmdChessRogueQueryAeonDimensionsCsReq = 5578,
    CmdSelectChessRogueSubStoryScRsp = 5496,
    CmdChessRogueCheatRollScRsp = 5473,
    CmdChessRogueSelectCellScRsp = 5422,
    CmdSyncChessRogueNousValueScNotify = 5506,
    CmdChessRogueNousEnableRogueTalentScRsp = 5523,
    CmdChessRogueRollDiceScRsp = 5426,
    CmdGetChessRogueNousStoryInfoScRsp = 5594,
    CmdFinishChessRogueSubStoryScRsp = 5504,
    CmdChessRogueNousEditDiceCsReq = 5571,
    CmdChessRogueUpdateReviveInfoScNotify = 5598,
    CmdChessRogueNousGetRogueTalentInfoCsReq = 5505,
    CmdEnhanceChessRogueBuffScRsp = 5419,
    CmdChessRogueRollDiceCsReq = 5533,
    CmdSyncChessRogueMainStoryFinishScNotify = 5477,
    CmdChessRogueEnterNextLayerScRsp = 5501,
    CmdEnhanceChessRogueBuffCsReq = 5551,
    CmdFinishChessRogueSubStoryCsReq = 5520,
    CmdChessRogueChangeyAeonDimensionNotify = 5486,
    CmdChessRogueLeaveCsReq = 5573,
    CmdSyncChessRogueNousSubStoryScNotify = 5497,
    CmdChessRogueQueryScRsp = 5447,
    CmdSelectChessRogueSubStoryCsReq = 5535,
    CmdGetChessRogueStoryInfoScRsp = 5481,
    CmdChessRogueUpdateBoardScNotify = 5580,
    CmdChessRogueNousGetRogueTalentInfoScRsp = 5552,
    CmdChessRogueLayerAccountInfoNotify = 5555,
    CmdChessRogueStartCsReq = 5471,
    CmdChessRogueNousEnableRogueTalentCsReq = 5433,
    CmdEnterChessRogueAeonRoomCsReq = 5585,
    CmdChessRogueNousDiceUpdateNotify = 5597,
    CmdChessRogueUpdateAeonModifierValueScNotify = 5574,
    CmdChessRogueQuestFinishNotify = 5526,
    CmdGetChessRogueStoryInfoCsReq = 5570,
    CmdChessRogueReRollDiceScRsp = 5445,
    CmdChessRogueEnterCellScRsp = 5518,
    CmdChessRogueQueryAeonDimensionsScRsp = 5413,
    CmdChessRogueReRollDiceCsReq = 5587,
    CmdChessRogueUpdateDicePassiveAccumulateValueScNotify = 5415,
    CmdChessRogueUpdateActionPointScNotify = 5468,
    CmdGetChessRogueBuffEnhanceInfoScRsp = 5586,
    CmdChessRogueNousDiceSurfaceUnlockNotify = 5538,
    CmdChessRoguePickAvatarCsReq = 5590,
    CmdChessRogueStartScRsp = 5441,
    CmdGetChessRogueStoryAeonTalkInfoCsReq = 5588,
    CmdChessRogueGiveUpRollCsReq = 5547,
    CmdChessRogueConfirmRollCsReq = 5448,
    CmdChessRogueReviveAvatarScRsp = 5516,
    CmdChessRogueEnterNextLayerCsReq = 5460,
    CmdChessRogueUpdateLevelBaseInfoScNotify = 5461,
    CmdChessRogueReviveAvatarCsReq = 5465,
    CmdGetChessRogueNousStoryInfoCsReq = 5474,
    CmdChessRogueSkipTeachingLevelCsReq = 5418,
    CmdChessRogueUpdateUnlockLevelScNotify = 5527,
    CmdChessRogueQuitCsReq = 5492,
    CmdChessRogueQueryCsReq = 5595,
    CmdChessRogueQuitScRsp = 5521,
    CmdChessRogueGiveUpCsReq = 5529,
    CmdChessRogueGiveUpScRsp = 5436,
    CmdChessRogueCellUpdateNotify = 5490,
    CmdEnterChessRogueAeonRoomScRsp = 5417,
    CmdChessRogueEnterScRsp = 5457,
    CmdChessRogueUpdateMoneyInfoScNotify = 5484,
    CmdGetChessRogueBuffEnhanceInfoCsReq = 5525,
    CmdChessRogueSelectCellCsReq = 5528,
    CmdSyncChessRogueNousMainStoryScNotify = 5510,
    CmdChessRogueConfirmRollScRsp = 5542,
    CmdChessRogueEnterCsReq = 5414,
    CmdChessRogueSkipTeachingLevelScRsp = 5600,
    CmdGetChessRogueStoryAeonTalkInfoScRsp = 5449,
    CmdChessRogueUpdateAllowedSelectCellScNotify = 5495,
    CmdChessRogueLeaveScRsp = 5531,
    CmdChessRogueGiveUpRollScRsp = 5408,
    CmdChessRogueCheatRollCsReq = 5512,
    CmdChessRogueEnterCellCsReq = 5472,
    CmdChessRogueNousEditDiceScRsp = 5557,
}
impl CmdChessRogueType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdChessRogueTypeNone",
            Self::CmdChessRogueUpdateDiceInfoScNotify => {
                "CmdChessRogueUpdateDiceInfoScNotify"
            }
            Self::CmdChessRoguePickAvatarScRsp => "CmdChessRoguePickAvatarScRsp",
            Self::CmdChessRogueQueryAeonDimensionsCsReq => {
                "CmdChessRogueQueryAeonDimensionsCsReq"
            }
            Self::CmdSelectChessRogueSubStoryScRsp => "CmdSelectChessRogueSubStoryScRsp",
            Self::CmdChessRogueCheatRollScRsp => "CmdChessRogueCheatRollScRsp",
            Self::CmdChessRogueSelectCellScRsp => "CmdChessRogueSelectCellScRsp",
            Self::CmdSyncChessRogueNousValueScNotify => {
                "CmdSyncChessRogueNousValueScNotify"
            }
            Self::CmdChessRogueNousEnableRogueTalentScRsp => {
                "CmdChessRogueNousEnableRogueTalentScRsp"
            }
            Self::CmdChessRogueRollDiceScRsp => "CmdChessRogueRollDiceScRsp",
            Self::CmdGetChessRogueNousStoryInfoScRsp => {
                "CmdGetChessRogueNousStoryInfoScRsp"
            }
            Self::CmdFinishChessRogueSubStoryScRsp => "CmdFinishChessRogueSubStoryScRsp",
            Self::CmdChessRogueNousEditDiceCsReq => "CmdChessRogueNousEditDiceCsReq",
            Self::CmdChessRogueUpdateReviveInfoScNotify => {
                "CmdChessRogueUpdateReviveInfoScNotify"
            }
            Self::CmdChessRogueNousGetRogueTalentInfoCsReq => {
                "CmdChessRogueNousGetRogueTalentInfoCsReq"
            }
            Self::CmdEnhanceChessRogueBuffScRsp => "CmdEnhanceChessRogueBuffScRsp",
            Self::CmdChessRogueRollDiceCsReq => "CmdChessRogueRollDiceCsReq",
            Self::CmdSyncChessRogueMainStoryFinishScNotify => {
                "CmdSyncChessRogueMainStoryFinishScNotify"
            }
            Self::CmdChessRogueEnterNextLayerScRsp => "CmdChessRogueEnterNextLayerScRsp",
            Self::CmdEnhanceChessRogueBuffCsReq => "CmdEnhanceChessRogueBuffCsReq",
            Self::CmdFinishChessRogueSubStoryCsReq => "CmdFinishChessRogueSubStoryCsReq",
            Self::CmdChessRogueChangeyAeonDimensionNotify => {
                "CmdChessRogueChangeyAeonDimensionNotify"
            }
            Self::CmdChessRogueLeaveCsReq => "CmdChessRogueLeaveCsReq",
            Self::CmdSyncChessRogueNousSubStoryScNotify => {
                "CmdSyncChessRogueNousSubStoryScNotify"
            }
            Self::CmdChessRogueQueryScRsp => "CmdChessRogueQueryScRsp",
            Self::CmdSelectChessRogueSubStoryCsReq => "CmdSelectChessRogueSubStoryCsReq",
            Self::CmdGetChessRogueStoryInfoScRsp => "CmdGetChessRogueStoryInfoScRsp",
            Self::CmdChessRogueUpdateBoardScNotify => "CmdChessRogueUpdateBoardScNotify",
            Self::CmdChessRogueNousGetRogueTalentInfoScRsp => {
                "CmdChessRogueNousGetRogueTalentInfoScRsp"
            }
            Self::CmdChessRogueLayerAccountInfoNotify => {
                "CmdChessRogueLayerAccountInfoNotify"
            }
            Self::CmdChessRogueStartCsReq => "CmdChessRogueStartCsReq",
            Self::CmdChessRogueNousEnableRogueTalentCsReq => {
                "CmdChessRogueNousEnableRogueTalentCsReq"
            }
            Self::CmdEnterChessRogueAeonRoomCsReq => "CmdEnterChessRogueAeonRoomCsReq",
            Self::CmdChessRogueNousDiceUpdateNotify => {
                "CmdChessRogueNousDiceUpdateNotify"
            }
            Self::CmdChessRogueUpdateAeonModifierValueScNotify => {
                "CmdChessRogueUpdateAeonModifierValueScNotify"
            }
            Self::CmdChessRogueQuestFinishNotify => "CmdChessRogueQuestFinishNotify",
            Self::CmdGetChessRogueStoryInfoCsReq => "CmdGetChessRogueStoryInfoCsReq",
            Self::CmdChessRogueReRollDiceScRsp => "CmdChessRogueReRollDiceScRsp",
            Self::CmdChessRogueEnterCellScRsp => "CmdChessRogueEnterCellScRsp",
            Self::CmdChessRogueQueryAeonDimensionsScRsp => {
                "CmdChessRogueQueryAeonDimensionsScRsp"
            }
            Self::CmdChessRogueReRollDiceCsReq => "CmdChessRogueReRollDiceCsReq",
            Self::CmdChessRogueUpdateDicePassiveAccumulateValueScNotify => {
                "CmdChessRogueUpdateDicePassiveAccumulateValueScNotify"
            }
            Self::CmdChessRogueUpdateActionPointScNotify => {
                "CmdChessRogueUpdateActionPointScNotify"
            }
            Self::CmdGetChessRogueBuffEnhanceInfoScRsp => {
                "CmdGetChessRogueBuffEnhanceInfoScRsp"
            }
            Self::CmdChessRogueNousDiceSurfaceUnlockNotify => {
                "CmdChessRogueNousDiceSurfaceUnlockNotify"
            }
            Self::CmdChessRoguePickAvatarCsReq => "CmdChessRoguePickAvatarCsReq",
            Self::CmdChessRogueStartScRsp => "CmdChessRogueStartScRsp",
            Self::CmdGetChessRogueStoryAeonTalkInfoCsReq => {
                "CmdGetChessRogueStoryAeonTalkInfoCsReq"
            }
            Self::CmdChessRogueGiveUpRollCsReq => "CmdChessRogueGiveUpRollCsReq",
            Self::CmdChessRogueConfirmRollCsReq => "CmdChessRogueConfirmRollCsReq",
            Self::CmdChessRogueReviveAvatarScRsp => "CmdChessRogueReviveAvatarScRsp",
            Self::CmdChessRogueEnterNextLayerCsReq => "CmdChessRogueEnterNextLayerCsReq",
            Self::CmdChessRogueUpdateLevelBaseInfoScNotify => {
                "CmdChessRogueUpdateLevelBaseInfoScNotify"
            }
            Self::CmdChessRogueReviveAvatarCsReq => "CmdChessRogueReviveAvatarCsReq",
            Self::CmdGetChessRogueNousStoryInfoCsReq => {
                "CmdGetChessRogueNousStoryInfoCsReq"
            }
            Self::CmdChessRogueSkipTeachingLevelCsReq => {
                "CmdChessRogueSkipTeachingLevelCsReq"
            }
            Self::CmdChessRogueUpdateUnlockLevelScNotify => {
                "CmdChessRogueUpdateUnlockLevelScNotify"
            }
            Self::CmdChessRogueQuitCsReq => "CmdChessRogueQuitCsReq",
            Self::CmdChessRogueQueryCsReq => "CmdChessRogueQueryCsReq",
            Self::CmdChessRogueQuitScRsp => "CmdChessRogueQuitScRsp",
            Self::CmdChessRogueGiveUpCsReq => "CmdChessRogueGiveUpCsReq",
            Self::CmdChessRogueGiveUpScRsp => "CmdChessRogueGiveUpScRsp",
            Self::CmdChessRogueCellUpdateNotify => "CmdChessRogueCellUpdateNotify",
            Self::CmdEnterChessRogueAeonRoomScRsp => "CmdEnterChessRogueAeonRoomScRsp",
            Self::CmdChessRogueEnterScRsp => "CmdChessRogueEnterScRsp",
            Self::CmdChessRogueUpdateMoneyInfoScNotify => {
                "CmdChessRogueUpdateMoneyInfoScNotify"
            }
            Self::CmdGetChessRogueBuffEnhanceInfoCsReq => {
                "CmdGetChessRogueBuffEnhanceInfoCsReq"
            }
            Self::CmdChessRogueSelectCellCsReq => "CmdChessRogueSelectCellCsReq",
            Self::CmdSyncChessRogueNousMainStoryScNotify => {
                "CmdSyncChessRogueNousMainStoryScNotify"
            }
            Self::CmdChessRogueConfirmRollScRsp => "CmdChessRogueConfirmRollScRsp",
            Self::CmdChessRogueEnterCsReq => "CmdChessRogueEnterCsReq",
            Self::CmdChessRogueSkipTeachingLevelScRsp => {
                "CmdChessRogueSkipTeachingLevelScRsp"
            }
            Self::CmdGetChessRogueStoryAeonTalkInfoScRsp => {
                "CmdGetChessRogueStoryAeonTalkInfoScRsp"
            }
            Self::CmdChessRogueUpdateAllowedSelectCellScNotify => {
                "CmdChessRogueUpdateAllowedSelectCellScNotify"
            }
            Self::CmdChessRogueLeaveScRsp => "CmdChessRogueLeaveScRsp",
            Self::CmdChessRogueGiveUpRollScRsp => "CmdChessRogueGiveUpRollScRsp",
            Self::CmdChessRogueCheatRollCsReq => "CmdChessRogueCheatRollCsReq",
            Self::CmdChessRogueEnterCellCsReq => "CmdChessRogueEnterCellCsReq",
            Self::CmdChessRogueNousEditDiceScRsp => "CmdChessRogueNousEditDiceScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdChessRogueTypeNone" => Some(Self::None),
            "CmdChessRogueUpdateDiceInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateDiceInfoScNotify)
            }
            "CmdChessRoguePickAvatarScRsp" => Some(Self::CmdChessRoguePickAvatarScRsp),
            "CmdChessRogueQueryAeonDimensionsCsReq" => {
                Some(Self::CmdChessRogueQueryAeonDimensionsCsReq)
            }
            "CmdSelectChessRogueSubStoryScRsp" => {
                Some(Self::CmdSelectChessRogueSubStoryScRsp)
            }
            "CmdChessRogueCheatRollScRsp" => Some(Self::CmdChessRogueCheatRollScRsp),
            "CmdChessRogueSelectCellScRsp" => Some(Self::CmdChessRogueSelectCellScRsp),
            "CmdSyncChessRogueNousValueScNotify" => {
                Some(Self::CmdSyncChessRogueNousValueScNotify)
            }
            "CmdChessRogueNousEnableRogueTalentScRsp" => {
                Some(Self::CmdChessRogueNousEnableRogueTalentScRsp)
            }
            "CmdChessRogueRollDiceScRsp" => Some(Self::CmdChessRogueRollDiceScRsp),
            "CmdGetChessRogueNousStoryInfoScRsp" => {
                Some(Self::CmdGetChessRogueNousStoryInfoScRsp)
            }
            "CmdFinishChessRogueSubStoryScRsp" => {
                Some(Self::CmdFinishChessRogueSubStoryScRsp)
            }
            "CmdChessRogueNousEditDiceCsReq" => {
                Some(Self::CmdChessRogueNousEditDiceCsReq)
            }
            "CmdChessRogueUpdateReviveInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateReviveInfoScNotify)
            }
            "CmdChessRogueNousGetRogueTalentInfoCsReq" => {
                Some(Self::CmdChessRogueNousGetRogueTalentInfoCsReq)
            }
            "CmdEnhanceChessRogueBuffScRsp" => Some(Self::CmdEnhanceChessRogueBuffScRsp),
            "CmdChessRogueRollDiceCsReq" => Some(Self::CmdChessRogueRollDiceCsReq),
            "CmdSyncChessRogueMainStoryFinishScNotify" => {
                Some(Self::CmdSyncChessRogueMainStoryFinishScNotify)
            }
            "CmdChessRogueEnterNextLayerScRsp" => {
                Some(Self::CmdChessRogueEnterNextLayerScRsp)
            }
            "CmdEnhanceChessRogueBuffCsReq" => Some(Self::CmdEnhanceChessRogueBuffCsReq),
            "CmdFinishChessRogueSubStoryCsReq" => {
                Some(Self::CmdFinishChessRogueSubStoryCsReq)
            }
            "CmdChessRogueChangeyAeonDimensionNotify" => {
                Some(Self::CmdChessRogueChangeyAeonDimensionNotify)
            }
            "CmdChessRogueLeaveCsReq" => Some(Self::CmdChessRogueLeaveCsReq),
            "CmdSyncChessRogueNousSubStoryScNotify" => {
                Some(Self::CmdSyncChessRogueNousSubStoryScNotify)
            }
            "CmdChessRogueQueryScRsp" => Some(Self::CmdChessRogueQueryScRsp),
            "CmdSelectChessRogueSubStoryCsReq" => {
                Some(Self::CmdSelectChessRogueSubStoryCsReq)
            }
            "CmdGetChessRogueStoryInfoScRsp" => {
                Some(Self::CmdGetChessRogueStoryInfoScRsp)
            }
            "CmdChessRogueUpdateBoardScNotify" => {
                Some(Self::CmdChessRogueUpdateBoardScNotify)
            }
            "CmdChessRogueNousGetRogueTalentInfoScRsp" => {
                Some(Self::CmdChessRogueNousGetRogueTalentInfoScRsp)
            }
            "CmdChessRogueLayerAccountInfoNotify" => {
                Some(Self::CmdChessRogueLayerAccountInfoNotify)
            }
            "CmdChessRogueStartCsReq" => Some(Self::CmdChessRogueStartCsReq),
            "CmdChessRogueNousEnableRogueTalentCsReq" => {
                Some(Self::CmdChessRogueNousEnableRogueTalentCsReq)
            }
            "CmdEnterChessRogueAeonRoomCsReq" => {
                Some(Self::CmdEnterChessRogueAeonRoomCsReq)
            }
            "CmdChessRogueNousDiceUpdateNotify" => {
                Some(Self::CmdChessRogueNousDiceUpdateNotify)
            }
            "CmdChessRogueUpdateAeonModifierValueScNotify" => {
                Some(Self::CmdChessRogueUpdateAeonModifierValueScNotify)
            }
            "CmdChessRogueQuestFinishNotify" => {
                Some(Self::CmdChessRogueQuestFinishNotify)
            }
            "CmdGetChessRogueStoryInfoCsReq" => {
                Some(Self::CmdGetChessRogueStoryInfoCsReq)
            }
            "CmdChessRogueReRollDiceScRsp" => Some(Self::CmdChessRogueReRollDiceScRsp),
            "CmdChessRogueEnterCellScRsp" => Some(Self::CmdChessRogueEnterCellScRsp),
            "CmdChessRogueQueryAeonDimensionsScRsp" => {
                Some(Self::CmdChessRogueQueryAeonDimensionsScRsp)
            }
            "CmdChessRogueReRollDiceCsReq" => Some(Self::CmdChessRogueReRollDiceCsReq),
            "CmdChessRogueUpdateDicePassiveAccumulateValueScNotify" => {
                Some(Self::CmdChessRogueUpdateDicePassiveAccumulateValueScNotify)
            }
            "CmdChessRogueUpdateActionPointScNotify" => {
                Some(Self::CmdChessRogueUpdateActionPointScNotify)
            }
            "CmdGetChessRogueBuffEnhanceInfoScRsp" => {
                Some(Self::CmdGetChessRogueBuffEnhanceInfoScRsp)
            }
            "CmdChessRogueNousDiceSurfaceUnlockNotify" => {
                Some(Self::CmdChessRogueNousDiceSurfaceUnlockNotify)
            }
            "CmdChessRoguePickAvatarCsReq" => Some(Self::CmdChessRoguePickAvatarCsReq),
            "CmdChessRogueStartScRsp" => Some(Self::CmdChessRogueStartScRsp),
            "CmdGetChessRogueStoryAeonTalkInfoCsReq" => {
                Some(Self::CmdGetChessRogueStoryAeonTalkInfoCsReq)
            }
            "CmdChessRogueGiveUpRollCsReq" => Some(Self::CmdChessRogueGiveUpRollCsReq),
            "CmdChessRogueConfirmRollCsReq" => Some(Self::CmdChessRogueConfirmRollCsReq),
            "CmdChessRogueReviveAvatarScRsp" => {
                Some(Self::CmdChessRogueReviveAvatarScRsp)
            }
            "CmdChessRogueEnterNextLayerCsReq" => {
                Some(Self::CmdChessRogueEnterNextLayerCsReq)
            }
            "CmdChessRogueUpdateLevelBaseInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateLevelBaseInfoScNotify)
            }
            "CmdChessRogueReviveAvatarCsReq" => {
                Some(Self::CmdChessRogueReviveAvatarCsReq)
            }
            "CmdGetChessRogueNousStoryInfoCsReq" => {
                Some(Self::CmdGetChessRogueNousStoryInfoCsReq)
            }
            "CmdChessRogueSkipTeachingLevelCsReq" => {
                Some(Self::CmdChessRogueSkipTeachingLevelCsReq)
            }
            "CmdChessRogueUpdateUnlockLevelScNotify" => {
                Some(Self::CmdChessRogueUpdateUnlockLevelScNotify)
            }
            "CmdChessRogueQuitCsReq" => Some(Self::CmdChessRogueQuitCsReq),
            "CmdChessRogueQueryCsReq" => Some(Self::CmdChessRogueQueryCsReq),
            "CmdChessRogueQuitScRsp" => Some(Self::CmdChessRogueQuitScRsp),
            "CmdChessRogueGiveUpCsReq" => Some(Self::CmdChessRogueGiveUpCsReq),
            "CmdChessRogueGiveUpScRsp" => Some(Self::CmdChessRogueGiveUpScRsp),
            "CmdChessRogueCellUpdateNotify" => Some(Self::CmdChessRogueCellUpdateNotify),
            "CmdEnterChessRogueAeonRoomScRsp" => {
                Some(Self::CmdEnterChessRogueAeonRoomScRsp)
            }
            "CmdChessRogueEnterScRsp" => Some(Self::CmdChessRogueEnterScRsp),
            "CmdChessRogueUpdateMoneyInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateMoneyInfoScNotify)
            }
            "CmdGetChessRogueBuffEnhanceInfoCsReq" => {
                Some(Self::CmdGetChessRogueBuffEnhanceInfoCsReq)
            }
            "CmdChessRogueSelectCellCsReq" => Some(Self::CmdChessRogueSelectCellCsReq),
            "CmdSyncChessRogueNousMainStoryScNotify" => {
                Some(Self::CmdSyncChessRogueNousMainStoryScNotify)
            }
            "CmdChessRogueConfirmRollScRsp" => Some(Self::CmdChessRogueConfirmRollScRsp),
            "CmdChessRogueEnterCsReq" => Some(Self::CmdChessRogueEnterCsReq),
            "CmdChessRogueSkipTeachingLevelScRsp" => {
                Some(Self::CmdChessRogueSkipTeachingLevelScRsp)
            }
            "CmdGetChessRogueStoryAeonTalkInfoScRsp" => {
                Some(Self::CmdGetChessRogueStoryAeonTalkInfoScRsp)
            }
            "CmdChessRogueUpdateAllowedSelectCellScNotify" => {
                Some(Self::CmdChessRogueUpdateAllowedSelectCellScNotify)
            }
            "CmdChessRogueLeaveScRsp" => Some(Self::CmdChessRogueLeaveScRsp),
            "CmdChessRogueGiveUpRollScRsp" => Some(Self::CmdChessRogueGiveUpRollScRsp),
            "CmdChessRogueCheatRollCsReq" => Some(Self::CmdChessRogueCheatRollCsReq),
            "CmdChessRogueEnterCellCsReq" => Some(Self::CmdChessRogueEnterCellCsReq),
            "CmdChessRogueNousEditDiceScRsp" => {
                Some(Self::CmdChessRogueNousEditDiceScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nlmollcfcgb {
    ChessRogueDiceIdle = 0,
    ChessRogueDiceRolled = 1,
    ChessRogueDiceConfirmed = 2,
    ChessRogueDiceGiveup = 3,
}
impl Nlmollcfcgb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChessRogueDiceIdle => "CHESS_ROGUE_DICE_IDLE",
            Self::ChessRogueDiceRolled => "CHESS_ROGUE_DICE_ROLLED",
            Self::ChessRogueDiceConfirmed => "CHESS_ROGUE_DICE_CONFIRMED",
            Self::ChessRogueDiceGiveup => "CHESS_ROGUE_DICE_GIVEUP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_DICE_IDLE" => Some(Self::ChessRogueDiceIdle),
            "CHESS_ROGUE_DICE_ROLLED" => Some(Self::ChessRogueDiceRolled),
            "CHESS_ROGUE_DICE_CONFIRMED" => Some(Self::ChessRogueDiceConfirmed),
            "CHESS_ROGUE_DICE_GIVEUP" => Some(Self::ChessRogueDiceGiveup),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aikblmohhjp {
    ChessRogueDiceFixed = 0,
    ChessRogueDiceEditable = 1,
}
impl Aikblmohhjp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChessRogueDiceFixed => "CHESS_ROGUE_DICE_FIXED",
            Self::ChessRogueDiceEditable => "CHESS_ROGUE_DICE_EDITABLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_DICE_FIXED" => Some(Self::ChessRogueDiceFixed),
            "CHESS_ROGUE_DICE_EDITABLE" => Some(Self::ChessRogueDiceEditable),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Eieenafclll {
    Idle = 0,
    Selected = 1,
    Processing = 2,
    Finish = 3,
}
impl Eieenafclll {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Idle => "IDLE",
            Self::Selected => "SELECTED",
            Self::Processing => "PROCESSING",
            Self::Finish => "FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IDLE" => Some(Self::Idle),
            "SELECTED" => Some(Self::Selected),
            "PROCESSING" => Some(Self::Processing),
            "FINISH" => Some(Self::Finish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ogjbgonlhih {
    ChessRogueCellSpecialTypeNone = 0,
    ChessRogueCellSpecialTypeLocked = 1,
    ChessRogueCellSpecialTypeReplicate = 2,
    ChessRogueCellSpecialTypeProtected = 3,
    ChessRogueCellSpecialTypeSeed = 4,
    ChessRogueCellSpecialTypeStamp = 5,
}
impl Ogjbgonlhih {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChessRogueCellSpecialTypeNone => "CHESS_ROGUE_CELL_SPECIAL_TYPE_NONE",
            Self::ChessRogueCellSpecialTypeLocked => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_LOCKED"
            }
            Self::ChessRogueCellSpecialTypeReplicate => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_REPLICATE"
            }
            Self::ChessRogueCellSpecialTypeProtected => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_PROTECTED"
            }
            Self::ChessRogueCellSpecialTypeSeed => "CHESS_ROGUE_CELL_SPECIAL_TYPE_SEED",
            Self::ChessRogueCellSpecialTypeStamp => "CHESS_ROGUE_CELL_SPECIAL_TYPE_STAMP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_NONE" => {
                Some(Self::ChessRogueCellSpecialTypeNone)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_LOCKED" => {
                Some(Self::ChessRogueCellSpecialTypeLocked)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_REPLICATE" => {
                Some(Self::ChessRogueCellSpecialTypeReplicate)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_PROTECTED" => {
                Some(Self::ChessRogueCellSpecialTypeProtected)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_SEED" => {
                Some(Self::ChessRogueCellSpecialTypeSeed)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_STAMP" => {
                Some(Self::ChessRogueCellSpecialTypeStamp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ibmlfggingp {
    ChessRogueLevelIdle = 0,
    ChessRogueLevelProcessing = 1,
    ChessRogueLevelPending = 2,
    ChessRogueLevelFinish = 3,
    ChessRogueLevelFailed = 4,
    ChessRogueLevelForceFinish = 5,
}
impl Ibmlfggingp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChessRogueLevelIdle => "CHESS_ROGUE_LEVEL_IDLE",
            Self::ChessRogueLevelProcessing => "CHESS_ROGUE_LEVEL_PROCESSING",
            Self::ChessRogueLevelPending => "CHESS_ROGUE_LEVEL_PENDING",
            Self::ChessRogueLevelFinish => "CHESS_ROGUE_LEVEL_FINISH",
            Self::ChessRogueLevelFailed => "CHESS_ROGUE_LEVEL_FAILED",
            Self::ChessRogueLevelForceFinish => "CHESS_ROGUE_LEVEL_FORCE_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_LEVEL_IDLE" => Some(Self::ChessRogueLevelIdle),
            "CHESS_ROGUE_LEVEL_PROCESSING" => Some(Self::ChessRogueLevelProcessing),
            "CHESS_ROGUE_LEVEL_PENDING" => Some(Self::ChessRogueLevelPending),
            "CHESS_ROGUE_LEVEL_FINISH" => Some(Self::ChessRogueLevelFinish),
            "CHESS_ROGUE_LEVEL_FAILED" => Some(Self::ChessRogueLevelFailed),
            "CHESS_ROGUE_LEVEL_FORCE_FINISH" => Some(Self::ChessRogueLevelForceFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kfhlbkccaco {
    ChessRogueAccountByNone = 0,
    ChessRogueAccountByNormalFinish = 1,
    ChessRogueAccountByNormalQuit = 2,
    ChessRogueAccountByDialog = 3,
    ChessRogueAccountByFailed = 4,
    ChessRogueAccountByCustomOp = 5,
}
impl Kfhlbkccaco {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChessRogueAccountByNone => "CHESS_ROGUE_ACCOUNT_BY_NONE",
            Self::ChessRogueAccountByNormalFinish => {
                "CHESS_ROGUE_ACCOUNT_BY_NORMAL_FINISH"
            }
            Self::ChessRogueAccountByNormalQuit => "CHESS_ROGUE_ACCOUNT_BY_NORMAL_QUIT",
            Self::ChessRogueAccountByDialog => "CHESS_ROGUE_ACCOUNT_BY_DIALOG",
            Self::ChessRogueAccountByFailed => "CHESS_ROGUE_ACCOUNT_BY_FAILED",
            Self::ChessRogueAccountByCustomOp => "CHESS_ROGUE_ACCOUNT_BY_CUSTOM_OP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_ACCOUNT_BY_NONE" => Some(Self::ChessRogueAccountByNone),
            "CHESS_ROGUE_ACCOUNT_BY_NORMAL_FINISH" => {
                Some(Self::ChessRogueAccountByNormalFinish)
            }
            "CHESS_ROGUE_ACCOUNT_BY_NORMAL_QUIT" => {
                Some(Self::ChessRogueAccountByNormalQuit)
            }
            "CHESS_ROGUE_ACCOUNT_BY_DIALOG" => Some(Self::ChessRogueAccountByDialog),
            "CHESS_ROGUE_ACCOUNT_BY_FAILED" => Some(Self::ChessRogueAccountByFailed),
            "CHESS_ROGUE_ACCOUNT_BY_CUSTOM_OP" => Some(Self::ChessRogueAccountByCustomOp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Obfdebfdgob {
    ChessRogueBuffSourceTypeNone = 0,
    ChessRogueBuffSourceTypeSelect = 1,
    ChessRogueBuffSourceTypeEnhance = 2,
    ChessRogueBuffSourceTypeMiracle = 3,
    ChessRogueBuffSourceTypeDialogue = 4,
    ChessRogueBuffSourceTypeBonus = 5,
    ChessRogueBuffSourceTypeShop = 6,
    ChessRogueBuffSourceTypeDice = 7,
    ChessRogueBuffSourceTypeAeon = 8,
    ChessRogueBuffSourceTypeMazeSkill = 9,
    ChessRogueBuffSourceTypeLevelMechanism = 10,
}
impl Obfdebfdgob {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChessRogueBuffSourceTypeNone => "CHESS_ROGUE_BUFF_SOURCE_TYPE_NONE",
            Self::ChessRogueBuffSourceTypeSelect => "CHESS_ROGUE_BUFF_SOURCE_TYPE_SELECT",
            Self::ChessRogueBuffSourceTypeEnhance => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_ENHANCE"
            }
            Self::ChessRogueBuffSourceTypeMiracle => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_MIRACLE"
            }
            Self::ChessRogueBuffSourceTypeDialogue => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_DIALOGUE"
            }
            Self::ChessRogueBuffSourceTypeBonus => "CHESS_ROGUE_BUFF_SOURCE_TYPE_BONUS",
            Self::ChessRogueBuffSourceTypeShop => "CHESS_ROGUE_BUFF_SOURCE_TYPE_SHOP",
            Self::ChessRogueBuffSourceTypeDice => "CHESS_ROGUE_BUFF_SOURCE_TYPE_DICE",
            Self::ChessRogueBuffSourceTypeAeon => "CHESS_ROGUE_BUFF_SOURCE_TYPE_AEON",
            Self::ChessRogueBuffSourceTypeMazeSkill => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_MAZE_SKILL"
            }
            Self::ChessRogueBuffSourceTypeLevelMechanism => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_LEVEL_MECHANISM"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_NONE" => {
                Some(Self::ChessRogueBuffSourceTypeNone)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_SELECT" => {
                Some(Self::ChessRogueBuffSourceTypeSelect)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_ENHANCE" => {
                Some(Self::ChessRogueBuffSourceTypeEnhance)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_MIRACLE" => {
                Some(Self::ChessRogueBuffSourceTypeMiracle)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::ChessRogueBuffSourceTypeDialogue)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_BONUS" => {
                Some(Self::ChessRogueBuffSourceTypeBonus)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_SHOP" => {
                Some(Self::ChessRogueBuffSourceTypeShop)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_DICE" => {
                Some(Self::ChessRogueBuffSourceTypeDice)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_AEON" => {
                Some(Self::ChessRogueBuffSourceTypeAeon)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::ChessRogueBuffSourceTypeMazeSkill)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::ChessRogueBuffSourceTypeLevelMechanism)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hfenkddaoff {
    ChessRogueMiracleSourceTypeNone = 0,
    ChessRogueMiracleSourceTypeSelect = 1,
    ChessRogueMiracleSourceTypeDialogue = 2,
    ChessRogueMiracleSourceTypeBonus = 3,
    ChessRogueMiracleSourceTypeUse = 4,
    ChessRogueMiracleSourceTypeReset = 5,
    ChessRogueMiracleSourceTypeReplace = 6,
    ChessRogueMiracleSourceTypeTrade = 7,
    ChessRogueMiracleSourceTypeGet = 8,
    ChessRogueMiracleSourceTypeShop = 9,
    ChessRogueMiracleSourceTypeMazeSkill = 10,
    ChessRogueMiracleSourceTypeLevelMechanism = 11,
}
impl Hfenkddaoff {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChessRogueMiracleSourceTypeNone => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_NONE"
            }
            Self::ChessRogueMiracleSourceTypeSelect => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_SELECT"
            }
            Self::ChessRogueMiracleSourceTypeDialogue => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_DIALOGUE"
            }
            Self::ChessRogueMiracleSourceTypeBonus => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_BONUS"
            }
            Self::ChessRogueMiracleSourceTypeUse => "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_USE",
            Self::ChessRogueMiracleSourceTypeReset => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_RESET"
            }
            Self::ChessRogueMiracleSourceTypeReplace => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_REPLACE"
            }
            Self::ChessRogueMiracleSourceTypeTrade => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_TRADE"
            }
            Self::ChessRogueMiracleSourceTypeGet => "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_GET",
            Self::ChessRogueMiracleSourceTypeShop => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_SHOP"
            }
            Self::ChessRogueMiracleSourceTypeMazeSkill => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_MAZE_SKILL"
            }
            Self::ChessRogueMiracleSourceTypeLevelMechanism => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_LEVEL_MECHANISM"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_NONE" => {
                Some(Self::ChessRogueMiracleSourceTypeNone)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_SELECT" => {
                Some(Self::ChessRogueMiracleSourceTypeSelect)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::ChessRogueMiracleSourceTypeDialogue)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_BONUS" => {
                Some(Self::ChessRogueMiracleSourceTypeBonus)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_USE" => {
                Some(Self::ChessRogueMiracleSourceTypeUse)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_RESET" => {
                Some(Self::ChessRogueMiracleSourceTypeReset)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_REPLACE" => {
                Some(Self::ChessRogueMiracleSourceTypeReplace)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_TRADE" => {
                Some(Self::ChessRogueMiracleSourceTypeTrade)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_GET" => {
                Some(Self::ChessRogueMiracleSourceTypeGet)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_SHOP" => {
                Some(Self::ChessRogueMiracleSourceTypeShop)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::ChessRogueMiracleSourceTypeMazeSkill)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::ChessRogueMiracleSourceTypeLevelMechanism)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mmkdkdgfblh {
    ChessRogueUpdateLevelStatusByNone = 0,
    ChessRogueUpdateLevelStatusByDialog = 1,
}
impl Mmkdkdgfblh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChessRogueUpdateLevelStatusByNone => {
                "CHESS_ROGUE_UPDATE_LEVEL_STATUS_BY_NONE"
            }
            Self::ChessRogueUpdateLevelStatusByDialog => {
                "CHESS_ROGUE_UPDATE_LEVEL_STATUS_BY_DIALOG"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_UPDATE_LEVEL_STATUS_BY_NONE" => {
                Some(Self::ChessRogueUpdateLevelStatusByNone)
            }
            "CHESS_ROGUE_UPDATE_LEVEL_STATUS_BY_DIALOG" => {
                Some(Self::ChessRogueUpdateLevelStatusByDialog)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aebjegdpong {
    ChessRogueCellUpdateReasonNone = 0,
    ChessRogueCellUpdateReasonModifier = 1,
}
impl Aebjegdpong {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChessRogueCellUpdateReasonNone => "CHESS_ROGUE_CELL_UPDATE_REASON_NONE",
            Self::ChessRogueCellUpdateReasonModifier => {
                "CHESS_ROGUE_CELL_UPDATE_REASON_MODIFIER"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_CELL_UPDATE_REASON_NONE" => {
                Some(Self::ChessRogueCellUpdateReasonNone)
            }
            "CHESS_ROGUE_CELL_UPDATE_REASON_MODIFIER" => {
                Some(Self::ChessRogueCellUpdateReasonModifier)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cbncoeiemfi {
    ChessRogueAeonTypeNone = 0,
    ChessRogueAeonTypeKnight = 1,
    ChessRogueAeonTypeMemory = 2,
    ChessRogueAeonTypeWarlock = 3,
    ChessRogueAeonTypePriest = 4,
    ChessRogueAeonTypeRogue = 5,
    ChessRogueAeonTypeWarrior = 6,
    ChessRogueAeonTypeHappy = 7,
    ChessRogueAeonTypeBreed = 8,
}
impl Cbncoeiemfi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChessRogueAeonTypeNone => "CHESS_ROGUE_AEON_TYPE_NONE",
            Self::ChessRogueAeonTypeKnight => "CHESS_ROGUE_AEON_TYPE_KNIGHT",
            Self::ChessRogueAeonTypeMemory => "CHESS_ROGUE_AEON_TYPE_MEMORY",
            Self::ChessRogueAeonTypeWarlock => "CHESS_ROGUE_AEON_TYPE_WARLOCK",
            Self::ChessRogueAeonTypePriest => "CHESS_ROGUE_AEON_TYPE_PRIEST",
            Self::ChessRogueAeonTypeRogue => "CHESS_ROGUE_AEON_TYPE_ROGUE",
            Self::ChessRogueAeonTypeWarrior => "CHESS_ROGUE_AEON_TYPE_WARRIOR",
            Self::ChessRogueAeonTypeHappy => "CHESS_ROGUE_AEON_TYPE_HAPPY",
            Self::ChessRogueAeonTypeBreed => "CHESS_ROGUE_AEON_TYPE_BREED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_AEON_TYPE_NONE" => Some(Self::ChessRogueAeonTypeNone),
            "CHESS_ROGUE_AEON_TYPE_KNIGHT" => Some(Self::ChessRogueAeonTypeKnight),
            "CHESS_ROGUE_AEON_TYPE_MEMORY" => Some(Self::ChessRogueAeonTypeMemory),
            "CHESS_ROGUE_AEON_TYPE_WARLOCK" => Some(Self::ChessRogueAeonTypeWarlock),
            "CHESS_ROGUE_AEON_TYPE_PRIEST" => Some(Self::ChessRogueAeonTypePriest),
            "CHESS_ROGUE_AEON_TYPE_ROGUE" => Some(Self::ChessRogueAeonTypeRogue),
            "CHESS_ROGUE_AEON_TYPE_WARRIOR" => Some(Self::ChessRogueAeonTypeWarrior),
            "CHESS_ROGUE_AEON_TYPE_HAPPY" => Some(Self::ChessRogueAeonTypeHappy),
            "CHESS_ROGUE_AEON_TYPE_BREED" => Some(Self::ChessRogueAeonTypeBreed),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lmgjdlookoj {
    ChessRogueDiceSourceTypeNone = 0,
    ChessRogueDiceSourceTypeNormal = 1,
    ChessRogueDiceSourceTypeRepeat = 2,
    ChessRogueDiceSourceTypeCheat = 3,
}
impl Lmgjdlookoj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChessRogueDiceSourceTypeNone => "CHESS_ROGUE_DICE_SOURCE_TYPE_NONE",
            Self::ChessRogueDiceSourceTypeNormal => "CHESS_ROGUE_DICE_SOURCE_TYPE_NORMAL",
            Self::ChessRogueDiceSourceTypeRepeat => "CHESS_ROGUE_DICE_SOURCE_TYPE_REPEAT",
            Self::ChessRogueDiceSourceTypeCheat => "CHESS_ROGUE_DICE_SOURCE_TYPE_CHEAT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_DICE_SOURCE_TYPE_NONE" => {
                Some(Self::ChessRogueDiceSourceTypeNone)
            }
            "CHESS_ROGUE_DICE_SOURCE_TYPE_NORMAL" => {
                Some(Self::ChessRogueDiceSourceTypeNormal)
            }
            "CHESS_ROGUE_DICE_SOURCE_TYPE_REPEAT" => {
                Some(Self::ChessRogueDiceSourceTypeRepeat)
            }
            "CHESS_ROGUE_DICE_SOURCE_TYPE_CHEAT" => {
                Some(Self::ChessRogueDiceSourceTypeCheat)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cdoegmdjgoc {
    ChessRogueNousMainStoryStatusNone = 0,
    ChessRogueNousMainStoryStatusUnlock = 1,
    ChessRogueNousMainStoryStatusFinish = 2,
    ChessRogueNousMainStoryStatusCanTrigger = 3,
}
impl Cdoegmdjgoc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChessRogueNousMainStoryStatusNone => {
                "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_NONE"
            }
            Self::ChessRogueNousMainStoryStatusUnlock => {
                "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_UNLOCK"
            }
            Self::ChessRogueNousMainStoryStatusFinish => {
                "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_FINISH"
            }
            Self::ChessRogueNousMainStoryStatusCanTrigger => {
                "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_CAN_TRIGGER"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_NONE" => {
                Some(Self::ChessRogueNousMainStoryStatusNone)
            }
            "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_UNLOCK" => {
                Some(Self::ChessRogueNousMainStoryStatusUnlock)
            }
            "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_FINISH" => {
                Some(Self::ChessRogueNousMainStoryStatusFinish)
            }
            "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_CAN_TRIGGER" => {
                Some(Self::ChessRogueNousMainStoryStatusCanTrigger)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Faohejiddhj {
    None = 0,
    PhaseOne = 1,
    PhaseTwo = 2,
}
impl Faohejiddhj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "NONE",
            Self::PhaseOne => "PHASE_ONE",
            Self::PhaseTwo => "PHASE_TWO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NONE" => Some(Self::None),
            "PHASE_ONE" => Some(Self::PhaseOne),
            "PHASE_TWO" => Some(Self::PhaseTwo),
            _ => None,
        }
    }
}
/// Obf: CJFGFGIMMNO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChimeraType {
    None = 0,
    CmdChimeraQuitEndlessCsReq = 8165,
    CmdChimeraRoundWorkStartScRsp = 8166,
    CmdChimeraDoFinalRoundCsReq = 8171,
    CmdChimeraSetLineupScRsp = 8170,
    CmdChimeraFinishEndlessRoundScRsp = 8163,
    CmdChimeraFinishRoundScRsp = 8162,
    CmdChimeraFinishEndlessRoundCsReq = 8167,
    CmdChimeraStartEndlessScRsp = 8169,
    CmdChimeraRoundWorkStartCsReq = 8172,
    CmdChimeraGetDataCsReq = 8174,
    CmdChimeraQuitEndlessScRsp = 8161,
    CmdChimeraDoFinalRoundScRsp = 8179,
    CmdChimeraGetDataScRsp = 8173,
    CmdChimeraFinishRoundCsReq = 8164,
    CmdChimeraSetLineupCsReq = 8168,
    CmdChimeraStartEndlessCsReq = 8180,
}
impl CmdChimeraType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdChimeraTypeNone",
            Self::CmdChimeraQuitEndlessCsReq => "CmdChimeraQuitEndlessCsReq",
            Self::CmdChimeraRoundWorkStartScRsp => "CmdChimeraRoundWorkStartScRsp",
            Self::CmdChimeraDoFinalRoundCsReq => "CmdChimeraDoFinalRoundCsReq",
            Self::CmdChimeraSetLineupScRsp => "CmdChimeraSetLineupScRsp",
            Self::CmdChimeraFinishEndlessRoundScRsp => {
                "CmdChimeraFinishEndlessRoundScRsp"
            }
            Self::CmdChimeraFinishRoundScRsp => "CmdChimeraFinishRoundScRsp",
            Self::CmdChimeraFinishEndlessRoundCsReq => {
                "CmdChimeraFinishEndlessRoundCsReq"
            }
            Self::CmdChimeraStartEndlessScRsp => "CmdChimeraStartEndlessScRsp",
            Self::CmdChimeraRoundWorkStartCsReq => "CmdChimeraRoundWorkStartCsReq",
            Self::CmdChimeraGetDataCsReq => "CmdChimeraGetDataCsReq",
            Self::CmdChimeraQuitEndlessScRsp => "CmdChimeraQuitEndlessScRsp",
            Self::CmdChimeraDoFinalRoundScRsp => "CmdChimeraDoFinalRoundScRsp",
            Self::CmdChimeraGetDataScRsp => "CmdChimeraGetDataScRsp",
            Self::CmdChimeraFinishRoundCsReq => "CmdChimeraFinishRoundCsReq",
            Self::CmdChimeraSetLineupCsReq => "CmdChimeraSetLineupCsReq",
            Self::CmdChimeraStartEndlessCsReq => "CmdChimeraStartEndlessCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdChimeraTypeNone" => Some(Self::None),
            "CmdChimeraQuitEndlessCsReq" => Some(Self::CmdChimeraQuitEndlessCsReq),
            "CmdChimeraRoundWorkStartScRsp" => Some(Self::CmdChimeraRoundWorkStartScRsp),
            "CmdChimeraDoFinalRoundCsReq" => Some(Self::CmdChimeraDoFinalRoundCsReq),
            "CmdChimeraSetLineupScRsp" => Some(Self::CmdChimeraSetLineupScRsp),
            "CmdChimeraFinishEndlessRoundScRsp" => {
                Some(Self::CmdChimeraFinishEndlessRoundScRsp)
            }
            "CmdChimeraFinishRoundScRsp" => Some(Self::CmdChimeraFinishRoundScRsp),
            "CmdChimeraFinishEndlessRoundCsReq" => {
                Some(Self::CmdChimeraFinishEndlessRoundCsReq)
            }
            "CmdChimeraStartEndlessScRsp" => Some(Self::CmdChimeraStartEndlessScRsp),
            "CmdChimeraRoundWorkStartCsReq" => Some(Self::CmdChimeraRoundWorkStartCsReq),
            "CmdChimeraGetDataCsReq" => Some(Self::CmdChimeraGetDataCsReq),
            "CmdChimeraQuitEndlessScRsp" => Some(Self::CmdChimeraQuitEndlessScRsp),
            "CmdChimeraDoFinalRoundScRsp" => Some(Self::CmdChimeraDoFinalRoundScRsp),
            "CmdChimeraGetDataScRsp" => Some(Self::CmdChimeraGetDataScRsp),
            "CmdChimeraFinishRoundCsReq" => Some(Self::CmdChimeraFinishRoundCsReq),
            "CmdChimeraSetLineupCsReq" => Some(Self::CmdChimeraSetLineupCsReq),
            "CmdChimeraStartEndlessCsReq" => Some(Self::CmdChimeraStartEndlessCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oapdmkkkeol {
    ChimeraLastPhaseFinishNone = 0,
    ChimeraLastPhaseFinishNormal = 1,
    ChimeraLastPhaseFinishSkip = 2,
    ChimeraLastPhaseFinishForce = 3,
}
impl Oapdmkkkeol {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChimeraLastPhaseFinishNone => "CHIMERA_LAST_PHASE_FINISH_NONE",
            Self::ChimeraLastPhaseFinishNormal => "CHIMERA_LAST_PHASE_FINISH_NORMAL",
            Self::ChimeraLastPhaseFinishSkip => "CHIMERA_LAST_PHASE_FINISH_SKIP",
            Self::ChimeraLastPhaseFinishForce => "CHIMERA_LAST_PHASE_FINISH_FORCE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHIMERA_LAST_PHASE_FINISH_NONE" => Some(Self::ChimeraLastPhaseFinishNone),
            "CHIMERA_LAST_PHASE_FINISH_NORMAL" => {
                Some(Self::ChimeraLastPhaseFinishNormal)
            }
            "CHIMERA_LAST_PHASE_FINISH_SKIP" => Some(Self::ChimeraLastPhaseFinishSkip),
            "CHIMERA_LAST_PHASE_FINISH_FORCE" => Some(Self::ChimeraLastPhaseFinishForce),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Biakdfeljfm {
    ChimeraRoundWorkEndNone = 0,
    ChimeraRoundWorkEndSucc = 1,
    ChimeraRoundWorkEndFail = 2,
    ChimeraRoundWorkEndLeave = 3,
}
impl Biakdfeljfm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChimeraRoundWorkEndNone => "CHIMERA_ROUND_WORK_END_NONE",
            Self::ChimeraRoundWorkEndSucc => "CHIMERA_ROUND_WORK_END_SUCC",
            Self::ChimeraRoundWorkEndFail => "CHIMERA_ROUND_WORK_END_FAIL",
            Self::ChimeraRoundWorkEndLeave => "CHIMERA_ROUND_WORK_END_LEAVE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHIMERA_ROUND_WORK_END_NONE" => Some(Self::ChimeraRoundWorkEndNone),
            "CHIMERA_ROUND_WORK_END_SUCC" => Some(Self::ChimeraRoundWorkEndSucc),
            "CHIMERA_ROUND_WORK_END_FAIL" => Some(Self::ChimeraRoundWorkEndFail),
            "CHIMERA_ROUND_WORK_END_LEAVE" => Some(Self::ChimeraRoundWorkEndLeave),
            _ => None,
        }
    }
}
/// Obf: DIBEHAAGJDB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdClockParkType {
    None = 0,
    CmdClockParkHandleWaitOperationScRsp = 7207,
    CmdClockParkUnlockTalentScRsp = 7217,
    CmdClockParkGetOngoingScriptInfoScRsp = 7209,
    CmdClockParkStartScriptScRsp = 7215,
    CmdClockParkGetInfoCsReq = 7204,
    CmdClockParkFinishScriptScNotify = 7216,
    CmdClockParkGetInfoScRsp = 7246,
    CmdClockParkBattleEndScNotify = 7232,
    CmdClockParkUnlockTalentCsReq = 7236,
    CmdClockParkUseBuffScRsp = 7222,
    CmdClockParkStartScriptCsReq = 7227,
    CmdClockParkGetOngoingScriptInfoCsReq = 7243,
    CmdClockParkUseBuffCsReq = 7226,
    CmdClockParkQuitScriptScRsp = 7240,
    CmdClockParkHandleWaitOperationCsReq = 7245,
    CmdClockParkQuitScriptCsReq = 7250,
}
impl CmdClockParkType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdClockParkTypeNone",
            Self::CmdClockParkHandleWaitOperationScRsp => {
                "CmdClockParkHandleWaitOperationScRsp"
            }
            Self::CmdClockParkUnlockTalentScRsp => "CmdClockParkUnlockTalentScRsp",
            Self::CmdClockParkGetOngoingScriptInfoScRsp => {
                "CmdClockParkGetOngoingScriptInfoScRsp"
            }
            Self::CmdClockParkStartScriptScRsp => "CmdClockParkStartScriptScRsp",
            Self::CmdClockParkGetInfoCsReq => "CmdClockParkGetInfoCsReq",
            Self::CmdClockParkFinishScriptScNotify => "CmdClockParkFinishScriptScNotify",
            Self::CmdClockParkGetInfoScRsp => "CmdClockParkGetInfoScRsp",
            Self::CmdClockParkBattleEndScNotify => "CmdClockParkBattleEndScNotify",
            Self::CmdClockParkUnlockTalentCsReq => "CmdClockParkUnlockTalentCsReq",
            Self::CmdClockParkUseBuffScRsp => "CmdClockParkUseBuffScRsp",
            Self::CmdClockParkStartScriptCsReq => "CmdClockParkStartScriptCsReq",
            Self::CmdClockParkGetOngoingScriptInfoCsReq => {
                "CmdClockParkGetOngoingScriptInfoCsReq"
            }
            Self::CmdClockParkUseBuffCsReq => "CmdClockParkUseBuffCsReq",
            Self::CmdClockParkQuitScriptScRsp => "CmdClockParkQuitScriptScRsp",
            Self::CmdClockParkHandleWaitOperationCsReq => {
                "CmdClockParkHandleWaitOperationCsReq"
            }
            Self::CmdClockParkQuitScriptCsReq => "CmdClockParkQuitScriptCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdClockParkTypeNone" => Some(Self::None),
            "CmdClockParkHandleWaitOperationScRsp" => {
                Some(Self::CmdClockParkHandleWaitOperationScRsp)
            }
            "CmdClockParkUnlockTalentScRsp" => Some(Self::CmdClockParkUnlockTalentScRsp),
            "CmdClockParkGetOngoingScriptInfoScRsp" => {
                Some(Self::CmdClockParkGetOngoingScriptInfoScRsp)
            }
            "CmdClockParkStartScriptScRsp" => Some(Self::CmdClockParkStartScriptScRsp),
            "CmdClockParkGetInfoCsReq" => Some(Self::CmdClockParkGetInfoCsReq),
            "CmdClockParkFinishScriptScNotify" => {
                Some(Self::CmdClockParkFinishScriptScNotify)
            }
            "CmdClockParkGetInfoScRsp" => Some(Self::CmdClockParkGetInfoScRsp),
            "CmdClockParkBattleEndScNotify" => Some(Self::CmdClockParkBattleEndScNotify),
            "CmdClockParkUnlockTalentCsReq" => Some(Self::CmdClockParkUnlockTalentCsReq),
            "CmdClockParkUseBuffScRsp" => Some(Self::CmdClockParkUseBuffScRsp),
            "CmdClockParkStartScriptCsReq" => Some(Self::CmdClockParkStartScriptCsReq),
            "CmdClockParkGetOngoingScriptInfoCsReq" => {
                Some(Self::CmdClockParkGetOngoingScriptInfoCsReq)
            }
            "CmdClockParkUseBuffCsReq" => Some(Self::CmdClockParkUseBuffCsReq),
            "CmdClockParkQuitScriptScRsp" => Some(Self::CmdClockParkQuitScriptScRsp),
            "CmdClockParkHandleWaitOperationCsReq" => {
                Some(Self::CmdClockParkHandleWaitOperationCsReq)
            }
            "CmdClockParkQuitScriptCsReq" => Some(Self::CmdClockParkQuitScriptCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Egblomhgijm {
    ClockParkPlayNone = 0,
    ClockParkPlayNormalDeath = 1,
    ClockParkPlayNormalPass = 2,
    ClockParkPlayFinishScript = 5,
}
impl Egblomhgijm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ClockParkPlayNone => "CLOCK_PARK_PLAY_NONE",
            Self::ClockParkPlayNormalDeath => "CLOCK_PARK_PLAY_NORMAL_DEATH",
            Self::ClockParkPlayNormalPass => "CLOCK_PARK_PLAY_NORMAL_PASS",
            Self::ClockParkPlayFinishScript => "CLOCK_PARK_PLAY_FINISH_SCRIPT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CLOCK_PARK_PLAY_NONE" => Some(Self::ClockParkPlayNone),
            "CLOCK_PARK_PLAY_NORMAL_DEATH" => Some(Self::ClockParkPlayNormalDeath),
            "CLOCK_PARK_PLAY_NORMAL_PASS" => Some(Self::ClockParkPlayNormalPass),
            "CLOCK_PARK_PLAY_FINISH_SCRIPT" => Some(Self::ClockParkPlayFinishScript),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MissionStatus {
    MissionNone = 0,
    MissionDoing = 1,
    MissionFinish = 2,
    MissionPrepared = 3,
}
impl MissionStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MissionNone => "MISSION_NONE",
            Self::MissionDoing => "MISSION_DOING",
            Self::MissionFinish => "MISSION_FINISH",
            Self::MissionPrepared => "MISSION_PREPARED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MISSION_NONE" => Some(Self::MissionNone),
            "MISSION_DOING" => Some(Self::MissionDoing),
            "MISSION_FINISH" => Some(Self::MissionFinish),
            "MISSION_PREPARED" => Some(Self::MissionPrepared),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Liejljnbjnp {
    MessageSectionNone = 0,
    MessageSectionDoing = 1,
    MessageSectionFinish = 2,
    MessageSectionFrozen = 3,
}
impl Liejljnbjnp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MessageSectionNone => "MESSAGE_SECTION_NONE",
            Self::MessageSectionDoing => "MESSAGE_SECTION_DOING",
            Self::MessageSectionFinish => "MESSAGE_SECTION_FINISH",
            Self::MessageSectionFrozen => "MESSAGE_SECTION_FROZEN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MESSAGE_SECTION_NONE" => Some(Self::MessageSectionNone),
            "MESSAGE_SECTION_DOING" => Some(Self::MessageSectionDoing),
            "MESSAGE_SECTION_FINISH" => Some(Self::MessageSectionFinish),
            "MESSAGE_SECTION_FROZEN" => Some(Self::MessageSectionFrozen),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Llhaabppapd {
    MessageGroupNone = 0,
    MessageGroupDoing = 1,
    MessageGroupFinish = 2,
    MessageGroupFrozen = 3,
}
impl Llhaabppapd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MessageGroupNone => "MESSAGE_GROUP_NONE",
            Self::MessageGroupDoing => "MESSAGE_GROUP_DOING",
            Self::MessageGroupFinish => "MESSAGE_GROUP_FINISH",
            Self::MessageGroupFrozen => "MESSAGE_GROUP_FROZEN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MESSAGE_GROUP_NONE" => Some(Self::MessageGroupNone),
            "MESSAGE_GROUP_DOING" => Some(Self::MessageGroupDoing),
            "MESSAGE_GROUP_FINISH" => Some(Self::MessageGroupFinish),
            "MESSAGE_GROUP_FROZEN" => Some(Self::MessageGroupFrozen),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pcahopmikim {
    BattleRecordNone = 0,
    BattleRecordChallenge = 1,
    BattleRecordRogue = 2,
}
impl Pcahopmikim {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BattleRecordNone => "BATTLE_RECORD_NONE",
            Self::BattleRecordChallenge => "BATTLE_RECORD_CHALLENGE",
            Self::BattleRecordRogue => "BATTLE_RECORD_ROGUE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_RECORD_NONE" => Some(Self::BattleRecordNone),
            "BATTLE_RECORD_CHALLENGE" => Some(Self::BattleRecordChallenge),
            "BATTLE_RECORD_ROGUE" => Some(Self::BattleRecordRogue),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lipekjfjmnm {
    RebattleTypeNone = 0,
    RebattleTypeRebattleMidway = 1,
    RebattleTypeRebattleLose = 2,
    RebattleTypeRebattleMidwayLineup = 3,
    RebattleTypeRebattleLoseLineup = 4,
    RebattleTypeQuitMidway = 5,
    RebattleTypeQuitLose = 6,
}
impl Lipekjfjmnm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RebattleTypeNone => "REBATTLE_TYPE_NONE",
            Self::RebattleTypeRebattleMidway => "REBATTLE_TYPE_REBATTLE_MIDWAY",
            Self::RebattleTypeRebattleLose => "REBATTLE_TYPE_REBATTLE_LOSE",
            Self::RebattleTypeRebattleMidwayLineup => {
                "REBATTLE_TYPE_REBATTLE_MIDWAY_LINEUP"
            }
            Self::RebattleTypeRebattleLoseLineup => "REBATTLE_TYPE_REBATTLE_LOSE_LINEUP",
            Self::RebattleTypeQuitMidway => "REBATTLE_TYPE_QUIT_MIDWAY",
            Self::RebattleTypeQuitLose => "REBATTLE_TYPE_QUIT_LOSE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "REBATTLE_TYPE_NONE" => Some(Self::RebattleTypeNone),
            "REBATTLE_TYPE_REBATTLE_MIDWAY" => Some(Self::RebattleTypeRebattleMidway),
            "REBATTLE_TYPE_REBATTLE_LOSE" => Some(Self::RebattleTypeRebattleLose),
            "REBATTLE_TYPE_REBATTLE_MIDWAY_LINEUP" => {
                Some(Self::RebattleTypeRebattleMidwayLineup)
            }
            "REBATTLE_TYPE_REBATTLE_LOSE_LINEUP" => {
                Some(Self::RebattleTypeRebattleLoseLineup)
            }
            "REBATTLE_TYPE_QUIT_MIDWAY" => Some(Self::RebattleTypeQuitMidway),
            "REBATTLE_TYPE_QUIT_LOSE" => Some(Self::RebattleTypeQuitLose),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ContentPackageStatus {
    None = 0,
    Init = 1,
    Doing = 2,
    Finished = 3,
    Release = 4,
}
impl ContentPackageStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "ContentPackageStatus_None",
            Self::Init => "ContentPackageStatus_Init",
            Self::Doing => "ContentPackageStatus_Doing",
            Self::Finished => "ContentPackageStatus_Finished",
            Self::Release => "ContentPackageStatus_Release",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ContentPackageStatus_None" => Some(Self::None),
            "ContentPackageStatus_Init" => Some(Self::Init),
            "ContentPackageStatus_Doing" => Some(Self::Doing),
            "ContentPackageStatus_Finished" => Some(Self::Finished),
            "ContentPackageStatus_Release" => Some(Self::Release),
            _ => None,
        }
    }
}
/// Obf: AMFHHOJFONL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdContentPackageType {
    None = 0,
    CmdContentPackageUnlockCsReq = 7537,
    CmdContentPackageTransferScNotify = 7517,
    CmdContentPackageSyncDataScNotify = 7502,
    CmdContentPackageUnlockScRsp = 7536,
    CmdContentPackageGetDataScRsp = 7546,
    CmdContentPackageGetDataCsReq = 7504,
}
impl CmdContentPackageType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdContentPackageTypeNone",
            Self::CmdContentPackageUnlockCsReq => "CmdContentPackageUnlockCsReq",
            Self::CmdContentPackageTransferScNotify => {
                "CmdContentPackageTransferScNotify"
            }
            Self::CmdContentPackageSyncDataScNotify => {
                "CmdContentPackageSyncDataScNotify"
            }
            Self::CmdContentPackageUnlockScRsp => "CmdContentPackageUnlockScRsp",
            Self::CmdContentPackageGetDataScRsp => "CmdContentPackageGetDataScRsp",
            Self::CmdContentPackageGetDataCsReq => "CmdContentPackageGetDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdContentPackageTypeNone" => Some(Self::None),
            "CmdContentPackageUnlockCsReq" => Some(Self::CmdContentPackageUnlockCsReq),
            "CmdContentPackageTransferScNotify" => {
                Some(Self::CmdContentPackageTransferScNotify)
            }
            "CmdContentPackageSyncDataScNotify" => {
                Some(Self::CmdContentPackageSyncDataScNotify)
            }
            "CmdContentPackageUnlockScRsp" => Some(Self::CmdContentPackageUnlockScRsp),
            "CmdContentPackageGetDataScRsp" => Some(Self::CmdContentPackageGetDataScRsp),
            "CmdContentPackageGetDataCsReq" => Some(Self::CmdContentPackageGetDataCsReq),
            _ => None,
        }
    }
}
/// Obf: EFPGANHIKIB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDailyActiveType {
    None = 0,
    CmdTakeAllApRewardCsReq = 3348,
    CmdTakeAllApRewardScRsp = 3371,
    CmdGetDailyActiveInfoScRsp = 3340,
    CmdTakeApRewardCsReq = 3395,
    CmdDailyActiveInfoNotify = 3376,
    CmdTakeApRewardScRsp = 3332,
    CmdGetDailyActiveInfoCsReq = 3331,
}
impl CmdDailyActiveType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdDailyActiveTypeNone",
            Self::CmdTakeAllApRewardCsReq => "CmdTakeAllApRewardCsReq",
            Self::CmdTakeAllApRewardScRsp => "CmdTakeAllApRewardScRsp",
            Self::CmdGetDailyActiveInfoScRsp => "CmdGetDailyActiveInfoScRsp",
            Self::CmdTakeApRewardCsReq => "CmdTakeApRewardCsReq",
            Self::CmdDailyActiveInfoNotify => "CmdDailyActiveInfoNotify",
            Self::CmdTakeApRewardScRsp => "CmdTakeApRewardScRsp",
            Self::CmdGetDailyActiveInfoCsReq => "CmdGetDailyActiveInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdDailyActiveTypeNone" => Some(Self::None),
            "CmdTakeAllApRewardCsReq" => Some(Self::CmdTakeAllApRewardCsReq),
            "CmdTakeAllApRewardScRsp" => Some(Self::CmdTakeAllApRewardScRsp),
            "CmdGetDailyActiveInfoScRsp" => Some(Self::CmdGetDailyActiveInfoScRsp),
            "CmdTakeApRewardCsReq" => Some(Self::CmdTakeApRewardCsReq),
            "CmdDailyActiveInfoNotify" => Some(Self::CmdDailyActiveInfoNotify),
            "CmdTakeApRewardScRsp" => Some(Self::CmdTakeApRewardScRsp),
            "CmdGetDailyActiveInfoCsReq" => Some(Self::CmdGetDailyActiveInfoCsReq),
            _ => None,
        }
    }
}
/// Obf: KKHBBMDPNDN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDebugType {
    None = 0,
    CmdServerLogScNotify = 2486,
    CmdGetServerLogSettingsCsReq = 2454,
    CmdGetServerGraphDataCsReq = 2467,
    CmdUpdateServerLogSettingsCsReq = 2452,
    CmdUpdateServerLogSettingsScRsp = 2487,
    CmdGetServerLogSettingsScRsp = 2496,
    CmdGetServerGraphDataScRsp = 2477,
}
impl CmdDebugType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdDebugTypeNone",
            Self::CmdServerLogScNotify => "CmdServerLogScNotify",
            Self::CmdGetServerLogSettingsCsReq => "CmdGetServerLogSettingsCsReq",
            Self::CmdGetServerGraphDataCsReq => "CmdGetServerGraphDataCsReq",
            Self::CmdUpdateServerLogSettingsCsReq => "CmdUpdateServerLogSettingsCsReq",
            Self::CmdUpdateServerLogSettingsScRsp => "CmdUpdateServerLogSettingsScRsp",
            Self::CmdGetServerLogSettingsScRsp => "CmdGetServerLogSettingsScRsp",
            Self::CmdGetServerGraphDataScRsp => "CmdGetServerGraphDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdDebugTypeNone" => Some(Self::None),
            "CmdServerLogScNotify" => Some(Self::CmdServerLogScNotify),
            "CmdGetServerLogSettingsCsReq" => Some(Self::CmdGetServerLogSettingsCsReq),
            "CmdGetServerGraphDataCsReq" => Some(Self::CmdGetServerGraphDataCsReq),
            "CmdUpdateServerLogSettingsCsReq" => {
                Some(Self::CmdUpdateServerLogSettingsCsReq)
            }
            "CmdUpdateServerLogSettingsScRsp" => {
                Some(Self::CmdUpdateServerLogSettingsScRsp)
            }
            "CmdGetServerLogSettingsScRsp" => Some(Self::CmdGetServerLogSettingsScRsp),
            "CmdGetServerGraphDataScRsp" => Some(Self::CmdGetServerGraphDataScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ServerLogTag {
    Default = 0,
    Rogue = 1,
    Scene = 3,
    Battle = 4,
    CppGamecore = 5,
    LevelGraph = 6,
    PlanetFes = 7,
}
impl ServerLogTag {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "SERVER_LOG_TAG_DEFAULT",
            Self::Rogue => "SERVER_LOG_TAG_ROGUE",
            Self::Scene => "SERVER_LOG_TAG_SCENE",
            Self::Battle => "SERVER_LOG_TAG_BATTLE",
            Self::CppGamecore => "SERVER_LOG_TAG_CPP_GAMECORE",
            Self::LevelGraph => "SERVER_LOG_TAG_LEVEL_GRAPH",
            Self::PlanetFes => "SERVER_LOG_TAG_PLANET_FES",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SERVER_LOG_TAG_DEFAULT" => Some(Self::Default),
            "SERVER_LOG_TAG_ROGUE" => Some(Self::Rogue),
            "SERVER_LOG_TAG_SCENE" => Some(Self::Scene),
            "SERVER_LOG_TAG_BATTLE" => Some(Self::Battle),
            "SERVER_LOG_TAG_CPP_GAMECORE" => Some(Self::CppGamecore),
            "SERVER_LOG_TAG_LEVEL_GRAPH" => Some(Self::LevelGraph),
            "SERVER_LOG_TAG_PLANET_FES" => Some(Self::PlanetFes),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ServerLogLevel {
    None = 0,
    Debug = 1,
    Info = 2,
    Warn = 3,
    Error = 4,
}
impl ServerLogLevel {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "SERVER_LOG_LEVEL_NONE",
            Self::Debug => "SERVER_LOG_LEVEL_DEBUG",
            Self::Info => "SERVER_LOG_LEVEL_INFO",
            Self::Warn => "SERVER_LOG_LEVEL_WARN",
            Self::Error => "SERVER_LOG_LEVEL_ERROR",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SERVER_LOG_LEVEL_NONE" => Some(Self::None),
            "SERVER_LOG_LEVEL_DEBUG" => Some(Self::Debug),
            "SERVER_LOG_LEVEL_INFO" => Some(Self::Info),
            "SERVER_LOG_LEVEL_WARN" => Some(Self::Warn),
            "SERVER_LOG_LEVEL_ERROR" => Some(Self::Error),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ojidjndhdga {
    Ready = 0,
    Suspend = 1,
    Succ = 2,
    Fail = 3,
}
impl Ojidjndhdga {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ready => "READY",
            Self::Suspend => "SUSPEND",
            Self::Succ => "SUCC",
            Self::Fail => "FAIL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "READY" => Some(Self::Ready),
            "SUSPEND" => Some(Self::Suspend),
            "SUCC" => Some(Self::Succ),
            "FAIL" => Some(Self::Fail),
            _ => None,
        }
    }
}
/// Obf: KGPDDMGIINK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDrinkMakerType {
    None = 0,
    CmdEndDrinkMakerSequenceCsReq = 6984,
    CmdDrinkMakerDayEndScNotify = 6987,
    CmdMakeMissionDrinkScRsp = 6989,
    CmdMakeDrinkScRsp = 6990,
    CmdDrinkMakerUpdateTipsNotify = 6981,
    CmdDrinkMakerChallengeCsReq = 6983,
    CmdMakeDrinkCsReq = 6988,
    CmdGetDrinkMakerDataCsReq = 6994,
    CmdEndDrinkMakerSequenceScRsp = 6982,
    CmdGetDrinkMakerDataScRsp = 6993,
    CmdMakeMissionDrinkCsReq = 7000,
    CmdDrinkMakerChallengeScRsp = 6985,
}
impl CmdDrinkMakerType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdDrinkMakerTypeNone",
            Self::CmdEndDrinkMakerSequenceCsReq => "CmdEndDrinkMakerSequenceCsReq",
            Self::CmdDrinkMakerDayEndScNotify => "CmdDrinkMakerDayEndScNotify",
            Self::CmdMakeMissionDrinkScRsp => "CmdMakeMissionDrinkScRsp",
            Self::CmdMakeDrinkScRsp => "CmdMakeDrinkScRsp",
            Self::CmdDrinkMakerUpdateTipsNotify => "CmdDrinkMakerUpdateTipsNotify",
            Self::CmdDrinkMakerChallengeCsReq => "CmdDrinkMakerChallengeCsReq",
            Self::CmdMakeDrinkCsReq => "CmdMakeDrinkCsReq",
            Self::CmdGetDrinkMakerDataCsReq => "CmdGetDrinkMakerDataCsReq",
            Self::CmdEndDrinkMakerSequenceScRsp => "CmdEndDrinkMakerSequenceScRsp",
            Self::CmdGetDrinkMakerDataScRsp => "CmdGetDrinkMakerDataScRsp",
            Self::CmdMakeMissionDrinkCsReq => "CmdMakeMissionDrinkCsReq",
            Self::CmdDrinkMakerChallengeScRsp => "CmdDrinkMakerChallengeScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdDrinkMakerTypeNone" => Some(Self::None),
            "CmdEndDrinkMakerSequenceCsReq" => Some(Self::CmdEndDrinkMakerSequenceCsReq),
            "CmdDrinkMakerDayEndScNotify" => Some(Self::CmdDrinkMakerDayEndScNotify),
            "CmdMakeMissionDrinkScRsp" => Some(Self::CmdMakeMissionDrinkScRsp),
            "CmdMakeDrinkScRsp" => Some(Self::CmdMakeDrinkScRsp),
            "CmdDrinkMakerUpdateTipsNotify" => Some(Self::CmdDrinkMakerUpdateTipsNotify),
            "CmdDrinkMakerChallengeCsReq" => Some(Self::CmdDrinkMakerChallengeCsReq),
            "CmdMakeDrinkCsReq" => Some(Self::CmdMakeDrinkCsReq),
            "CmdGetDrinkMakerDataCsReq" => Some(Self::CmdGetDrinkMakerDataCsReq),
            "CmdEndDrinkMakerSequenceScRsp" => Some(Self::CmdEndDrinkMakerSequenceScRsp),
            "CmdGetDrinkMakerDataScRsp" => Some(Self::CmdGetDrinkMakerDataScRsp),
            "CmdMakeMissionDrinkCsReq" => Some(Self::CmdMakeMissionDrinkCsReq),
            "CmdDrinkMakerChallengeScRsp" => Some(Self::CmdDrinkMakerChallengeScRsp),
            _ => None,
        }
    }
}
/// Obf: KCLCJEPMDGP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdEraFlipperType {
    None = 0,
    CmdResetEraFlipperDataScRsp = 6551,
    CmdEraFlipperDataChangeScNotify = 6554,
    CmdEnterEraFlipperRegionScRsp = 6558,
    CmdChangeEraFlipperDataScRsp = 6569,
    CmdResetEraFlipperDataCsReq = 6574,
    CmdGetEraFlipperDataCsReq = 6561,
    CmdEnterEraFlipperRegionCsReq = 6553,
    CmdChangeEraFlipperDataCsReq = 6559,
    CmdGetEraFlipperDataScRsp = 6570,
}
impl CmdEraFlipperType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdEraFlipperTypeNone",
            Self::CmdResetEraFlipperDataScRsp => "CmdResetEraFlipperDataScRsp",
            Self::CmdEraFlipperDataChangeScNotify => "CmdEraFlipperDataChangeScNotify",
            Self::CmdEnterEraFlipperRegionScRsp => "CmdEnterEraFlipperRegionScRsp",
            Self::CmdChangeEraFlipperDataScRsp => "CmdChangeEraFlipperDataScRsp",
            Self::CmdResetEraFlipperDataCsReq => "CmdResetEraFlipperDataCsReq",
            Self::CmdGetEraFlipperDataCsReq => "CmdGetEraFlipperDataCsReq",
            Self::CmdEnterEraFlipperRegionCsReq => "CmdEnterEraFlipperRegionCsReq",
            Self::CmdChangeEraFlipperDataCsReq => "CmdChangeEraFlipperDataCsReq",
            Self::CmdGetEraFlipperDataScRsp => "CmdGetEraFlipperDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdEraFlipperTypeNone" => Some(Self::None),
            "CmdResetEraFlipperDataScRsp" => Some(Self::CmdResetEraFlipperDataScRsp),
            "CmdEraFlipperDataChangeScNotify" => {
                Some(Self::CmdEraFlipperDataChangeScNotify)
            }
            "CmdEnterEraFlipperRegionScRsp" => Some(Self::CmdEnterEraFlipperRegionScRsp),
            "CmdChangeEraFlipperDataScRsp" => Some(Self::CmdChangeEraFlipperDataScRsp),
            "CmdResetEraFlipperDataCsReq" => Some(Self::CmdResetEraFlipperDataCsReq),
            "CmdGetEraFlipperDataCsReq" => Some(Self::CmdGetEraFlipperDataCsReq),
            "CmdEnterEraFlipperRegionCsReq" => Some(Self::CmdEnterEraFlipperRegionCsReq),
            "CmdChangeEraFlipperDataCsReq" => Some(Self::CmdChangeEraFlipperDataCsReq),
            "CmdGetEraFlipperDataScRsp" => Some(Self::CmdGetEraFlipperDataScRsp),
            _ => None,
        }
    }
}
/// Obf: IGDLIBJNFMD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdEvolveBuild {
    None = 0,
    CoinNotify = 7134,
    TakeExpRewardScRsp = 7116,
    SkipTeachLevelCsReq = 7101,
    ReRandomStageScRsp = 7150,
    ShopAbilityResetScRsp = 7129,
    LeaveCsReq = 7143,
    QueryInfoScRsp = 7146,
    FinishScNotify = 7145,
    TakeExpRewardCsReq = 7122,
    StartLevelScRsp = 7137,
    StartStageCsReq = 7136,
    GiveupScRsp = 7115,
    ShopAbilityDownScRsp = 7126,
    SkipTeachLevelScRsp = 7105,
    ReRandomStageCsReq = 7107,
    StartLevelCsReq = 7102,
    StartStageScRsp = 7117,
    LeaveScRsp = 7109,
    QueryInfoCsReq = 7104,
    ShopAbilityResetCsReq = 7142,
    ShopAbilityUpScRsp = 7132,
    ShopAbilityUpCsReq = 7144,
    GiveupCsReq = 7127,
    ShopAbilityDownCsReq = 7123,
}
impl CmdEvolveBuild {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdEvolveBuildNone",
            Self::CoinNotify => "CmdEvolveBuildCoinNotify",
            Self::TakeExpRewardScRsp => "CmdEvolveBuildTakeExpRewardScRsp",
            Self::SkipTeachLevelCsReq => "CmdEvolveBuildSkipTeachLevelCsReq",
            Self::ReRandomStageScRsp => "CmdEvolveBuildReRandomStageScRsp",
            Self::ShopAbilityResetScRsp => "CmdEvolveBuildShopAbilityResetScRsp",
            Self::LeaveCsReq => "CmdEvolveBuildLeaveCsReq",
            Self::QueryInfoScRsp => "CmdEvolveBuildQueryInfoScRsp",
            Self::FinishScNotify => "CmdEvolveBuildFinishScNotify",
            Self::TakeExpRewardCsReq => "CmdEvolveBuildTakeExpRewardCsReq",
            Self::StartLevelScRsp => "CmdEvolveBuildStartLevelScRsp",
            Self::StartStageCsReq => "CmdEvolveBuildStartStageCsReq",
            Self::GiveupScRsp => "CmdEvolveBuildGiveupScRsp",
            Self::ShopAbilityDownScRsp => "CmdEvolveBuildShopAbilityDownScRsp",
            Self::SkipTeachLevelScRsp => "CmdEvolveBuildSkipTeachLevelScRsp",
            Self::ReRandomStageCsReq => "CmdEvolveBuildReRandomStageCsReq",
            Self::StartLevelCsReq => "CmdEvolveBuildStartLevelCsReq",
            Self::StartStageScRsp => "CmdEvolveBuildStartStageScRsp",
            Self::LeaveScRsp => "CmdEvolveBuildLeaveScRsp",
            Self::QueryInfoCsReq => "CmdEvolveBuildQueryInfoCsReq",
            Self::ShopAbilityResetCsReq => "CmdEvolveBuildShopAbilityResetCsReq",
            Self::ShopAbilityUpScRsp => "CmdEvolveBuildShopAbilityUpScRsp",
            Self::ShopAbilityUpCsReq => "CmdEvolveBuildShopAbilityUpCsReq",
            Self::GiveupCsReq => "CmdEvolveBuildGiveupCsReq",
            Self::ShopAbilityDownCsReq => "CmdEvolveBuildShopAbilityDownCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdEvolveBuildNone" => Some(Self::None),
            "CmdEvolveBuildCoinNotify" => Some(Self::CoinNotify),
            "CmdEvolveBuildTakeExpRewardScRsp" => Some(Self::TakeExpRewardScRsp),
            "CmdEvolveBuildSkipTeachLevelCsReq" => Some(Self::SkipTeachLevelCsReq),
            "CmdEvolveBuildReRandomStageScRsp" => Some(Self::ReRandomStageScRsp),
            "CmdEvolveBuildShopAbilityResetScRsp" => Some(Self::ShopAbilityResetScRsp),
            "CmdEvolveBuildLeaveCsReq" => Some(Self::LeaveCsReq),
            "CmdEvolveBuildQueryInfoScRsp" => Some(Self::QueryInfoScRsp),
            "CmdEvolveBuildFinishScNotify" => Some(Self::FinishScNotify),
            "CmdEvolveBuildTakeExpRewardCsReq" => Some(Self::TakeExpRewardCsReq),
            "CmdEvolveBuildStartLevelScRsp" => Some(Self::StartLevelScRsp),
            "CmdEvolveBuildStartStageCsReq" => Some(Self::StartStageCsReq),
            "CmdEvolveBuildGiveupScRsp" => Some(Self::GiveupScRsp),
            "CmdEvolveBuildShopAbilityDownScRsp" => Some(Self::ShopAbilityDownScRsp),
            "CmdEvolveBuildSkipTeachLevelScRsp" => Some(Self::SkipTeachLevelScRsp),
            "CmdEvolveBuildReRandomStageCsReq" => Some(Self::ReRandomStageCsReq),
            "CmdEvolveBuildStartLevelCsReq" => Some(Self::StartLevelCsReq),
            "CmdEvolveBuildStartStageScRsp" => Some(Self::StartStageScRsp),
            "CmdEvolveBuildLeaveScRsp" => Some(Self::LeaveScRsp),
            "CmdEvolveBuildQueryInfoCsReq" => Some(Self::QueryInfoCsReq),
            "CmdEvolveBuildShopAbilityResetCsReq" => Some(Self::ShopAbilityResetCsReq),
            "CmdEvolveBuildShopAbilityUpScRsp" => Some(Self::ShopAbilityUpScRsp),
            "CmdEvolveBuildShopAbilityUpCsReq" => Some(Self::ShopAbilityUpCsReq),
            "CmdEvolveBuildGiveupCsReq" => Some(Self::GiveupCsReq),
            "CmdEvolveBuildShopAbilityDownCsReq" => Some(Self::ShopAbilityDownCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oijlbloohjg {
    EvolvePeriodNone = 0,
    EvolvePeriodFirst = 1,
    EvolvePeriodSecond = 2,
    EvolvePeriodThird = 3,
    EvolvePeriodExtra = 4,
}
impl Oijlbloohjg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EvolvePeriodNone => "EVOLVE_PERIOD_NONE",
            Self::EvolvePeriodFirst => "EVOLVE_PERIOD_FIRST",
            Self::EvolvePeriodSecond => "EVOLVE_PERIOD_SECOND",
            Self::EvolvePeriodThird => "EVOLVE_PERIOD_THIRD",
            Self::EvolvePeriodExtra => "EVOLVE_PERIOD_EXTRA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EVOLVE_PERIOD_NONE" => Some(Self::EvolvePeriodNone),
            "EVOLVE_PERIOD_FIRST" => Some(Self::EvolvePeriodFirst),
            "EVOLVE_PERIOD_SECOND" => Some(Self::EvolvePeriodSecond),
            "EVOLVE_PERIOD_THIRD" => Some(Self::EvolvePeriodThird),
            "EVOLVE_PERIOD_EXTRA" => Some(Self::EvolvePeriodExtra),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dlhcmcnihii {
    EvolveBattleResultNone = 0,
    EvolveBattleResultWin = 1,
    EvolveBattleResultAllAvatarDead = 2,
    EvolveBattleResultNoDeadLine = 3,
    EvolveBattleResultQuit = 4,
}
impl Dlhcmcnihii {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EvolveBattleResultNone => "EVOLVE_BATTLE_RESULT_NONE",
            Self::EvolveBattleResultWin => "EVOLVE_BATTLE_RESULT_WIN",
            Self::EvolveBattleResultAllAvatarDead => {
                "EVOLVE_BATTLE_RESULT_ALL_AVATAR_DEAD"
            }
            Self::EvolveBattleResultNoDeadLine => "EVOLVE_BATTLE_RESULT_NO_DEAD_LINE",
            Self::EvolveBattleResultQuit => "EVOLVE_BATTLE_RESULT_QUIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EVOLVE_BATTLE_RESULT_NONE" => Some(Self::EvolveBattleResultNone),
            "EVOLVE_BATTLE_RESULT_WIN" => Some(Self::EvolveBattleResultWin),
            "EVOLVE_BATTLE_RESULT_ALL_AVATAR_DEAD" => {
                Some(Self::EvolveBattleResultAllAvatarDead)
            }
            "EVOLVE_BATTLE_RESULT_NO_DEAD_LINE" => {
                Some(Self::EvolveBattleResultNoDeadLine)
            }
            "EVOLVE_BATTLE_RESULT_QUIT" => Some(Self::EvolveBattleResultQuit),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Klnipnjcnmj {
    EvolveBuildSeasonNone = 0,
    EvolveBuildEarlyAccess = 1,
    EvolveBuildSecondChapter = 2,
}
impl Klnipnjcnmj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EvolveBuildSeasonNone => "EVOLVE_BUILD_SEASON_NONE",
            Self::EvolveBuildEarlyAccess => "EVOLVE_BUILD_EARLY_ACCESS",
            Self::EvolveBuildSecondChapter => "EVOLVE_BUILD_SECOND_CHAPTER",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EVOLVE_BUILD_SEASON_NONE" => Some(Self::EvolveBuildSeasonNone),
            "EVOLVE_BUILD_EARLY_ACCESS" => Some(Self::EvolveBuildEarlyAccess),
            "EVOLVE_BUILD_SECOND_CHAPTER" => Some(Self::EvolveBuildSecondChapter),
            _ => None,
        }
    }
}
/// Obf: MCFNPIKEGKO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdExpeditionType {
    None = 0,
    CmdTakeExpeditionRewardCsReq = 2571,
    CmdTakeMultipleActivityExpeditionRewardCsReq = 2533,
    CmdGetExpeditionDataCsReq = 2595,
    CmdTakeMultipleExpeditionRewardCsReq = 2539,
    CmdAcceptMultipleExpeditionScRsp = 2502,
    CmdAcceptExpeditionScRsp = 2540,
    CmdAcceptActivityExpeditionScRsp = 2572,
    CmdCancelExpeditionScRsp = 2548,
    CmdAcceptActivityExpeditionCsReq = 2556,
    CmdTakeExpeditionRewardScRsp = 2552,
    CmdCancelExpeditionCsReq = 2576,
    CmdTakeActivityExpeditionRewardScRsp = 2583,
    CmdCancelActivityExpeditionScRsp = 2516,
    CmdAcceptExpeditionCsReq = 2531,
    CmdExpeditionDataChangeScNotify = 2522,
    CmdCancelActivityExpeditionCsReq = 2585,
    CmdAcceptMultipleExpeditionCsReq = 2560,
    CmdTakeMultipleExpeditionRewardScRsp = 2543,
    CmdTakeMultipleActivityExpeditionRewardScRsp = 2542,
    CmdGetExpeditionDataScRsp = 2532,
    CmdTakeActivityExpeditionRewardCsReq = 2546,
}
impl CmdExpeditionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdExpeditionTypeNone",
            Self::CmdTakeExpeditionRewardCsReq => "CmdTakeExpeditionRewardCsReq",
            Self::CmdTakeMultipleActivityExpeditionRewardCsReq => {
                "CmdTakeMultipleActivityExpeditionRewardCsReq"
            }
            Self::CmdGetExpeditionDataCsReq => "CmdGetExpeditionDataCsReq",
            Self::CmdTakeMultipleExpeditionRewardCsReq => {
                "CmdTakeMultipleExpeditionRewardCsReq"
            }
            Self::CmdAcceptMultipleExpeditionScRsp => "CmdAcceptMultipleExpeditionScRsp",
            Self::CmdAcceptExpeditionScRsp => "CmdAcceptExpeditionScRsp",
            Self::CmdAcceptActivityExpeditionScRsp => "CmdAcceptActivityExpeditionScRsp",
            Self::CmdCancelExpeditionScRsp => "CmdCancelExpeditionScRsp",
            Self::CmdAcceptActivityExpeditionCsReq => "CmdAcceptActivityExpeditionCsReq",
            Self::CmdTakeExpeditionRewardScRsp => "CmdTakeExpeditionRewardScRsp",
            Self::CmdCancelExpeditionCsReq => "CmdCancelExpeditionCsReq",
            Self::CmdTakeActivityExpeditionRewardScRsp => {
                "CmdTakeActivityExpeditionRewardScRsp"
            }
            Self::CmdCancelActivityExpeditionScRsp => "CmdCancelActivityExpeditionScRsp",
            Self::CmdAcceptExpeditionCsReq => "CmdAcceptExpeditionCsReq",
            Self::CmdExpeditionDataChangeScNotify => "CmdExpeditionDataChangeScNotify",
            Self::CmdCancelActivityExpeditionCsReq => "CmdCancelActivityExpeditionCsReq",
            Self::CmdAcceptMultipleExpeditionCsReq => "CmdAcceptMultipleExpeditionCsReq",
            Self::CmdTakeMultipleExpeditionRewardScRsp => {
                "CmdTakeMultipleExpeditionRewardScRsp"
            }
            Self::CmdTakeMultipleActivityExpeditionRewardScRsp => {
                "CmdTakeMultipleActivityExpeditionRewardScRsp"
            }
            Self::CmdGetExpeditionDataScRsp => "CmdGetExpeditionDataScRsp",
            Self::CmdTakeActivityExpeditionRewardCsReq => {
                "CmdTakeActivityExpeditionRewardCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdExpeditionTypeNone" => Some(Self::None),
            "CmdTakeExpeditionRewardCsReq" => Some(Self::CmdTakeExpeditionRewardCsReq),
            "CmdTakeMultipleActivityExpeditionRewardCsReq" => {
                Some(Self::CmdTakeMultipleActivityExpeditionRewardCsReq)
            }
            "CmdGetExpeditionDataCsReq" => Some(Self::CmdGetExpeditionDataCsReq),
            "CmdTakeMultipleExpeditionRewardCsReq" => {
                Some(Self::CmdTakeMultipleExpeditionRewardCsReq)
            }
            "CmdAcceptMultipleExpeditionScRsp" => {
                Some(Self::CmdAcceptMultipleExpeditionScRsp)
            }
            "CmdAcceptExpeditionScRsp" => Some(Self::CmdAcceptExpeditionScRsp),
            "CmdAcceptActivityExpeditionScRsp" => {
                Some(Self::CmdAcceptActivityExpeditionScRsp)
            }
            "CmdCancelExpeditionScRsp" => Some(Self::CmdCancelExpeditionScRsp),
            "CmdAcceptActivityExpeditionCsReq" => {
                Some(Self::CmdAcceptActivityExpeditionCsReq)
            }
            "CmdTakeExpeditionRewardScRsp" => Some(Self::CmdTakeExpeditionRewardScRsp),
            "CmdCancelExpeditionCsReq" => Some(Self::CmdCancelExpeditionCsReq),
            "CmdTakeActivityExpeditionRewardScRsp" => {
                Some(Self::CmdTakeActivityExpeditionRewardScRsp)
            }
            "CmdCancelActivityExpeditionScRsp" => {
                Some(Self::CmdCancelActivityExpeditionScRsp)
            }
            "CmdAcceptExpeditionCsReq" => Some(Self::CmdAcceptExpeditionCsReq),
            "CmdExpeditionDataChangeScNotify" => {
                Some(Self::CmdExpeditionDataChangeScNotify)
            }
            "CmdCancelActivityExpeditionCsReq" => {
                Some(Self::CmdCancelActivityExpeditionCsReq)
            }
            "CmdAcceptMultipleExpeditionCsReq" => {
                Some(Self::CmdAcceptMultipleExpeditionCsReq)
            }
            "CmdTakeMultipleExpeditionRewardScRsp" => {
                Some(Self::CmdTakeMultipleExpeditionRewardScRsp)
            }
            "CmdTakeMultipleActivityExpeditionRewardScRsp" => {
                Some(Self::CmdTakeMultipleActivityExpeditionRewardScRsp)
            }
            "CmdGetExpeditionDataScRsp" => Some(Self::CmdGetExpeditionDataScRsp),
            "CmdTakeActivityExpeditionRewardCsReq" => {
                Some(Self::CmdTakeActivityExpeditionRewardCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: DIJNBPEMECG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFantasticStoryActivityType {
    None = 0,
    CmdFinishChapterScNotify = 4931,
    CmdGetFantasticStoryActivityDataScRsp = 4932,
    CmdGetFantasticStoryActivityDataCsReq = 4995,
    CmdEnterFantasticStoryActivityStageScRsp = 4976,
    CmdEnterFantasticStoryActivityStageCsReq = 4940,
    CmdFantasticStoryActivityBattleEndScNotify = 4948,
}
impl CmdFantasticStoryActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdFantasticStoryActivityTypeNone",
            Self::CmdFinishChapterScNotify => "CmdFinishChapterScNotify",
            Self::CmdGetFantasticStoryActivityDataScRsp => {
                "CmdGetFantasticStoryActivityDataScRsp"
            }
            Self::CmdGetFantasticStoryActivityDataCsReq => {
                "CmdGetFantasticStoryActivityDataCsReq"
            }
            Self::CmdEnterFantasticStoryActivityStageScRsp => {
                "CmdEnterFantasticStoryActivityStageScRsp"
            }
            Self::CmdEnterFantasticStoryActivityStageCsReq => {
                "CmdEnterFantasticStoryActivityStageCsReq"
            }
            Self::CmdFantasticStoryActivityBattleEndScNotify => {
                "CmdFantasticStoryActivityBattleEndScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFantasticStoryActivityTypeNone" => Some(Self::None),
            "CmdFinishChapterScNotify" => Some(Self::CmdFinishChapterScNotify),
            "CmdGetFantasticStoryActivityDataScRsp" => {
                Some(Self::CmdGetFantasticStoryActivityDataScRsp)
            }
            "CmdGetFantasticStoryActivityDataCsReq" => {
                Some(Self::CmdGetFantasticStoryActivityDataCsReq)
            }
            "CmdEnterFantasticStoryActivityStageScRsp" => {
                Some(Self::CmdEnterFantasticStoryActivityStageScRsp)
            }
            "CmdEnterFantasticStoryActivityStageCsReq" => {
                Some(Self::CmdEnterFantasticStoryActivityStageCsReq)
            }
            "CmdFantasticStoryActivityBattleEndScNotify" => {
                Some(Self::CmdFantasticStoryActivityBattleEndScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: DDJJLOHOOIH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFeverTimeActivityType {
    None = 0,
    CmdGetFeverTimeActivityDataScRsp = 7151,
    CmdEnterFeverTimeActivityStageScRsp = 7155,
    CmdEnterFeverTimeActivityStageCsReq = 7152,
    CmdGetFeverTimeActivityDataCsReq = 7157,
    CmdFeverTimeActivityBattleEndScNotify = 7154,
}
impl CmdFeverTimeActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdFeverTimeActivityTypeNone",
            Self::CmdGetFeverTimeActivityDataScRsp => "CmdGetFeverTimeActivityDataScRsp",
            Self::CmdEnterFeverTimeActivityStageScRsp => {
                "CmdEnterFeverTimeActivityStageScRsp"
            }
            Self::CmdEnterFeverTimeActivityStageCsReq => {
                "CmdEnterFeverTimeActivityStageCsReq"
            }
            Self::CmdGetFeverTimeActivityDataCsReq => "CmdGetFeverTimeActivityDataCsReq",
            Self::CmdFeverTimeActivityBattleEndScNotify => {
                "CmdFeverTimeActivityBattleEndScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFeverTimeActivityTypeNone" => Some(Self::None),
            "CmdGetFeverTimeActivityDataScRsp" => {
                Some(Self::CmdGetFeverTimeActivityDataScRsp)
            }
            "CmdEnterFeverTimeActivityStageScRsp" => {
                Some(Self::CmdEnterFeverTimeActivityStageScRsp)
            }
            "CmdEnterFeverTimeActivityStageCsReq" => {
                Some(Self::CmdEnterFeverTimeActivityStageCsReq)
            }
            "CmdGetFeverTimeActivityDataCsReq" => {
                Some(Self::CmdGetFeverTimeActivityDataCsReq)
            }
            "CmdFeverTimeActivityBattleEndScNotify" => {
                Some(Self::CmdFeverTimeActivityBattleEndScNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pmnfdjcllgb {
    FeverTimeBattleRankC = 0,
    FeverTimeBattleRankB = 1,
    FeverTimeBattleRankA = 2,
    FeverTimeBattleRankS = 3,
    FeverTimeBattleRankSs = 4,
}
impl Pmnfdjcllgb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FeverTimeBattleRankC => "FEVER_TIME_BATTLE_RANK_C",
            Self::FeverTimeBattleRankB => "FEVER_TIME_BATTLE_RANK_B",
            Self::FeverTimeBattleRankA => "FEVER_TIME_BATTLE_RANK_A",
            Self::FeverTimeBattleRankS => "FEVER_TIME_BATTLE_RANK_S",
            Self::FeverTimeBattleRankSs => "FEVER_TIME_BATTLE_RANK_SS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEVER_TIME_BATTLE_RANK_C" => Some(Self::FeverTimeBattleRankC),
            "FEVER_TIME_BATTLE_RANK_B" => Some(Self::FeverTimeBattleRankB),
            "FEVER_TIME_BATTLE_RANK_A" => Some(Self::FeverTimeBattleRankA),
            "FEVER_TIME_BATTLE_RANK_S" => Some(Self::FeverTimeBattleRankS),
            "FEVER_TIME_BATTLE_RANK_SS" => Some(Self::FeverTimeBattleRankSs),
            _ => None,
        }
    }
}
/// Obf: BHKHKPHJGLN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightType {
    None = 0,
    CmdFightEnterCsReq = 30095,
    CmdFightKickOutScNotify = 30040,
    CmdFightHeartBeatScRsp = 30048,
    CmdFightSessionStopScNotify = 30071,
    CmdFightEnterScRsp = 30032,
    CmdFightLeaveScNotify = 30031,
    CmdFightHeartBeatCsReq = 30076,
    CmdFightGeneralScRsp = 30022,
    CmdFightGeneralScNotify = 30056,
    CmdFightGeneralCsReq = 30052,
}
impl CmdFightType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdFightTypeNone",
            Self::CmdFightEnterCsReq => "CmdFightEnterCsReq",
            Self::CmdFightKickOutScNotify => "CmdFightKickOutScNotify",
            Self::CmdFightHeartBeatScRsp => "CmdFightHeartBeatScRsp",
            Self::CmdFightSessionStopScNotify => "CmdFightSessionStopScNotify",
            Self::CmdFightEnterScRsp => "CmdFightEnterScRsp",
            Self::CmdFightLeaveScNotify => "CmdFightLeaveScNotify",
            Self::CmdFightHeartBeatCsReq => "CmdFightHeartBeatCsReq",
            Self::CmdFightGeneralScRsp => "CmdFightGeneralScRsp",
            Self::CmdFightGeneralScNotify => "CmdFightGeneralScNotify",
            Self::CmdFightGeneralCsReq => "CmdFightGeneralCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFightTypeNone" => Some(Self::None),
            "CmdFightEnterCsReq" => Some(Self::CmdFightEnterCsReq),
            "CmdFightKickOutScNotify" => Some(Self::CmdFightKickOutScNotify),
            "CmdFightHeartBeatScRsp" => Some(Self::CmdFightHeartBeatScRsp),
            "CmdFightSessionStopScNotify" => Some(Self::CmdFightSessionStopScNotify),
            "CmdFightEnterScRsp" => Some(Self::CmdFightEnterScRsp),
            "CmdFightLeaveScNotify" => Some(Self::CmdFightLeaveScNotify),
            "CmdFightHeartBeatCsReq" => Some(Self::CmdFightHeartBeatCsReq),
            "CmdFightGeneralScRsp" => Some(Self::CmdFightGeneralScRsp),
            "CmdFightGeneralScNotify" => Some(Self::CmdFightGeneralScNotify),
            "CmdFightGeneralCsReq" => Some(Self::CmdFightGeneralCsReq),
            _ => None,
        }
    }
}
/// Obf: IOEJAHMFDCO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightActivityType {
    None = 0,
    CmdEnterFightActivityStageScRsp = 3676,
    CmdFightActivityDataChangeScNotify = 3631,
    CmdGetFightActivityDataCsReq = 3695,
    CmdTakeFightActivityRewardScRsp = 3671,
    CmdGetFightActivityDataScRsp = 3632,
    CmdEnterFightActivityStageCsReq = 3640,
    CmdTakeFightActivityRewardCsReq = 3648,
}
impl CmdFightActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdFightActivityTypeNone",
            Self::CmdEnterFightActivityStageScRsp => "CmdEnterFightActivityStageScRsp",
            Self::CmdFightActivityDataChangeScNotify => {
                "CmdFightActivityDataChangeScNotify"
            }
            Self::CmdGetFightActivityDataCsReq => "CmdGetFightActivityDataCsReq",
            Self::CmdTakeFightActivityRewardScRsp => "CmdTakeFightActivityRewardScRsp",
            Self::CmdGetFightActivityDataScRsp => "CmdGetFightActivityDataScRsp",
            Self::CmdEnterFightActivityStageCsReq => "CmdEnterFightActivityStageCsReq",
            Self::CmdTakeFightActivityRewardCsReq => "CmdTakeFightActivityRewardCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFightActivityTypeNone" => Some(Self::None),
            "CmdEnterFightActivityStageScRsp" => {
                Some(Self::CmdEnterFightActivityStageScRsp)
            }
            "CmdFightActivityDataChangeScNotify" => {
                Some(Self::CmdFightActivityDataChangeScNotify)
            }
            "CmdGetFightActivityDataCsReq" => Some(Self::CmdGetFightActivityDataCsReq),
            "CmdTakeFightActivityRewardScRsp" => {
                Some(Self::CmdTakeFightActivityRewardScRsp)
            }
            "CmdGetFightActivityDataScRsp" => Some(Self::CmdGetFightActivityDataScRsp),
            "CmdEnterFightActivityStageCsReq" => {
                Some(Self::CmdEnterFightActivityStageCsReq)
            }
            "CmdTakeFightActivityRewardCsReq" => {
                Some(Self::CmdTakeFightActivityRewardCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: FOMPLGANNAG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightFestType {
    None = 0,
    CmdStartFightFestScRsp = 7287,
    CmdStartFightFestCsReq = 7252,
    CmdFightFestUpdateCoinNotify = 7265,
    CmdGetFightFestDataScRsp = 7296,
    CmdFightFestScoreUpdateNotify = 7286,
    CmdFightFestUnlockSkillNotify = 7267,
    CmdFightFestUpdateChallengeRecordNotify = 7277,
    CmdGetFightFestDataCsReq = 7254,
}
impl CmdFightFestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdFightFestTypeNone",
            Self::CmdStartFightFestScRsp => "CmdStartFightFestScRsp",
            Self::CmdStartFightFestCsReq => "CmdStartFightFestCsReq",
            Self::CmdFightFestUpdateCoinNotify => "CmdFightFestUpdateCoinNotify",
            Self::CmdGetFightFestDataScRsp => "CmdGetFightFestDataScRsp",
            Self::CmdFightFestScoreUpdateNotify => "CmdFightFestScoreUpdateNotify",
            Self::CmdFightFestUnlockSkillNotify => "CmdFightFestUnlockSkillNotify",
            Self::CmdFightFestUpdateChallengeRecordNotify => {
                "CmdFightFestUpdateChallengeRecordNotify"
            }
            Self::CmdGetFightFestDataCsReq => "CmdGetFightFestDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFightFestTypeNone" => Some(Self::None),
            "CmdStartFightFestScRsp" => Some(Self::CmdStartFightFestScRsp),
            "CmdStartFightFestCsReq" => Some(Self::CmdStartFightFestCsReq),
            "CmdFightFestUpdateCoinNotify" => Some(Self::CmdFightFestUpdateCoinNotify),
            "CmdGetFightFestDataScRsp" => Some(Self::CmdGetFightFestDataScRsp),
            "CmdFightFestScoreUpdateNotify" => Some(Self::CmdFightFestScoreUpdateNotify),
            "CmdFightFestUnlockSkillNotify" => Some(Self::CmdFightFestUnlockSkillNotify),
            "CmdFightFestUpdateChallengeRecordNotify" => {
                Some(Self::CmdFightFestUpdateChallengeRecordNotify)
            }
            "CmdGetFightFestDataCsReq" => Some(Self::CmdGetFightFestDataCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hgdapjpkffb {
    FightFestBattleRankC = 0,
    FightFestBattleRankB = 1,
    FightFestBattleRankA = 2,
    FightFestBattleRankS = 3,
    FightFestBattleRankSs = 4,
}
impl Hgdapjpkffb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FightFestBattleRankC => "FIGHT_FEST_BATTLE_RANK_C",
            Self::FightFestBattleRankB => "FIGHT_FEST_BATTLE_RANK_B",
            Self::FightFestBattleRankA => "FIGHT_FEST_BATTLE_RANK_A",
            Self::FightFestBattleRankS => "FIGHT_FEST_BATTLE_RANK_S",
            Self::FightFestBattleRankSs => "FIGHT_FEST_BATTLE_RANK_SS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_FEST_BATTLE_RANK_C" => Some(Self::FightFestBattleRankC),
            "FIGHT_FEST_BATTLE_RANK_B" => Some(Self::FightFestBattleRankB),
            "FIGHT_FEST_BATTLE_RANK_A" => Some(Self::FightFestBattleRankA),
            "FIGHT_FEST_BATTLE_RANK_S" => Some(Self::FightFestBattleRankS),
            "FIGHT_FEST_BATTLE_RANK_SS" => Some(Self::FightFestBattleRankSs),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aploagdibki {
    FightFestTypeNone = 0,
    FightFestTypeMain = 1,
    FightFestTypeScore = 2,
    FightFestTypeChallenge = 3,
    FightFestTypeTeach = 4,
}
impl Aploagdibki {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FightFestTypeNone => "FIGHT_FEST_TYPE_NONE",
            Self::FightFestTypeMain => "FIGHT_FEST_TYPE_MAIN",
            Self::FightFestTypeScore => "FIGHT_FEST_TYPE_SCORE",
            Self::FightFestTypeChallenge => "FIGHT_FEST_TYPE_CHALLENGE",
            Self::FightFestTypeTeach => "FIGHT_FEST_TYPE_TEACH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_FEST_TYPE_NONE" => Some(Self::FightFestTypeNone),
            "FIGHT_FEST_TYPE_MAIN" => Some(Self::FightFestTypeMain),
            "FIGHT_FEST_TYPE_SCORE" => Some(Self::FightFestTypeScore),
            "FIGHT_FEST_TYPE_CHALLENGE" => Some(Self::FightFestTypeChallenge),
            "FIGHT_FEST_TYPE_TEACH" => Some(Self::FightFestTypeTeach),
            _ => None,
        }
    }
}
/// Obf: LHBBOGOKGNE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightMarbleType {
    None = 0,
}
impl CmdFightMarbleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdFightMarbleTypeNone",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFightMarbleTypeNone" => Some(Self::None),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mjbikbcpkai {
    FightMarbleEventTypeNone = 0,
    FightMarbleEventTypePlayerEnd = 1,
    FightMarbleEventTypeGameEnd = 2,
}
impl Mjbikbcpkai {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FightMarbleEventTypeNone => "FightMarbleEventTypeNone",
            Self::FightMarbleEventTypePlayerEnd => "FightMarbleEventTypePlayerEnd",
            Self::FightMarbleEventTypeGameEnd => "FightMarbleEventTypeGameEnd",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FightMarbleEventTypeNone" => Some(Self::FightMarbleEventTypeNone),
            "FightMarbleEventTypePlayerEnd" => Some(Self::FightMarbleEventTypePlayerEnd),
            "FightMarbleEventTypeGameEnd" => Some(Self::FightMarbleEventTypeGameEnd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jomkpegefmp {
    MarbleTeamTypeNone = 0,
    MarbleTeamTypeTeamA = 1,
    MarbleTeamTypeTeamB = 2,
}
impl Jomkpegefmp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MarbleTeamTypeNone => "MARBLE_TEAM_TYPE_NONE",
            Self::MarbleTeamTypeTeamA => "MARBLE_TEAM_TYPE_TEAM_A",
            Self::MarbleTeamTypeTeamB => "MARBLE_TEAM_TYPE_TEAM_B",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MARBLE_TEAM_TYPE_NONE" => Some(Self::MarbleTeamTypeNone),
            "MARBLE_TEAM_TYPE_TEAM_A" => Some(Self::MarbleTeamTypeTeamA),
            "MARBLE_TEAM_TYPE_TEAM_B" => Some(Self::MarbleTeamTypeTeamB),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Eeibhjpnjcf {
    MarblePlayerStateDefault = 0,
    MarblePlayerStateLeave = 1,
    MarblePlayerStateKickOut = 2,
}
impl Eeibhjpnjcf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MarblePlayerStateDefault => "MARBLE_PLAYER_STATE_Default",
            Self::MarblePlayerStateLeave => "MARBLE_PLAYER_STATE_Leave",
            Self::MarblePlayerStateKickOut => "MARBLE_PLAYER_STATE_KickOut",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MARBLE_PLAYER_STATE_Default" => Some(Self::MarblePlayerStateDefault),
            "MARBLE_PLAYER_STATE_Leave" => Some(Self::MarblePlayerStateLeave),
            "MARBLE_PLAYER_STATE_KickOut" => Some(Self::MarblePlayerStateKickOut),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Impkpkamiaf {
    MarbleSyncTypeNone = 0,
    MarbleSyncTypeLoading = 1,
    MarbleSyncTypePerformance = 2,
    MarbleSyncTypeRoundStart = 3,
    MarbleSyncTypeRoundEnd = 4,
    MarbleSyncTypeSwitchRound = 6,
    MarbleSyncTypeUseTech = 7,
    MarbleSyncTypeSimulateStart = 8,
    MarbleSyncTypeEmoji = 9,
    MarbleSyncTypeAchievement = 10,
}
impl Impkpkamiaf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MarbleSyncTypeNone => "MARBLE_SYNC_TYPE_NONE",
            Self::MarbleSyncTypeLoading => "MARBLE_SYNC_TYPE_LOADING",
            Self::MarbleSyncTypePerformance => "MARBLE_SYNC_TYPE_PERFORMANCE",
            Self::MarbleSyncTypeRoundStart => "MARBLE_SYNC_TYPE_ROUND_START",
            Self::MarbleSyncTypeRoundEnd => "MARBLE_SYNC_TYPE_ROUND_END",
            Self::MarbleSyncTypeSwitchRound => "MARBLE_SYNC_TYPE_SWITCH_ROUND",
            Self::MarbleSyncTypeUseTech => "MARBLE_SYNC_TYPE_USE_TECH",
            Self::MarbleSyncTypeSimulateStart => "MARBLE_SYNC_TYPE_SIMULATE_START",
            Self::MarbleSyncTypeEmoji => "MARBLE_SYNC_TYPE_EMOJI",
            Self::MarbleSyncTypeAchievement => "MARBLE_SYNC_TYPE_ACHIEVEMENT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MARBLE_SYNC_TYPE_NONE" => Some(Self::MarbleSyncTypeNone),
            "MARBLE_SYNC_TYPE_LOADING" => Some(Self::MarbleSyncTypeLoading),
            "MARBLE_SYNC_TYPE_PERFORMANCE" => Some(Self::MarbleSyncTypePerformance),
            "MARBLE_SYNC_TYPE_ROUND_START" => Some(Self::MarbleSyncTypeRoundStart),
            "MARBLE_SYNC_TYPE_ROUND_END" => Some(Self::MarbleSyncTypeRoundEnd),
            "MARBLE_SYNC_TYPE_SWITCH_ROUND" => Some(Self::MarbleSyncTypeSwitchRound),
            "MARBLE_SYNC_TYPE_USE_TECH" => Some(Self::MarbleSyncTypeUseTech),
            "MARBLE_SYNC_TYPE_SIMULATE_START" => Some(Self::MarbleSyncTypeSimulateStart),
            "MARBLE_SYNC_TYPE_EMOJI" => Some(Self::MarbleSyncTypeEmoji),
            "MARBLE_SYNC_TYPE_ACHIEVEMENT" => Some(Self::MarbleSyncTypeAchievement),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pajnhiagodd {
    MarbleFrameTypeNone = 0,
    MarbleFrameTypeActionStart = 1,
    MarbleFrameTypeActionEnd = 2,
    MarbleFrameTypeRoundStart = 3,
    MarbleFrameTypeRoundEnd = 4,
    MarbleFrameTypeRevive = 5,
    MarbleFrameTypeHpChange = 6,
    MarbleFrameTypeLaunch = 7,
    MarbleFrameTypeStop = 8,
    MarbleFrameTypeCollide = 9,
    MarbleFrameTypeEffect = 10,
    MarbleFrameTypeBuffText = 11,
    MarbleFrameTypeSkillUi = 12,
    MarbleFrameTypeAbsorb = 13,
    MarbleFrameTypeOnOffField = 14,
    MarbleFrameTypeDead = 15,
    MarbleFrameTypeUseTech = 16,
    MarbleFrameTypeTechActive = 17,
    MarbleFrameTypeGhostFire = 18,
    MarbleFrameTypeTrigger = 19,
    MarbleFrameTypeSwallow = 20,
    MarbleFrameTypeRadius = 21,
    MarbleFrameTypeHideLine = 22,
    MarbleFrameTypeTeamScore = 23,
    MarbleFrameTypeEmojiPackage = 24,
    MarbleFrameTypeChangeSpeed = 25,
    MarbleFrameTypeAddShield = 26,
}
impl Pajnhiagodd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MarbleFrameTypeNone => "MARBLE_FRAME_TYPE_NONE",
            Self::MarbleFrameTypeActionStart => "MARBLE_FRAME_TYPE_ACTION_START",
            Self::MarbleFrameTypeActionEnd => "MARBLE_FRAME_TYPE_ACTION_END",
            Self::MarbleFrameTypeRoundStart => "MARBLE_FRAME_TYPE_ROUND_START",
            Self::MarbleFrameTypeRoundEnd => "MARBLE_FRAME_TYPE_ROUND_END",
            Self::MarbleFrameTypeRevive => "MARBLE_FRAME_TYPE_REVIVE",
            Self::MarbleFrameTypeHpChange => "MARBLE_FRAME_TYPE_HP_CHANGE",
            Self::MarbleFrameTypeLaunch => "MARBLE_FRAME_TYPE_LAUNCH",
            Self::MarbleFrameTypeStop => "MARBLE_FRAME_TYPE_STOP",
            Self::MarbleFrameTypeCollide => "MARBLE_FRAME_TYPE_COLLIDE",
            Self::MarbleFrameTypeEffect => "MARBLE_FRAME_TYPE_EFFECT",
            Self::MarbleFrameTypeBuffText => "MARBLE_FRAME_TYPE_BUFF_TEXT",
            Self::MarbleFrameTypeSkillUi => "MARBLE_FRAME_TYPE_SKILL_UI",
            Self::MarbleFrameTypeAbsorb => "MARBLE_FRAME_TYPE_ABSORB",
            Self::MarbleFrameTypeOnOffField => "MARBLE_FRAME_TYPE_ON_OFF_FIELD",
            Self::MarbleFrameTypeDead => "MARBLE_FRAME_TYPE_DEAD",
            Self::MarbleFrameTypeUseTech => "MARBLE_FRAME_TYPE_USE_TECH",
            Self::MarbleFrameTypeTechActive => "MARBLE_FRAME_TYPE_TECH_ACTIVE",
            Self::MarbleFrameTypeGhostFire => "MARBLE_FRAME_TYPE_GHOST_FIRE",
            Self::MarbleFrameTypeTrigger => "MARBLE_FRAME_TYPE_TRIGGER",
            Self::MarbleFrameTypeSwallow => "MARBLE_FRAME_TYPE_SWALLOW",
            Self::MarbleFrameTypeRadius => "MARBLE_FRAME_TYPE_RADIUS",
            Self::MarbleFrameTypeHideLine => "MARBLE_FRAME_TYPE_HIDE_LINE",
            Self::MarbleFrameTypeTeamScore => "MARBLE_FRAME_TYPE_TEAM_SCORE",
            Self::MarbleFrameTypeEmojiPackage => "MARBLE_FRAME_TYPE_EMOJI_PACKAGE",
            Self::MarbleFrameTypeChangeSpeed => "MARBLE_FRAME_TYPE_CHANGE_SPEED",
            Self::MarbleFrameTypeAddShield => "MARBLE_FRAME_TYPE_ADD_SHIELD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MARBLE_FRAME_TYPE_NONE" => Some(Self::MarbleFrameTypeNone),
            "MARBLE_FRAME_TYPE_ACTION_START" => Some(Self::MarbleFrameTypeActionStart),
            "MARBLE_FRAME_TYPE_ACTION_END" => Some(Self::MarbleFrameTypeActionEnd),
            "MARBLE_FRAME_TYPE_ROUND_START" => Some(Self::MarbleFrameTypeRoundStart),
            "MARBLE_FRAME_TYPE_ROUND_END" => Some(Self::MarbleFrameTypeRoundEnd),
            "MARBLE_FRAME_TYPE_REVIVE" => Some(Self::MarbleFrameTypeRevive),
            "MARBLE_FRAME_TYPE_HP_CHANGE" => Some(Self::MarbleFrameTypeHpChange),
            "MARBLE_FRAME_TYPE_LAUNCH" => Some(Self::MarbleFrameTypeLaunch),
            "MARBLE_FRAME_TYPE_STOP" => Some(Self::MarbleFrameTypeStop),
            "MARBLE_FRAME_TYPE_COLLIDE" => Some(Self::MarbleFrameTypeCollide),
            "MARBLE_FRAME_TYPE_EFFECT" => Some(Self::MarbleFrameTypeEffect),
            "MARBLE_FRAME_TYPE_BUFF_TEXT" => Some(Self::MarbleFrameTypeBuffText),
            "MARBLE_FRAME_TYPE_SKILL_UI" => Some(Self::MarbleFrameTypeSkillUi),
            "MARBLE_FRAME_TYPE_ABSORB" => Some(Self::MarbleFrameTypeAbsorb),
            "MARBLE_FRAME_TYPE_ON_OFF_FIELD" => Some(Self::MarbleFrameTypeOnOffField),
            "MARBLE_FRAME_TYPE_DEAD" => Some(Self::MarbleFrameTypeDead),
            "MARBLE_FRAME_TYPE_USE_TECH" => Some(Self::MarbleFrameTypeUseTech),
            "MARBLE_FRAME_TYPE_TECH_ACTIVE" => Some(Self::MarbleFrameTypeTechActive),
            "MARBLE_FRAME_TYPE_GHOST_FIRE" => Some(Self::MarbleFrameTypeGhostFire),
            "MARBLE_FRAME_TYPE_TRIGGER" => Some(Self::MarbleFrameTypeTrigger),
            "MARBLE_FRAME_TYPE_SWALLOW" => Some(Self::MarbleFrameTypeSwallow),
            "MARBLE_FRAME_TYPE_RADIUS" => Some(Self::MarbleFrameTypeRadius),
            "MARBLE_FRAME_TYPE_HIDE_LINE" => Some(Self::MarbleFrameTypeHideLine),
            "MARBLE_FRAME_TYPE_TEAM_SCORE" => Some(Self::MarbleFrameTypeTeamScore),
            "MARBLE_FRAME_TYPE_EMOJI_PACKAGE" => Some(Self::MarbleFrameTypeEmojiPackage),
            "MARBLE_FRAME_TYPE_CHANGE_SPEED" => Some(Self::MarbleFrameTypeChangeSpeed),
            "MARBLE_FRAME_TYPE_ADD_SHIELD" => Some(Self::MarbleFrameTypeAddShield),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lkkajcaciji {
    MarbleFactionTypeNone = 0,
    MarbleFactionTypeAll = 1,
    MarbleFactionTypeEnemy = 2,
    MarbleFactionTypeAlly = 3,
    MarbleFactionTypeField = 4,
}
impl Lkkajcaciji {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MarbleFactionTypeNone => "MARBLE_FACTION_TYPE_NONE",
            Self::MarbleFactionTypeAll => "MARBLE_FACTION_TYPE_ALL",
            Self::MarbleFactionTypeEnemy => "MARBLE_FACTION_TYPE_ENEMY",
            Self::MarbleFactionTypeAlly => "MARBLE_FACTION_TYPE_ALLY",
            Self::MarbleFactionTypeField => "MARBLE_FACTION_TYPE_FIELD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MARBLE_FACTION_TYPE_NONE" => Some(Self::MarbleFactionTypeNone),
            "MARBLE_FACTION_TYPE_ALL" => Some(Self::MarbleFactionTypeAll),
            "MARBLE_FACTION_TYPE_ENEMY" => Some(Self::MarbleFactionTypeEnemy),
            "MARBLE_FACTION_TYPE_ALLY" => Some(Self::MarbleFactionTypeAlly),
            "MARBLE_FACTION_TYPE_FIELD" => Some(Self::MarbleFactionTypeField),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fippklcoegj {
    MarbleHpChangeTypeNone = 0,
    MarbleHpChangeTypeCritical = 1,
    MarbleHpChangeTypeSpine = 2,
}
impl Fippklcoegj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MarbleHpChangeTypeNone => "MARBLE_HP_CHANGE_TYPE_NONE",
            Self::MarbleHpChangeTypeCritical => "MARBLE_HP_CHANGE_TYPE_CRITICAL",
            Self::MarbleHpChangeTypeSpine => "MARBLE_HP_CHANGE_TYPE_SPINE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MARBLE_HP_CHANGE_TYPE_NONE" => Some(Self::MarbleHpChangeTypeNone),
            "MARBLE_HP_CHANGE_TYPE_CRITICAL" => Some(Self::MarbleHpChangeTypeCritical),
            "MARBLE_HP_CHANGE_TYPE_SPINE" => Some(Self::MarbleHpChangeTypeSpine),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ppiffkjejja {
    MarbleGamePhaseNone = 0,
    MarbleGamePhaseReady = 1,
    MarbleGamePhaseDelay = 2,
    MarbleGamePhaseLoading = 3,
    MarbleGamePhaseLoadFinish = 4,
    MarbleGamePhasePerformance = 5,
    MarbleGamePhasePerformanceFinish = 6,
    MarbleGamePhaseRoundA = 7,
    MarbleGamePhaseRoundB = 8,
    MarbleGamePhaseSimulate = 9,
    MarbleGamePhaseSimulateFinish = 10,
    MarbleGamePhaseTech = 11,
    MarbleGamePhaseTechUi = 12,
    MarbleGamePhaseTechFinish = 13,
    MarbleGamePhaseFinish = 14,
    MarbleGamePhasePreRound = 15,
}
impl Ppiffkjejja {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MarbleGamePhaseNone => "Marble_Game_Phase_None",
            Self::MarbleGamePhaseReady => "Marble_Game_Phase_Ready",
            Self::MarbleGamePhaseDelay => "Marble_Game_Phase_Delay",
            Self::MarbleGamePhaseLoading => "Marble_Game_Phase_Loading",
            Self::MarbleGamePhaseLoadFinish => "Marble_Game_Phase_LoadFinish",
            Self::MarbleGamePhasePerformance => "Marble_Game_Phase_Performance",
            Self::MarbleGamePhasePerformanceFinish => {
                "Marble_Game_Phase_PerformanceFinish"
            }
            Self::MarbleGamePhaseRoundA => "Marble_Game_Phase_RoundA",
            Self::MarbleGamePhaseRoundB => "Marble_Game_Phase_RoundB",
            Self::MarbleGamePhaseSimulate => "Marble_Game_Phase_Simulate",
            Self::MarbleGamePhaseSimulateFinish => "Marble_Game_Phase_SimulateFinish",
            Self::MarbleGamePhaseTech => "Marble_Game_Phase_Tech",
            Self::MarbleGamePhaseTechUi => "Marble_Game_Phase_TechUI",
            Self::MarbleGamePhaseTechFinish => "Marble_Game_Phase_TechFinish",
            Self::MarbleGamePhaseFinish => "Marble_Game_Phase_Finish",
            Self::MarbleGamePhasePreRound => "Marble_Game_Phase_PreRound",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "Marble_Game_Phase_None" => Some(Self::MarbleGamePhaseNone),
            "Marble_Game_Phase_Ready" => Some(Self::MarbleGamePhaseReady),
            "Marble_Game_Phase_Delay" => Some(Self::MarbleGamePhaseDelay),
            "Marble_Game_Phase_Loading" => Some(Self::MarbleGamePhaseLoading),
            "Marble_Game_Phase_LoadFinish" => Some(Self::MarbleGamePhaseLoadFinish),
            "Marble_Game_Phase_Performance" => Some(Self::MarbleGamePhasePerformance),
            "Marble_Game_Phase_PerformanceFinish" => {
                Some(Self::MarbleGamePhasePerformanceFinish)
            }
            "Marble_Game_Phase_RoundA" => Some(Self::MarbleGamePhaseRoundA),
            "Marble_Game_Phase_RoundB" => Some(Self::MarbleGamePhaseRoundB),
            "Marble_Game_Phase_Simulate" => Some(Self::MarbleGamePhaseSimulate),
            "Marble_Game_Phase_SimulateFinish" => {
                Some(Self::MarbleGamePhaseSimulateFinish)
            }
            "Marble_Game_Phase_Tech" => Some(Self::MarbleGamePhaseTech),
            "Marble_Game_Phase_TechUI" => Some(Self::MarbleGamePhaseTechUi),
            "Marble_Game_Phase_TechFinish" => Some(Self::MarbleGamePhaseTechFinish),
            "Marble_Game_Phase_Finish" => Some(Self::MarbleGamePhaseFinish),
            "Marble_Game_Phase_PreRound" => Some(Self::MarbleGamePhasePreRound),
            _ => None,
        }
    }
}
/// Obf: LBFDFOPFEKO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightMathc3Type {
    None = 0,
    CmdFightMatch3SwapScRsp = 30171,
    CmdFightMatch3TurnStartScNotify = 30140,
    CmdFightMatch3DataScRsp = 30132,
    CmdFightMatch3DataCsReq = 30195,
    CmdFightMatch3ChatScNotify = 30172,
    CmdFightMatch3ChatScRsp = 30156,
    CmdFightMatch3ChatCsReq = 30122,
    CmdFightMatch3TurnEndScNotify = 30176,
    CmdFightMatch3ForceUpdateNotify = 30185,
    CmdFightMatch3SwapCsReq = 30148,
    CmdFightMatch3OpponentDataScNotify = 30152,
    CmdFightMatch3StartCountDownScNotify = 30131,
}
impl CmdFightMathc3Type {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdFightMathc3TypeNone",
            Self::CmdFightMatch3SwapScRsp => "CmdFightMatch3SwapScRsp",
            Self::CmdFightMatch3TurnStartScNotify => "CmdFightMatch3TurnStartScNotify",
            Self::CmdFightMatch3DataScRsp => "CmdFightMatch3DataScRsp",
            Self::CmdFightMatch3DataCsReq => "CmdFightMatch3DataCsReq",
            Self::CmdFightMatch3ChatScNotify => "CmdFightMatch3ChatScNotify",
            Self::CmdFightMatch3ChatScRsp => "CmdFightMatch3ChatScRsp",
            Self::CmdFightMatch3ChatCsReq => "CmdFightMatch3ChatCsReq",
            Self::CmdFightMatch3TurnEndScNotify => "CmdFightMatch3TurnEndScNotify",
            Self::CmdFightMatch3ForceUpdateNotify => "CmdFightMatch3ForceUpdateNotify",
            Self::CmdFightMatch3SwapCsReq => "CmdFightMatch3SwapCsReq",
            Self::CmdFightMatch3OpponentDataScNotify => {
                "CmdFightMatch3OpponentDataScNotify"
            }
            Self::CmdFightMatch3StartCountDownScNotify => {
                "CmdFightMatch3StartCountDownScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFightMathc3TypeNone" => Some(Self::None),
            "CmdFightMatch3SwapScRsp" => Some(Self::CmdFightMatch3SwapScRsp),
            "CmdFightMatch3TurnStartScNotify" => {
                Some(Self::CmdFightMatch3TurnStartScNotify)
            }
            "CmdFightMatch3DataScRsp" => Some(Self::CmdFightMatch3DataScRsp),
            "CmdFightMatch3DataCsReq" => Some(Self::CmdFightMatch3DataCsReq),
            "CmdFightMatch3ChatScNotify" => Some(Self::CmdFightMatch3ChatScNotify),
            "CmdFightMatch3ChatScRsp" => Some(Self::CmdFightMatch3ChatScRsp),
            "CmdFightMatch3ChatCsReq" => Some(Self::CmdFightMatch3ChatCsReq),
            "CmdFightMatch3TurnEndScNotify" => Some(Self::CmdFightMatch3TurnEndScNotify),
            "CmdFightMatch3ForceUpdateNotify" => {
                Some(Self::CmdFightMatch3ForceUpdateNotify)
            }
            "CmdFightMatch3SwapCsReq" => Some(Self::CmdFightMatch3SwapCsReq),
            "CmdFightMatch3OpponentDataScNotify" => {
                Some(Self::CmdFightMatch3OpponentDataScNotify)
            }
            "CmdFightMatch3StartCountDownScNotify" => {
                Some(Self::CmdFightMatch3StartCountDownScNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dgfcbofaoia {
    Match3StateIdle = 0,
    Match3StateStart = 1,
    Match3StateMatch = 2,
    Match3StateGame = 3,
    Match3StateHalftime = 4,
    Match3StateOver = 5,
}
impl Dgfcbofaoia {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Match3StateIdle => "MATCH3_STATE_IDLE",
            Self::Match3StateStart => "MATCH3_STATE_START",
            Self::Match3StateMatch => "MATCH3_STATE_MATCH",
            Self::Match3StateGame => "MATCH3_STATE_GAME",
            Self::Match3StateHalftime => "MATCH3_STATE_HALFTIME",
            Self::Match3StateOver => "MATCH3_STATE_OVER",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MATCH3_STATE_IDLE" => Some(Self::Match3StateIdle),
            "MATCH3_STATE_START" => Some(Self::Match3StateStart),
            "MATCH3_STATE_MATCH" => Some(Self::Match3StateMatch),
            "MATCH3_STATE_GAME" => Some(Self::Match3StateGame),
            "MATCH3_STATE_HALFTIME" => Some(Self::Match3StateHalftime),
            "MATCH3_STATE_OVER" => Some(Self::Match3StateOver),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nppnfppenmc {
    Match3PlayerStateAlive = 0,
    Match3PlayerStateDying = 1,
    Match3PlayerStateDead = 2,
    Match3PlayerStateLeave = 3,
}
impl Nppnfppenmc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Match3PlayerStateAlive => "MATCH3_PLAYER_STATE_ALIVE",
            Self::Match3PlayerStateDying => "MATCH3_PLAYER_STATE_DYING",
            Self::Match3PlayerStateDead => "MATCH3_PLAYER_STATE_DEAD",
            Self::Match3PlayerStateLeave => "MATCH3_PLAYER_STATE_LEAVE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MATCH3_PLAYER_STATE_ALIVE" => Some(Self::Match3PlayerStateAlive),
            "MATCH3_PLAYER_STATE_DYING" => Some(Self::Match3PlayerStateDying),
            "MATCH3_PLAYER_STATE_DEAD" => Some(Self::Match3PlayerStateDead),
            "MATCH3_PLAYER_STATE_LEAVE" => Some(Self::Match3PlayerStateLeave),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bfilliobmfn {
    EventBegin = 0,
    EventBreak = 1,
    EventFall = 2,
    EventRefresh = 3,
    EventBirdSkill = 4,
    EventEnv = 5,
    EventShuffle = 6,
    EventSettleTag = 7,
}
impl Bfilliobmfn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EventBegin => "EVENT_BEGIN",
            Self::EventBreak => "EVENT_BREAK",
            Self::EventFall => "EVENT_FALL",
            Self::EventRefresh => "EVENT_REFRESH",
            Self::EventBirdSkill => "EVENT_BIRD_SKILL",
            Self::EventEnv => "EVENT_ENV",
            Self::EventShuffle => "EVENT_SHUFFLE",
            Self::EventSettleTag => "EVENT_SETTLE_TAG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EVENT_BEGIN" => Some(Self::EventBegin),
            "EVENT_BREAK" => Some(Self::EventBreak),
            "EVENT_FALL" => Some(Self::EventFall),
            "EVENT_REFRESH" => Some(Self::EventRefresh),
            "EVENT_BIRD_SKILL" => Some(Self::EventBirdSkill),
            "EVENT_ENV" => Some(Self::EventEnv),
            "EVENT_SHUFFLE" => Some(Self::EventShuffle),
            "EVENT_SETTLE_TAG" => Some(Self::EventSettleTag),
            _ => None,
        }
    }
}
/// Obf: EBLNKOEFMJC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFriendType {
    None = 0,
    CmdGetPlayerDetailInfoCsReq = 2931,
    CmdDeleteBlacklistScRsp = 2963,
    CmdGetFriendRecommendLineupCsReq = 2936,
    CmdGetAssistHistoryCsReq = 2951,
    CmdGetCurAssistScRsp = 2975,
    CmdGetFriendBattleRecordDetailCsReq = 2934,
    CmdNewAssistHistoryNotify = 2924,
    CmdGetFriendRecommendLineupDetailScRsp = 2974,
    CmdSearchPlayerCsReq = 2911,
    CmdSetFriendRemarkNameScRsp = 2977,
    CmdSyncDeleteFriendScNotify = 2983,
    CmdSetAssistCsReq = 2984,
    CmdSearchPlayerScRsp = 2993,
    CmdGetFriendDevelopmentInfoScRsp = 2953,
    CmdCurAssistChangedNotify = 2998,
    CmdSetFriendRemarkNameCsReq = 2942,
    CmdGetFriendAssistListScRsp = 2954,
    CmdSetAssistScRsp = 2937,
    CmdGetAssistListCsReq = 2925,
    CmdDeleteBlacklistCsReq = 2929,
    CmdGetFriendChallengeDetailCsReq = 2908,
    CmdGetFriendChallengeDetailScRsp = 2935,
    CmdHandleFriendCsReq = 2956,
    CmdGetFriendRecommendLineupDetailCsReq = 2927,
    CmdGetFriendLoginInfoScRsp = 2913,
    CmdGetPlayerDetailInfoScRsp = 2940,
    CmdGetFriendChallengeLineupCsReq = 2999,
    CmdSyncAddBlacklistScNotify = 2939,
    CmdGetFriendListInfoCsReq = 2995,
    CmdAddBlacklistScRsp = 2902,
    CmdGetFriendListInfoScRsp = 2932,
    CmdTakeAssistRewardCsReq = 2957,
    CmdGetFriendAssistListCsReq = 2909,
    CmdApplyFriendScRsp = 2952,
    CmdGetFriendRecommendListInfoCsReq = 2943,
    CmdGetCurAssistCsReq = 2930,
    CmdGetFriendApplyListInfoCsReq = 2976,
    CmdSetFriendMarkCsReq = 2986,
    CmdGetFriendRecommendListInfoScRsp = 2933,
    CmdGetAssistHistoryScRsp = 2991,
    CmdSyncApplyFriendScNotify = 2922,
    CmdSetForbidOtherApplyFriendCsReq = 2978,
    CmdGetFriendApplyListInfoScRsp = 2948,
    CmdGetFriendDevelopmentInfoCsReq = 2901,
    CmdGetFriendChallengeLineupScRsp = 2987,
    CmdGetFriendBattleRecordDetailScRsp = 2968,
    CmdHandleFriendScRsp = 2972,
    CmdReportPlayerScRsp = 2921,
    CmdSyncHandleFriendScNotify = 2985,
    CmdDeleteFriendScRsp = 2946,
    CmdAddBlacklistCsReq = 2960,
    CmdApplyFriendCsReq = 2971,
    CmdTakeAssistRewardScRsp = 2907,
    CmdSetFriendMarkScRsp = 3000,
    CmdGetFriendRecommendLineupScRsp = 2994,
    CmdGetPlatformPlayerInfoCsReq = 2964,
    CmdDeleteFriendCsReq = 2916,
    CmdGetAssistListScRsp = 2914,
    CmdReportPlayerCsReq = 2958,
    CmdGetFriendLoginInfoCsReq = 2945,
    CmdSetForbidOtherApplyFriendScRsp = 2920,
    CmdGetPlatformPlayerInfoScRsp = 2906,
}
impl CmdFriendType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdFriendTypeNone",
            Self::CmdGetPlayerDetailInfoCsReq => "CmdGetPlayerDetailInfoCsReq",
            Self::CmdDeleteBlacklistScRsp => "CmdDeleteBlacklistScRsp",
            Self::CmdGetFriendRecommendLineupCsReq => "CmdGetFriendRecommendLineupCsReq",
            Self::CmdGetAssistHistoryCsReq => "CmdGetAssistHistoryCsReq",
            Self::CmdGetCurAssistScRsp => "CmdGetCurAssistScRsp",
            Self::CmdGetFriendBattleRecordDetailCsReq => {
                "CmdGetFriendBattleRecordDetailCsReq"
            }
            Self::CmdNewAssistHistoryNotify => "CmdNewAssistHistoryNotify",
            Self::CmdGetFriendRecommendLineupDetailScRsp => {
                "CmdGetFriendRecommendLineupDetailScRsp"
            }
            Self::CmdSearchPlayerCsReq => "CmdSearchPlayerCsReq",
            Self::CmdSetFriendRemarkNameScRsp => "CmdSetFriendRemarkNameScRsp",
            Self::CmdSyncDeleteFriendScNotify => "CmdSyncDeleteFriendScNotify",
            Self::CmdSetAssistCsReq => "CmdSetAssistCsReq",
            Self::CmdSearchPlayerScRsp => "CmdSearchPlayerScRsp",
            Self::CmdGetFriendDevelopmentInfoScRsp => "CmdGetFriendDevelopmentInfoScRsp",
            Self::CmdCurAssistChangedNotify => "CmdCurAssistChangedNotify",
            Self::CmdSetFriendRemarkNameCsReq => "CmdSetFriendRemarkNameCsReq",
            Self::CmdGetFriendAssistListScRsp => "CmdGetFriendAssistListScRsp",
            Self::CmdSetAssistScRsp => "CmdSetAssistScRsp",
            Self::CmdGetAssistListCsReq => "CmdGetAssistListCsReq",
            Self::CmdDeleteBlacklistCsReq => "CmdDeleteBlacklistCsReq",
            Self::CmdGetFriendChallengeDetailCsReq => "CmdGetFriendChallengeDetailCsReq",
            Self::CmdGetFriendChallengeDetailScRsp => "CmdGetFriendChallengeDetailScRsp",
            Self::CmdHandleFriendCsReq => "CmdHandleFriendCsReq",
            Self::CmdGetFriendRecommendLineupDetailCsReq => {
                "CmdGetFriendRecommendLineupDetailCsReq"
            }
            Self::CmdGetFriendLoginInfoScRsp => "CmdGetFriendLoginInfoScRsp",
            Self::CmdGetPlayerDetailInfoScRsp => "CmdGetPlayerDetailInfoScRsp",
            Self::CmdGetFriendChallengeLineupCsReq => "CmdGetFriendChallengeLineupCsReq",
            Self::CmdSyncAddBlacklistScNotify => "CmdSyncAddBlacklistScNotify",
            Self::CmdGetFriendListInfoCsReq => "CmdGetFriendListInfoCsReq",
            Self::CmdAddBlacklistScRsp => "CmdAddBlacklistScRsp",
            Self::CmdGetFriendListInfoScRsp => "CmdGetFriendListInfoScRsp",
            Self::CmdTakeAssistRewardCsReq => "CmdTakeAssistRewardCsReq",
            Self::CmdGetFriendAssistListCsReq => "CmdGetFriendAssistListCsReq",
            Self::CmdApplyFriendScRsp => "CmdApplyFriendScRsp",
            Self::CmdGetFriendRecommendListInfoCsReq => {
                "CmdGetFriendRecommendListInfoCsReq"
            }
            Self::CmdGetCurAssistCsReq => "CmdGetCurAssistCsReq",
            Self::CmdGetFriendApplyListInfoCsReq => "CmdGetFriendApplyListInfoCsReq",
            Self::CmdSetFriendMarkCsReq => "CmdSetFriendMarkCsReq",
            Self::CmdGetFriendRecommendListInfoScRsp => {
                "CmdGetFriendRecommendListInfoScRsp"
            }
            Self::CmdGetAssistHistoryScRsp => "CmdGetAssistHistoryScRsp",
            Self::CmdSyncApplyFriendScNotify => "CmdSyncApplyFriendScNotify",
            Self::CmdSetForbidOtherApplyFriendCsReq => {
                "CmdSetForbidOtherApplyFriendCsReq"
            }
            Self::CmdGetFriendApplyListInfoScRsp => "CmdGetFriendApplyListInfoScRsp",
            Self::CmdGetFriendDevelopmentInfoCsReq => "CmdGetFriendDevelopmentInfoCsReq",
            Self::CmdGetFriendChallengeLineupScRsp => "CmdGetFriendChallengeLineupScRsp",
            Self::CmdGetFriendBattleRecordDetailScRsp => {
                "CmdGetFriendBattleRecordDetailScRsp"
            }
            Self::CmdHandleFriendScRsp => "CmdHandleFriendScRsp",
            Self::CmdReportPlayerScRsp => "CmdReportPlayerScRsp",
            Self::CmdSyncHandleFriendScNotify => "CmdSyncHandleFriendScNotify",
            Self::CmdDeleteFriendScRsp => "CmdDeleteFriendScRsp",
            Self::CmdAddBlacklistCsReq => "CmdAddBlacklistCsReq",
            Self::CmdApplyFriendCsReq => "CmdApplyFriendCsReq",
            Self::CmdTakeAssistRewardScRsp => "CmdTakeAssistRewardScRsp",
            Self::CmdSetFriendMarkScRsp => "CmdSetFriendMarkScRsp",
            Self::CmdGetFriendRecommendLineupScRsp => "CmdGetFriendRecommendLineupScRsp",
            Self::CmdGetPlatformPlayerInfoCsReq => "CmdGetPlatformPlayerInfoCsReq",
            Self::CmdDeleteFriendCsReq => "CmdDeleteFriendCsReq",
            Self::CmdGetAssistListScRsp => "CmdGetAssistListScRsp",
            Self::CmdReportPlayerCsReq => "CmdReportPlayerCsReq",
            Self::CmdGetFriendLoginInfoCsReq => "CmdGetFriendLoginInfoCsReq",
            Self::CmdSetForbidOtherApplyFriendScRsp => {
                "CmdSetForbidOtherApplyFriendScRsp"
            }
            Self::CmdGetPlatformPlayerInfoScRsp => "CmdGetPlatformPlayerInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFriendTypeNone" => Some(Self::None),
            "CmdGetPlayerDetailInfoCsReq" => Some(Self::CmdGetPlayerDetailInfoCsReq),
            "CmdDeleteBlacklistScRsp" => Some(Self::CmdDeleteBlacklistScRsp),
            "CmdGetFriendRecommendLineupCsReq" => {
                Some(Self::CmdGetFriendRecommendLineupCsReq)
            }
            "CmdGetAssistHistoryCsReq" => Some(Self::CmdGetAssistHistoryCsReq),
            "CmdGetCurAssistScRsp" => Some(Self::CmdGetCurAssistScRsp),
            "CmdGetFriendBattleRecordDetailCsReq" => {
                Some(Self::CmdGetFriendBattleRecordDetailCsReq)
            }
            "CmdNewAssistHistoryNotify" => Some(Self::CmdNewAssistHistoryNotify),
            "CmdGetFriendRecommendLineupDetailScRsp" => {
                Some(Self::CmdGetFriendRecommendLineupDetailScRsp)
            }
            "CmdSearchPlayerCsReq" => Some(Self::CmdSearchPlayerCsReq),
            "CmdSetFriendRemarkNameScRsp" => Some(Self::CmdSetFriendRemarkNameScRsp),
            "CmdSyncDeleteFriendScNotify" => Some(Self::CmdSyncDeleteFriendScNotify),
            "CmdSetAssistCsReq" => Some(Self::CmdSetAssistCsReq),
            "CmdSearchPlayerScRsp" => Some(Self::CmdSearchPlayerScRsp),
            "CmdGetFriendDevelopmentInfoScRsp" => {
                Some(Self::CmdGetFriendDevelopmentInfoScRsp)
            }
            "CmdCurAssistChangedNotify" => Some(Self::CmdCurAssistChangedNotify),
            "CmdSetFriendRemarkNameCsReq" => Some(Self::CmdSetFriendRemarkNameCsReq),
            "CmdGetFriendAssistListScRsp" => Some(Self::CmdGetFriendAssistListScRsp),
            "CmdSetAssistScRsp" => Some(Self::CmdSetAssistScRsp),
            "CmdGetAssistListCsReq" => Some(Self::CmdGetAssistListCsReq),
            "CmdDeleteBlacklistCsReq" => Some(Self::CmdDeleteBlacklistCsReq),
            "CmdGetFriendChallengeDetailCsReq" => {
                Some(Self::CmdGetFriendChallengeDetailCsReq)
            }
            "CmdGetFriendChallengeDetailScRsp" => {
                Some(Self::CmdGetFriendChallengeDetailScRsp)
            }
            "CmdHandleFriendCsReq" => Some(Self::CmdHandleFriendCsReq),
            "CmdGetFriendRecommendLineupDetailCsReq" => {
                Some(Self::CmdGetFriendRecommendLineupDetailCsReq)
            }
            "CmdGetFriendLoginInfoScRsp" => Some(Self::CmdGetFriendLoginInfoScRsp),
            "CmdGetPlayerDetailInfoScRsp" => Some(Self::CmdGetPlayerDetailInfoScRsp),
            "CmdGetFriendChallengeLineupCsReq" => {
                Some(Self::CmdGetFriendChallengeLineupCsReq)
            }
            "CmdSyncAddBlacklistScNotify" => Some(Self::CmdSyncAddBlacklistScNotify),
            "CmdGetFriendListInfoCsReq" => Some(Self::CmdGetFriendListInfoCsReq),
            "CmdAddBlacklistScRsp" => Some(Self::CmdAddBlacklistScRsp),
            "CmdGetFriendListInfoScRsp" => Some(Self::CmdGetFriendListInfoScRsp),
            "CmdTakeAssistRewardCsReq" => Some(Self::CmdTakeAssistRewardCsReq),
            "CmdGetFriendAssistListCsReq" => Some(Self::CmdGetFriendAssistListCsReq),
            "CmdApplyFriendScRsp" => Some(Self::CmdApplyFriendScRsp),
            "CmdGetFriendRecommendListInfoCsReq" => {
                Some(Self::CmdGetFriendRecommendListInfoCsReq)
            }
            "CmdGetCurAssistCsReq" => Some(Self::CmdGetCurAssistCsReq),
            "CmdGetFriendApplyListInfoCsReq" => {
                Some(Self::CmdGetFriendApplyListInfoCsReq)
            }
            "CmdSetFriendMarkCsReq" => Some(Self::CmdSetFriendMarkCsReq),
            "CmdGetFriendRecommendListInfoScRsp" => {
                Some(Self::CmdGetFriendRecommendListInfoScRsp)
            }
            "CmdGetAssistHistoryScRsp" => Some(Self::CmdGetAssistHistoryScRsp),
            "CmdSyncApplyFriendScNotify" => Some(Self::CmdSyncApplyFriendScNotify),
            "CmdSetForbidOtherApplyFriendCsReq" => {
                Some(Self::CmdSetForbidOtherApplyFriendCsReq)
            }
            "CmdGetFriendApplyListInfoScRsp" => {
                Some(Self::CmdGetFriendApplyListInfoScRsp)
            }
            "CmdGetFriendDevelopmentInfoCsReq" => {
                Some(Self::CmdGetFriendDevelopmentInfoCsReq)
            }
            "CmdGetFriendChallengeLineupScRsp" => {
                Some(Self::CmdGetFriendChallengeLineupScRsp)
            }
            "CmdGetFriendBattleRecordDetailScRsp" => {
                Some(Self::CmdGetFriendBattleRecordDetailScRsp)
            }
            "CmdHandleFriendScRsp" => Some(Self::CmdHandleFriendScRsp),
            "CmdReportPlayerScRsp" => Some(Self::CmdReportPlayerScRsp),
            "CmdSyncHandleFriendScNotify" => Some(Self::CmdSyncHandleFriendScNotify),
            "CmdDeleteFriendScRsp" => Some(Self::CmdDeleteFriendScRsp),
            "CmdAddBlacklistCsReq" => Some(Self::CmdAddBlacklistCsReq),
            "CmdApplyFriendCsReq" => Some(Self::CmdApplyFriendCsReq),
            "CmdTakeAssistRewardScRsp" => Some(Self::CmdTakeAssistRewardScRsp),
            "CmdSetFriendMarkScRsp" => Some(Self::CmdSetFriendMarkScRsp),
            "CmdGetFriendRecommendLineupScRsp" => {
                Some(Self::CmdGetFriendRecommendLineupScRsp)
            }
            "CmdGetPlatformPlayerInfoCsReq" => Some(Self::CmdGetPlatformPlayerInfoCsReq),
            "CmdDeleteFriendCsReq" => Some(Self::CmdDeleteFriendCsReq),
            "CmdGetAssistListScRsp" => Some(Self::CmdGetAssistListScRsp),
            "CmdReportPlayerCsReq" => Some(Self::CmdReportPlayerCsReq),
            "CmdGetFriendLoginInfoCsReq" => Some(Self::CmdGetFriendLoginInfoCsReq),
            "CmdSetForbidOtherApplyFriendScRsp" => {
                Some(Self::CmdSetForbidOtherApplyFriendScRsp)
            }
            "CmdGetPlatformPlayerInfoScRsp" => Some(Self::CmdGetPlatformPlayerInfoScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FriendOnlineStatus {
    Offline = 0,
    Online = 1,
}
impl FriendOnlineStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Offline => "FRIEND_ONLINE_STATUS_OFFLINE",
            Self::Online => "FRIEND_ONLINE_STATUS_ONLINE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FRIEND_ONLINE_STATUS_OFFLINE" => Some(Self::Offline),
            "FRIEND_ONLINE_STATUS_ONLINE" => Some(Self::Online),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FriendApplySource {
    None = 0,
    Search = 1,
    Recommend = 2,
    Assist = 3,
    RecommendAssist = 4,
    PsnFriend = 5,
    AssistReward = 6,
}
impl FriendApplySource {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "FRIEND_APPLY_SOURCE_NONE",
            Self::Search => "FRIEND_APPLY_SOURCE_SEARCH",
            Self::Recommend => "FRIEND_APPLY_SOURCE_RECOMMEND",
            Self::Assist => "FRIEND_APPLY_SOURCE_ASSIST",
            Self::RecommendAssist => "FRIEND_APPLY_SOURCE_RECOMMEND_ASSIST",
            Self::PsnFriend => "FRIEND_APPLY_SOURCE_PSN_FRIEND",
            Self::AssistReward => "FRIEND_APPLY_SOURCE_ASSIST_REWARD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FRIEND_APPLY_SOURCE_NONE" => Some(Self::None),
            "FRIEND_APPLY_SOURCE_SEARCH" => Some(Self::Search),
            "FRIEND_APPLY_SOURCE_RECOMMEND" => Some(Self::Recommend),
            "FRIEND_APPLY_SOURCE_ASSIST" => Some(Self::Assist),
            "FRIEND_APPLY_SOURCE_RECOMMEND_ASSIST" => Some(Self::RecommendAssist),
            "FRIEND_APPLY_SOURCE_PSN_FRIEND" => Some(Self::PsnFriend),
            "FRIEND_APPLY_SOURCE_ASSIST_REWARD" => Some(Self::AssistReward),
            _ => None,
        }
    }
}
/// Obf: KNKDEJPLOGG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdGachaType {
    None = 0,
    CmdDoGachaCsReq = 1931,
    CmdGetGachaCeilingScRsp = 1948,
    CmdGetGachaInfoScRsp = 1932,
    CmdGachaDecideItemChangeScNotify = 1972,
    CmdDoGachaScRsp = 1940,
    CmdExchangeGachaCeilingCsReq = 1971,
    CmdGetGachaInfoCsReq = 1995,
    CmdExchangeGachaCeilingScRsp = 1952,
    CmdSetGachaDecideItemCsReq = 1922,
    CmdGetGachaCeilingCsReq = 1976,
    CmdSetGachaDecideItemScRsp = 1956,
}
impl CmdGachaType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdGachaTypeNone",
            Self::CmdDoGachaCsReq => "CmdDoGachaCsReq",
            Self::CmdGetGachaCeilingScRsp => "CmdGetGachaCeilingScRsp",
            Self::CmdGetGachaInfoScRsp => "CmdGetGachaInfoScRsp",
            Self::CmdGachaDecideItemChangeScNotify => "CmdGachaDecideItemChangeScNotify",
            Self::CmdDoGachaScRsp => "CmdDoGachaScRsp",
            Self::CmdExchangeGachaCeilingCsReq => "CmdExchangeGachaCeilingCsReq",
            Self::CmdGetGachaInfoCsReq => "CmdGetGachaInfoCsReq",
            Self::CmdExchangeGachaCeilingScRsp => "CmdExchangeGachaCeilingScRsp",
            Self::CmdSetGachaDecideItemCsReq => "CmdSetGachaDecideItemCsReq",
            Self::CmdGetGachaCeilingCsReq => "CmdGetGachaCeilingCsReq",
            Self::CmdSetGachaDecideItemScRsp => "CmdSetGachaDecideItemScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdGachaTypeNone" => Some(Self::None),
            "CmdDoGachaCsReq" => Some(Self::CmdDoGachaCsReq),
            "CmdGetGachaCeilingScRsp" => Some(Self::CmdGetGachaCeilingScRsp),
            "CmdGetGachaInfoScRsp" => Some(Self::CmdGetGachaInfoScRsp),
            "CmdGachaDecideItemChangeScNotify" => {
                Some(Self::CmdGachaDecideItemChangeScNotify)
            }
            "CmdDoGachaScRsp" => Some(Self::CmdDoGachaScRsp),
            "CmdExchangeGachaCeilingCsReq" => Some(Self::CmdExchangeGachaCeilingCsReq),
            "CmdGetGachaInfoCsReq" => Some(Self::CmdGetGachaInfoCsReq),
            "CmdExchangeGachaCeilingScRsp" => Some(Self::CmdExchangeGachaCeilingScRsp),
            "CmdSetGachaDecideItemCsReq" => Some(Self::CmdSetGachaDecideItemCsReq),
            "CmdGetGachaCeilingCsReq" => Some(Self::CmdGetGachaCeilingCsReq),
            "CmdSetGachaDecideItemScRsp" => Some(Self::CmdSetGachaDecideItemScRsp),
            _ => None,
        }
    }
}
/// Obf: LGLAJCBOAMK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdHeartdialType {
    None = 0,
    CmdChangeScriptEmotionCsReq = 6331,
    CmdFinishEmotionDialoguePerformanceCsReq = 6371,
    CmdHeartDialTraceScriptCsReq = 6356,
    CmdGetHeartDialInfoCsReq = 6395,
    CmdFinishEmotionDialoguePerformanceScRsp = 6352,
    CmdHeartDialScriptChangeScNotify = 6322,
    CmdGetHeartDialInfoScRsp = 6332,
    CmdSubmitEmotionItemCsReq = 6376,
    CmdSubmitEmotionItemScRsp = 6348,
    CmdHeartDialTraceScriptScRsp = 6372,
    CmdChangeScriptEmotionScRsp = 6340,
}
impl CmdHeartdialType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdHeartdialTypeNone",
            Self::CmdChangeScriptEmotionCsReq => "CmdChangeScriptEmotionCsReq",
            Self::CmdFinishEmotionDialoguePerformanceCsReq => {
                "CmdFinishEmotionDialoguePerformanceCsReq"
            }
            Self::CmdHeartDialTraceScriptCsReq => "CmdHeartDialTraceScriptCsReq",
            Self::CmdGetHeartDialInfoCsReq => "CmdGetHeartDialInfoCsReq",
            Self::CmdFinishEmotionDialoguePerformanceScRsp => {
                "CmdFinishEmotionDialoguePerformanceScRsp"
            }
            Self::CmdHeartDialScriptChangeScNotify => "CmdHeartDialScriptChangeScNotify",
            Self::CmdGetHeartDialInfoScRsp => "CmdGetHeartDialInfoScRsp",
            Self::CmdSubmitEmotionItemCsReq => "CmdSubmitEmotionItemCsReq",
            Self::CmdSubmitEmotionItemScRsp => "CmdSubmitEmotionItemScRsp",
            Self::CmdHeartDialTraceScriptScRsp => "CmdHeartDialTraceScriptScRsp",
            Self::CmdChangeScriptEmotionScRsp => "CmdChangeScriptEmotionScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdHeartdialTypeNone" => Some(Self::None),
            "CmdChangeScriptEmotionCsReq" => Some(Self::CmdChangeScriptEmotionCsReq),
            "CmdFinishEmotionDialoguePerformanceCsReq" => {
                Some(Self::CmdFinishEmotionDialoguePerformanceCsReq)
            }
            "CmdHeartDialTraceScriptCsReq" => Some(Self::CmdHeartDialTraceScriptCsReq),
            "CmdGetHeartDialInfoCsReq" => Some(Self::CmdGetHeartDialInfoCsReq),
            "CmdFinishEmotionDialoguePerformanceScRsp" => {
                Some(Self::CmdFinishEmotionDialoguePerformanceScRsp)
            }
            "CmdHeartDialScriptChangeScNotify" => {
                Some(Self::CmdHeartDialScriptChangeScNotify)
            }
            "CmdGetHeartDialInfoScRsp" => Some(Self::CmdGetHeartDialInfoScRsp),
            "CmdSubmitEmotionItemCsReq" => Some(Self::CmdSubmitEmotionItemCsReq),
            "CmdSubmitEmotionItemScRsp" => Some(Self::CmdSubmitEmotionItemScRsp),
            "CmdHeartDialTraceScriptScRsp" => Some(Self::CmdHeartDialTraceScriptScRsp),
            "CmdChangeScriptEmotionScRsp" => Some(Self::CmdChangeScriptEmotionScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bfdflhekfgk {
    HeartDialEmotionTypePeace = 0,
    HeartDialEmotionTypeAnger = 1,
    HeartDialEmotionTypeHappy = 2,
    HeartDialEmotionTypeSad = 3,
}
impl Bfdflhekfgk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::HeartDialEmotionTypePeace => "HEART_DIAL_EMOTION_TYPE_PEACE",
            Self::HeartDialEmotionTypeAnger => "HEART_DIAL_EMOTION_TYPE_ANGER",
            Self::HeartDialEmotionTypeHappy => "HEART_DIAL_EMOTION_TYPE_HAPPY",
            Self::HeartDialEmotionTypeSad => "HEART_DIAL_EMOTION_TYPE_SAD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HEART_DIAL_EMOTION_TYPE_PEACE" => Some(Self::HeartDialEmotionTypePeace),
            "HEART_DIAL_EMOTION_TYPE_ANGER" => Some(Self::HeartDialEmotionTypeAnger),
            "HEART_DIAL_EMOTION_TYPE_HAPPY" => Some(Self::HeartDialEmotionTypeHappy),
            "HEART_DIAL_EMOTION_TYPE_SAD" => Some(Self::HeartDialEmotionTypeSad),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Afefbpablhm {
    HeartDialStepTypeMissing = 0,
    HeartDialStepTypeFull = 1,
    HeartDialStepTypeLock = 2,
    HeartDialStepTypeUnlock = 3,
    HeartDialStepTypeNormal = 4,
    HeartDialStepTypeControl = 5,
}
impl Afefbpablhm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::HeartDialStepTypeMissing => "HEART_DIAL_STEP_TYPE_MISSING",
            Self::HeartDialStepTypeFull => "HEART_DIAL_STEP_TYPE_FULL",
            Self::HeartDialStepTypeLock => "HEART_DIAL_STEP_TYPE_LOCK",
            Self::HeartDialStepTypeUnlock => "HEART_DIAL_STEP_TYPE_UNLOCK",
            Self::HeartDialStepTypeNormal => "HEART_DIAL_STEP_TYPE_NORMAL",
            Self::HeartDialStepTypeControl => "HEART_DIAL_STEP_TYPE_CONTROL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HEART_DIAL_STEP_TYPE_MISSING" => Some(Self::HeartDialStepTypeMissing),
            "HEART_DIAL_STEP_TYPE_FULL" => Some(Self::HeartDialStepTypeFull),
            "HEART_DIAL_STEP_TYPE_LOCK" => Some(Self::HeartDialStepTypeLock),
            "HEART_DIAL_STEP_TYPE_UNLOCK" => Some(Self::HeartDialStepTypeUnlock),
            "HEART_DIAL_STEP_TYPE_NORMAL" => Some(Self::HeartDialStepTypeNormal),
            "HEART_DIAL_STEP_TYPE_CONTROL" => Some(Self::HeartDialStepTypeControl),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ooehgmemkoi {
    HeartDialUnlockStatusLock = 0,
    HeartDialUnlockStatusUnlockSingle = 1,
    HeartDialUnlockStatusUnlockAll = 2,
}
impl Ooehgmemkoi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::HeartDialUnlockStatusLock => "HEART_DIAL_UNLOCK_STATUS_LOCK",
            Self::HeartDialUnlockStatusUnlockSingle => {
                "HEART_DIAL_UNLOCK_STATUS_UNLOCK_SINGLE"
            }
            Self::HeartDialUnlockStatusUnlockAll => "HEART_DIAL_UNLOCK_STATUS_UNLOCK_ALL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HEART_DIAL_UNLOCK_STATUS_LOCK" => Some(Self::HeartDialUnlockStatusLock),
            "HEART_DIAL_UNLOCK_STATUS_UNLOCK_SINGLE" => {
                Some(Self::HeartDialUnlockStatusUnlockSingle)
            }
            "HEART_DIAL_UNLOCK_STATUS_UNLOCK_ALL" => {
                Some(Self::HeartDialUnlockStatusUnlockAll)
            }
            _ => None,
        }
    }
}
/// Obf: ONLOCFMPMMD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdHeliobusType {
    None = 0,
    CmdHeliobusSelectSkillCsReq = 5860,
    CmdHeliobusChallengeUpdateScNotify = 5821,
    CmdHeliobusSnsUpdateScNotify = 5872,
    CmdHeliobusSnsLikeCsReq = 5871,
    CmdHeliobusUnlockSkillScNotify = 5883,
    CmdHeliobusSnsCommentScRsp = 5856,
    CmdHeliobusEnterBattleCsReq = 5833,
    CmdHeliobusActivityDataScRsp = 5832,
    CmdHeliobusStartRaidCsReq = 5877,
    CmdHeliobusStartRaidScRsp = 5858,
    CmdHeliobusLineupUpdateScNotify = 5829,
    CmdHeliobusUpgradeLevelScRsp = 5846,
    CmdHeliobusSnsReadScRsp = 5840,
    CmdHeliobusSnsPostScRsp = 5848,
    CmdHeliobusSnsPostCsReq = 5876,
    CmdHeliobusSnsLikeScRsp = 5852,
    CmdHeliobusSnsCommentCsReq = 5822,
    CmdHeliobusSnsReadCsReq = 5831,
    CmdHeliobusInfoChangedScNotify = 5885,
    CmdHeliobusSelectSkillScRsp = 5802,
    CmdHeliobusUpgradeLevelCsReq = 5816,
    CmdHeliobusActivityDataCsReq = 5895,
    CmdHeliobusEnterBattleScRsp = 5842,
}
impl CmdHeliobusType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdHeliobusTypeNone",
            Self::CmdHeliobusSelectSkillCsReq => "CmdHeliobusSelectSkillCsReq",
            Self::CmdHeliobusChallengeUpdateScNotify => {
                "CmdHeliobusChallengeUpdateScNotify"
            }
            Self::CmdHeliobusSnsUpdateScNotify => "CmdHeliobusSnsUpdateScNotify",
            Self::CmdHeliobusSnsLikeCsReq => "CmdHeliobusSnsLikeCsReq",
            Self::CmdHeliobusUnlockSkillScNotify => "CmdHeliobusUnlockSkillScNotify",
            Self::CmdHeliobusSnsCommentScRsp => "CmdHeliobusSnsCommentScRsp",
            Self::CmdHeliobusEnterBattleCsReq => "CmdHeliobusEnterBattleCsReq",
            Self::CmdHeliobusActivityDataScRsp => "CmdHeliobusActivityDataScRsp",
            Self::CmdHeliobusStartRaidCsReq => "CmdHeliobusStartRaidCsReq",
            Self::CmdHeliobusStartRaidScRsp => "CmdHeliobusStartRaidScRsp",
            Self::CmdHeliobusLineupUpdateScNotify => "CmdHeliobusLineupUpdateScNotify",
            Self::CmdHeliobusUpgradeLevelScRsp => "CmdHeliobusUpgradeLevelScRsp",
            Self::CmdHeliobusSnsReadScRsp => "CmdHeliobusSnsReadScRsp",
            Self::CmdHeliobusSnsPostScRsp => "CmdHeliobusSnsPostScRsp",
            Self::CmdHeliobusSnsPostCsReq => "CmdHeliobusSnsPostCsReq",
            Self::CmdHeliobusSnsLikeScRsp => "CmdHeliobusSnsLikeScRsp",
            Self::CmdHeliobusSnsCommentCsReq => "CmdHeliobusSnsCommentCsReq",
            Self::CmdHeliobusSnsReadCsReq => "CmdHeliobusSnsReadCsReq",
            Self::CmdHeliobusInfoChangedScNotify => "CmdHeliobusInfoChangedScNotify",
            Self::CmdHeliobusSelectSkillScRsp => "CmdHeliobusSelectSkillScRsp",
            Self::CmdHeliobusUpgradeLevelCsReq => "CmdHeliobusUpgradeLevelCsReq",
            Self::CmdHeliobusActivityDataCsReq => "CmdHeliobusActivityDataCsReq",
            Self::CmdHeliobusEnterBattleScRsp => "CmdHeliobusEnterBattleScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdHeliobusTypeNone" => Some(Self::None),
            "CmdHeliobusSelectSkillCsReq" => Some(Self::CmdHeliobusSelectSkillCsReq),
            "CmdHeliobusChallengeUpdateScNotify" => {
                Some(Self::CmdHeliobusChallengeUpdateScNotify)
            }
            "CmdHeliobusSnsUpdateScNotify" => Some(Self::CmdHeliobusSnsUpdateScNotify),
            "CmdHeliobusSnsLikeCsReq" => Some(Self::CmdHeliobusSnsLikeCsReq),
            "CmdHeliobusUnlockSkillScNotify" => {
                Some(Self::CmdHeliobusUnlockSkillScNotify)
            }
            "CmdHeliobusSnsCommentScRsp" => Some(Self::CmdHeliobusSnsCommentScRsp),
            "CmdHeliobusEnterBattleCsReq" => Some(Self::CmdHeliobusEnterBattleCsReq),
            "CmdHeliobusActivityDataScRsp" => Some(Self::CmdHeliobusActivityDataScRsp),
            "CmdHeliobusStartRaidCsReq" => Some(Self::CmdHeliobusStartRaidCsReq),
            "CmdHeliobusStartRaidScRsp" => Some(Self::CmdHeliobusStartRaidScRsp),
            "CmdHeliobusLineupUpdateScNotify" => {
                Some(Self::CmdHeliobusLineupUpdateScNotify)
            }
            "CmdHeliobusUpgradeLevelScRsp" => Some(Self::CmdHeliobusUpgradeLevelScRsp),
            "CmdHeliobusSnsReadScRsp" => Some(Self::CmdHeliobusSnsReadScRsp),
            "CmdHeliobusSnsPostScRsp" => Some(Self::CmdHeliobusSnsPostScRsp),
            "CmdHeliobusSnsPostCsReq" => Some(Self::CmdHeliobusSnsPostCsReq),
            "CmdHeliobusSnsLikeScRsp" => Some(Self::CmdHeliobusSnsLikeScRsp),
            "CmdHeliobusSnsCommentCsReq" => Some(Self::CmdHeliobusSnsCommentCsReq),
            "CmdHeliobusSnsReadCsReq" => Some(Self::CmdHeliobusSnsReadCsReq),
            "CmdHeliobusInfoChangedScNotify" => {
                Some(Self::CmdHeliobusInfoChangedScNotify)
            }
            "CmdHeliobusSelectSkillScRsp" => Some(Self::CmdHeliobusSelectSkillScRsp),
            "CmdHeliobusUpgradeLevelCsReq" => Some(Self::CmdHeliobusUpgradeLevelCsReq),
            "CmdHeliobusActivityDataCsReq" => Some(Self::CmdHeliobusActivityDataCsReq),
            "CmdHeliobusEnterBattleScRsp" => Some(Self::CmdHeliobusEnterBattleScRsp),
            _ => None,
        }
    }
}
/// Obf: KMEAJJECJFD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdItemType {
    None = 0,
    CmdComposeSelectedRelicScRsp = 529,
    CmdSellItemScRsp = 533,
    CmdGetMarkItemListScRsp = 575,
    CmdDeleteRelicFilterPlanCsReq = 535,
    CmdBatchRankUpEquipmentScRsp = 517,
    CmdGetRelicFilterPlanCsReq = 600,
    CmdRelicReforgeConfirmCsReq = 527,
    CmdComposeLimitNumCompleteNotify = 525,
    CmdRelicFilterPlanClearNameScNotify = 553,
    CmdComposeSelectedRelicCsReq = 521,
    CmdDestroyItemScRsp = 537,
    CmdGetBagScRsp = 532,
    CmdAddRelicFilterPlanScRsp = 599,
    CmdComposeLimitNumUpdateNotify = 514,
    CmdCancelMarkItemNotify = 524,
    CmdGetRecyleTimeCsReq = 511,
    CmdBatchRankUpEquipmentCsReq = 590,
    CmdRechargeSuccNotify = 542,
    CmdModifyRelicFilterPlanCsReq = 587,
    CmdDestroyItemCsReq = 584,
    CmdLockEquipmentCsReq = 576,
    CmdExpUpRelicScRsp = 560,
    CmdGetRecyleTimeScRsp = 593,
    CmdGetRelicFilterPlanScRsp = 509,
    CmdUseItemCsReq = 571,
    CmdMarkItemScRsp = 591,
    CmdExchangeHcoinCsReq = 577,
    CmdRelicReforgeCsReq = 536,
    CmdLockRelicScRsp = 539,
    CmdRankUpEquipmentScRsp = 556,
    CmdUseItemScRsp = 552,
    CmdLockRelicCsReq = 502,
    CmdGetBagCsReq = 595,
    CmdSellItemCsReq = 543,
    CmdExpUpEquipmentCsReq = 572,
    CmdSetTurnFoodSwitchScRsp = 598,
    CmdSyncTurnFoodNotify = 557,
    CmdModifyRelicFilterPlanScRsp = 508,
    CmdMarkRelicFilterPlanScRsp = 501,
    CmdAddEquipmentScNotify = 563,
    CmdExpUpEquipmentScRsp = 585,
    CmdExchangeHcoinScRsp = 558,
    CmdDiscardRelicScRsp = 545,
    CmdGeneralVirtualItemDataNotify = 564,
    CmdSetTurnFoodSwitchCsReq = 507,
    CmdLockEquipmentScRsp = 548,
    CmdRelicReforgeScRsp = 594,
    CmdMarkItemCsReq = 551,
    CmdComposeItemCsReq = 516,
    CmdExpUpRelicCsReq = 583,
    CmdRankUpEquipmentCsReq = 522,
    CmdComposeItemScRsp = 546,
    CmdPromoteEquipmentScRsp = 540,
    CmdPromoteEquipmentCsReq = 531,
    CmdRelicReforgeConfirmScRsp = 574,
    CmdMarkRelicFilterPlanCsReq = 568,
    CmdDiscardRelicCsReq = 506,
    CmdDeleteRelicFilterPlanScRsp = 534,
    CmdAddRelicFilterPlanCsReq = 554,
    CmdGetMarkItemListCsReq = 530,
}
impl CmdItemType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdItemTypeNone",
            Self::CmdComposeSelectedRelicScRsp => "CmdComposeSelectedRelicScRsp",
            Self::CmdSellItemScRsp => "CmdSellItemScRsp",
            Self::CmdGetMarkItemListScRsp => "CmdGetMarkItemListScRsp",
            Self::CmdDeleteRelicFilterPlanCsReq => "CmdDeleteRelicFilterPlanCsReq",
            Self::CmdBatchRankUpEquipmentScRsp => "CmdBatchRankUpEquipmentScRsp",
            Self::CmdGetRelicFilterPlanCsReq => "CmdGetRelicFilterPlanCsReq",
            Self::CmdRelicReforgeConfirmCsReq => "CmdRelicReforgeConfirmCsReq",
            Self::CmdComposeLimitNumCompleteNotify => "CmdComposeLimitNumCompleteNotify",
            Self::CmdRelicFilterPlanClearNameScNotify => {
                "CmdRelicFilterPlanClearNameScNotify"
            }
            Self::CmdComposeSelectedRelicCsReq => "CmdComposeSelectedRelicCsReq",
            Self::CmdDestroyItemScRsp => "CmdDestroyItemScRsp",
            Self::CmdGetBagScRsp => "CmdGetBagScRsp",
            Self::CmdAddRelicFilterPlanScRsp => "CmdAddRelicFilterPlanScRsp",
            Self::CmdComposeLimitNumUpdateNotify => "CmdComposeLimitNumUpdateNotify",
            Self::CmdCancelMarkItemNotify => "CmdCancelMarkItemNotify",
            Self::CmdGetRecyleTimeCsReq => "CmdGetRecyleTimeCsReq",
            Self::CmdBatchRankUpEquipmentCsReq => "CmdBatchRankUpEquipmentCsReq",
            Self::CmdRechargeSuccNotify => "CmdRechargeSuccNotify",
            Self::CmdModifyRelicFilterPlanCsReq => "CmdModifyRelicFilterPlanCsReq",
            Self::CmdDestroyItemCsReq => "CmdDestroyItemCsReq",
            Self::CmdLockEquipmentCsReq => "CmdLockEquipmentCsReq",
            Self::CmdExpUpRelicScRsp => "CmdExpUpRelicScRsp",
            Self::CmdGetRecyleTimeScRsp => "CmdGetRecyleTimeScRsp",
            Self::CmdGetRelicFilterPlanScRsp => "CmdGetRelicFilterPlanScRsp",
            Self::CmdUseItemCsReq => "CmdUseItemCsReq",
            Self::CmdMarkItemScRsp => "CmdMarkItemScRsp",
            Self::CmdExchangeHcoinCsReq => "CmdExchangeHcoinCsReq",
            Self::CmdRelicReforgeCsReq => "CmdRelicReforgeCsReq",
            Self::CmdLockRelicScRsp => "CmdLockRelicScRsp",
            Self::CmdRankUpEquipmentScRsp => "CmdRankUpEquipmentScRsp",
            Self::CmdUseItemScRsp => "CmdUseItemScRsp",
            Self::CmdLockRelicCsReq => "CmdLockRelicCsReq",
            Self::CmdGetBagCsReq => "CmdGetBagCsReq",
            Self::CmdSellItemCsReq => "CmdSellItemCsReq",
            Self::CmdExpUpEquipmentCsReq => "CmdExpUpEquipmentCsReq",
            Self::CmdSetTurnFoodSwitchScRsp => "CmdSetTurnFoodSwitchScRsp",
            Self::CmdSyncTurnFoodNotify => "CmdSyncTurnFoodNotify",
            Self::CmdModifyRelicFilterPlanScRsp => "CmdModifyRelicFilterPlanScRsp",
            Self::CmdMarkRelicFilterPlanScRsp => "CmdMarkRelicFilterPlanScRsp",
            Self::CmdAddEquipmentScNotify => "CmdAddEquipmentScNotify",
            Self::CmdExpUpEquipmentScRsp => "CmdExpUpEquipmentScRsp",
            Self::CmdExchangeHcoinScRsp => "CmdExchangeHcoinScRsp",
            Self::CmdDiscardRelicScRsp => "CmdDiscardRelicScRsp",
            Self::CmdGeneralVirtualItemDataNotify => "CmdGeneralVirtualItemDataNotify",
            Self::CmdSetTurnFoodSwitchCsReq => "CmdSetTurnFoodSwitchCsReq",
            Self::CmdLockEquipmentScRsp => "CmdLockEquipmentScRsp",
            Self::CmdRelicReforgeScRsp => "CmdRelicReforgeScRsp",
            Self::CmdMarkItemCsReq => "CmdMarkItemCsReq",
            Self::CmdComposeItemCsReq => "CmdComposeItemCsReq",
            Self::CmdExpUpRelicCsReq => "CmdExpUpRelicCsReq",
            Self::CmdRankUpEquipmentCsReq => "CmdRankUpEquipmentCsReq",
            Self::CmdComposeItemScRsp => "CmdComposeItemScRsp",
            Self::CmdPromoteEquipmentScRsp => "CmdPromoteEquipmentScRsp",
            Self::CmdPromoteEquipmentCsReq => "CmdPromoteEquipmentCsReq",
            Self::CmdRelicReforgeConfirmScRsp => "CmdRelicReforgeConfirmScRsp",
            Self::CmdMarkRelicFilterPlanCsReq => "CmdMarkRelicFilterPlanCsReq",
            Self::CmdDiscardRelicCsReq => "CmdDiscardRelicCsReq",
            Self::CmdDeleteRelicFilterPlanScRsp => "CmdDeleteRelicFilterPlanScRsp",
            Self::CmdAddRelicFilterPlanCsReq => "CmdAddRelicFilterPlanCsReq",
            Self::CmdGetMarkItemListCsReq => "CmdGetMarkItemListCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdItemTypeNone" => Some(Self::None),
            "CmdComposeSelectedRelicScRsp" => Some(Self::CmdComposeSelectedRelicScRsp),
            "CmdSellItemScRsp" => Some(Self::CmdSellItemScRsp),
            "CmdGetMarkItemListScRsp" => Some(Self::CmdGetMarkItemListScRsp),
            "CmdDeleteRelicFilterPlanCsReq" => Some(Self::CmdDeleteRelicFilterPlanCsReq),
            "CmdBatchRankUpEquipmentScRsp" => Some(Self::CmdBatchRankUpEquipmentScRsp),
            "CmdGetRelicFilterPlanCsReq" => Some(Self::CmdGetRelicFilterPlanCsReq),
            "CmdRelicReforgeConfirmCsReq" => Some(Self::CmdRelicReforgeConfirmCsReq),
            "CmdComposeLimitNumCompleteNotify" => {
                Some(Self::CmdComposeLimitNumCompleteNotify)
            }
            "CmdRelicFilterPlanClearNameScNotify" => {
                Some(Self::CmdRelicFilterPlanClearNameScNotify)
            }
            "CmdComposeSelectedRelicCsReq" => Some(Self::CmdComposeSelectedRelicCsReq),
            "CmdDestroyItemScRsp" => Some(Self::CmdDestroyItemScRsp),
            "CmdGetBagScRsp" => Some(Self::CmdGetBagScRsp),
            "CmdAddRelicFilterPlanScRsp" => Some(Self::CmdAddRelicFilterPlanScRsp),
            "CmdComposeLimitNumUpdateNotify" => {
                Some(Self::CmdComposeLimitNumUpdateNotify)
            }
            "CmdCancelMarkItemNotify" => Some(Self::CmdCancelMarkItemNotify),
            "CmdGetRecyleTimeCsReq" => Some(Self::CmdGetRecyleTimeCsReq),
            "CmdBatchRankUpEquipmentCsReq" => Some(Self::CmdBatchRankUpEquipmentCsReq),
            "CmdRechargeSuccNotify" => Some(Self::CmdRechargeSuccNotify),
            "CmdModifyRelicFilterPlanCsReq" => Some(Self::CmdModifyRelicFilterPlanCsReq),
            "CmdDestroyItemCsReq" => Some(Self::CmdDestroyItemCsReq),
            "CmdLockEquipmentCsReq" => Some(Self::CmdLockEquipmentCsReq),
            "CmdExpUpRelicScRsp" => Some(Self::CmdExpUpRelicScRsp),
            "CmdGetRecyleTimeScRsp" => Some(Self::CmdGetRecyleTimeScRsp),
            "CmdGetRelicFilterPlanScRsp" => Some(Self::CmdGetRelicFilterPlanScRsp),
            "CmdUseItemCsReq" => Some(Self::CmdUseItemCsReq),
            "CmdMarkItemScRsp" => Some(Self::CmdMarkItemScRsp),
            "CmdExchangeHcoinCsReq" => Some(Self::CmdExchangeHcoinCsReq),
            "CmdRelicReforgeCsReq" => Some(Self::CmdRelicReforgeCsReq),
            "CmdLockRelicScRsp" => Some(Self::CmdLockRelicScRsp),
            "CmdRankUpEquipmentScRsp" => Some(Self::CmdRankUpEquipmentScRsp),
            "CmdUseItemScRsp" => Some(Self::CmdUseItemScRsp),
            "CmdLockRelicCsReq" => Some(Self::CmdLockRelicCsReq),
            "CmdGetBagCsReq" => Some(Self::CmdGetBagCsReq),
            "CmdSellItemCsReq" => Some(Self::CmdSellItemCsReq),
            "CmdExpUpEquipmentCsReq" => Some(Self::CmdExpUpEquipmentCsReq),
            "CmdSetTurnFoodSwitchScRsp" => Some(Self::CmdSetTurnFoodSwitchScRsp),
            "CmdSyncTurnFoodNotify" => Some(Self::CmdSyncTurnFoodNotify),
            "CmdModifyRelicFilterPlanScRsp" => Some(Self::CmdModifyRelicFilterPlanScRsp),
            "CmdMarkRelicFilterPlanScRsp" => Some(Self::CmdMarkRelicFilterPlanScRsp),
            "CmdAddEquipmentScNotify" => Some(Self::CmdAddEquipmentScNotify),
            "CmdExpUpEquipmentScRsp" => Some(Self::CmdExpUpEquipmentScRsp),
            "CmdExchangeHcoinScRsp" => Some(Self::CmdExchangeHcoinScRsp),
            "CmdDiscardRelicScRsp" => Some(Self::CmdDiscardRelicScRsp),
            "CmdGeneralVirtualItemDataNotify" => {
                Some(Self::CmdGeneralVirtualItemDataNotify)
            }
            "CmdSetTurnFoodSwitchCsReq" => Some(Self::CmdSetTurnFoodSwitchCsReq),
            "CmdLockEquipmentScRsp" => Some(Self::CmdLockEquipmentScRsp),
            "CmdRelicReforgeScRsp" => Some(Self::CmdRelicReforgeScRsp),
            "CmdMarkItemCsReq" => Some(Self::CmdMarkItemCsReq),
            "CmdComposeItemCsReq" => Some(Self::CmdComposeItemCsReq),
            "CmdExpUpRelicCsReq" => Some(Self::CmdExpUpRelicCsReq),
            "CmdRankUpEquipmentCsReq" => Some(Self::CmdRankUpEquipmentCsReq),
            "CmdComposeItemScRsp" => Some(Self::CmdComposeItemScRsp),
            "CmdPromoteEquipmentScRsp" => Some(Self::CmdPromoteEquipmentScRsp),
            "CmdPromoteEquipmentCsReq" => Some(Self::CmdPromoteEquipmentCsReq),
            "CmdRelicReforgeConfirmScRsp" => Some(Self::CmdRelicReforgeConfirmScRsp),
            "CmdMarkRelicFilterPlanCsReq" => Some(Self::CmdMarkRelicFilterPlanCsReq),
            "CmdDiscardRelicCsReq" => Some(Self::CmdDiscardRelicCsReq),
            "CmdDeleteRelicFilterPlanScRsp" => Some(Self::CmdDeleteRelicFilterPlanScRsp),
            "CmdAddRelicFilterPlanCsReq" => Some(Self::CmdAddRelicFilterPlanCsReq),
            "CmdGetMarkItemListCsReq" => Some(Self::CmdGetMarkItemListCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Icpineholml {
    RelicDiscardTypeSingle = 0,
    RelicDiscardTypeBatch = 1,
    RelicDiscardTypeSmart = 2,
}
impl Icpineholml {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RelicDiscardTypeSingle => "RELIC_DISCARD_TYPE_SINGLE",
            Self::RelicDiscardTypeBatch => "RELIC_DISCARD_TYPE_BATCH",
            Self::RelicDiscardTypeSmart => "RELIC_DISCARD_TYPE_SMART",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RELIC_DISCARD_TYPE_SINGLE" => Some(Self::RelicDiscardTypeSingle),
            "RELIC_DISCARD_TYPE_BATCH" => Some(Self::RelicDiscardTypeBatch),
            "RELIC_DISCARD_TYPE_SMART" => Some(Self::RelicDiscardTypeSmart),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TurnFoodSwitch {
    None = 0,
    Attack = 1,
    Define = 2,
}
impl TurnFoodSwitch {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "TURN_FOOD_SWITCH_NONE",
            Self::Attack => "TURN_FOOD_SWITCH_ATTACK",
            Self::Define => "TURN_FOOD_SWITCH_DEFINE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TURN_FOOD_SWITCH_NONE" => Some(Self::None),
            "TURN_FOOD_SWITCH_ATTACK" => Some(Self::Attack),
            "TURN_FOOD_SWITCH_DEFINE" => Some(Self::Define),
            _ => None,
        }
    }
}
/// Obf: CNEHLGPAMNH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdJukeboxType {
    None = 0,
    CmdPlayBackGroundMusicCsReq = 3131,
    CmdGetJukeboxDataScRsp = 3132,
    CmdPlayBackGroundMusicScRsp = 3140,
    CmdUnlockBackGroundMusicCsReq = 3176,
    CmdTrialBackGroundMusicScRsp = 3152,
    CmdGetJukeboxDataCsReq = 3195,
    CmdUnlockBackGroundMusicScRsp = 3148,
    CmdTrialBackGroundMusicCsReq = 3171,
}
impl CmdJukeboxType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdJukeboxTypeNone",
            Self::CmdPlayBackGroundMusicCsReq => "CmdPlayBackGroundMusicCsReq",
            Self::CmdGetJukeboxDataScRsp => "CmdGetJukeboxDataScRsp",
            Self::CmdPlayBackGroundMusicScRsp => "CmdPlayBackGroundMusicScRsp",
            Self::CmdUnlockBackGroundMusicCsReq => "CmdUnlockBackGroundMusicCsReq",
            Self::CmdTrialBackGroundMusicScRsp => "CmdTrialBackGroundMusicScRsp",
            Self::CmdGetJukeboxDataCsReq => "CmdGetJukeboxDataCsReq",
            Self::CmdUnlockBackGroundMusicScRsp => "CmdUnlockBackGroundMusicScRsp",
            Self::CmdTrialBackGroundMusicCsReq => "CmdTrialBackGroundMusicCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdJukeboxTypeNone" => Some(Self::None),
            "CmdPlayBackGroundMusicCsReq" => Some(Self::CmdPlayBackGroundMusicCsReq),
            "CmdGetJukeboxDataScRsp" => Some(Self::CmdGetJukeboxDataScRsp),
            "CmdPlayBackGroundMusicScRsp" => Some(Self::CmdPlayBackGroundMusicScRsp),
            "CmdUnlockBackGroundMusicCsReq" => Some(Self::CmdUnlockBackGroundMusicCsReq),
            "CmdTrialBackGroundMusicScRsp" => Some(Self::CmdTrialBackGroundMusicScRsp),
            "CmdGetJukeboxDataCsReq" => Some(Self::CmdGetJukeboxDataCsReq),
            "CmdUnlockBackGroundMusicScRsp" => Some(Self::CmdUnlockBackGroundMusicScRsp),
            "CmdTrialBackGroundMusicCsReq" => Some(Self::CmdTrialBackGroundMusicCsReq),
            _ => None,
        }
    }
}
/// Obf: BFNPHAGFANF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLineupType {
    None = 0,
    CmdSwapLineupScRsp = 756,
    CmdJoinLineupScRsp = 748,
    CmdQuitLineupCsReq = 771,
    CmdGetStageLineupScRsp = 732,
    CmdGetCurLineupDataScRsp = 740,
    CmdExtraLineupDestroyNotify = 729,
    CmdGetLineupAvatarDataScRsp = 716,
    CmdSwitchLineupIndexScRsp = 702,
    CmdGetLineupAvatarDataCsReq = 785,
    CmdSwitchLineupIndexCsReq = 760,
    CmdGetStageLineupCsReq = 795,
    CmdVirtualLineupDestroyNotify = 777,
    CmdReplaceLineupScRsp = 721,
    CmdChangeLineupLeaderScRsp = 783,
    CmdSwapLineupCsReq = 722,
    CmdGetAllLineupDataCsReq = 733,
    CmdSyncLineupNotify = 772,
    CmdVirtualLineupTrialAvatarChangeScNotify = 763,
    CmdSetLineupNameScRsp = 743,
    CmdReplaceLineupCsReq = 758,
    CmdQuitLineupScRsp = 752,
    CmdSetLineupNameCsReq = 739,
    CmdJoinLineupCsReq = 776,
    CmdGetCurLineupDataCsReq = 731,
    CmdGetAllLineupDataScRsp = 742,
    CmdChangeLineupLeaderCsReq = 746,
}
impl CmdLineupType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdLineupTypeNone",
            Self::CmdSwapLineupScRsp => "CmdSwapLineupScRsp",
            Self::CmdJoinLineupScRsp => "CmdJoinLineupScRsp",
            Self::CmdQuitLineupCsReq => "CmdQuitLineupCsReq",
            Self::CmdGetStageLineupScRsp => "CmdGetStageLineupScRsp",
            Self::CmdGetCurLineupDataScRsp => "CmdGetCurLineupDataScRsp",
            Self::CmdExtraLineupDestroyNotify => "CmdExtraLineupDestroyNotify",
            Self::CmdGetLineupAvatarDataScRsp => "CmdGetLineupAvatarDataScRsp",
            Self::CmdSwitchLineupIndexScRsp => "CmdSwitchLineupIndexScRsp",
            Self::CmdGetLineupAvatarDataCsReq => "CmdGetLineupAvatarDataCsReq",
            Self::CmdSwitchLineupIndexCsReq => "CmdSwitchLineupIndexCsReq",
            Self::CmdGetStageLineupCsReq => "CmdGetStageLineupCsReq",
            Self::CmdVirtualLineupDestroyNotify => "CmdVirtualLineupDestroyNotify",
            Self::CmdReplaceLineupScRsp => "CmdReplaceLineupScRsp",
            Self::CmdChangeLineupLeaderScRsp => "CmdChangeLineupLeaderScRsp",
            Self::CmdSwapLineupCsReq => "CmdSwapLineupCsReq",
            Self::CmdGetAllLineupDataCsReq => "CmdGetAllLineupDataCsReq",
            Self::CmdSyncLineupNotify => "CmdSyncLineupNotify",
            Self::CmdVirtualLineupTrialAvatarChangeScNotify => {
                "CmdVirtualLineupTrialAvatarChangeScNotify"
            }
            Self::CmdSetLineupNameScRsp => "CmdSetLineupNameScRsp",
            Self::CmdReplaceLineupCsReq => "CmdReplaceLineupCsReq",
            Self::CmdQuitLineupScRsp => "CmdQuitLineupScRsp",
            Self::CmdSetLineupNameCsReq => "CmdSetLineupNameCsReq",
            Self::CmdJoinLineupCsReq => "CmdJoinLineupCsReq",
            Self::CmdGetCurLineupDataCsReq => "CmdGetCurLineupDataCsReq",
            Self::CmdGetAllLineupDataScRsp => "CmdGetAllLineupDataScRsp",
            Self::CmdChangeLineupLeaderCsReq => "CmdChangeLineupLeaderCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdLineupTypeNone" => Some(Self::None),
            "CmdSwapLineupScRsp" => Some(Self::CmdSwapLineupScRsp),
            "CmdJoinLineupScRsp" => Some(Self::CmdJoinLineupScRsp),
            "CmdQuitLineupCsReq" => Some(Self::CmdQuitLineupCsReq),
            "CmdGetStageLineupScRsp" => Some(Self::CmdGetStageLineupScRsp),
            "CmdGetCurLineupDataScRsp" => Some(Self::CmdGetCurLineupDataScRsp),
            "CmdExtraLineupDestroyNotify" => Some(Self::CmdExtraLineupDestroyNotify),
            "CmdGetLineupAvatarDataScRsp" => Some(Self::CmdGetLineupAvatarDataScRsp),
            "CmdSwitchLineupIndexScRsp" => Some(Self::CmdSwitchLineupIndexScRsp),
            "CmdGetLineupAvatarDataCsReq" => Some(Self::CmdGetLineupAvatarDataCsReq),
            "CmdSwitchLineupIndexCsReq" => Some(Self::CmdSwitchLineupIndexCsReq),
            "CmdGetStageLineupCsReq" => Some(Self::CmdGetStageLineupCsReq),
            "CmdVirtualLineupDestroyNotify" => Some(Self::CmdVirtualLineupDestroyNotify),
            "CmdReplaceLineupScRsp" => Some(Self::CmdReplaceLineupScRsp),
            "CmdChangeLineupLeaderScRsp" => Some(Self::CmdChangeLineupLeaderScRsp),
            "CmdSwapLineupCsReq" => Some(Self::CmdSwapLineupCsReq),
            "CmdGetAllLineupDataCsReq" => Some(Self::CmdGetAllLineupDataCsReq),
            "CmdSyncLineupNotify" => Some(Self::CmdSyncLineupNotify),
            "CmdVirtualLineupTrialAvatarChangeScNotify" => {
                Some(Self::CmdVirtualLineupTrialAvatarChangeScNotify)
            }
            "CmdSetLineupNameScRsp" => Some(Self::CmdSetLineupNameScRsp),
            "CmdReplaceLineupCsReq" => Some(Self::CmdReplaceLineupCsReq),
            "CmdQuitLineupScRsp" => Some(Self::CmdQuitLineupScRsp),
            "CmdSetLineupNameCsReq" => Some(Self::CmdSetLineupNameCsReq),
            "CmdJoinLineupCsReq" => Some(Self::CmdJoinLineupCsReq),
            "CmdGetCurLineupDataCsReq" => Some(Self::CmdGetCurLineupDataCsReq),
            "CmdGetAllLineupDataScRsp" => Some(Self::CmdGetAllLineupDataScRsp),
            "CmdChangeLineupLeaderCsReq" => Some(Self::CmdChangeLineupLeaderCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pbpahlpfnda {
    LineupTypeNone = 0,
    LineupTypePreset = 1,
    LineupTypeVirtual = 2,
    LineupTypeExtra = 3,
    LineupTypeStoryLine = 4,
}
impl Pbpahlpfnda {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LineupTypeNone => "LINEUP_TYPE_NONE",
            Self::LineupTypePreset => "LINEUP_TYPE_PRESET",
            Self::LineupTypeVirtual => "LINEUP_TYPE_VIRTUAL",
            Self::LineupTypeExtra => "LINEUP_TYPE_EXTRA",
            Self::LineupTypeStoryLine => "LINEUP_TYPE_STORY_LINE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LINEUP_TYPE_NONE" => Some(Self::LineupTypeNone),
            "LINEUP_TYPE_PRESET" => Some(Self::LineupTypePreset),
            "LINEUP_TYPE_VIRTUAL" => Some(Self::LineupTypeVirtual),
            "LINEUP_TYPE_EXTRA" => Some(Self::LineupTypeExtra),
            "LINEUP_TYPE_STORY_LINE" => Some(Self::LineupTypeStoryLine),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ExtraLineupType {
    LineupNone = 0,
    LineupChallenge = 1,
    LineupRogue = 2,
    LineupChallenge2 = 3,
    LineupChallenge3 = 4,
    LineupRogueChallenge = 5,
    LineupStageTrial = 6,
    LineupRogueTrial = 7,
    LineupActivity = 8,
    LineupBoxingClub = 9,
    LineupTreasureDungeon = 11,
    LineupChessRogue = 12,
    LineupHeliobus = 13,
    LineupTournRogue = 14,
    LineupRelicRogue = 15,
    LineupArcadeRogue = 16,
    LineupMagicRogue = 17,
}
impl ExtraLineupType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LineupNone => "LINEUP_NONE",
            Self::LineupChallenge => "LINEUP_CHALLENGE",
            Self::LineupRogue => "LINEUP_ROGUE",
            Self::LineupChallenge2 => "LINEUP_CHALLENGE_2",
            Self::LineupChallenge3 => "LINEUP_CHALLENGE_3",
            Self::LineupRogueChallenge => "LINEUP_ROGUE_CHALLENGE",
            Self::LineupStageTrial => "LINEUP_STAGE_TRIAL",
            Self::LineupRogueTrial => "LINEUP_ROGUE_TRIAL",
            Self::LineupActivity => "LINEUP_ACTIVITY",
            Self::LineupBoxingClub => "LINEUP_BOXING_CLUB",
            Self::LineupTreasureDungeon => "LINEUP_TREASURE_DUNGEON",
            Self::LineupChessRogue => "LINEUP_CHESS_ROGUE",
            Self::LineupHeliobus => "LINEUP_HELIOBUS",
            Self::LineupTournRogue => "LINEUP_TOURN_ROGUE",
            Self::LineupRelicRogue => "LINEUP_RELIC_ROGUE",
            Self::LineupArcadeRogue => "LINEUP_ARCADE_ROGUE",
            Self::LineupMagicRogue => "LINEUP_MAGIC_ROGUE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LINEUP_NONE" => Some(Self::LineupNone),
            "LINEUP_CHALLENGE" => Some(Self::LineupChallenge),
            "LINEUP_ROGUE" => Some(Self::LineupRogue),
            "LINEUP_CHALLENGE_2" => Some(Self::LineupChallenge2),
            "LINEUP_CHALLENGE_3" => Some(Self::LineupChallenge3),
            "LINEUP_ROGUE_CHALLENGE" => Some(Self::LineupRogueChallenge),
            "LINEUP_STAGE_TRIAL" => Some(Self::LineupStageTrial),
            "LINEUP_ROGUE_TRIAL" => Some(Self::LineupRogueTrial),
            "LINEUP_ACTIVITY" => Some(Self::LineupActivity),
            "LINEUP_BOXING_CLUB" => Some(Self::LineupBoxingClub),
            "LINEUP_TREASURE_DUNGEON" => Some(Self::LineupTreasureDungeon),
            "LINEUP_CHESS_ROGUE" => Some(Self::LineupChessRogue),
            "LINEUP_HELIOBUS" => Some(Self::LineupHeliobus),
            "LINEUP_TOURN_ROGUE" => Some(Self::LineupTournRogue),
            "LINEUP_RELIC_ROGUE" => Some(Self::LineupRelicRogue),
            "LINEUP_ARCADE_ROGUE" => Some(Self::LineupArcadeRogue),
            "LINEUP_MAGIC_ROGUE" => Some(Self::LineupMagicRogue),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SyncReason {
    None = 0,
    MpAdd = 1,
    MpAddPropHit = 2,
    HpAdd = 3,
    HpAddPropHit = 4,
}
impl SyncReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "SYNC_REASON_NONE",
            Self::MpAdd => "SYNC_REASON_MP_ADD",
            Self::MpAddPropHit => "SYNC_REASON_MP_ADD_PROP_HIT",
            Self::HpAdd => "SYNC_REASON_HP_ADD",
            Self::HpAddPropHit => "SYNC_REASON_HP_ADD_PROP_HIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SYNC_REASON_NONE" => Some(Self::None),
            "SYNC_REASON_MP_ADD" => Some(Self::MpAdd),
            "SYNC_REASON_MP_ADD_PROP_HIT" => Some(Self::MpAddPropHit),
            "SYNC_REASON_HP_ADD" => Some(Self::HpAdd),
            "SYNC_REASON_HP_ADD_PROP_HIT" => Some(Self::HpAddPropHit),
            _ => None,
        }
    }
}
/// Obf: HGGAGPEPKLN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLobbyType {
    None = 0,
    CmdLobbyInviteCsReq = 7357,
    CmdLobbySyncInfoScNotify = 7395,
    CmdLobbyJoinCsReq = 7352,
    CmdLobbyStartFightCsReq = 7386,
    CmdLobbyInteractCsReq = 7376,
    CmdLobbyKickOutCsReq = 7393,
    CmdLobbyStartFightScRsp = 7367,
    CmdLobbyJoinScRsp = 7387,
    CmdLobbyGetInfoCsReq = 7382,
    CmdLobbyGetInfoScRsp = 7373,
    CmdLobbyKickOutScRsp = 7359,
    CmdLobbyQuitCsReq = 7390,
    CmdLobbyCreateCsReq = 7354,
    CmdLobbyModifyPlayerInfoCsReq = 7377,
    CmdLobbyInteractScRsp = 7372,
    CmdLobbyInviteScRsp = 7400,
    CmdLobbyInviteScNotify = 7394,
    CmdLobbyQuitScRsp = 7370,
    CmdLobbyCreateScRsp = 7396,
    CmdLobbyModifyPlayerInfoScRsp = 7365,
    CmdLobbyInteractScNotify = 7366,
}
impl CmdLobbyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdLobbyTypeNone",
            Self::CmdLobbyInviteCsReq => "CmdLobbyInviteCsReq",
            Self::CmdLobbySyncInfoScNotify => "CmdLobbySyncInfoScNotify",
            Self::CmdLobbyJoinCsReq => "CmdLobbyJoinCsReq",
            Self::CmdLobbyStartFightCsReq => "CmdLobbyStartFightCsReq",
            Self::CmdLobbyInteractCsReq => "CmdLobbyInteractCsReq",
            Self::CmdLobbyKickOutCsReq => "CmdLobbyKickOutCsReq",
            Self::CmdLobbyStartFightScRsp => "CmdLobbyStartFightScRsp",
            Self::CmdLobbyJoinScRsp => "CmdLobbyJoinScRsp",
            Self::CmdLobbyGetInfoCsReq => "CmdLobbyGetInfoCsReq",
            Self::CmdLobbyGetInfoScRsp => "CmdLobbyGetInfoScRsp",
            Self::CmdLobbyKickOutScRsp => "CmdLobbyKickOutScRsp",
            Self::CmdLobbyQuitCsReq => "CmdLobbyQuitCsReq",
            Self::CmdLobbyCreateCsReq => "CmdLobbyCreateCsReq",
            Self::CmdLobbyModifyPlayerInfoCsReq => "CmdLobbyModifyPlayerInfoCsReq",
            Self::CmdLobbyInteractScRsp => "CmdLobbyInteractScRsp",
            Self::CmdLobbyInviteScRsp => "CmdLobbyInviteScRsp",
            Self::CmdLobbyInviteScNotify => "CmdLobbyInviteScNotify",
            Self::CmdLobbyQuitScRsp => "CmdLobbyQuitScRsp",
            Self::CmdLobbyCreateScRsp => "CmdLobbyCreateScRsp",
            Self::CmdLobbyModifyPlayerInfoScRsp => "CmdLobbyModifyPlayerInfoScRsp",
            Self::CmdLobbyInteractScNotify => "CmdLobbyInteractScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdLobbyTypeNone" => Some(Self::None),
            "CmdLobbyInviteCsReq" => Some(Self::CmdLobbyInviteCsReq),
            "CmdLobbySyncInfoScNotify" => Some(Self::CmdLobbySyncInfoScNotify),
            "CmdLobbyJoinCsReq" => Some(Self::CmdLobbyJoinCsReq),
            "CmdLobbyStartFightCsReq" => Some(Self::CmdLobbyStartFightCsReq),
            "CmdLobbyInteractCsReq" => Some(Self::CmdLobbyInteractCsReq),
            "CmdLobbyKickOutCsReq" => Some(Self::CmdLobbyKickOutCsReq),
            "CmdLobbyStartFightScRsp" => Some(Self::CmdLobbyStartFightScRsp),
            "CmdLobbyJoinScRsp" => Some(Self::CmdLobbyJoinScRsp),
            "CmdLobbyGetInfoCsReq" => Some(Self::CmdLobbyGetInfoCsReq),
            "CmdLobbyGetInfoScRsp" => Some(Self::CmdLobbyGetInfoScRsp),
            "CmdLobbyKickOutScRsp" => Some(Self::CmdLobbyKickOutScRsp),
            "CmdLobbyQuitCsReq" => Some(Self::CmdLobbyQuitCsReq),
            "CmdLobbyCreateCsReq" => Some(Self::CmdLobbyCreateCsReq),
            "CmdLobbyModifyPlayerInfoCsReq" => Some(Self::CmdLobbyModifyPlayerInfoCsReq),
            "CmdLobbyInteractScRsp" => Some(Self::CmdLobbyInteractScRsp),
            "CmdLobbyInviteScRsp" => Some(Self::CmdLobbyInviteScRsp),
            "CmdLobbyInviteScNotify" => Some(Self::CmdLobbyInviteScNotify),
            "CmdLobbyQuitScRsp" => Some(Self::CmdLobbyQuitScRsp),
            "CmdLobbyCreateScRsp" => Some(Self::CmdLobbyCreateScRsp),
            "CmdLobbyModifyPlayerInfoScRsp" => Some(Self::CmdLobbyModifyPlayerInfoScRsp),
            "CmdLobbyInteractScNotify" => Some(Self::CmdLobbyInteractScNotify),
            _ => None,
        }
    }
}
/// Obf: EOADFOLDOCJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMailType {
    None = 0,
    CmdMarkReadMailCsReq = 831,
    CmdMarkReadMailScRsp = 840,
    CmdDelMailScRsp = 848,
    CmdTakeMailAttachmentScRsp = 852,
    CmdNewMailScNotify = 822,
    CmdGetMailScRsp = 832,
    CmdGetMailCsReq = 895,
    CmdDelMailCsReq = 876,
    CmdTakeMailAttachmentCsReq = 871,
}
impl CmdMailType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMailTypeNone",
            Self::CmdMarkReadMailCsReq => "CmdMarkReadMailCsReq",
            Self::CmdMarkReadMailScRsp => "CmdMarkReadMailScRsp",
            Self::CmdDelMailScRsp => "CmdDelMailScRsp",
            Self::CmdTakeMailAttachmentScRsp => "CmdTakeMailAttachmentScRsp",
            Self::CmdNewMailScNotify => "CmdNewMailScNotify",
            Self::CmdGetMailScRsp => "CmdGetMailScRsp",
            Self::CmdGetMailCsReq => "CmdGetMailCsReq",
            Self::CmdDelMailCsReq => "CmdDelMailCsReq",
            Self::CmdTakeMailAttachmentCsReq => "CmdTakeMailAttachmentCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMailTypeNone" => Some(Self::None),
            "CmdMarkReadMailCsReq" => Some(Self::CmdMarkReadMailCsReq),
            "CmdMarkReadMailScRsp" => Some(Self::CmdMarkReadMailScRsp),
            "CmdDelMailScRsp" => Some(Self::CmdDelMailScRsp),
            "CmdTakeMailAttachmentScRsp" => Some(Self::CmdTakeMailAttachmentScRsp),
            "CmdNewMailScNotify" => Some(Self::CmdNewMailScNotify),
            "CmdGetMailScRsp" => Some(Self::CmdGetMailScRsp),
            "CmdGetMailCsReq" => Some(Self::CmdGetMailCsReq),
            "CmdDelMailCsReq" => Some(Self::CmdDelMailCsReq),
            "CmdTakeMailAttachmentCsReq" => Some(Self::CmdTakeMailAttachmentCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MailType {
    Normal = 0,
    Star = 1,
}
impl MailType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Normal => "MAIL_TYPE_NORMAL",
            Self::Star => "MAIL_TYPE_STAR",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAIL_TYPE_NORMAL" => Some(Self::Normal),
            "MAIL_TYPE_STAR" => Some(Self::Star),
            _ => None,
        }
    }
}
/// Obf: CAABCBEELDO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMapRotationType {
    None = 0,
    CmdGetMapRotationDataCsReq = 6872,
    CmdDeployRotaterScRsp = 6848,
    CmdLeaveMapRotationRegionScNotify = 6883,
    CmdEnterMapRotationRegionCsReq = 6895,
    CmdResetMapRotationRegionCsReq = 6816,
    CmdGetMapRotationDataScRsp = 6885,
    CmdRotateMapScRsp = 6852,
    CmdEnterMapRotationRegionScRsp = 6832,
    CmdLeaveMapRotationRegionCsReq = 6822,
    CmdLeaveMapRotationRegionScRsp = 6856,
    CmdUpdateRotaterScNotify = 6833,
    CmdRotateMapCsReq = 6871,
    CmdResetMapRotationRegionScRsp = 6846,
    CmdInteractChargerCsReq = 6831,
    CmdUpdateEnergyScNotify = 6860,
    CmdRemoveRotaterCsReq = 6839,
    CmdUpdateMapRotationDataScNotify = 6802,
    CmdDeployRotaterCsReq = 6876,
    CmdInteractChargerScRsp = 6840,
    CmdRemoveRotaterScRsp = 6843,
}
impl CmdMapRotationType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMapRotationTypeNone",
            Self::CmdGetMapRotationDataCsReq => "CmdGetMapRotationDataCsReq",
            Self::CmdDeployRotaterScRsp => "CmdDeployRotaterScRsp",
            Self::CmdLeaveMapRotationRegionScNotify => {
                "CmdLeaveMapRotationRegionScNotify"
            }
            Self::CmdEnterMapRotationRegionCsReq => "CmdEnterMapRotationRegionCsReq",
            Self::CmdResetMapRotationRegionCsReq => "CmdResetMapRotationRegionCsReq",
            Self::CmdGetMapRotationDataScRsp => "CmdGetMapRotationDataScRsp",
            Self::CmdRotateMapScRsp => "CmdRotateMapScRsp",
            Self::CmdEnterMapRotationRegionScRsp => "CmdEnterMapRotationRegionScRsp",
            Self::CmdLeaveMapRotationRegionCsReq => "CmdLeaveMapRotationRegionCsReq",
            Self::CmdLeaveMapRotationRegionScRsp => "CmdLeaveMapRotationRegionScRsp",
            Self::CmdUpdateRotaterScNotify => "CmdUpdateRotaterScNotify",
            Self::CmdRotateMapCsReq => "CmdRotateMapCsReq",
            Self::CmdResetMapRotationRegionScRsp => "CmdResetMapRotationRegionScRsp",
            Self::CmdInteractChargerCsReq => "CmdInteractChargerCsReq",
            Self::CmdUpdateEnergyScNotify => "CmdUpdateEnergyScNotify",
            Self::CmdRemoveRotaterCsReq => "CmdRemoveRotaterCsReq",
            Self::CmdUpdateMapRotationDataScNotify => "CmdUpdateMapRotationDataScNotify",
            Self::CmdDeployRotaterCsReq => "CmdDeployRotaterCsReq",
            Self::CmdInteractChargerScRsp => "CmdInteractChargerScRsp",
            Self::CmdRemoveRotaterScRsp => "CmdRemoveRotaterScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMapRotationTypeNone" => Some(Self::None),
            "CmdGetMapRotationDataCsReq" => Some(Self::CmdGetMapRotationDataCsReq),
            "CmdDeployRotaterScRsp" => Some(Self::CmdDeployRotaterScRsp),
            "CmdLeaveMapRotationRegionScNotify" => {
                Some(Self::CmdLeaveMapRotationRegionScNotify)
            }
            "CmdEnterMapRotationRegionCsReq" => {
                Some(Self::CmdEnterMapRotationRegionCsReq)
            }
            "CmdResetMapRotationRegionCsReq" => {
                Some(Self::CmdResetMapRotationRegionCsReq)
            }
            "CmdGetMapRotationDataScRsp" => Some(Self::CmdGetMapRotationDataScRsp),
            "CmdRotateMapScRsp" => Some(Self::CmdRotateMapScRsp),
            "CmdEnterMapRotationRegionScRsp" => {
                Some(Self::CmdEnterMapRotationRegionScRsp)
            }
            "CmdLeaveMapRotationRegionCsReq" => {
                Some(Self::CmdLeaveMapRotationRegionCsReq)
            }
            "CmdLeaveMapRotationRegionScRsp" => {
                Some(Self::CmdLeaveMapRotationRegionScRsp)
            }
            "CmdUpdateRotaterScNotify" => Some(Self::CmdUpdateRotaterScNotify),
            "CmdRotateMapCsReq" => Some(Self::CmdRotateMapCsReq),
            "CmdResetMapRotationRegionScRsp" => {
                Some(Self::CmdResetMapRotationRegionScRsp)
            }
            "CmdInteractChargerCsReq" => Some(Self::CmdInteractChargerCsReq),
            "CmdUpdateEnergyScNotify" => Some(Self::CmdUpdateEnergyScNotify),
            "CmdRemoveRotaterCsReq" => Some(Self::CmdRemoveRotaterCsReq),
            "CmdUpdateMapRotationDataScNotify" => {
                Some(Self::CmdUpdateMapRotationDataScNotify)
            }
            "CmdDeployRotaterCsReq" => Some(Self::CmdDeployRotaterCsReq),
            "CmdInteractChargerScRsp" => Some(Self::CmdInteractChargerScRsp),
            "CmdRemoveRotaterScRsp" => Some(Self::CmdRemoveRotaterScRsp),
            _ => None,
        }
    }
}
/// Obf: GHJGHCICFBB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMarbleType {
    None = 0,
    CmdMarbleUpdateShownSealCsReq = 8277,
    CmdMarbleGetDataScRsp = 8283,
    CmdMarbleLevelFinishCsReq = 8278,
    CmdMarbleUpdateShownSealScRsp = 8273,
    CmdMarbleLevelFinishScRsp = 8280,
    CmdMarblePvpDataUpdateScNotify = 8279,
    CmdMarbleUnlockSealScNotify = 8290,
    CmdMarbleShopBuyCsReq = 8274,
    CmdMarbleShopBuyScRsp = 8272,
    CmdMarbleGetDataCsReq = 8284,
}
impl CmdMarbleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMarbleTypeNone",
            Self::CmdMarbleUpdateShownSealCsReq => "CmdMarbleUpdateShownSealCsReq",
            Self::CmdMarbleGetDataScRsp => "CmdMarbleGetDataScRsp",
            Self::CmdMarbleLevelFinishCsReq => "CmdMarbleLevelFinishCsReq",
            Self::CmdMarbleUpdateShownSealScRsp => "CmdMarbleUpdateShownSealScRsp",
            Self::CmdMarbleLevelFinishScRsp => "CmdMarbleLevelFinishScRsp",
            Self::CmdMarblePvpDataUpdateScNotify => "CmdMarblePvpDataUpdateScNotify",
            Self::CmdMarbleUnlockSealScNotify => "CmdMarbleUnlockSealScNotify",
            Self::CmdMarbleShopBuyCsReq => "CmdMarbleShopBuyCsReq",
            Self::CmdMarbleShopBuyScRsp => "CmdMarbleShopBuyScRsp",
            Self::CmdMarbleGetDataCsReq => "CmdMarbleGetDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMarbleTypeNone" => Some(Self::None),
            "CmdMarbleUpdateShownSealCsReq" => Some(Self::CmdMarbleUpdateShownSealCsReq),
            "CmdMarbleGetDataScRsp" => Some(Self::CmdMarbleGetDataScRsp),
            "CmdMarbleLevelFinishCsReq" => Some(Self::CmdMarbleLevelFinishCsReq),
            "CmdMarbleUpdateShownSealScRsp" => Some(Self::CmdMarbleUpdateShownSealScRsp),
            "CmdMarbleLevelFinishScRsp" => Some(Self::CmdMarbleLevelFinishScRsp),
            "CmdMarblePvpDataUpdateScNotify" => {
                Some(Self::CmdMarblePvpDataUpdateScNotify)
            }
            "CmdMarbleUnlockSealScNotify" => Some(Self::CmdMarbleUnlockSealScNotify),
            "CmdMarbleShopBuyCsReq" => Some(Self::CmdMarbleShopBuyCsReq),
            "CmdMarbleShopBuyScRsp" => Some(Self::CmdMarbleShopBuyScRsp),
            "CmdMarbleGetDataCsReq" => Some(Self::CmdMarbleGetDataCsReq),
            _ => None,
        }
    }
}
/// Obf: GODAKGNEGMM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMarkChestType {
    None = 0,
    CmdUpdateMarkChestScRsp = 8190,
    CmdGetMarkChestScRsp = 8193,
    CmdGetMarkChestCsReq = 8194,
    CmdMarkChestChangedScNotify = 8184,
    CmdUpdateMarkChestCsReq = 8188,
}
impl CmdMarkChestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMarkChestTypeNone",
            Self::CmdUpdateMarkChestScRsp => "CmdUpdateMarkChestScRsp",
            Self::CmdGetMarkChestScRsp => "CmdGetMarkChestScRsp",
            Self::CmdGetMarkChestCsReq => "CmdGetMarkChestCsReq",
            Self::CmdMarkChestChangedScNotify => "CmdMarkChestChangedScNotify",
            Self::CmdUpdateMarkChestCsReq => "CmdUpdateMarkChestCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMarkChestTypeNone" => Some(Self::None),
            "CmdUpdateMarkChestScRsp" => Some(Self::CmdUpdateMarkChestScRsp),
            "CmdGetMarkChestScRsp" => Some(Self::CmdGetMarkChestScRsp),
            "CmdGetMarkChestCsReq" => Some(Self::CmdGetMarkChestCsReq),
            "CmdMarkChestChangedScNotify" => Some(Self::CmdMarkChestChangedScNotify),
            "CmdUpdateMarkChestCsReq" => Some(Self::CmdUpdateMarkChestCsReq),
            _ => None,
        }
    }
}
/// Obf: CMNBDIABCMK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMatchType {
    None = 0,
    CmdGetCrossInfoCsReq = 7317,
    CmdCancelMatchScRsp = 7337,
    CmdStartMatchCsReq = 7304,
    CmdGetCrossInfoScRsp = 7327,
    CmdStartMatchScRsp = 7346,
    CmdCancelMatchCsReq = 7302,
    CmdMatchResultScNotify = 7336,
}
impl CmdMatchType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMatchTypeNone",
            Self::CmdGetCrossInfoCsReq => "CmdGetCrossInfoCsReq",
            Self::CmdCancelMatchScRsp => "CmdCancelMatchScRsp",
            Self::CmdStartMatchCsReq => "CmdStartMatchCsReq",
            Self::CmdGetCrossInfoScRsp => "CmdGetCrossInfoScRsp",
            Self::CmdStartMatchScRsp => "CmdStartMatchScRsp",
            Self::CmdCancelMatchCsReq => "CmdCancelMatchCsReq",
            Self::CmdMatchResultScNotify => "CmdMatchResultScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMatchTypeNone" => Some(Self::None),
            "CmdGetCrossInfoCsReq" => Some(Self::CmdGetCrossInfoCsReq),
            "CmdCancelMatchScRsp" => Some(Self::CmdCancelMatchScRsp),
            "CmdStartMatchCsReq" => Some(Self::CmdStartMatchCsReq),
            "CmdGetCrossInfoScRsp" => Some(Self::CmdGetCrossInfoScRsp),
            "CmdStartMatchScRsp" => Some(Self::CmdStartMatchScRsp),
            "CmdCancelMatchCsReq" => Some(Self::CmdCancelMatchCsReq),
            "CmdMatchResultScNotify" => Some(Self::CmdMatchResultScNotify),
            _ => None,
        }
    }
}
/// Obf: GIPAEBEPNNJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMatchThreeModuleType {
    None = 0,
    CmdMatchThreeSetBirdPosCsReq = 7417,
    CmdMatchThreeLevelEndScRsp = 7437,
    CmdMatchThreeSetBirdPosScRsp = 7427,
    CmdMatchThreeSyncDataScNotify = 7436,
    CmdMatchThreeGetDataScRsp = 7446,
    CmdMatchThreeLevelEndCsReq = 7402,
    CmdMatchThreeGetDataCsReq = 7404,
}
impl CmdMatchThreeModuleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMatchThreeModuleTypeNone",
            Self::CmdMatchThreeSetBirdPosCsReq => "CmdMatchThreeSetBirdPosCsReq",
            Self::CmdMatchThreeLevelEndScRsp => "CmdMatchThreeLevelEndScRsp",
            Self::CmdMatchThreeSetBirdPosScRsp => "CmdMatchThreeSetBirdPosScRsp",
            Self::CmdMatchThreeSyncDataScNotify => "CmdMatchThreeSyncDataScNotify",
            Self::CmdMatchThreeGetDataScRsp => "CmdMatchThreeGetDataScRsp",
            Self::CmdMatchThreeLevelEndCsReq => "CmdMatchThreeLevelEndCsReq",
            Self::CmdMatchThreeGetDataCsReq => "CmdMatchThreeGetDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMatchThreeModuleTypeNone" => Some(Self::None),
            "CmdMatchThreeSetBirdPosCsReq" => Some(Self::CmdMatchThreeSetBirdPosCsReq),
            "CmdMatchThreeLevelEndScRsp" => Some(Self::CmdMatchThreeLevelEndScRsp),
            "CmdMatchThreeSetBirdPosScRsp" => Some(Self::CmdMatchThreeSetBirdPosScRsp),
            "CmdMatchThreeSyncDataScNotify" => Some(Self::CmdMatchThreeSyncDataScNotify),
            "CmdMatchThreeGetDataScRsp" => Some(Self::CmdMatchThreeGetDataScRsp),
            "CmdMatchThreeLevelEndCsReq" => Some(Self::CmdMatchThreeLevelEndCsReq),
            "CmdMatchThreeGetDataCsReq" => Some(Self::CmdMatchThreeGetDataCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ajddhbhmoof {
    MatchThreeStatisticsNone = 0,
    MatchThreeStatisticsFirst = 1,
    MatchThreeStatisticsSecond = 2,
    MatchThreeStatisticsThird = 3,
    MatchThreeStatisticsFruit = 4,
    MatchThreeStatisticsSkill = 5,
    MatchThreeStatisticsDefeat = 6,
    MatchThreeStatisticsBomb = 7,
    MatchThreeStatisticsDamage = 8,
    MatchThreeStatisticsEnergy = 9,
    MatchThreeStatisticsSwapBomb = 10,
}
impl Ajddhbhmoof {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MatchThreeStatisticsNone => "MatchThreeStatistics_None",
            Self::MatchThreeStatisticsFirst => "MatchThreeStatistics_First",
            Self::MatchThreeStatisticsSecond => "MatchThreeStatistics_Second",
            Self::MatchThreeStatisticsThird => "MatchThreeStatistics_Third",
            Self::MatchThreeStatisticsFruit => "MatchThreeStatistics_Fruit",
            Self::MatchThreeStatisticsSkill => "MatchThreeStatistics_Skill",
            Self::MatchThreeStatisticsDefeat => "MatchThreeStatistics_Defeat",
            Self::MatchThreeStatisticsBomb => "MatchThreeStatistics_Bomb",
            Self::MatchThreeStatisticsDamage => "MatchThreeStatistics_Damage",
            Self::MatchThreeStatisticsEnergy => "MatchThreeStatistics_Energy",
            Self::MatchThreeStatisticsSwapBomb => "MatchThreeStatistics_SwapBomb",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MatchThreeStatistics_None" => Some(Self::MatchThreeStatisticsNone),
            "MatchThreeStatistics_First" => Some(Self::MatchThreeStatisticsFirst),
            "MatchThreeStatistics_Second" => Some(Self::MatchThreeStatisticsSecond),
            "MatchThreeStatistics_Third" => Some(Self::MatchThreeStatisticsThird),
            "MatchThreeStatistics_Fruit" => Some(Self::MatchThreeStatisticsFruit),
            "MatchThreeStatistics_Skill" => Some(Self::MatchThreeStatisticsSkill),
            "MatchThreeStatistics_Defeat" => Some(Self::MatchThreeStatisticsDefeat),
            "MatchThreeStatistics_Bomb" => Some(Self::MatchThreeStatisticsBomb),
            "MatchThreeStatistics_Damage" => Some(Self::MatchThreeStatisticsDamage),
            "MatchThreeStatistics_Energy" => Some(Self::MatchThreeStatisticsEnergy),
            "MatchThreeStatistics_SwapBomb" => Some(Self::MatchThreeStatisticsSwapBomb),
            _ => None,
        }
    }
}
/// Obf: MMOLEKJKOHN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMessageType {
    None = 0,
    CmdGetMissionMessageInfoCsReq = 2772,
    CmdFinishPerformSectionIdScRsp = 2756,
    CmdGetNpcStatusCsReq = 2731,
    CmdFinishItemIdCsReq = 2776,
    CmdFinishSectionIdScRsp = 2752,
    CmdFinishItemIdScRsp = 2748,
    CmdGetMissionMessageInfoScRsp = 2785,
    CmdFinishSectionIdCsReq = 2771,
    CmdFinishPerformSectionIdCsReq = 2722,
    CmdGetNpcMessageGroupCsReq = 2795,
    CmdGetNpcStatusScRsp = 2740,
    CmdGetNpcMessageGroupScRsp = 2732,
}
impl CmdMessageType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMessageTypeNone",
            Self::CmdGetMissionMessageInfoCsReq => "CmdGetMissionMessageInfoCsReq",
            Self::CmdFinishPerformSectionIdScRsp => "CmdFinishPerformSectionIdScRsp",
            Self::CmdGetNpcStatusCsReq => "CmdGetNpcStatusCsReq",
            Self::CmdFinishItemIdCsReq => "CmdFinishItemIdCsReq",
            Self::CmdFinishSectionIdScRsp => "CmdFinishSectionIdScRsp",
            Self::CmdFinishItemIdScRsp => "CmdFinishItemIdScRsp",
            Self::CmdGetMissionMessageInfoScRsp => "CmdGetMissionMessageInfoScRsp",
            Self::CmdFinishSectionIdCsReq => "CmdFinishSectionIdCsReq",
            Self::CmdFinishPerformSectionIdCsReq => "CmdFinishPerformSectionIdCsReq",
            Self::CmdGetNpcMessageGroupCsReq => "CmdGetNpcMessageGroupCsReq",
            Self::CmdGetNpcStatusScRsp => "CmdGetNpcStatusScRsp",
            Self::CmdGetNpcMessageGroupScRsp => "CmdGetNpcMessageGroupScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMessageTypeNone" => Some(Self::None),
            "CmdGetMissionMessageInfoCsReq" => Some(Self::CmdGetMissionMessageInfoCsReq),
            "CmdFinishPerformSectionIdScRsp" => {
                Some(Self::CmdFinishPerformSectionIdScRsp)
            }
            "CmdGetNpcStatusCsReq" => Some(Self::CmdGetNpcStatusCsReq),
            "CmdFinishItemIdCsReq" => Some(Self::CmdFinishItemIdCsReq),
            "CmdFinishSectionIdScRsp" => Some(Self::CmdFinishSectionIdScRsp),
            "CmdFinishItemIdScRsp" => Some(Self::CmdFinishItemIdScRsp),
            "CmdGetMissionMessageInfoScRsp" => Some(Self::CmdGetMissionMessageInfoScRsp),
            "CmdFinishSectionIdCsReq" => Some(Self::CmdFinishSectionIdCsReq),
            "CmdFinishPerformSectionIdCsReq" => {
                Some(Self::CmdFinishPerformSectionIdCsReq)
            }
            "CmdGetNpcMessageGroupCsReq" => Some(Self::CmdGetNpcMessageGroupCsReq),
            "CmdGetNpcStatusScRsp" => Some(Self::CmdGetNpcStatusScRsp),
            "CmdGetNpcMessageGroupScRsp" => Some(Self::CmdGetNpcMessageGroupScRsp),
            _ => None,
        }
    }
}
/// Obf: HHLNLNJIEKE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMiscModuleType {
    None = 0,
    CmdDifficultyAdjustmentGetDataScRsp = 4114,
    CmdCancelCacheNotifyCsReq = 4122,
    CmdCancelCacheNotifyScRsp = 4156,
    CmdMazeKillDirectScRsp = 4175,
    CmdGetOrigamiPropInfoScRsp = 4139,
    CmdDifficultyAdjustmentUpdateDataCsReq = 4184,
    CmdGetShareDataCsReq = 4131,
    CmdGetMovieRacingDataCsReq = 4142,
    CmdUpdateGunPlayDataCsReq = 4111,
    CmdTakePictureScRsp = 4148,
    CmdGetGunPlayDataCsReq = 4129,
    CmdShareCsReq = 4195,
    CmdDifficultyAdjustmentUpdateDataScRsp = 4137,
    CmdGetShareDataScRsp = 4140,
    CmdTakePictureCsReq = 4176,
    CmdSubmitOrigamiItemScRsp = 4160,
    CmdMazeKillDirectCsReq = 4130,
    CmdDifficultyAdjustmentGetDataCsReq = 4125,
    CmdSecurityReportScRsp = 4185,
    CmdTriggerVoiceScRsp = 4146,
    CmdTriggerVoiceCsReq = 4116,
    CmdUpdateGunPlayDataScRsp = 4193,
    CmdGetOrigamiPropInfoCsReq = 4102,
    CmdGetMovieRacingDataScRsp = 4177,
    CmdUpdateMovieRacingDataCsReq = 4158,
    CmdSecurityReportCsReq = 4172,
    CmdGetGunPlayDataScRsp = 4163,
    CmdUpdateMovieRacingDataScRsp = 4121,
    CmdSubmitOrigamiItemCsReq = 4183,
    CmdShareScRsp = 4132,
}
impl CmdMiscModuleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMiscModuleTypeNone",
            Self::CmdDifficultyAdjustmentGetDataScRsp => {
                "CmdDifficultyAdjustmentGetDataScRsp"
            }
            Self::CmdCancelCacheNotifyCsReq => "CmdCancelCacheNotifyCsReq",
            Self::CmdCancelCacheNotifyScRsp => "CmdCancelCacheNotifyScRsp",
            Self::CmdMazeKillDirectScRsp => "CmdMazeKillDirectScRsp",
            Self::CmdGetOrigamiPropInfoScRsp => "CmdGetOrigamiPropInfoScRsp",
            Self::CmdDifficultyAdjustmentUpdateDataCsReq => {
                "CmdDifficultyAdjustmentUpdateDataCsReq"
            }
            Self::CmdGetShareDataCsReq => "CmdGetShareDataCsReq",
            Self::CmdGetMovieRacingDataCsReq => "CmdGetMovieRacingDataCsReq",
            Self::CmdUpdateGunPlayDataCsReq => "CmdUpdateGunPlayDataCsReq",
            Self::CmdTakePictureScRsp => "CmdTakePictureScRsp",
            Self::CmdGetGunPlayDataCsReq => "CmdGetGunPlayDataCsReq",
            Self::CmdShareCsReq => "CmdShareCsReq",
            Self::CmdDifficultyAdjustmentUpdateDataScRsp => {
                "CmdDifficultyAdjustmentUpdateDataScRsp"
            }
            Self::CmdGetShareDataScRsp => "CmdGetShareDataScRsp",
            Self::CmdTakePictureCsReq => "CmdTakePictureCsReq",
            Self::CmdSubmitOrigamiItemScRsp => "CmdSubmitOrigamiItemScRsp",
            Self::CmdMazeKillDirectCsReq => "CmdMazeKillDirectCsReq",
            Self::CmdDifficultyAdjustmentGetDataCsReq => {
                "CmdDifficultyAdjustmentGetDataCsReq"
            }
            Self::CmdSecurityReportScRsp => "CmdSecurityReportScRsp",
            Self::CmdTriggerVoiceScRsp => "CmdTriggerVoiceScRsp",
            Self::CmdTriggerVoiceCsReq => "CmdTriggerVoiceCsReq",
            Self::CmdUpdateGunPlayDataScRsp => "CmdUpdateGunPlayDataScRsp",
            Self::CmdGetOrigamiPropInfoCsReq => "CmdGetOrigamiPropInfoCsReq",
            Self::CmdGetMovieRacingDataScRsp => "CmdGetMovieRacingDataScRsp",
            Self::CmdUpdateMovieRacingDataCsReq => "CmdUpdateMovieRacingDataCsReq",
            Self::CmdSecurityReportCsReq => "CmdSecurityReportCsReq",
            Self::CmdGetGunPlayDataScRsp => "CmdGetGunPlayDataScRsp",
            Self::CmdUpdateMovieRacingDataScRsp => "CmdUpdateMovieRacingDataScRsp",
            Self::CmdSubmitOrigamiItemCsReq => "CmdSubmitOrigamiItemCsReq",
            Self::CmdShareScRsp => "CmdShareScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMiscModuleTypeNone" => Some(Self::None),
            "CmdDifficultyAdjustmentGetDataScRsp" => {
                Some(Self::CmdDifficultyAdjustmentGetDataScRsp)
            }
            "CmdCancelCacheNotifyCsReq" => Some(Self::CmdCancelCacheNotifyCsReq),
            "CmdCancelCacheNotifyScRsp" => Some(Self::CmdCancelCacheNotifyScRsp),
            "CmdMazeKillDirectScRsp" => Some(Self::CmdMazeKillDirectScRsp),
            "CmdGetOrigamiPropInfoScRsp" => Some(Self::CmdGetOrigamiPropInfoScRsp),
            "CmdDifficultyAdjustmentUpdateDataCsReq" => {
                Some(Self::CmdDifficultyAdjustmentUpdateDataCsReq)
            }
            "CmdGetShareDataCsReq" => Some(Self::CmdGetShareDataCsReq),
            "CmdGetMovieRacingDataCsReq" => Some(Self::CmdGetMovieRacingDataCsReq),
            "CmdUpdateGunPlayDataCsReq" => Some(Self::CmdUpdateGunPlayDataCsReq),
            "CmdTakePictureScRsp" => Some(Self::CmdTakePictureScRsp),
            "CmdGetGunPlayDataCsReq" => Some(Self::CmdGetGunPlayDataCsReq),
            "CmdShareCsReq" => Some(Self::CmdShareCsReq),
            "CmdDifficultyAdjustmentUpdateDataScRsp" => {
                Some(Self::CmdDifficultyAdjustmentUpdateDataScRsp)
            }
            "CmdGetShareDataScRsp" => Some(Self::CmdGetShareDataScRsp),
            "CmdTakePictureCsReq" => Some(Self::CmdTakePictureCsReq),
            "CmdSubmitOrigamiItemScRsp" => Some(Self::CmdSubmitOrigamiItemScRsp),
            "CmdMazeKillDirectCsReq" => Some(Self::CmdMazeKillDirectCsReq),
            "CmdDifficultyAdjustmentGetDataCsReq" => {
                Some(Self::CmdDifficultyAdjustmentGetDataCsReq)
            }
            "CmdSecurityReportScRsp" => Some(Self::CmdSecurityReportScRsp),
            "CmdTriggerVoiceScRsp" => Some(Self::CmdTriggerVoiceScRsp),
            "CmdTriggerVoiceCsReq" => Some(Self::CmdTriggerVoiceCsReq),
            "CmdUpdateGunPlayDataScRsp" => Some(Self::CmdUpdateGunPlayDataScRsp),
            "CmdGetOrigamiPropInfoCsReq" => Some(Self::CmdGetOrigamiPropInfoCsReq),
            "CmdGetMovieRacingDataScRsp" => Some(Self::CmdGetMovieRacingDataScRsp),
            "CmdUpdateMovieRacingDataCsReq" => Some(Self::CmdUpdateMovieRacingDataCsReq),
            "CmdSecurityReportCsReq" => Some(Self::CmdSecurityReportCsReq),
            "CmdGetGunPlayDataScRsp" => Some(Self::CmdGetGunPlayDataScRsp),
            "CmdUpdateMovieRacingDataScRsp" => Some(Self::CmdUpdateMovieRacingDataScRsp),
            "CmdSubmitOrigamiItemCsReq" => Some(Self::CmdSubmitOrigamiItemCsReq),
            "CmdShareScRsp" => Some(Self::CmdShareScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mgaefjjdmom {
    CacheNotifyTypeNone = 0,
    CacheNotifyTypeRecycle = 1,
    CacheNotifyTypeRecharge = 2,
}
impl Mgaefjjdmom {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::CacheNotifyTypeNone => "CACHE_NOTIFY_TYPE_NONE",
            Self::CacheNotifyTypeRecycle => "CACHE_NOTIFY_TYPE_RECYCLE",
            Self::CacheNotifyTypeRecharge => "CACHE_NOTIFY_TYPE_RECHARGE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CACHE_NOTIFY_TYPE_NONE" => Some(Self::CacheNotifyTypeNone),
            "CACHE_NOTIFY_TYPE_RECYCLE" => Some(Self::CacheNotifyTypeRecycle),
            "CACHE_NOTIFY_TYPE_RECHARGE" => Some(Self::CacheNotifyTypeRecharge),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dcadlnjbkbk {
    MovieRacingOverTake = 0,
    MovieRacingOverTakeEndless = 1,
    MovieRacingShooting = 2,
    MovieRacingShootingEndless = 3,
}
impl Dcadlnjbkbk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MovieRacingOverTake => "MOVIE_RACING_OVER_TAKE",
            Self::MovieRacingOverTakeEndless => "MOVIE_RACING_OVER_TAKE_ENDLESS",
            Self::MovieRacingShooting => "MOVIE_RACING_SHOOTING",
            Self::MovieRacingShootingEndless => "MOVIE_RACING_SHOOTING_ENDLESS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MOVIE_RACING_OVER_TAKE" => Some(Self::MovieRacingOverTake),
            "MOVIE_RACING_OVER_TAKE_ENDLESS" => Some(Self::MovieRacingOverTakeEndless),
            "MOVIE_RACING_SHOOTING" => Some(Self::MovieRacingShooting),
            "MOVIE_RACING_SHOOTING_ENDLESS" => Some(Self::MovieRacingShootingEndless),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fjhikfikamo {
    DifficultyAjustmentTypeDefault = 0,
    DifficultyAjustmentTypeEasy = 1,
}
impl Fjhikfikamo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::DifficultyAjustmentTypeDefault => "DIFFICULTY_AJUSTMENT_TYPE_DEFAULT",
            Self::DifficultyAjustmentTypeEasy => "DIFFICULTY_AJUSTMENT_TYPE_EASY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DIFFICULTY_AJUSTMENT_TYPE_DEFAULT" => {
                Some(Self::DifficultyAjustmentTypeDefault)
            }
            "DIFFICULTY_AJUSTMENT_TYPE_EASY" => Some(Self::DifficultyAjustmentTypeEasy),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Giilenmkcah {
    DifficultyAjustmentSourceNone = 0,
    DifficultyAjustmentSourceRaid = 1,
    DifficultyAjustmentSourceEvent = 2,
}
impl Giilenmkcah {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::DifficultyAjustmentSourceNone => "DIFFICULTY_AJUSTMENT_SOURCE_NONE",
            Self::DifficultyAjustmentSourceRaid => "DIFFICULTY_AJUSTMENT_SOURCE_RAID",
            Self::DifficultyAjustmentSourceEvent => "DIFFICULTY_AJUSTMENT_SOURCE_EVENT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DIFFICULTY_AJUSTMENT_SOURCE_NONE" => {
                Some(Self::DifficultyAjustmentSourceNone)
            }
            "DIFFICULTY_AJUSTMENT_SOURCE_RAID" => {
                Some(Self::DifficultyAjustmentSourceRaid)
            }
            "DIFFICULTY_AJUSTMENT_SOURCE_EVENT" => {
                Some(Self::DifficultyAjustmentSourceEvent)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mnijhmepgnn {
    MazeKillSourceNone = 0,
    MazeKillSourceSwitchHand = 1,
    MazeKillSourceTimeLine = 2,
}
impl Mnijhmepgnn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MazeKillSourceNone => "MAZE_KILL_SOURCE_NONE",
            Self::MazeKillSourceSwitchHand => "MAZE_KILL_SOURCE_SWITCH_HAND",
            Self::MazeKillSourceTimeLine => "MAZE_KILL_SOURCE_TIME_LINE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAZE_KILL_SOURCE_NONE" => Some(Self::MazeKillSourceNone),
            "MAZE_KILL_SOURCE_SWITCH_HAND" => Some(Self::MazeKillSourceSwitchHand),
            "MAZE_KILL_SOURCE_TIME_LINE" => Some(Self::MazeKillSourceTimeLine),
            _ => None,
        }
    }
}
/// Obf: KHKMAFONKBD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMissionType {
    None = 0,
    CmdSubMissionRewardScNotify = 1263,
    CmdStartFinishMainMissionScNotify = 1214,
    CmdUpdateMainMissionCustomValueScRsp = 1264,
    CmdStartFinishSubMissionScNotify = 1225,
    CmdGetMissionDataScRsp = 1232,
    CmdGetMissionStatusCsReq = 1233,
    CmdGetMainMissionCustomValueScRsp = 1275,
    CmdFinishedMissionScNotify = 1207,
    CmdGetMissionStatusScRsp = 1242,
    CmdSyncTaskScRsp = 1271,
    CmdGetMainMissionCustomValueCsReq = 1230,
    CmdUpdateMainMissionCustomValueCsReq = 1298,
    CmdFinishTalkMissionCsReq = 1231,
    CmdUpdateTrackMainMissionIdCsReq = 1224,
    CmdTeleportToMissionResetPointScRsp = 1293,
    CmdAcceptMainMissionScRsp = 1237,
    CmdMissionAcceptScNotify = 1251,
    CmdAcceptMainMissionCsReq = 1284,
    CmdFinishTalkMissionScRsp = 1240,
    CmdMissionGroupWarnScNotify = 1285,
    CmdUpdateTrackMainMissionIdScRsp = 1257,
    CmdSyncTaskCsReq = 1248,
    CmdFinishCosumeItemMissionScRsp = 1246,
    CmdGetMissionDataCsReq = 1295,
    CmdFinishCosumeItemMissionCsReq = 1216,
    CmdTeleportToMissionResetPointCsReq = 1211,
    CmdMissionRewardScNotify = 1276,
}
impl CmdMissionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMissionTypeNone",
            Self::CmdSubMissionRewardScNotify => "CmdSubMissionRewardScNotify",
            Self::CmdStartFinishMainMissionScNotify => {
                "CmdStartFinishMainMissionScNotify"
            }
            Self::CmdUpdateMainMissionCustomValueScRsp => {
                "CmdUpdateMainMissionCustomValueScRsp"
            }
            Self::CmdStartFinishSubMissionScNotify => "CmdStartFinishSubMissionScNotify",
            Self::CmdGetMissionDataScRsp => "CmdGetMissionDataScRsp",
            Self::CmdGetMissionStatusCsReq => "CmdGetMissionStatusCsReq",
            Self::CmdGetMainMissionCustomValueScRsp => {
                "CmdGetMainMissionCustomValueScRsp"
            }
            Self::CmdFinishedMissionScNotify => "CmdFinishedMissionScNotify",
            Self::CmdGetMissionStatusScRsp => "CmdGetMissionStatusScRsp",
            Self::CmdSyncTaskScRsp => "CmdSyncTaskScRsp",
            Self::CmdGetMainMissionCustomValueCsReq => {
                "CmdGetMainMissionCustomValueCsReq"
            }
            Self::CmdUpdateMainMissionCustomValueCsReq => {
                "CmdUpdateMainMissionCustomValueCsReq"
            }
            Self::CmdFinishTalkMissionCsReq => "CmdFinishTalkMissionCsReq",
            Self::CmdUpdateTrackMainMissionIdCsReq => "CmdUpdateTrackMainMissionIdCsReq",
            Self::CmdTeleportToMissionResetPointScRsp => {
                "CmdTeleportToMissionResetPointScRsp"
            }
            Self::CmdAcceptMainMissionScRsp => "CmdAcceptMainMissionScRsp",
            Self::CmdMissionAcceptScNotify => "CmdMissionAcceptScNotify",
            Self::CmdAcceptMainMissionCsReq => "CmdAcceptMainMissionCsReq",
            Self::CmdFinishTalkMissionScRsp => "CmdFinishTalkMissionScRsp",
            Self::CmdMissionGroupWarnScNotify => "CmdMissionGroupWarnScNotify",
            Self::CmdUpdateTrackMainMissionIdScRsp => "CmdUpdateTrackMainMissionIdScRsp",
            Self::CmdSyncTaskCsReq => "CmdSyncTaskCsReq",
            Self::CmdFinishCosumeItemMissionScRsp => "CmdFinishCosumeItemMissionScRsp",
            Self::CmdGetMissionDataCsReq => "CmdGetMissionDataCsReq",
            Self::CmdFinishCosumeItemMissionCsReq => "CmdFinishCosumeItemMissionCsReq",
            Self::CmdTeleportToMissionResetPointCsReq => {
                "CmdTeleportToMissionResetPointCsReq"
            }
            Self::CmdMissionRewardScNotify => "CmdMissionRewardScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMissionTypeNone" => Some(Self::None),
            "CmdSubMissionRewardScNotify" => Some(Self::CmdSubMissionRewardScNotify),
            "CmdStartFinishMainMissionScNotify" => {
                Some(Self::CmdStartFinishMainMissionScNotify)
            }
            "CmdUpdateMainMissionCustomValueScRsp" => {
                Some(Self::CmdUpdateMainMissionCustomValueScRsp)
            }
            "CmdStartFinishSubMissionScNotify" => {
                Some(Self::CmdStartFinishSubMissionScNotify)
            }
            "CmdGetMissionDataScRsp" => Some(Self::CmdGetMissionDataScRsp),
            "CmdGetMissionStatusCsReq" => Some(Self::CmdGetMissionStatusCsReq),
            "CmdGetMainMissionCustomValueScRsp" => {
                Some(Self::CmdGetMainMissionCustomValueScRsp)
            }
            "CmdFinishedMissionScNotify" => Some(Self::CmdFinishedMissionScNotify),
            "CmdGetMissionStatusScRsp" => Some(Self::CmdGetMissionStatusScRsp),
            "CmdSyncTaskScRsp" => Some(Self::CmdSyncTaskScRsp),
            "CmdGetMainMissionCustomValueCsReq" => {
                Some(Self::CmdGetMainMissionCustomValueCsReq)
            }
            "CmdUpdateMainMissionCustomValueCsReq" => {
                Some(Self::CmdUpdateMainMissionCustomValueCsReq)
            }
            "CmdFinishTalkMissionCsReq" => Some(Self::CmdFinishTalkMissionCsReq),
            "CmdUpdateTrackMainMissionIdCsReq" => {
                Some(Self::CmdUpdateTrackMainMissionIdCsReq)
            }
            "CmdTeleportToMissionResetPointScRsp" => {
                Some(Self::CmdTeleportToMissionResetPointScRsp)
            }
            "CmdAcceptMainMissionScRsp" => Some(Self::CmdAcceptMainMissionScRsp),
            "CmdMissionAcceptScNotify" => Some(Self::CmdMissionAcceptScNotify),
            "CmdAcceptMainMissionCsReq" => Some(Self::CmdAcceptMainMissionCsReq),
            "CmdFinishTalkMissionScRsp" => Some(Self::CmdFinishTalkMissionScRsp),
            "CmdMissionGroupWarnScNotify" => Some(Self::CmdMissionGroupWarnScNotify),
            "CmdUpdateTrackMainMissionIdScRsp" => {
                Some(Self::CmdUpdateTrackMainMissionIdScRsp)
            }
            "CmdSyncTaskCsReq" => Some(Self::CmdSyncTaskCsReq),
            "CmdFinishCosumeItemMissionScRsp" => {
                Some(Self::CmdFinishCosumeItemMissionScRsp)
            }
            "CmdGetMissionDataCsReq" => Some(Self::CmdGetMissionDataCsReq),
            "CmdFinishCosumeItemMissionCsReq" => {
                Some(Self::CmdFinishCosumeItemMissionCsReq)
            }
            "CmdTeleportToMissionResetPointCsReq" => {
                Some(Self::CmdTeleportToMissionResetPointCsReq)
            }
            "CmdMissionRewardScNotify" => Some(Self::CmdMissionRewardScNotify),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iebnpbjdfgp {
    MissionSyncRecordNone = 0,
    MissionSyncRecordMainMissionAccept = 1,
    MissionSyncRecordMainMissionStart = 2,
    MissionSyncRecordMainMissionFinish = 3,
    MissionSyncRecordMainMissionDelete = 4,
    MissionSyncRecordMissionAccept = 11,
    MissionSyncRecordMissionStart = 12,
    MissionSyncRecordMissionFinish = 13,
    MissionSyncRecordMissionDelete = 14,
    MissionSyncRecordMissionProgress = 15,
}
impl Iebnpbjdfgp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MissionSyncRecordNone => "MISSION_SYNC_RECORD_NONE",
            Self::MissionSyncRecordMainMissionAccept => {
                "MISSION_SYNC_RECORD_MAIN_MISSION_ACCEPT"
            }
            Self::MissionSyncRecordMainMissionStart => {
                "MISSION_SYNC_RECORD_MAIN_MISSION_START"
            }
            Self::MissionSyncRecordMainMissionFinish => {
                "MISSION_SYNC_RECORD_MAIN_MISSION_FINISH"
            }
            Self::MissionSyncRecordMainMissionDelete => {
                "MISSION_SYNC_RECORD_MAIN_MISSION_DELETE"
            }
            Self::MissionSyncRecordMissionAccept => "MISSION_SYNC_RECORD_MISSION_ACCEPT",
            Self::MissionSyncRecordMissionStart => "MISSION_SYNC_RECORD_MISSION_START",
            Self::MissionSyncRecordMissionFinish => "MISSION_SYNC_RECORD_MISSION_FINISH",
            Self::MissionSyncRecordMissionDelete => "MISSION_SYNC_RECORD_MISSION_DELETE",
            Self::MissionSyncRecordMissionProgress => {
                "MISSION_SYNC_RECORD_MISSION_PROGRESS"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MISSION_SYNC_RECORD_NONE" => Some(Self::MissionSyncRecordNone),
            "MISSION_SYNC_RECORD_MAIN_MISSION_ACCEPT" => {
                Some(Self::MissionSyncRecordMainMissionAccept)
            }
            "MISSION_SYNC_RECORD_MAIN_MISSION_START" => {
                Some(Self::MissionSyncRecordMainMissionStart)
            }
            "MISSION_SYNC_RECORD_MAIN_MISSION_FINISH" => {
                Some(Self::MissionSyncRecordMainMissionFinish)
            }
            "MISSION_SYNC_RECORD_MAIN_MISSION_DELETE" => {
                Some(Self::MissionSyncRecordMainMissionDelete)
            }
            "MISSION_SYNC_RECORD_MISSION_ACCEPT" => {
                Some(Self::MissionSyncRecordMissionAccept)
            }
            "MISSION_SYNC_RECORD_MISSION_START" => {
                Some(Self::MissionSyncRecordMissionStart)
            }
            "MISSION_SYNC_RECORD_MISSION_FINISH" => {
                Some(Self::MissionSyncRecordMissionFinish)
            }
            "MISSION_SYNC_RECORD_MISSION_DELETE" => {
                Some(Self::MissionSyncRecordMissionDelete)
            }
            "MISSION_SYNC_RECORD_MISSION_PROGRESS" => {
                Some(Self::MissionSyncRecordMissionProgress)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gjpkmnefcfo {
    MainMissionSyncNone = 0,
    MainMissionSyncMcv = 1,
}
impl Gjpkmnefcfo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MainMissionSyncNone => "MAIN_MISSION_SYNC_NONE",
            Self::MainMissionSyncMcv => "MAIN_MISSION_SYNC_MCV",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAIN_MISSION_SYNC_NONE" => Some(Self::MainMissionSyncNone),
            "MAIN_MISSION_SYNC_MCV" => Some(Self::MainMissionSyncMcv),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nnfdmniijgo {
    TrackMainMissionUpdateNone = 0,
    TrackMainMissionUpdateAuto = 1,
    TrackMainMissionUpdateManual = 2,
    TrackMainMissionUpdateLoginReport = 3,
}
impl Nnfdmniijgo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::TrackMainMissionUpdateNone => "TRACK_MAIN_MISSION_UPDATE_NONE",
            Self::TrackMainMissionUpdateAuto => "TRACK_MAIN_MISSION_UPDATE_AUTO",
            Self::TrackMainMissionUpdateManual => "TRACK_MAIN_MISSION_UPDATE_MANUAL",
            Self::TrackMainMissionUpdateLoginReport => {
                "TRACK_MAIN_MISSION_UPDATE_LOGIN_REPORT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRACK_MAIN_MISSION_UPDATE_NONE" => Some(Self::TrackMainMissionUpdateNone),
            "TRACK_MAIN_MISSION_UPDATE_AUTO" => Some(Self::TrackMainMissionUpdateAuto),
            "TRACK_MAIN_MISSION_UPDATE_MANUAL" => {
                Some(Self::TrackMainMissionUpdateManual)
            }
            "TRACK_MAIN_MISSION_UPDATE_LOGIN_REPORT" => {
                Some(Self::TrackMainMissionUpdateLoginReport)
            }
            _ => None,
        }
    }
}
/// Obf: OBAKFMLNFJK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMonopolyType {
    None = 0,
    CmdMonopolySelectOptionScRsp = 7072,
    CmdMonopolyScrachRaffleTicketScRsp = 7070,
    CmdMonopolyCellUpdateNotify = 7040,
    CmdMonopolyBuyGoodsScRsp = 7077,
    CmdMonopolyClickMbtiReportScRsp = 7038,
    CmdMonopolyTakeRaffleTicketRewardScRsp = 7097,
    CmdGetMbtiReportScRsp = 7001,
    CmdMonopolyAcceptQuizScRsp = 7057,
    CmdMonopolyGameBingoFlipCardScRsp = 7091,
    CmdMonopolyGetRegionProgressScRsp = 7018,
    CmdGetMonopolyFriendRankingListScRsp = 7087,
    CmdGetMonopolyDailyReportScRsp = 7015,
    CmdMonopolyGameCreateScNotify = 7007,
    CmdMonopolyMoveCsReq = 7052,
    CmdMonopolyGuessBuyInformationCsReq = 7006,
    CmdMonopolyGetRafflePoolInfoCsReq = 7044,
    CmdMonopolyConfirmRandomScRsp = 7033,
    CmdMonopolyGuessBuyInformationScRsp = 7045,
    CmdMonopolySocialEventEffectScNotify = 7094,
    CmdMonopolyRollDiceCsReq = 7048,
    CmdMonopolyGameRaiseRatioScRsp = 7084,
    CmdMonopolyActionResultScNotify = 7031,
    CmdMonopolyBuyGoodsCsReq = 7042,
    CmdMonopolyMoveScRsp = 7022,
    CmdMonopolyEventLoadUpdateScNotify = 7096,
    CmdMonopolyClickCellCsReq = 7055,
    CmdMonopolyConfirmRandomCsReq = 7043,
    CmdMonopolyGuessChooseScRsp = 7064,
    CmdMonopolyGiveUpCurContentScRsp = 7063,
    CmdMonopolyTakeRaffleTicketRewardCsReq = 7010,
    CmdMonopolyGetDailyInitItemScRsp = 7019,
    CmdGetSocialEventServerCacheScRsp = 7074,
    CmdMonopolyGameSettleScNotify = 7037,
    CmdMonopolyGiveUpCurContentCsReq = 7029,
    CmdGetMonopolyFriendRankingListCsReq = 7099,
    CmdMonopolyGetRegionProgressCsReq = 7004,
    CmdMonopolyGameGachaScRsp = 7075,
    CmdMonopolyConditionUpdateScNotify = 7089,
    CmdMonopolyLikeCsReq = 7008,
    CmdMonopolyUpgradeAssetScRsp = 7021,
    CmdMonopolyContentUpdateScNotify = 7025,
    CmdMonopolyGetDailyInitItemCsReq = 7050,
    CmdMonopolyLikeScRsp = 7035,
    CmdMonopolyAcceptQuizCsReq = 7024,
    CmdMonopolyLikeScNotify = 7034,
    CmdMonopolyReRollRandomCsReq = 7002,
    CmdMonopolyUpgradeAssetCsReq = 7058,
    CmdMonopolyClickCellScRsp = 7080,
    CmdMonopolyTakePhaseRewardCsReq = 7073,
    CmdMonopolyGameRaiseRatioCsReq = 7014,
    CmdGetMbtiReportCsReq = 7068,
    CmdMonopolyGuessChooseCsReq = 7098,
    CmdMonopolyCheatDiceCsReq = 7011,
    CmdGetMonopolyInfoScRsp = 7032,
    CmdMonopolyDailySettleScNotify = 7054,
    CmdMonopolyGetRaffleTicketCsReq = 7049,
    CmdMonopolyReRollRandomScRsp = 7039,
    CmdGetSocialEventServerCacheCsReq = 7027,
    CmdGetMonopolyDailyReportCsReq = 7028,
    CmdMonopolyGetRafflePoolInfoScRsp = 7026,
    CmdDeleteSocialEventServerCacheCsReq = 7090,
    CmdDeleteSocialEventServerCacheScRsp = 7017,
    CmdMonopolyCheatDiceScRsp = 7093,
    CmdMonopolyClickMbtiReportCsReq = 7088,
    CmdGetMonopolyMbtiReportRewardCsReq = 7041,
    CmdMonopolySttUpdateScNotify = 7012,
    CmdMonopolyEventSelectFriendScRsp = 7036,
    CmdDailyFirstEnterMonopolyActivityCsReq = 7016,
    CmdMonopolyScrachRaffleTicketCsReq = 7079,
    CmdMonopolyGameGachaCsReq = 7030,
    CmdGetMonopolyMbtiReportRewardScRsp = 7062,
    CmdDailyFirstEnterMonopolyActivityScRsp = 7046,
    CmdMonopolyGuessDrawScNotify = 7013,
    CmdMonopolyTakePhaseRewardScRsp = 7067,
    CmdMonopolyRollRandomCsReq = 7083,
    CmdMonopolyGameBingoFlipCardCsReq = 7051,
    CmdMonopolyGetRaffleTicketScRsp = 7003,
    CmdMonopolyRollDiceScRsp = 7071,
    CmdMonopolyEventSelectFriendCsReq = 7053,
    CmdMonopolyRollRandomScRsp = 7060,
    CmdGetMonopolyInfoCsReq = 7095,
    CmdMonopolyQuizDurationChangeScNotify = 7078,
    CmdMonopolySelectOptionCsReq = 7056,
}
impl CmdMonopolyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMonopolyTypeNone",
            Self::CmdMonopolySelectOptionScRsp => "CmdMonopolySelectOptionScRsp",
            Self::CmdMonopolyScrachRaffleTicketScRsp => {
                "CmdMonopolyScrachRaffleTicketScRsp"
            }
            Self::CmdMonopolyCellUpdateNotify => "CmdMonopolyCellUpdateNotify",
            Self::CmdMonopolyBuyGoodsScRsp => "CmdMonopolyBuyGoodsScRsp",
            Self::CmdMonopolyClickMbtiReportScRsp => "CmdMonopolyClickMbtiReportScRsp",
            Self::CmdMonopolyTakeRaffleTicketRewardScRsp => {
                "CmdMonopolyTakeRaffleTicketRewardScRsp"
            }
            Self::CmdGetMbtiReportScRsp => "CmdGetMbtiReportScRsp",
            Self::CmdMonopolyAcceptQuizScRsp => "CmdMonopolyAcceptQuizScRsp",
            Self::CmdMonopolyGameBingoFlipCardScRsp => {
                "CmdMonopolyGameBingoFlipCardScRsp"
            }
            Self::CmdMonopolyGetRegionProgressScRsp => {
                "CmdMonopolyGetRegionProgressScRsp"
            }
            Self::CmdGetMonopolyFriendRankingListScRsp => {
                "CmdGetMonopolyFriendRankingListScRsp"
            }
            Self::CmdGetMonopolyDailyReportScRsp => "CmdGetMonopolyDailyReportScRsp",
            Self::CmdMonopolyGameCreateScNotify => "CmdMonopolyGameCreateScNotify",
            Self::CmdMonopolyMoveCsReq => "CmdMonopolyMoveCsReq",
            Self::CmdMonopolyGuessBuyInformationCsReq => {
                "CmdMonopolyGuessBuyInformationCsReq"
            }
            Self::CmdMonopolyGetRafflePoolInfoCsReq => {
                "CmdMonopolyGetRafflePoolInfoCsReq"
            }
            Self::CmdMonopolyConfirmRandomScRsp => "CmdMonopolyConfirmRandomScRsp",
            Self::CmdMonopolyGuessBuyInformationScRsp => {
                "CmdMonopolyGuessBuyInformationScRsp"
            }
            Self::CmdMonopolySocialEventEffectScNotify => {
                "CmdMonopolySocialEventEffectScNotify"
            }
            Self::CmdMonopolyRollDiceCsReq => "CmdMonopolyRollDiceCsReq",
            Self::CmdMonopolyGameRaiseRatioScRsp => "CmdMonopolyGameRaiseRatioScRsp",
            Self::CmdMonopolyActionResultScNotify => "CmdMonopolyActionResultScNotify",
            Self::CmdMonopolyBuyGoodsCsReq => "CmdMonopolyBuyGoodsCsReq",
            Self::CmdMonopolyMoveScRsp => "CmdMonopolyMoveScRsp",
            Self::CmdMonopolyEventLoadUpdateScNotify => {
                "CmdMonopolyEventLoadUpdateScNotify"
            }
            Self::CmdMonopolyClickCellCsReq => "CmdMonopolyClickCellCsReq",
            Self::CmdMonopolyConfirmRandomCsReq => "CmdMonopolyConfirmRandomCsReq",
            Self::CmdMonopolyGuessChooseScRsp => "CmdMonopolyGuessChooseScRsp",
            Self::CmdMonopolyGiveUpCurContentScRsp => "CmdMonopolyGiveUpCurContentScRsp",
            Self::CmdMonopolyTakeRaffleTicketRewardCsReq => {
                "CmdMonopolyTakeRaffleTicketRewardCsReq"
            }
            Self::CmdMonopolyGetDailyInitItemScRsp => "CmdMonopolyGetDailyInitItemScRsp",
            Self::CmdGetSocialEventServerCacheScRsp => {
                "CmdGetSocialEventServerCacheScRsp"
            }
            Self::CmdMonopolyGameSettleScNotify => "CmdMonopolyGameSettleScNotify",
            Self::CmdMonopolyGiveUpCurContentCsReq => "CmdMonopolyGiveUpCurContentCsReq",
            Self::CmdGetMonopolyFriendRankingListCsReq => {
                "CmdGetMonopolyFriendRankingListCsReq"
            }
            Self::CmdMonopolyGetRegionProgressCsReq => {
                "CmdMonopolyGetRegionProgressCsReq"
            }
            Self::CmdMonopolyGameGachaScRsp => "CmdMonopolyGameGachaScRsp",
            Self::CmdMonopolyConditionUpdateScNotify => {
                "CmdMonopolyConditionUpdateScNotify"
            }
            Self::CmdMonopolyLikeCsReq => "CmdMonopolyLikeCsReq",
            Self::CmdMonopolyUpgradeAssetScRsp => "CmdMonopolyUpgradeAssetScRsp",
            Self::CmdMonopolyContentUpdateScNotify => "CmdMonopolyContentUpdateScNotify",
            Self::CmdMonopolyGetDailyInitItemCsReq => "CmdMonopolyGetDailyInitItemCsReq",
            Self::CmdMonopolyLikeScRsp => "CmdMonopolyLikeScRsp",
            Self::CmdMonopolyAcceptQuizCsReq => "CmdMonopolyAcceptQuizCsReq",
            Self::CmdMonopolyLikeScNotify => "CmdMonopolyLikeScNotify",
            Self::CmdMonopolyReRollRandomCsReq => "CmdMonopolyReRollRandomCsReq",
            Self::CmdMonopolyUpgradeAssetCsReq => "CmdMonopolyUpgradeAssetCsReq",
            Self::CmdMonopolyClickCellScRsp => "CmdMonopolyClickCellScRsp",
            Self::CmdMonopolyTakePhaseRewardCsReq => "CmdMonopolyTakePhaseRewardCsReq",
            Self::CmdMonopolyGameRaiseRatioCsReq => "CmdMonopolyGameRaiseRatioCsReq",
            Self::CmdGetMbtiReportCsReq => "CmdGetMbtiReportCsReq",
            Self::CmdMonopolyGuessChooseCsReq => "CmdMonopolyGuessChooseCsReq",
            Self::CmdMonopolyCheatDiceCsReq => "CmdMonopolyCheatDiceCsReq",
            Self::CmdGetMonopolyInfoScRsp => "CmdGetMonopolyInfoScRsp",
            Self::CmdMonopolyDailySettleScNotify => "CmdMonopolyDailySettleScNotify",
            Self::CmdMonopolyGetRaffleTicketCsReq => "CmdMonopolyGetRaffleTicketCsReq",
            Self::CmdMonopolyReRollRandomScRsp => "CmdMonopolyReRollRandomScRsp",
            Self::CmdGetSocialEventServerCacheCsReq => {
                "CmdGetSocialEventServerCacheCsReq"
            }
            Self::CmdGetMonopolyDailyReportCsReq => "CmdGetMonopolyDailyReportCsReq",
            Self::CmdMonopolyGetRafflePoolInfoScRsp => {
                "CmdMonopolyGetRafflePoolInfoScRsp"
            }
            Self::CmdDeleteSocialEventServerCacheCsReq => {
                "CmdDeleteSocialEventServerCacheCsReq"
            }
            Self::CmdDeleteSocialEventServerCacheScRsp => {
                "CmdDeleteSocialEventServerCacheScRsp"
            }
            Self::CmdMonopolyCheatDiceScRsp => "CmdMonopolyCheatDiceScRsp",
            Self::CmdMonopolyClickMbtiReportCsReq => "CmdMonopolyClickMbtiReportCsReq",
            Self::CmdGetMonopolyMbtiReportRewardCsReq => {
                "CmdGetMonopolyMbtiReportRewardCsReq"
            }
            Self::CmdMonopolySttUpdateScNotify => "CmdMonopolySttUpdateScNotify",
            Self::CmdMonopolyEventSelectFriendScRsp => {
                "CmdMonopolyEventSelectFriendScRsp"
            }
            Self::CmdDailyFirstEnterMonopolyActivityCsReq => {
                "CmdDailyFirstEnterMonopolyActivityCsReq"
            }
            Self::CmdMonopolyScrachRaffleTicketCsReq => {
                "CmdMonopolyScrachRaffleTicketCsReq"
            }
            Self::CmdMonopolyGameGachaCsReq => "CmdMonopolyGameGachaCsReq",
            Self::CmdGetMonopolyMbtiReportRewardScRsp => {
                "CmdGetMonopolyMbtiReportRewardScRsp"
            }
            Self::CmdDailyFirstEnterMonopolyActivityScRsp => {
                "CmdDailyFirstEnterMonopolyActivityScRsp"
            }
            Self::CmdMonopolyGuessDrawScNotify => "CmdMonopolyGuessDrawScNotify",
            Self::CmdMonopolyTakePhaseRewardScRsp => "CmdMonopolyTakePhaseRewardScRsp",
            Self::CmdMonopolyRollRandomCsReq => "CmdMonopolyRollRandomCsReq",
            Self::CmdMonopolyGameBingoFlipCardCsReq => {
                "CmdMonopolyGameBingoFlipCardCsReq"
            }
            Self::CmdMonopolyGetRaffleTicketScRsp => "CmdMonopolyGetRaffleTicketScRsp",
            Self::CmdMonopolyRollDiceScRsp => "CmdMonopolyRollDiceScRsp",
            Self::CmdMonopolyEventSelectFriendCsReq => {
                "CmdMonopolyEventSelectFriendCsReq"
            }
            Self::CmdMonopolyRollRandomScRsp => "CmdMonopolyRollRandomScRsp",
            Self::CmdGetMonopolyInfoCsReq => "CmdGetMonopolyInfoCsReq",
            Self::CmdMonopolyQuizDurationChangeScNotify => {
                "CmdMonopolyQuizDurationChangeScNotify"
            }
            Self::CmdMonopolySelectOptionCsReq => "CmdMonopolySelectOptionCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMonopolyTypeNone" => Some(Self::None),
            "CmdMonopolySelectOptionScRsp" => Some(Self::CmdMonopolySelectOptionScRsp),
            "CmdMonopolyScrachRaffleTicketScRsp" => {
                Some(Self::CmdMonopolyScrachRaffleTicketScRsp)
            }
            "CmdMonopolyCellUpdateNotify" => Some(Self::CmdMonopolyCellUpdateNotify),
            "CmdMonopolyBuyGoodsScRsp" => Some(Self::CmdMonopolyBuyGoodsScRsp),
            "CmdMonopolyClickMbtiReportScRsp" => {
                Some(Self::CmdMonopolyClickMbtiReportScRsp)
            }
            "CmdMonopolyTakeRaffleTicketRewardScRsp" => {
                Some(Self::CmdMonopolyTakeRaffleTicketRewardScRsp)
            }
            "CmdGetMbtiReportScRsp" => Some(Self::CmdGetMbtiReportScRsp),
            "CmdMonopolyAcceptQuizScRsp" => Some(Self::CmdMonopolyAcceptQuizScRsp),
            "CmdMonopolyGameBingoFlipCardScRsp" => {
                Some(Self::CmdMonopolyGameBingoFlipCardScRsp)
            }
            "CmdMonopolyGetRegionProgressScRsp" => {
                Some(Self::CmdMonopolyGetRegionProgressScRsp)
            }
            "CmdGetMonopolyFriendRankingListScRsp" => {
                Some(Self::CmdGetMonopolyFriendRankingListScRsp)
            }
            "CmdGetMonopolyDailyReportScRsp" => {
                Some(Self::CmdGetMonopolyDailyReportScRsp)
            }
            "CmdMonopolyGameCreateScNotify" => Some(Self::CmdMonopolyGameCreateScNotify),
            "CmdMonopolyMoveCsReq" => Some(Self::CmdMonopolyMoveCsReq),
            "CmdMonopolyGuessBuyInformationCsReq" => {
                Some(Self::CmdMonopolyGuessBuyInformationCsReq)
            }
            "CmdMonopolyGetRafflePoolInfoCsReq" => {
                Some(Self::CmdMonopolyGetRafflePoolInfoCsReq)
            }
            "CmdMonopolyConfirmRandomScRsp" => Some(Self::CmdMonopolyConfirmRandomScRsp),
            "CmdMonopolyGuessBuyInformationScRsp" => {
                Some(Self::CmdMonopolyGuessBuyInformationScRsp)
            }
            "CmdMonopolySocialEventEffectScNotify" => {
                Some(Self::CmdMonopolySocialEventEffectScNotify)
            }
            "CmdMonopolyRollDiceCsReq" => Some(Self::CmdMonopolyRollDiceCsReq),
            "CmdMonopolyGameRaiseRatioScRsp" => {
                Some(Self::CmdMonopolyGameRaiseRatioScRsp)
            }
            "CmdMonopolyActionResultScNotify" => {
                Some(Self::CmdMonopolyActionResultScNotify)
            }
            "CmdMonopolyBuyGoodsCsReq" => Some(Self::CmdMonopolyBuyGoodsCsReq),
            "CmdMonopolyMoveScRsp" => Some(Self::CmdMonopolyMoveScRsp),
            "CmdMonopolyEventLoadUpdateScNotify" => {
                Some(Self::CmdMonopolyEventLoadUpdateScNotify)
            }
            "CmdMonopolyClickCellCsReq" => Some(Self::CmdMonopolyClickCellCsReq),
            "CmdMonopolyConfirmRandomCsReq" => Some(Self::CmdMonopolyConfirmRandomCsReq),
            "CmdMonopolyGuessChooseScRsp" => Some(Self::CmdMonopolyGuessChooseScRsp),
            "CmdMonopolyGiveUpCurContentScRsp" => {
                Some(Self::CmdMonopolyGiveUpCurContentScRsp)
            }
            "CmdMonopolyTakeRaffleTicketRewardCsReq" => {
                Some(Self::CmdMonopolyTakeRaffleTicketRewardCsReq)
            }
            "CmdMonopolyGetDailyInitItemScRsp" => {
                Some(Self::CmdMonopolyGetDailyInitItemScRsp)
            }
            "CmdGetSocialEventServerCacheScRsp" => {
                Some(Self::CmdGetSocialEventServerCacheScRsp)
            }
            "CmdMonopolyGameSettleScNotify" => Some(Self::CmdMonopolyGameSettleScNotify),
            "CmdMonopolyGiveUpCurContentCsReq" => {
                Some(Self::CmdMonopolyGiveUpCurContentCsReq)
            }
            "CmdGetMonopolyFriendRankingListCsReq" => {
                Some(Self::CmdGetMonopolyFriendRankingListCsReq)
            }
            "CmdMonopolyGetRegionProgressCsReq" => {
                Some(Self::CmdMonopolyGetRegionProgressCsReq)
            }
            "CmdMonopolyGameGachaScRsp" => Some(Self::CmdMonopolyGameGachaScRsp),
            "CmdMonopolyConditionUpdateScNotify" => {
                Some(Self::CmdMonopolyConditionUpdateScNotify)
            }
            "CmdMonopolyLikeCsReq" => Some(Self::CmdMonopolyLikeCsReq),
            "CmdMonopolyUpgradeAssetScRsp" => Some(Self::CmdMonopolyUpgradeAssetScRsp),
            "CmdMonopolyContentUpdateScNotify" => {
                Some(Self::CmdMonopolyContentUpdateScNotify)
            }
            "CmdMonopolyGetDailyInitItemCsReq" => {
                Some(Self::CmdMonopolyGetDailyInitItemCsReq)
            }
            "CmdMonopolyLikeScRsp" => Some(Self::CmdMonopolyLikeScRsp),
            "CmdMonopolyAcceptQuizCsReq" => Some(Self::CmdMonopolyAcceptQuizCsReq),
            "CmdMonopolyLikeScNotify" => Some(Self::CmdMonopolyLikeScNotify),
            "CmdMonopolyReRollRandomCsReq" => Some(Self::CmdMonopolyReRollRandomCsReq),
            "CmdMonopolyUpgradeAssetCsReq" => Some(Self::CmdMonopolyUpgradeAssetCsReq),
            "CmdMonopolyClickCellScRsp" => Some(Self::CmdMonopolyClickCellScRsp),
            "CmdMonopolyTakePhaseRewardCsReq" => {
                Some(Self::CmdMonopolyTakePhaseRewardCsReq)
            }
            "CmdMonopolyGameRaiseRatioCsReq" => {
                Some(Self::CmdMonopolyGameRaiseRatioCsReq)
            }
            "CmdGetMbtiReportCsReq" => Some(Self::CmdGetMbtiReportCsReq),
            "CmdMonopolyGuessChooseCsReq" => Some(Self::CmdMonopolyGuessChooseCsReq),
            "CmdMonopolyCheatDiceCsReq" => Some(Self::CmdMonopolyCheatDiceCsReq),
            "CmdGetMonopolyInfoScRsp" => Some(Self::CmdGetMonopolyInfoScRsp),
            "CmdMonopolyDailySettleScNotify" => {
                Some(Self::CmdMonopolyDailySettleScNotify)
            }
            "CmdMonopolyGetRaffleTicketCsReq" => {
                Some(Self::CmdMonopolyGetRaffleTicketCsReq)
            }
            "CmdMonopolyReRollRandomScRsp" => Some(Self::CmdMonopolyReRollRandomScRsp),
            "CmdGetSocialEventServerCacheCsReq" => {
                Some(Self::CmdGetSocialEventServerCacheCsReq)
            }
            "CmdGetMonopolyDailyReportCsReq" => {
                Some(Self::CmdGetMonopolyDailyReportCsReq)
            }
            "CmdMonopolyGetRafflePoolInfoScRsp" => {
                Some(Self::CmdMonopolyGetRafflePoolInfoScRsp)
            }
            "CmdDeleteSocialEventServerCacheCsReq" => {
                Some(Self::CmdDeleteSocialEventServerCacheCsReq)
            }
            "CmdDeleteSocialEventServerCacheScRsp" => {
                Some(Self::CmdDeleteSocialEventServerCacheScRsp)
            }
            "CmdMonopolyCheatDiceScRsp" => Some(Self::CmdMonopolyCheatDiceScRsp),
            "CmdMonopolyClickMbtiReportCsReq" => {
                Some(Self::CmdMonopolyClickMbtiReportCsReq)
            }
            "CmdGetMonopolyMbtiReportRewardCsReq" => {
                Some(Self::CmdGetMonopolyMbtiReportRewardCsReq)
            }
            "CmdMonopolySttUpdateScNotify" => Some(Self::CmdMonopolySttUpdateScNotify),
            "CmdMonopolyEventSelectFriendScRsp" => {
                Some(Self::CmdMonopolyEventSelectFriendScRsp)
            }
            "CmdDailyFirstEnterMonopolyActivityCsReq" => {
                Some(Self::CmdDailyFirstEnterMonopolyActivityCsReq)
            }
            "CmdMonopolyScrachRaffleTicketCsReq" => {
                Some(Self::CmdMonopolyScrachRaffleTicketCsReq)
            }
            "CmdMonopolyGameGachaCsReq" => Some(Self::CmdMonopolyGameGachaCsReq),
            "CmdGetMonopolyMbtiReportRewardScRsp" => {
                Some(Self::CmdGetMonopolyMbtiReportRewardScRsp)
            }
            "CmdDailyFirstEnterMonopolyActivityScRsp" => {
                Some(Self::CmdDailyFirstEnterMonopolyActivityScRsp)
            }
            "CmdMonopolyGuessDrawScNotify" => Some(Self::CmdMonopolyGuessDrawScNotify),
            "CmdMonopolyTakePhaseRewardScRsp" => {
                Some(Self::CmdMonopolyTakePhaseRewardScRsp)
            }
            "CmdMonopolyRollRandomCsReq" => Some(Self::CmdMonopolyRollRandomCsReq),
            "CmdMonopolyGameBingoFlipCardCsReq" => {
                Some(Self::CmdMonopolyGameBingoFlipCardCsReq)
            }
            "CmdMonopolyGetRaffleTicketScRsp" => {
                Some(Self::CmdMonopolyGetRaffleTicketScRsp)
            }
            "CmdMonopolyRollDiceScRsp" => Some(Self::CmdMonopolyRollDiceScRsp),
            "CmdMonopolyEventSelectFriendCsReq" => {
                Some(Self::CmdMonopolyEventSelectFriendCsReq)
            }
            "CmdMonopolyRollRandomScRsp" => Some(Self::CmdMonopolyRollRandomScRsp),
            "CmdGetMonopolyInfoCsReq" => Some(Self::CmdGetMonopolyInfoCsReq),
            "CmdMonopolyQuizDurationChangeScNotify" => {
                Some(Self::CmdMonopolyQuizDurationChangeScNotify)
            }
            "CmdMonopolySelectOptionCsReq" => Some(Self::CmdMonopolySelectOptionCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gojoindbkik {
    MonopolySocialEventStatusNone = 0,
    MonopolySocialEventStatusWaitingSelectFriend = 1,
}
impl Gojoindbkik {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MonopolySocialEventStatusNone => "MONOPOLY_SOCIAL_EVENT_STATUS_NONE",
            Self::MonopolySocialEventStatusWaitingSelectFriend => {
                "MONOPOLY_SOCIAL_EVENT_STATUS_WAITING_SELECT_FRIEND"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MONOPOLY_SOCIAL_EVENT_STATUS_NONE" => {
                Some(Self::MonopolySocialEventStatusNone)
            }
            "MONOPOLY_SOCIAL_EVENT_STATUS_WAITING_SELECT_FRIEND" => {
                Some(Self::MonopolySocialEventStatusWaitingSelectFriend)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ihgjllngdkl {
    MonopolyCellStateIdle = 0,
    MonopolyCellStateBarrier = 1,
    MonopolyCellStateGround = 2,
    MonopolyCellStateFinish = 3,
}
impl Ihgjllngdkl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MonopolyCellStateIdle => "MONOPOLY_CELL_STATE_IDLE",
            Self::MonopolyCellStateBarrier => "MONOPOLY_CELL_STATE_BARRIER",
            Self::MonopolyCellStateGround => "MONOPOLY_CELL_STATE_GROUND",
            Self::MonopolyCellStateFinish => "MONOPOLY_CELL_STATE_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MONOPOLY_CELL_STATE_IDLE" => Some(Self::MonopolyCellStateIdle),
            "MONOPOLY_CELL_STATE_BARRIER" => Some(Self::MonopolyCellStateBarrier),
            "MONOPOLY_CELL_STATE_GROUND" => Some(Self::MonopolyCellStateGround),
            "MONOPOLY_CELL_STATE_FINISH" => Some(Self::MonopolyCellStateFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gkejfkakenm {
    MonopolyActionResultSourceTypeNone = 0,
    MonopolyActionResultSourceTypeEffect = 1,
    MonopolyActionResultSourceTypeAssetBonus = 2,
    MonopolyActionResultSourceTypeAssetTax = 3,
    MonopolyActionResultSourceTypeAssetUpgrade = 4,
    MonopolyActionResultSourceTypeGameSettle = 5,
    MonopolyActionResultSourceTypeBuyGoods = 6,
    MonopolyActionResultSourceTypeClick = 7,
    MonopolyActionResultSourceTypeSocialEvent = 8,
    MonopolyActionResultSourceTypeLike = 9,
    MonopolyActionResultSourceTypeQuizGameSettle = 10,
}
impl Gkejfkakenm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MonopolyActionResultSourceTypeNone => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_NONE"
            }
            Self::MonopolyActionResultSourceTypeEffect => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_EFFECT"
            }
            Self::MonopolyActionResultSourceTypeAssetBonus => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_BONUS"
            }
            Self::MonopolyActionResultSourceTypeAssetTax => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_TAX"
            }
            Self::MonopolyActionResultSourceTypeAssetUpgrade => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_UPGRADE"
            }
            Self::MonopolyActionResultSourceTypeGameSettle => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_GAME_SETTLE"
            }
            Self::MonopolyActionResultSourceTypeBuyGoods => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_BUY_GOODS"
            }
            Self::MonopolyActionResultSourceTypeClick => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_CLICK"
            }
            Self::MonopolyActionResultSourceTypeSocialEvent => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_SOCIAL_EVENT"
            }
            Self::MonopolyActionResultSourceTypeLike => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_LIKE"
            }
            Self::MonopolyActionResultSourceTypeQuizGameSettle => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_QUIZ_GAME_SETTLE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_NONE" => {
                Some(Self::MonopolyActionResultSourceTypeNone)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_EFFECT" => {
                Some(Self::MonopolyActionResultSourceTypeEffect)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_BONUS" => {
                Some(Self::MonopolyActionResultSourceTypeAssetBonus)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_TAX" => {
                Some(Self::MonopolyActionResultSourceTypeAssetTax)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_UPGRADE" => {
                Some(Self::MonopolyActionResultSourceTypeAssetUpgrade)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_GAME_SETTLE" => {
                Some(Self::MonopolyActionResultSourceTypeGameSettle)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_BUY_GOODS" => {
                Some(Self::MonopolyActionResultSourceTypeBuyGoods)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_CLICK" => {
                Some(Self::MonopolyActionResultSourceTypeClick)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_SOCIAL_EVENT" => {
                Some(Self::MonopolyActionResultSourceTypeSocialEvent)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_LIKE" => {
                Some(Self::MonopolyActionResultSourceTypeLike)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_QUIZ_GAME_SETTLE" => {
                Some(Self::MonopolyActionResultSourceTypeQuizGameSettle)
            }
            _ => None,
        }
    }
}
/// Obf: GGJAIBFOBCD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMultiplayerType {
    None = 0,
    CmdMultiplayerFightGameStateCsReq = 1095,
    CmdMultiplayerMatch3FinishScNotify = 1022,
    CmdMultiplayerGetFightGateCsReq = 1031,
    CmdMultiplayerFightGameStartScNotify = 1071,
    CmdMultiplayerFightGameStateScRsp = 1032,
    CmdMultiplayerFightGiveUpCsReq = 1076,
    CmdMultiplayerGetFightGateScRsp = 1040,
    CmdMultiplayerFightGiveUpScRsp = 1048,
    CmdMultiplayerFightGameFinishScNotify = 1052,
}
impl CmdMultiplayerType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMultiplayerTypeNone",
            Self::CmdMultiplayerFightGameStateCsReq => {
                "CmdMultiplayerFightGameStateCsReq"
            }
            Self::CmdMultiplayerMatch3FinishScNotify => {
                "CmdMultiplayerMatch3FinishScNotify"
            }
            Self::CmdMultiplayerGetFightGateCsReq => "CmdMultiplayerGetFightGateCsReq",
            Self::CmdMultiplayerFightGameStartScNotify => {
                "CmdMultiplayerFightGameStartScNotify"
            }
            Self::CmdMultiplayerFightGameStateScRsp => {
                "CmdMultiplayerFightGameStateScRsp"
            }
            Self::CmdMultiplayerFightGiveUpCsReq => "CmdMultiplayerFightGiveUpCsReq",
            Self::CmdMultiplayerGetFightGateScRsp => "CmdMultiplayerGetFightGateScRsp",
            Self::CmdMultiplayerFightGiveUpScRsp => "CmdMultiplayerFightGiveUpScRsp",
            Self::CmdMultiplayerFightGameFinishScNotify => {
                "CmdMultiplayerFightGameFinishScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMultiplayerTypeNone" => Some(Self::None),
            "CmdMultiplayerFightGameStateCsReq" => {
                Some(Self::CmdMultiplayerFightGameStateCsReq)
            }
            "CmdMultiplayerMatch3FinishScNotify" => {
                Some(Self::CmdMultiplayerMatch3FinishScNotify)
            }
            "CmdMultiplayerGetFightGateCsReq" => {
                Some(Self::CmdMultiplayerGetFightGateCsReq)
            }
            "CmdMultiplayerFightGameStartScNotify" => {
                Some(Self::CmdMultiplayerFightGameStartScNotify)
            }
            "CmdMultiplayerFightGameStateScRsp" => {
                Some(Self::CmdMultiplayerFightGameStateScRsp)
            }
            "CmdMultiplayerFightGiveUpCsReq" => {
                Some(Self::CmdMultiplayerFightGiveUpCsReq)
            }
            "CmdMultiplayerGetFightGateScRsp" => {
                Some(Self::CmdMultiplayerGetFightGateScRsp)
            }
            "CmdMultiplayerFightGiveUpScRsp" => {
                Some(Self::CmdMultiplayerFightGiveUpScRsp)
            }
            "CmdMultiplayerFightGameFinishScNotify" => {
                Some(Self::CmdMultiplayerFightGameFinishScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: LAJPOLACPBI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMultipleDropType {
    None = 0,
    CmdMultipleDropInfoScNotify = 4631,
    CmdGetMultipleDropInfoScRsp = 4632,
    CmdGetPlayerReturnMultiDropInfoScRsp = 4676,
    CmdMultipleDropInfoNotify = 4648,
    CmdGetPlayerReturnMultiDropInfoCsReq = 4640,
    CmdGetMultipleDropInfoCsReq = 4695,
}
impl CmdMultipleDropType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMultipleDropTypeNone",
            Self::CmdMultipleDropInfoScNotify => "CmdMultipleDropInfoScNotify",
            Self::CmdGetMultipleDropInfoScRsp => "CmdGetMultipleDropInfoScRsp",
            Self::CmdGetPlayerReturnMultiDropInfoScRsp => {
                "CmdGetPlayerReturnMultiDropInfoScRsp"
            }
            Self::CmdMultipleDropInfoNotify => "CmdMultipleDropInfoNotify",
            Self::CmdGetPlayerReturnMultiDropInfoCsReq => {
                "CmdGetPlayerReturnMultiDropInfoCsReq"
            }
            Self::CmdGetMultipleDropInfoCsReq => "CmdGetMultipleDropInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMultipleDropTypeNone" => Some(Self::None),
            "CmdMultipleDropInfoScNotify" => Some(Self::CmdMultipleDropInfoScNotify),
            "CmdGetMultipleDropInfoScRsp" => Some(Self::CmdGetMultipleDropInfoScRsp),
            "CmdGetPlayerReturnMultiDropInfoScRsp" => {
                Some(Self::CmdGetPlayerReturnMultiDropInfoScRsp)
            }
            "CmdMultipleDropInfoNotify" => Some(Self::CmdMultipleDropInfoNotify),
            "CmdGetPlayerReturnMultiDropInfoCsReq" => {
                Some(Self::CmdGetPlayerReturnMultiDropInfoCsReq)
            }
            "CmdGetMultipleDropInfoCsReq" => Some(Self::CmdGetMultipleDropInfoCsReq),
            _ => None,
        }
    }
}
/// Obf: FBGHFPEFFGL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMuseumType {
    None = 0,
    CmdMuseumFundsChangedScNotify = 4339,
    CmdMuseumTargetRewardNotify = 4311,
    CmdMuseumTargetStartNotify = 4329,
    CmdMuseumDispatchFinishedScNotify = 4321,
    CmdGetStuffScNotify = 4322,
    CmdRemoveStuffFromAreaScRsp = 4352,
    CmdMuseumTargetMissionFinishNotify = 4363,
    CmdFinishCurTurnCsReq = 4372,
    CmdRemoveStuffFromAreaCsReq = 4371,
    CmdMuseumInfoChangedScNotify = 4302,
    CmdMuseumRandomEventQueryCsReq = 4333,
    CmdMuseumRandomEventSelectCsReq = 4377,
    CmdMuseumTakeCollectRewardScRsp = 4325,
    CmdBuyNpcStuffCsReq = 4331,
    CmdGetMuseumInfoCsReq = 4395,
    CmdMuseumRandomEventSelectScRsp = 4358,
    CmdSetStuffToAreaScRsp = 4348,
    CmdUpgradeAreaScRsp = 4346,
    CmdUpgradeAreaCsReq = 4316,
    CmdGetExhibitScNotify = 4356,
    CmdMuseumTakeCollectRewardCsReq = 4393,
    CmdUpgradeAreaStatCsReq = 4383,
    CmdUpgradeAreaStatScRsp = 4360,
    CmdSetStuffToAreaCsReq = 4376,
    CmdMuseumRandomEventQueryScRsp = 4342,
    CmdGetMuseumInfoScRsp = 4332,
    CmdMuseumRandomEventStartScNotify = 4343,
    CmdBuyNpcStuffScRsp = 4340,
    CmdFinishCurTurnScRsp = 4385,
}
impl CmdMuseumType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMuseumTypeNone",
            Self::CmdMuseumFundsChangedScNotify => "CmdMuseumFundsChangedScNotify",
            Self::CmdMuseumTargetRewardNotify => "CmdMuseumTargetRewardNotify",
            Self::CmdMuseumTargetStartNotify => "CmdMuseumTargetStartNotify",
            Self::CmdMuseumDispatchFinishedScNotify => {
                "CmdMuseumDispatchFinishedScNotify"
            }
            Self::CmdGetStuffScNotify => "CmdGetStuffScNotify",
            Self::CmdRemoveStuffFromAreaScRsp => "CmdRemoveStuffFromAreaScRsp",
            Self::CmdMuseumTargetMissionFinishNotify => {
                "CmdMuseumTargetMissionFinishNotify"
            }
            Self::CmdFinishCurTurnCsReq => "CmdFinishCurTurnCsReq",
            Self::CmdRemoveStuffFromAreaCsReq => "CmdRemoveStuffFromAreaCsReq",
            Self::CmdMuseumInfoChangedScNotify => "CmdMuseumInfoChangedScNotify",
            Self::CmdMuseumRandomEventQueryCsReq => "CmdMuseumRandomEventQueryCsReq",
            Self::CmdMuseumRandomEventSelectCsReq => "CmdMuseumRandomEventSelectCsReq",
            Self::CmdMuseumTakeCollectRewardScRsp => "CmdMuseumTakeCollectRewardScRsp",
            Self::CmdBuyNpcStuffCsReq => "CmdBuyNpcStuffCsReq",
            Self::CmdGetMuseumInfoCsReq => "CmdGetMuseumInfoCsReq",
            Self::CmdMuseumRandomEventSelectScRsp => "CmdMuseumRandomEventSelectScRsp",
            Self::CmdSetStuffToAreaScRsp => "CmdSetStuffToAreaScRsp",
            Self::CmdUpgradeAreaScRsp => "CmdUpgradeAreaScRsp",
            Self::CmdUpgradeAreaCsReq => "CmdUpgradeAreaCsReq",
            Self::CmdGetExhibitScNotify => "CmdGetExhibitScNotify",
            Self::CmdMuseumTakeCollectRewardCsReq => "CmdMuseumTakeCollectRewardCsReq",
            Self::CmdUpgradeAreaStatCsReq => "CmdUpgradeAreaStatCsReq",
            Self::CmdUpgradeAreaStatScRsp => "CmdUpgradeAreaStatScRsp",
            Self::CmdSetStuffToAreaCsReq => "CmdSetStuffToAreaCsReq",
            Self::CmdMuseumRandomEventQueryScRsp => "CmdMuseumRandomEventQueryScRsp",
            Self::CmdGetMuseumInfoScRsp => "CmdGetMuseumInfoScRsp",
            Self::CmdMuseumRandomEventStartScNotify => {
                "CmdMuseumRandomEventStartScNotify"
            }
            Self::CmdBuyNpcStuffScRsp => "CmdBuyNpcStuffScRsp",
            Self::CmdFinishCurTurnScRsp => "CmdFinishCurTurnScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMuseumTypeNone" => Some(Self::None),
            "CmdMuseumFundsChangedScNotify" => Some(Self::CmdMuseumFundsChangedScNotify),
            "CmdMuseumTargetRewardNotify" => Some(Self::CmdMuseumTargetRewardNotify),
            "CmdMuseumTargetStartNotify" => Some(Self::CmdMuseumTargetStartNotify),
            "CmdMuseumDispatchFinishedScNotify" => {
                Some(Self::CmdMuseumDispatchFinishedScNotify)
            }
            "CmdGetStuffScNotify" => Some(Self::CmdGetStuffScNotify),
            "CmdRemoveStuffFromAreaScRsp" => Some(Self::CmdRemoveStuffFromAreaScRsp),
            "CmdMuseumTargetMissionFinishNotify" => {
                Some(Self::CmdMuseumTargetMissionFinishNotify)
            }
            "CmdFinishCurTurnCsReq" => Some(Self::CmdFinishCurTurnCsReq),
            "CmdRemoveStuffFromAreaCsReq" => Some(Self::CmdRemoveStuffFromAreaCsReq),
            "CmdMuseumInfoChangedScNotify" => Some(Self::CmdMuseumInfoChangedScNotify),
            "CmdMuseumRandomEventQueryCsReq" => {
                Some(Self::CmdMuseumRandomEventQueryCsReq)
            }
            "CmdMuseumRandomEventSelectCsReq" => {
                Some(Self::CmdMuseumRandomEventSelectCsReq)
            }
            "CmdMuseumTakeCollectRewardScRsp" => {
                Some(Self::CmdMuseumTakeCollectRewardScRsp)
            }
            "CmdBuyNpcStuffCsReq" => Some(Self::CmdBuyNpcStuffCsReq),
            "CmdGetMuseumInfoCsReq" => Some(Self::CmdGetMuseumInfoCsReq),
            "CmdMuseumRandomEventSelectScRsp" => {
                Some(Self::CmdMuseumRandomEventSelectScRsp)
            }
            "CmdSetStuffToAreaScRsp" => Some(Self::CmdSetStuffToAreaScRsp),
            "CmdUpgradeAreaScRsp" => Some(Self::CmdUpgradeAreaScRsp),
            "CmdUpgradeAreaCsReq" => Some(Self::CmdUpgradeAreaCsReq),
            "CmdGetExhibitScNotify" => Some(Self::CmdGetExhibitScNotify),
            "CmdMuseumTakeCollectRewardCsReq" => {
                Some(Self::CmdMuseumTakeCollectRewardCsReq)
            }
            "CmdUpgradeAreaStatCsReq" => Some(Self::CmdUpgradeAreaStatCsReq),
            "CmdUpgradeAreaStatScRsp" => Some(Self::CmdUpgradeAreaStatScRsp),
            "CmdSetStuffToAreaCsReq" => Some(Self::CmdSetStuffToAreaCsReq),
            "CmdMuseumRandomEventQueryScRsp" => {
                Some(Self::CmdMuseumRandomEventQueryScRsp)
            }
            "CmdGetMuseumInfoScRsp" => Some(Self::CmdGetMuseumInfoScRsp),
            "CmdMuseumRandomEventStartScNotify" => {
                Some(Self::CmdMuseumRandomEventStartScNotify)
            }
            "CmdBuyNpcStuffScRsp" => Some(Self::CmdBuyNpcStuffScRsp),
            "CmdFinishCurTurnScRsp" => Some(Self::CmdFinishCurTurnScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aihadkbhpbm {
    MuseumRandomEventStateNone = 0,
    MuseumRandomEventStateStart = 1,
    MuseumRandomEventStateProcessing = 2,
    MuseumRandomEventStateFinish = 3,
}
impl Aihadkbhpbm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MuseumRandomEventStateNone => "MUSEUM_RANDOM_EVENT_STATE_NONE",
            Self::MuseumRandomEventStateStart => "MUSEUM_RANDOM_EVENT_STATE_START",
            Self::MuseumRandomEventStateProcessing => {
                "MUSEUM_RANDOM_EVENT_STATE_PROCESSING"
            }
            Self::MuseumRandomEventStateFinish => "MUSEUM_RANDOM_EVENT_STATE_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MUSEUM_RANDOM_EVENT_STATE_NONE" => Some(Self::MuseumRandomEventStateNone),
            "MUSEUM_RANDOM_EVENT_STATE_START" => Some(Self::MuseumRandomEventStateStart),
            "MUSEUM_RANDOM_EVENT_STATE_PROCESSING" => {
                Some(Self::MuseumRandomEventStateProcessing)
            }
            "MUSEUM_RANDOM_EVENT_STATE_FINISH" => {
                Some(Self::MuseumRandomEventStateFinish)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kamlglmnjgj {
    WorkPosNone = 0,
    WorkPos1 = 1,
    WorkPos2 = 2,
    WorkPos3 = 3,
}
impl Kamlglmnjgj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::WorkPosNone => "WORK_POS_NONE",
            Self::WorkPos1 => "WORK_POS_1",
            Self::WorkPos2 => "WORK_POS_2",
            Self::WorkPos3 => "WORK_POS_3",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "WORK_POS_NONE" => Some(Self::WorkPosNone),
            "WORK_POS_1" => Some(Self::WorkPos1),
            "WORK_POS_2" => Some(Self::WorkPos2),
            "WORK_POS_3" => Some(Self::WorkPos3),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ibbgdgghejl {
    StatTypeNone = 0,
    StatTypeArt = 1,
    StatTypeCulture = 2,
    StatTypePopular = 3,
}
impl Ibbgdgghejl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::StatTypeNone => "STAT_TYPE_NONE",
            Self::StatTypeArt => "STAT_TYPE_ART",
            Self::StatTypeCulture => "STAT_TYPE_CULTURE",
            Self::StatTypePopular => "STAT_TYPE_POPULAR",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "STAT_TYPE_NONE" => Some(Self::StatTypeNone),
            "STAT_TYPE_ART" => Some(Self::StatTypeArt),
            "STAT_TYPE_CULTURE" => Some(Self::StatTypeCulture),
            "STAT_TYPE_POPULAR" => Some(Self::StatTypePopular),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kgjjjkpdcfg {
    Unknow = 0,
    MissionReward = 1,
    EventBuyStuff = 2,
    MarketBuyStuff = 3,
    QuestReward = 4,
    Initial = 5,
    PhaseFinishReward = 6,
}
impl Kgjjjkpdcfg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Unknow => "UNKNOW",
            Self::MissionReward => "MISSION_REWARD",
            Self::EventBuyStuff => "EVENT_BUY_STUFF",
            Self::MarketBuyStuff => "MARKET_BUY_STUFF",
            Self::QuestReward => "QUEST_REWARD",
            Self::Initial => "INITIAL",
            Self::PhaseFinishReward => "PHASE_FINISH_REWARD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "UNKNOW" => Some(Self::Unknow),
            "MISSION_REWARD" => Some(Self::MissionReward),
            "EVENT_BUY_STUFF" => Some(Self::EventBuyStuff),
            "MARKET_BUY_STUFF" => Some(Self::MarketBuyStuff),
            "QUEST_REWARD" => Some(Self::QuestReward),
            "INITIAL" => Some(Self::Initial),
            "PHASE_FINISH_REWARD" => Some(Self::PhaseFinishReward),
            _ => None,
        }
    }
}
/// Obf: FBGKFINCMIB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMusicRhythmType {
    None = 0,
    CmdMusicRhythmDataCsReq = 7573,
    CmdMusicRhythmStartLevelScRsp = 7589,
    CmdMusicRhythmDataScRsp = 7590,
    CmdMusicRhythmSaveSongConfigDataScRsp = 7600,
    CmdMusicRhythmFinishLevelCsReq = 7571,
    CmdMusicRhythmUnlockSongSfxScNotify = 7592,
    CmdMusicRhythmSaveSongConfigDataCsReq = 7588,
    CmdMusicRhythmUnlockTrackScNotify = 7577,
    CmdMusicRhythmStartLevelCsReq = 7596,
    CmdMusicRhythmUnlockSongNotify = 7581,
    CmdMusicRhythmMaxDifficultyLevelsUnlockNotify = 7579,
    CmdMusicRhythmFinishLevelScRsp = 7594,
}
impl CmdMusicRhythmType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdMusicRhythmTypeNone",
            Self::CmdMusicRhythmDataCsReq => "CmdMusicRhythmDataCsReq",
            Self::CmdMusicRhythmStartLevelScRsp => "CmdMusicRhythmStartLevelScRsp",
            Self::CmdMusicRhythmDataScRsp => "CmdMusicRhythmDataScRsp",
            Self::CmdMusicRhythmSaveSongConfigDataScRsp => {
                "CmdMusicRhythmSaveSongConfigDataScRsp"
            }
            Self::CmdMusicRhythmFinishLevelCsReq => "CmdMusicRhythmFinishLevelCsReq",
            Self::CmdMusicRhythmUnlockSongSfxScNotify => {
                "CmdMusicRhythmUnlockSongSfxScNotify"
            }
            Self::CmdMusicRhythmSaveSongConfigDataCsReq => {
                "CmdMusicRhythmSaveSongConfigDataCsReq"
            }
            Self::CmdMusicRhythmUnlockTrackScNotify => {
                "CmdMusicRhythmUnlockTrackScNotify"
            }
            Self::CmdMusicRhythmStartLevelCsReq => "CmdMusicRhythmStartLevelCsReq",
            Self::CmdMusicRhythmUnlockSongNotify => "CmdMusicRhythmUnlockSongNotify",
            Self::CmdMusicRhythmMaxDifficultyLevelsUnlockNotify => {
                "CmdMusicRhythmMaxDifficultyLevelsUnlockNotify"
            }
            Self::CmdMusicRhythmFinishLevelScRsp => "CmdMusicRhythmFinishLevelScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMusicRhythmTypeNone" => Some(Self::None),
            "CmdMusicRhythmDataCsReq" => Some(Self::CmdMusicRhythmDataCsReq),
            "CmdMusicRhythmStartLevelScRsp" => Some(Self::CmdMusicRhythmStartLevelScRsp),
            "CmdMusicRhythmDataScRsp" => Some(Self::CmdMusicRhythmDataScRsp),
            "CmdMusicRhythmSaveSongConfigDataScRsp" => {
                Some(Self::CmdMusicRhythmSaveSongConfigDataScRsp)
            }
            "CmdMusicRhythmFinishLevelCsReq" => {
                Some(Self::CmdMusicRhythmFinishLevelCsReq)
            }
            "CmdMusicRhythmUnlockSongSfxScNotify" => {
                Some(Self::CmdMusicRhythmUnlockSongSfxScNotify)
            }
            "CmdMusicRhythmSaveSongConfigDataCsReq" => {
                Some(Self::CmdMusicRhythmSaveSongConfigDataCsReq)
            }
            "CmdMusicRhythmUnlockTrackScNotify" => {
                Some(Self::CmdMusicRhythmUnlockTrackScNotify)
            }
            "CmdMusicRhythmStartLevelCsReq" => Some(Self::CmdMusicRhythmStartLevelCsReq),
            "CmdMusicRhythmUnlockSongNotify" => {
                Some(Self::CmdMusicRhythmUnlockSongNotify)
            }
            "CmdMusicRhythmMaxDifficultyLevelsUnlockNotify" => {
                Some(Self::CmdMusicRhythmMaxDifficultyLevelsUnlockNotify)
            }
            "CmdMusicRhythmFinishLevelScRsp" => {
                Some(Self::CmdMusicRhythmFinishLevelScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Epgdhhhdjdc {
    StatusClose = 0,
    StatusOpen = 1,
}
impl Epgdhhhdjdc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::StatusClose => "STATUS_CLOSE",
            Self::StatusOpen => "STATUS_OPEN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "STATUS_CLOSE" => Some(Self::StatusClose),
            "STATUS_OPEN" => Some(Self::StatusOpen),
            _ => None,
        }
    }
}
/// Obf: BMOHAFKGGLO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdOfferingType {
    None = 0,
    CmdGetOfferingInfoCsReq = 6934,
    CmdSubmitOfferingItemCsReq = 6928,
    CmdTakeOfferingRewardScRsp = 6922,
    CmdGetOfferingInfoScRsp = 6933,
    CmdSubmitOfferingItemScRsp = 6930,
    CmdOfferingInfoScNotify = 6940,
    CmdTakeOfferingRewardCsReq = 6924,
}
impl CmdOfferingType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdOfferingTypeNone",
            Self::CmdGetOfferingInfoCsReq => "CmdGetOfferingInfoCsReq",
            Self::CmdSubmitOfferingItemCsReq => "CmdSubmitOfferingItemCsReq",
            Self::CmdTakeOfferingRewardScRsp => "CmdTakeOfferingRewardScRsp",
            Self::CmdGetOfferingInfoScRsp => "CmdGetOfferingInfoScRsp",
            Self::CmdSubmitOfferingItemScRsp => "CmdSubmitOfferingItemScRsp",
            Self::CmdOfferingInfoScNotify => "CmdOfferingInfoScNotify",
            Self::CmdTakeOfferingRewardCsReq => "CmdTakeOfferingRewardCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdOfferingTypeNone" => Some(Self::None),
            "CmdGetOfferingInfoCsReq" => Some(Self::CmdGetOfferingInfoCsReq),
            "CmdSubmitOfferingItemCsReq" => Some(Self::CmdSubmitOfferingItemCsReq),
            "CmdTakeOfferingRewardScRsp" => Some(Self::CmdTakeOfferingRewardScRsp),
            "CmdGetOfferingInfoScRsp" => Some(Self::CmdGetOfferingInfoScRsp),
            "CmdSubmitOfferingItemScRsp" => Some(Self::CmdSubmitOfferingItemScRsp),
            "CmdOfferingInfoScNotify" => Some(Self::CmdOfferingInfoScNotify),
            "CmdTakeOfferingRewardCsReq" => Some(Self::CmdTakeOfferingRewardCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fbomlibegoc {
    OfferingStateNone = 0,
    OfferingStateLock = 1,
    OfferingStateOpen = 2,
}
impl Fbomlibegoc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::OfferingStateNone => "OFFERING_STATE_NONE",
            Self::OfferingStateLock => "OFFERING_STATE_LOCK",
            Self::OfferingStateOpen => "OFFERING_STATE_OPEN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OFFERING_STATE_NONE" => Some(Self::OfferingStateNone),
            "OFFERING_STATE_LOCK" => Some(Self::OfferingStateLock),
            "OFFERING_STATE_OPEN" => Some(Self::OfferingStateOpen),
            _ => None,
        }
    }
}
/// Obf: FBCBBJLCMGP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPamMissionType {
    None = 0,
    CmdSyncAcceptedPamMissionNotify = 4031,
    CmdAcceptedPamMissionExpireCsReq = 4095,
    CmdAcceptedPamMissionExpireScRsp = 4032,
}
impl CmdPamMissionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdPamMissionTypeNone",
            Self::CmdSyncAcceptedPamMissionNotify => "CmdSyncAcceptedPamMissionNotify",
            Self::CmdAcceptedPamMissionExpireCsReq => "CmdAcceptedPamMissionExpireCsReq",
            Self::CmdAcceptedPamMissionExpireScRsp => "CmdAcceptedPamMissionExpireScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPamMissionTypeNone" => Some(Self::None),
            "CmdSyncAcceptedPamMissionNotify" => {
                Some(Self::CmdSyncAcceptedPamMissionNotify)
            }
            "CmdAcceptedPamMissionExpireCsReq" => {
                Some(Self::CmdAcceptedPamMissionExpireCsReq)
            }
            "CmdAcceptedPamMissionExpireScRsp" => {
                Some(Self::CmdAcceptedPamMissionExpireScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: PGNDIMHLNJJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPamSkinType {
    None = 0,
    CmdGetPamSkinDataCsReq = 8134,
    CmdSelectPamSkinCsReq = 8128,
    CmdUnlockPamSkinScNotify = 8124,
    CmdSelectPamSkinScRsp = 8130,
    CmdGetPamSkinDataScRsp = 8133,
}
impl CmdPamSkinType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdPamSkinTypeNone",
            Self::CmdGetPamSkinDataCsReq => "CmdGetPamSkinDataCsReq",
            Self::CmdSelectPamSkinCsReq => "CmdSelectPamSkinCsReq",
            Self::CmdUnlockPamSkinScNotify => "CmdUnlockPamSkinScNotify",
            Self::CmdSelectPamSkinScRsp => "CmdSelectPamSkinScRsp",
            Self::CmdGetPamSkinDataScRsp => "CmdGetPamSkinDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPamSkinTypeNone" => Some(Self::None),
            "CmdGetPamSkinDataCsReq" => Some(Self::CmdGetPamSkinDataCsReq),
            "CmdSelectPamSkinCsReq" => Some(Self::CmdSelectPamSkinCsReq),
            "CmdUnlockPamSkinScNotify" => Some(Self::CmdUnlockPamSkinScNotify),
            "CmdSelectPamSkinScRsp" => Some(Self::CmdSelectPamSkinScRsp),
            "CmdGetPamSkinDataScRsp" => Some(Self::CmdGetPamSkinDataScRsp),
            _ => None,
        }
    }
}
/// Obf: IEAFFNIANFP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdParkourType {
    None = 0,
    CmdParkourGetDataCsReq = 8394,
    CmdParkourEndLevelCsReq = 8400,
    CmdParkourStartLevelCsReq = 8384,
    CmdParkourStartLevelScRsp = 8382,
    CmdParkourGetRankingInfoCsReq = 8388,
    CmdParkourEndLevelScRsp = 8389,
    CmdParkourGetRankingInfoScRsp = 8390,
    CmdParkourGetDataScRsp = 8393,
}
impl CmdParkourType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdParkourTypeNone",
            Self::CmdParkourGetDataCsReq => "CmdParkourGetDataCsReq",
            Self::CmdParkourEndLevelCsReq => "CmdParkourEndLevelCsReq",
            Self::CmdParkourStartLevelCsReq => "CmdParkourStartLevelCsReq",
            Self::CmdParkourStartLevelScRsp => "CmdParkourStartLevelScRsp",
            Self::CmdParkourGetRankingInfoCsReq => "CmdParkourGetRankingInfoCsReq",
            Self::CmdParkourEndLevelScRsp => "CmdParkourEndLevelScRsp",
            Self::CmdParkourGetRankingInfoScRsp => "CmdParkourGetRankingInfoScRsp",
            Self::CmdParkourGetDataScRsp => "CmdParkourGetDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdParkourTypeNone" => Some(Self::None),
            "CmdParkourGetDataCsReq" => Some(Self::CmdParkourGetDataCsReq),
            "CmdParkourEndLevelCsReq" => Some(Self::CmdParkourEndLevelCsReq),
            "CmdParkourStartLevelCsReq" => Some(Self::CmdParkourStartLevelCsReq),
            "CmdParkourStartLevelScRsp" => Some(Self::CmdParkourStartLevelScRsp),
            "CmdParkourGetRankingInfoCsReq" => Some(Self::CmdParkourGetRankingInfoCsReq),
            "CmdParkourEndLevelScRsp" => Some(Self::CmdParkourEndLevelScRsp),
            "CmdParkourGetRankingInfoScRsp" => Some(Self::CmdParkourGetRankingInfoScRsp),
            "CmdParkourGetDataScRsp" => Some(Self::CmdParkourGetDataScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Poahabdkpkj {
    ParkourEndLevelReasonNone = 0,
    ParkourEndLevelReasonFinish = 1,
    ParkourEndLevelReasonQuit = 2,
}
impl Poahabdkpkj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ParkourEndLevelReasonNone => "PARKOUR_END_LEVEL_REASON_NONE",
            Self::ParkourEndLevelReasonFinish => "PARKOUR_END_LEVEL_REASON_FINISH",
            Self::ParkourEndLevelReasonQuit => "PARKOUR_END_LEVEL_REASON_QUIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PARKOUR_END_LEVEL_REASON_NONE" => Some(Self::ParkourEndLevelReasonNone),
            "PARKOUR_END_LEVEL_REASON_FINISH" => Some(Self::ParkourEndLevelReasonFinish),
            "PARKOUR_END_LEVEL_REASON_QUIT" => Some(Self::ParkourEndLevelReasonQuit),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hcfffeimcmf {
    ParkourLevelSttNone = 0,
    ParkourLevelSttBombedBySparkleFigure = 1,
    ParkourLevelSttDestroySparkleFigure = 2,
}
impl Hcfffeimcmf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ParkourLevelSttNone => "PARKOUR_LEVEL_STT_NONE",
            Self::ParkourLevelSttBombedBySparkleFigure => {
                "PARKOUR_LEVEL_STT_BOMBED_BY_SPARKLE_FIGURE"
            }
            Self::ParkourLevelSttDestroySparkleFigure => {
                "PARKOUR_LEVEL_STT_DESTROY_SPARKLE_FIGURE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PARKOUR_LEVEL_STT_NONE" => Some(Self::ParkourLevelSttNone),
            "PARKOUR_LEVEL_STT_BOMBED_BY_SPARKLE_FIGURE" => {
                Some(Self::ParkourLevelSttBombedBySparkleFigure)
            }
            "PARKOUR_LEVEL_STT_DESTROY_SPARKLE_FIGURE" => {
                Some(Self::ParkourLevelSttDestroySparkleFigure)
            }
            _ => None,
        }
    }
}
/// Obf: DDJJCPPGCOE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPetType {
    None = 0,
    CmdSummonPetScRsp = 7619,
    CmdCurPetChangedScNotify = 7603,
    CmdRecallPetScRsp = 7601,
    CmdSummonPetCsReq = 7609,
    CmdGetPetDataScRsp = 7620,
    CmdGetPetDataCsReq = 7611,
    CmdRecallPetCsReq = 7624,
}
impl CmdPetType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdPetTypeNone",
            Self::CmdSummonPetScRsp => "CmdSummonPetScRsp",
            Self::CmdCurPetChangedScNotify => "CmdCurPetChangedScNotify",
            Self::CmdRecallPetScRsp => "CmdRecallPetScRsp",
            Self::CmdSummonPetCsReq => "CmdSummonPetCsReq",
            Self::CmdGetPetDataScRsp => "CmdGetPetDataScRsp",
            Self::CmdGetPetDataCsReq => "CmdGetPetDataCsReq",
            Self::CmdRecallPetCsReq => "CmdRecallPetCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPetTypeNone" => Some(Self::None),
            "CmdSummonPetScRsp" => Some(Self::CmdSummonPetScRsp),
            "CmdCurPetChangedScNotify" => Some(Self::CmdCurPetChangedScNotify),
            "CmdRecallPetScRsp" => Some(Self::CmdRecallPetScRsp),
            "CmdSummonPetCsReq" => Some(Self::CmdSummonPetCsReq),
            "CmdGetPetDataScRsp" => Some(Self::CmdGetPetDataScRsp),
            "CmdGetPetDataCsReq" => Some(Self::CmdGetPetDataCsReq),
            "CmdRecallPetCsReq" => Some(Self::CmdRecallPetCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cdefbkpcppa {
    PetOperationTypeNone = 0,
    PetOperationTypeSummon = 1,
    PetOperationTypeRecall = 2,
}
impl Cdefbkpcppa {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PetOperationTypeNone => "PET_OPERATION_TYPE_NONE",
            Self::PetOperationTypeSummon => "PET_OPERATION_TYPE_SUMMON",
            Self::PetOperationTypeRecall => "PET_OPERATION_TYPE_RECALL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PET_OPERATION_TYPE_NONE" => Some(Self::PetOperationTypeNone),
            "PET_OPERATION_TYPE_SUMMON" => Some(Self::PetOperationTypeSummon),
            "PET_OPERATION_TYPE_RECALL" => Some(Self::PetOperationTypeRecall),
            _ => None,
        }
    }
}
/// Obf: ONIDFEPMGCF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPhoneType {
    None = 0,
    CmdUnlockPhoneCaseScNotify = 5172,
    CmdSelectPhoneCaseScRsp = 5156,
    CmdSelectPhoneThemeCsReq = 5148,
    CmdSelectPhoneThemeScRsp = 5171,
    CmdUnlockPhoneThemeScNotify = 5152,
    CmdSelectChatBubbleCsReq = 5131,
    CmdGetPhoneDataScRsp = 5132,
    CmdUnlockChatBubbleScNotify = 5176,
    CmdSelectChatBubbleScRsp = 5140,
    CmdGetPhoneDataCsReq = 5195,
    CmdSelectPhoneCaseCsReq = 5122,
}
impl CmdPhoneType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdPhoneTypeNone",
            Self::CmdUnlockPhoneCaseScNotify => "CmdUnlockPhoneCaseScNotify",
            Self::CmdSelectPhoneCaseScRsp => "CmdSelectPhoneCaseScRsp",
            Self::CmdSelectPhoneThemeCsReq => "CmdSelectPhoneThemeCsReq",
            Self::CmdSelectPhoneThemeScRsp => "CmdSelectPhoneThemeScRsp",
            Self::CmdUnlockPhoneThemeScNotify => "CmdUnlockPhoneThemeScNotify",
            Self::CmdSelectChatBubbleCsReq => "CmdSelectChatBubbleCsReq",
            Self::CmdGetPhoneDataScRsp => "CmdGetPhoneDataScRsp",
            Self::CmdUnlockChatBubbleScNotify => "CmdUnlockChatBubbleScNotify",
            Self::CmdSelectChatBubbleScRsp => "CmdSelectChatBubbleScRsp",
            Self::CmdGetPhoneDataCsReq => "CmdGetPhoneDataCsReq",
            Self::CmdSelectPhoneCaseCsReq => "CmdSelectPhoneCaseCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPhoneTypeNone" => Some(Self::None),
            "CmdUnlockPhoneCaseScNotify" => Some(Self::CmdUnlockPhoneCaseScNotify),
            "CmdSelectPhoneCaseScRsp" => Some(Self::CmdSelectPhoneCaseScRsp),
            "CmdSelectPhoneThemeCsReq" => Some(Self::CmdSelectPhoneThemeCsReq),
            "CmdSelectPhoneThemeScRsp" => Some(Self::CmdSelectPhoneThemeScRsp),
            "CmdUnlockPhoneThemeScNotify" => Some(Self::CmdUnlockPhoneThemeScNotify),
            "CmdSelectChatBubbleCsReq" => Some(Self::CmdSelectChatBubbleCsReq),
            "CmdGetPhoneDataScRsp" => Some(Self::CmdGetPhoneDataScRsp),
            "CmdUnlockChatBubbleScNotify" => Some(Self::CmdUnlockChatBubbleScNotify),
            "CmdSelectChatBubbleScRsp" => Some(Self::CmdSelectChatBubbleScRsp),
            "CmdGetPhoneDataCsReq" => Some(Self::CmdGetPhoneDataCsReq),
            "CmdSelectPhoneCaseCsReq" => Some(Self::CmdSelectPhoneCaseCsReq),
            _ => None,
        }
    }
}
/// Obf: EOGEFBDKIID
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlanetFesType {
    None = 0,
    CmdPlanetFesGetFriendRankingInfoListScRsp = 8247,
    CmdPlanetFesCollectIncomeScRsp = 8236,
    CmdPlanetFesGetBusinessDayInfoCsReq = 8222,
    CmdPlanetFesDeliverPamCargoScRsp = 8218,
    CmdPlanetFesSetCustomKeyValueScRsp = 8248,
    CmdPlanetFesUpgradeFesLevelScRsp = 8233,
    CmdGetPlanetFesDataScRsp = 8246,
    CmdPlanetFesUseItemCsReq = 8214,
    CmdPlanetFesGetAvatarStatScRsp = 8230,
    CmdPlanetFesDoGachaScRsp = 8220,
    CmdPlanetFesBonusEventInteractScRsp = 8219,
    CmdPlanetFesClientStatusCsReq = 8209,
    CmdPlanetFesChooseAvatarEventOptionCsReq = 8201,
    CmdPlanetFesStartMiniGameScRsp = 8249,
    CmdPlanetFesGameBingoFlipScRsp = 8225,
    CmdPlanetFesSetAvatarWorkScRsp = 8227,
    CmdPlanetFesGetBusinessDayInfoScRsp = 8216,
    CmdPlanetFesUpgradeSkillLevelCsReq = 8211,
    CmdPlanetFesCollectIncomeCsReq = 8237,
    CmdPlanetFesBuyLandCsReq = 8215,
    CmdPlanetFesClientStatusScRsp = 8245,
    CmdPlanetFesAvatarLevelUpCsReq = 8244,
    CmdPlanetFesUpgradeFesLevelCsReq = 8241,
    CmdPlanetFesBonusEventInteractCsReq = 8210,
    CmdPlanetFesDeliverPamCargoCsReq = 8234,
    CmdPlanetFesAvatarLevelUpScRsp = 8232,
    CmdPlanetFesDealAvatarEventOptionItemScRsp = 8239,
    CmdPlanetFesCollectAllIncomeCsReq = 8207,
    CmdGetPlanetFesDataCsReq = 8204,
    CmdPlanetFesGetFriendRankingInfoListCsReq = 8203,
    CmdPlanetFesTakeRegionPhaseRewardCsReq = 8213,
    CmdPlanetFesDealAvatarEventOptionItemCsReq = 8235,
    CmdPlanetFesBusinessDayRefreshEventCsReq = 8242,
    CmdPlanetFesBusinessDayRefreshEventScRsp = 8229,
    CmdPlanetFesUseItemScRsp = 8208,
    CmdPlanetFesGetAvatarStatCsReq = 8231,
    CmdPlanetFesTakeQuestRewardCsReq = 8223,
    CmdPlanetFesSyncChangeScNotify = 8202,
    CmdPlanetFesDoGachaCsReq = 8240,
    CmdPlanetFesTakeRegionPhaseRewardScRsp = 8206,
    CmdPlanetFesCollectAllIncomeScRsp = 8250,
    CmdPlanetFesFriendRankingInfoChangeScNotify = 8224,
    CmdPlanetFesUpgradeSkillLevelScRsp = 8238,
    CmdPlanetFesChooseAvatarEventOptionScRsp = 8205,
    CmdPlanetFesBuyLandScRsp = 8243,
    CmdPlanetFesGameBingoFlipCsReq = 8228,
    CmdPlanetFesSetCustomKeyValueCsReq = 8212,
    CmdPlanetFesStartMiniGameCsReq = 8221,
    CmdPlanetFesSetAvatarWorkCsReq = 8217,
    CmdPlanetFesTakeQuestRewardScRsp = 8226,
}
impl CmdPlanetFesType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdPlanetFesTypeNone",
            Self::CmdPlanetFesGetFriendRankingInfoListScRsp => {
                "CmdPlanetFesGetFriendRankingInfoListScRsp"
            }
            Self::CmdPlanetFesCollectIncomeScRsp => "CmdPlanetFesCollectIncomeScRsp",
            Self::CmdPlanetFesGetBusinessDayInfoCsReq => {
                "CmdPlanetFesGetBusinessDayInfoCsReq"
            }
            Self::CmdPlanetFesDeliverPamCargoScRsp => "CmdPlanetFesDeliverPamCargoScRsp",
            Self::CmdPlanetFesSetCustomKeyValueScRsp => {
                "CmdPlanetFesSetCustomKeyValueScRsp"
            }
            Self::CmdPlanetFesUpgradeFesLevelScRsp => "CmdPlanetFesUpgradeFesLevelScRsp",
            Self::CmdGetPlanetFesDataScRsp => "CmdGetPlanetFesDataScRsp",
            Self::CmdPlanetFesUseItemCsReq => "CmdPlanetFesUseItemCsReq",
            Self::CmdPlanetFesGetAvatarStatScRsp => "CmdPlanetFesGetAvatarStatScRsp",
            Self::CmdPlanetFesDoGachaScRsp => "CmdPlanetFesDoGachaScRsp",
            Self::CmdPlanetFesBonusEventInteractScRsp => {
                "CmdPlanetFesBonusEventInteractScRsp"
            }
            Self::CmdPlanetFesClientStatusCsReq => "CmdPlanetFesClientStatusCsReq",
            Self::CmdPlanetFesChooseAvatarEventOptionCsReq => {
                "CmdPlanetFesChooseAvatarEventOptionCsReq"
            }
            Self::CmdPlanetFesStartMiniGameScRsp => "CmdPlanetFesStartMiniGameScRsp",
            Self::CmdPlanetFesGameBingoFlipScRsp => "CmdPlanetFesGameBingoFlipScRsp",
            Self::CmdPlanetFesSetAvatarWorkScRsp => "CmdPlanetFesSetAvatarWorkScRsp",
            Self::CmdPlanetFesGetBusinessDayInfoScRsp => {
                "CmdPlanetFesGetBusinessDayInfoScRsp"
            }
            Self::CmdPlanetFesUpgradeSkillLevelCsReq => {
                "CmdPlanetFesUpgradeSkillLevelCsReq"
            }
            Self::CmdPlanetFesCollectIncomeCsReq => "CmdPlanetFesCollectIncomeCsReq",
            Self::CmdPlanetFesBuyLandCsReq => "CmdPlanetFesBuyLandCsReq",
            Self::CmdPlanetFesClientStatusScRsp => "CmdPlanetFesClientStatusScRsp",
            Self::CmdPlanetFesAvatarLevelUpCsReq => "CmdPlanetFesAvatarLevelUpCsReq",
            Self::CmdPlanetFesUpgradeFesLevelCsReq => "CmdPlanetFesUpgradeFesLevelCsReq",
            Self::CmdPlanetFesBonusEventInteractCsReq => {
                "CmdPlanetFesBonusEventInteractCsReq"
            }
            Self::CmdPlanetFesDeliverPamCargoCsReq => "CmdPlanetFesDeliverPamCargoCsReq",
            Self::CmdPlanetFesAvatarLevelUpScRsp => "CmdPlanetFesAvatarLevelUpScRsp",
            Self::CmdPlanetFesDealAvatarEventOptionItemScRsp => {
                "CmdPlanetFesDealAvatarEventOptionItemScRsp"
            }
            Self::CmdPlanetFesCollectAllIncomeCsReq => {
                "CmdPlanetFesCollectAllIncomeCsReq"
            }
            Self::CmdGetPlanetFesDataCsReq => "CmdGetPlanetFesDataCsReq",
            Self::CmdPlanetFesGetFriendRankingInfoListCsReq => {
                "CmdPlanetFesGetFriendRankingInfoListCsReq"
            }
            Self::CmdPlanetFesTakeRegionPhaseRewardCsReq => {
                "CmdPlanetFesTakeRegionPhaseRewardCsReq"
            }
            Self::CmdPlanetFesDealAvatarEventOptionItemCsReq => {
                "CmdPlanetFesDealAvatarEventOptionItemCsReq"
            }
            Self::CmdPlanetFesBusinessDayRefreshEventCsReq => {
                "CmdPlanetFesBusinessDayRefreshEventCsReq"
            }
            Self::CmdPlanetFesBusinessDayRefreshEventScRsp => {
                "CmdPlanetFesBusinessDayRefreshEventScRsp"
            }
            Self::CmdPlanetFesUseItemScRsp => "CmdPlanetFesUseItemScRsp",
            Self::CmdPlanetFesGetAvatarStatCsReq => "CmdPlanetFesGetAvatarStatCsReq",
            Self::CmdPlanetFesTakeQuestRewardCsReq => "CmdPlanetFesTakeQuestRewardCsReq",
            Self::CmdPlanetFesSyncChangeScNotify => "CmdPlanetFesSyncChangeScNotify",
            Self::CmdPlanetFesDoGachaCsReq => "CmdPlanetFesDoGachaCsReq",
            Self::CmdPlanetFesTakeRegionPhaseRewardScRsp => {
                "CmdPlanetFesTakeRegionPhaseRewardScRsp"
            }
            Self::CmdPlanetFesCollectAllIncomeScRsp => {
                "CmdPlanetFesCollectAllIncomeScRsp"
            }
            Self::CmdPlanetFesFriendRankingInfoChangeScNotify => {
                "CmdPlanetFesFriendRankingInfoChangeScNotify"
            }
            Self::CmdPlanetFesUpgradeSkillLevelScRsp => {
                "CmdPlanetFesUpgradeSkillLevelScRsp"
            }
            Self::CmdPlanetFesChooseAvatarEventOptionScRsp => {
                "CmdPlanetFesChooseAvatarEventOptionScRsp"
            }
            Self::CmdPlanetFesBuyLandScRsp => "CmdPlanetFesBuyLandScRsp",
            Self::CmdPlanetFesGameBingoFlipCsReq => "CmdPlanetFesGameBingoFlipCsReq",
            Self::CmdPlanetFesSetCustomKeyValueCsReq => {
                "CmdPlanetFesSetCustomKeyValueCsReq"
            }
            Self::CmdPlanetFesStartMiniGameCsReq => "CmdPlanetFesStartMiniGameCsReq",
            Self::CmdPlanetFesSetAvatarWorkCsReq => "CmdPlanetFesSetAvatarWorkCsReq",
            Self::CmdPlanetFesTakeQuestRewardScRsp => "CmdPlanetFesTakeQuestRewardScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlanetFesTypeNone" => Some(Self::None),
            "CmdPlanetFesGetFriendRankingInfoListScRsp" => {
                Some(Self::CmdPlanetFesGetFriendRankingInfoListScRsp)
            }
            "CmdPlanetFesCollectIncomeScRsp" => {
                Some(Self::CmdPlanetFesCollectIncomeScRsp)
            }
            "CmdPlanetFesGetBusinessDayInfoCsReq" => {
                Some(Self::CmdPlanetFesGetBusinessDayInfoCsReq)
            }
            "CmdPlanetFesDeliverPamCargoScRsp" => {
                Some(Self::CmdPlanetFesDeliverPamCargoScRsp)
            }
            "CmdPlanetFesSetCustomKeyValueScRsp" => {
                Some(Self::CmdPlanetFesSetCustomKeyValueScRsp)
            }
            "CmdPlanetFesUpgradeFesLevelScRsp" => {
                Some(Self::CmdPlanetFesUpgradeFesLevelScRsp)
            }
            "CmdGetPlanetFesDataScRsp" => Some(Self::CmdGetPlanetFesDataScRsp),
            "CmdPlanetFesUseItemCsReq" => Some(Self::CmdPlanetFesUseItemCsReq),
            "CmdPlanetFesGetAvatarStatScRsp" => {
                Some(Self::CmdPlanetFesGetAvatarStatScRsp)
            }
            "CmdPlanetFesDoGachaScRsp" => Some(Self::CmdPlanetFesDoGachaScRsp),
            "CmdPlanetFesBonusEventInteractScRsp" => {
                Some(Self::CmdPlanetFesBonusEventInteractScRsp)
            }
            "CmdPlanetFesClientStatusCsReq" => Some(Self::CmdPlanetFesClientStatusCsReq),
            "CmdPlanetFesChooseAvatarEventOptionCsReq" => {
                Some(Self::CmdPlanetFesChooseAvatarEventOptionCsReq)
            }
            "CmdPlanetFesStartMiniGameScRsp" => {
                Some(Self::CmdPlanetFesStartMiniGameScRsp)
            }
            "CmdPlanetFesGameBingoFlipScRsp" => {
                Some(Self::CmdPlanetFesGameBingoFlipScRsp)
            }
            "CmdPlanetFesSetAvatarWorkScRsp" => {
                Some(Self::CmdPlanetFesSetAvatarWorkScRsp)
            }
            "CmdPlanetFesGetBusinessDayInfoScRsp" => {
                Some(Self::CmdPlanetFesGetBusinessDayInfoScRsp)
            }
            "CmdPlanetFesUpgradeSkillLevelCsReq" => {
                Some(Self::CmdPlanetFesUpgradeSkillLevelCsReq)
            }
            "CmdPlanetFesCollectIncomeCsReq" => {
                Some(Self::CmdPlanetFesCollectIncomeCsReq)
            }
            "CmdPlanetFesBuyLandCsReq" => Some(Self::CmdPlanetFesBuyLandCsReq),
            "CmdPlanetFesClientStatusScRsp" => Some(Self::CmdPlanetFesClientStatusScRsp),
            "CmdPlanetFesAvatarLevelUpCsReq" => {
                Some(Self::CmdPlanetFesAvatarLevelUpCsReq)
            }
            "CmdPlanetFesUpgradeFesLevelCsReq" => {
                Some(Self::CmdPlanetFesUpgradeFesLevelCsReq)
            }
            "CmdPlanetFesBonusEventInteractCsReq" => {
                Some(Self::CmdPlanetFesBonusEventInteractCsReq)
            }
            "CmdPlanetFesDeliverPamCargoCsReq" => {
                Some(Self::CmdPlanetFesDeliverPamCargoCsReq)
            }
            "CmdPlanetFesAvatarLevelUpScRsp" => {
                Some(Self::CmdPlanetFesAvatarLevelUpScRsp)
            }
            "CmdPlanetFesDealAvatarEventOptionItemScRsp" => {
                Some(Self::CmdPlanetFesDealAvatarEventOptionItemScRsp)
            }
            "CmdPlanetFesCollectAllIncomeCsReq" => {
                Some(Self::CmdPlanetFesCollectAllIncomeCsReq)
            }
            "CmdGetPlanetFesDataCsReq" => Some(Self::CmdGetPlanetFesDataCsReq),
            "CmdPlanetFesGetFriendRankingInfoListCsReq" => {
                Some(Self::CmdPlanetFesGetFriendRankingInfoListCsReq)
            }
            "CmdPlanetFesTakeRegionPhaseRewardCsReq" => {
                Some(Self::CmdPlanetFesTakeRegionPhaseRewardCsReq)
            }
            "CmdPlanetFesDealAvatarEventOptionItemCsReq" => {
                Some(Self::CmdPlanetFesDealAvatarEventOptionItemCsReq)
            }
            "CmdPlanetFesBusinessDayRefreshEventCsReq" => {
                Some(Self::CmdPlanetFesBusinessDayRefreshEventCsReq)
            }
            "CmdPlanetFesBusinessDayRefreshEventScRsp" => {
                Some(Self::CmdPlanetFesBusinessDayRefreshEventScRsp)
            }
            "CmdPlanetFesUseItemScRsp" => Some(Self::CmdPlanetFesUseItemScRsp),
            "CmdPlanetFesGetAvatarStatCsReq" => {
                Some(Self::CmdPlanetFesGetAvatarStatCsReq)
            }
            "CmdPlanetFesTakeQuestRewardCsReq" => {
                Some(Self::CmdPlanetFesTakeQuestRewardCsReq)
            }
            "CmdPlanetFesSyncChangeScNotify" => {
                Some(Self::CmdPlanetFesSyncChangeScNotify)
            }
            "CmdPlanetFesDoGachaCsReq" => Some(Self::CmdPlanetFesDoGachaCsReq),
            "CmdPlanetFesTakeRegionPhaseRewardScRsp" => {
                Some(Self::CmdPlanetFesTakeRegionPhaseRewardScRsp)
            }
            "CmdPlanetFesCollectAllIncomeScRsp" => {
                Some(Self::CmdPlanetFesCollectAllIncomeScRsp)
            }
            "CmdPlanetFesFriendRankingInfoChangeScNotify" => {
                Some(Self::CmdPlanetFesFriendRankingInfoChangeScNotify)
            }
            "CmdPlanetFesUpgradeSkillLevelScRsp" => {
                Some(Self::CmdPlanetFesUpgradeSkillLevelScRsp)
            }
            "CmdPlanetFesChooseAvatarEventOptionScRsp" => {
                Some(Self::CmdPlanetFesChooseAvatarEventOptionScRsp)
            }
            "CmdPlanetFesBuyLandScRsp" => Some(Self::CmdPlanetFesBuyLandScRsp),
            "CmdPlanetFesGameBingoFlipCsReq" => {
                Some(Self::CmdPlanetFesGameBingoFlipCsReq)
            }
            "CmdPlanetFesSetCustomKeyValueCsReq" => {
                Some(Self::CmdPlanetFesSetCustomKeyValueCsReq)
            }
            "CmdPlanetFesStartMiniGameCsReq" => {
                Some(Self::CmdPlanetFesStartMiniGameCsReq)
            }
            "CmdPlanetFesSetAvatarWorkCsReq" => {
                Some(Self::CmdPlanetFesSetAvatarWorkCsReq)
            }
            "CmdPlanetFesTakeQuestRewardScRsp" => {
                Some(Self::CmdPlanetFesTakeQuestRewardScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gmfejefibbi {
    PlanetFesQuestNone = 0,
    PlanetFesQuestDoing = 1,
    PlanetFesQuestFinish = 2,
    PlanetFesQuestClose = 3,
}
impl Gmfejefibbi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PlanetFesQuestNone => "PLANET_FES_QUEST_NONE",
            Self::PlanetFesQuestDoing => "PLANET_FES_QUEST_DOING",
            Self::PlanetFesQuestFinish => "PLANET_FES_QUEST_FINISH",
            Self::PlanetFesQuestClose => "PLANET_FES_QUEST_CLOSE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLANET_FES_QUEST_NONE" => Some(Self::PlanetFesQuestNone),
            "PLANET_FES_QUEST_DOING" => Some(Self::PlanetFesQuestDoing),
            "PLANET_FES_QUEST_FINISH" => Some(Self::PlanetFesQuestFinish),
            "PLANET_FES_QUEST_CLOSE" => Some(Self::PlanetFesQuestClose),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dfhejcijbej {
    PlanetFesBusinessEventChangeReasonNone = 0,
    PlanetFesBusinessEventAvatarChange = 1,
    PlanetFesBusinessEventFinishGame = 2,
}
impl Dfhejcijbej {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PlanetFesBusinessEventChangeReasonNone => {
                "PLANET_FES_BUSINESS_EVENT_CHANGE_REASON_NONE"
            }
            Self::PlanetFesBusinessEventAvatarChange => {
                "PLANET_FES_BUSINESS_EVENT_AVATAR_CHANGE"
            }
            Self::PlanetFesBusinessEventFinishGame => {
                "PLANET_FES_BUSINESS_EVENT_FINISH_GAME"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLANET_FES_BUSINESS_EVENT_CHANGE_REASON_NONE" => {
                Some(Self::PlanetFesBusinessEventChangeReasonNone)
            }
            "PLANET_FES_BUSINESS_EVENT_AVATAR_CHANGE" => {
                Some(Self::PlanetFesBusinessEventAvatarChange)
            }
            "PLANET_FES_BUSINESS_EVENT_FINISH_GAME" => {
                Some(Self::PlanetFesBusinessEventFinishGame)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iocpjfkgkdg {
    PlanetFesCustomKeyNone = 0,
    PlanetFesCustomKeyUnlockInfiniteBusinessDayPerformance = 1,
    PlanetFesCustomKeyBusinessDayStartPerformanceLastSeenDay = 2,
    PlanetFesCustomKeyBusinessDayUnlockPerformanceLastSeenDay = 3,
    PlanetFesCustomKeySummaryShow = 4,
}
impl Iocpjfkgkdg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PlanetFesCustomKeyNone => "PLANET_FES_CUSTOM_KEY_NONE",
            Self::PlanetFesCustomKeyUnlockInfiniteBusinessDayPerformance => {
                "PLANET_FES_CUSTOM_KEY_UNLOCK_INFINITE_BUSINESS_DAY_PERFORMANCE"
            }
            Self::PlanetFesCustomKeyBusinessDayStartPerformanceLastSeenDay => {
                "PLANET_FES_CUSTOM_KEY_BUSINESS_DAY_START_PERFORMANCE_LAST_SEEN_DAY"
            }
            Self::PlanetFesCustomKeyBusinessDayUnlockPerformanceLastSeenDay => {
                "PLANET_FES_CUSTOM_KEY_BUSINESS_DAY_UNLOCK_PERFORMANCE_LAST_SEEN_DAY"
            }
            Self::PlanetFesCustomKeySummaryShow => "PLANET_FES_CUSTOM_KEY_SUMMARY_SHOW",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLANET_FES_CUSTOM_KEY_NONE" => Some(Self::PlanetFesCustomKeyNone),
            "PLANET_FES_CUSTOM_KEY_UNLOCK_INFINITE_BUSINESS_DAY_PERFORMANCE" => {
                Some(Self::PlanetFesCustomKeyUnlockInfiniteBusinessDayPerformance)
            }
            "PLANET_FES_CUSTOM_KEY_BUSINESS_DAY_START_PERFORMANCE_LAST_SEEN_DAY" => {
                Some(Self::PlanetFesCustomKeyBusinessDayStartPerformanceLastSeenDay)
            }
            "PLANET_FES_CUSTOM_KEY_BUSINESS_DAY_UNLOCK_PERFORMANCE_LAST_SEEN_DAY" => {
                Some(Self::PlanetFesCustomKeyBusinessDayUnlockPerformanceLastSeenDay)
            }
            "PLANET_FES_CUSTOM_KEY_SUMMARY_SHOW" => {
                Some(Self::PlanetFesCustomKeySummaryShow)
            }
            _ => None,
        }
    }
}
/// Obf: DCFIFONAKKB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlanetFesExtType {
    None = 0,
    CmdPlanetFesApplyCardPieceCsReq = 8317,
    CmdPlanetFesGetOfferedCardPieceScRsp = 8297,
    CmdPlanetFesLargeBonusInteractScRsp = 8334,
    CmdPlanetFesLargeBonusInteractCsReq = 8310,
    CmdPlanetFesGiveCardPieceScRsp = 8330,
    CmdPlanetFesChangeCardPieceApplyPermissionCsReq = 8326,
    CmdPlanetFesHandleCardPieceApplyScRsp = 8299,
    CmdPlanetFesGetExtraCardPieceInfoScRsp = 8336,
    CmdPlanetFesEnterNextBusinessDayCsReq = 8322,
    CmdPlanetFesHandleCardPieceApplyCsReq = 8333,
    CmdPlanetFesGetOfferedCardPieceCsReq = 8335,
    CmdPlanetFesGiveCardPieceCsReq = 8340,
    CmdPlanetFesApplyCardPieceScRsp = 8305,
    CmdPlanetFesGetExtraCardPieceInfoCsReq = 8294,
    CmdPlanetFesGetFriendCardPieceCsReq = 8292,
    CmdPlanetFesGetFriendCardPieceScRsp = 8327,
    CmdPlanetFesEnterNextBusinessDayScRsp = 8313,
    CmdPlanetFesChangeCardPieceApplyPermissionScRsp = 8307,
}
impl CmdPlanetFesExtType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdPlanetFesExtTypeNone",
            Self::CmdPlanetFesApplyCardPieceCsReq => "CmdPlanetFesApplyCardPieceCsReq",
            Self::CmdPlanetFesGetOfferedCardPieceScRsp => {
                "CmdPlanetFesGetOfferedCardPieceScRsp"
            }
            Self::CmdPlanetFesLargeBonusInteractScRsp => {
                "CmdPlanetFesLargeBonusInteractScRsp"
            }
            Self::CmdPlanetFesLargeBonusInteractCsReq => {
                "CmdPlanetFesLargeBonusInteractCsReq"
            }
            Self::CmdPlanetFesGiveCardPieceScRsp => "CmdPlanetFesGiveCardPieceScRsp",
            Self::CmdPlanetFesChangeCardPieceApplyPermissionCsReq => {
                "CmdPlanetFesChangeCardPieceApplyPermissionCsReq"
            }
            Self::CmdPlanetFesHandleCardPieceApplyScRsp => {
                "CmdPlanetFesHandleCardPieceApplyScRsp"
            }
            Self::CmdPlanetFesGetExtraCardPieceInfoScRsp => {
                "CmdPlanetFesGetExtraCardPieceInfoScRsp"
            }
            Self::CmdPlanetFesEnterNextBusinessDayCsReq => {
                "CmdPlanetFesEnterNextBusinessDayCsReq"
            }
            Self::CmdPlanetFesHandleCardPieceApplyCsReq => {
                "CmdPlanetFesHandleCardPieceApplyCsReq"
            }
            Self::CmdPlanetFesGetOfferedCardPieceCsReq => {
                "CmdPlanetFesGetOfferedCardPieceCsReq"
            }
            Self::CmdPlanetFesGiveCardPieceCsReq => "CmdPlanetFesGiveCardPieceCsReq",
            Self::CmdPlanetFesApplyCardPieceScRsp => "CmdPlanetFesApplyCardPieceScRsp",
            Self::CmdPlanetFesGetExtraCardPieceInfoCsReq => {
                "CmdPlanetFesGetExtraCardPieceInfoCsReq"
            }
            Self::CmdPlanetFesGetFriendCardPieceCsReq => {
                "CmdPlanetFesGetFriendCardPieceCsReq"
            }
            Self::CmdPlanetFesGetFriendCardPieceScRsp => {
                "CmdPlanetFesGetFriendCardPieceScRsp"
            }
            Self::CmdPlanetFesEnterNextBusinessDayScRsp => {
                "CmdPlanetFesEnterNextBusinessDayScRsp"
            }
            Self::CmdPlanetFesChangeCardPieceApplyPermissionScRsp => {
                "CmdPlanetFesChangeCardPieceApplyPermissionScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlanetFesExtTypeNone" => Some(Self::None),
            "CmdPlanetFesApplyCardPieceCsReq" => {
                Some(Self::CmdPlanetFesApplyCardPieceCsReq)
            }
            "CmdPlanetFesGetOfferedCardPieceScRsp" => {
                Some(Self::CmdPlanetFesGetOfferedCardPieceScRsp)
            }
            "CmdPlanetFesLargeBonusInteractScRsp" => {
                Some(Self::CmdPlanetFesLargeBonusInteractScRsp)
            }
            "CmdPlanetFesLargeBonusInteractCsReq" => {
                Some(Self::CmdPlanetFesLargeBonusInteractCsReq)
            }
            "CmdPlanetFesGiveCardPieceScRsp" => {
                Some(Self::CmdPlanetFesGiveCardPieceScRsp)
            }
            "CmdPlanetFesChangeCardPieceApplyPermissionCsReq" => {
                Some(Self::CmdPlanetFesChangeCardPieceApplyPermissionCsReq)
            }
            "CmdPlanetFesHandleCardPieceApplyScRsp" => {
                Some(Self::CmdPlanetFesHandleCardPieceApplyScRsp)
            }
            "CmdPlanetFesGetExtraCardPieceInfoScRsp" => {
                Some(Self::CmdPlanetFesGetExtraCardPieceInfoScRsp)
            }
            "CmdPlanetFesEnterNextBusinessDayCsReq" => {
                Some(Self::CmdPlanetFesEnterNextBusinessDayCsReq)
            }
            "CmdPlanetFesHandleCardPieceApplyCsReq" => {
                Some(Self::CmdPlanetFesHandleCardPieceApplyCsReq)
            }
            "CmdPlanetFesGetOfferedCardPieceCsReq" => {
                Some(Self::CmdPlanetFesGetOfferedCardPieceCsReq)
            }
            "CmdPlanetFesGiveCardPieceCsReq" => {
                Some(Self::CmdPlanetFesGiveCardPieceCsReq)
            }
            "CmdPlanetFesApplyCardPieceScRsp" => {
                Some(Self::CmdPlanetFesApplyCardPieceScRsp)
            }
            "CmdPlanetFesGetExtraCardPieceInfoCsReq" => {
                Some(Self::CmdPlanetFesGetExtraCardPieceInfoCsReq)
            }
            "CmdPlanetFesGetFriendCardPieceCsReq" => {
                Some(Self::CmdPlanetFesGetFriendCardPieceCsReq)
            }
            "CmdPlanetFesGetFriendCardPieceScRsp" => {
                Some(Self::CmdPlanetFesGetFriendCardPieceScRsp)
            }
            "CmdPlanetFesEnterNextBusinessDayScRsp" => {
                Some(Self::CmdPlanetFesEnterNextBusinessDayScRsp)
            }
            "CmdPlanetFesChangeCardPieceApplyPermissionScRsp" => {
                Some(Self::CmdPlanetFesChangeCardPieceApplyPermissionScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aopkifdmadi {
    PlanetFesLargeBonusInteractStart = 0,
    PlanetFesLargeBonusInteractReport = 1,
    PlanetFesLargeBonusInteractFinish = 2,
}
impl Aopkifdmadi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PlanetFesLargeBonusInteractStart => {
                "PLANET_FES_LARGE_BONUS_INTERACT_START"
            }
            Self::PlanetFesLargeBonusInteractReport => {
                "PLANET_FES_LARGE_BONUS_INTERACT_REPORT"
            }
            Self::PlanetFesLargeBonusInteractFinish => {
                "PLANET_FES_LARGE_BONUS_INTERACT_FINISH"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLANET_FES_LARGE_BONUS_INTERACT_START" => {
                Some(Self::PlanetFesLargeBonusInteractStart)
            }
            "PLANET_FES_LARGE_BONUS_INTERACT_REPORT" => {
                Some(Self::PlanetFesLargeBonusInteractReport)
            }
            "PLANET_FES_LARGE_BONUS_INTERACT_FINISH" => {
                Some(Self::PlanetFesLargeBonusInteractFinish)
            }
            _ => None,
        }
    }
}
/// Obf: ENDOCLJNEEC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerType {
    None = 0,
    CmdGetBasicInfoCsReq = 86,
    CmdAntiAddictScNotify = 43,
    CmdAvatarPathChangedNotify = 19,
    CmdPlayerHeartBeatScRsp = 1,
    CmdUpdatePsnSettingsInfoCsReq = 12,
    CmdExchangeStaminaCsReq = 46,
    CmdGetGameStateServiceConfigScRsp = 47,
    CmdGateServerScNotify = 53,
    CmdQueryProductInfoScRsp = 13,
    CmdGetBasicInfoScRsp = 100,
    CmdSetAvatarPathCsReq = 15,
    CmdReserveStaminaExchangeScRsp = 4,
    CmdSetNicknameScRsp = 42,
    CmdRetcodeNotify = 34,
    CmdClientObjDownloadDataScNotify = 73,
    CmdUpdatePlayerSettingScRsp = 26,
    CmdGetAuthkeyCsReq = 60,
    CmdStaminaInfoScNotify = 18,
    CmdPlayerGetTokenCsReq = 76,
    CmdGetLevelRewardCsReq = 21,
    CmdSetGenderScRsp = 7,
    CmdAceAntiCheaterCsReq = 87,
    CmdGetVideoVersionKeyCsReq = 49,
    CmdPlayerLoginScRsp = 32,
    CmdSetMultipleAvatarPathsCsReq = 38,
    CmdPlayerLoginFinishCsReq = 17,
    CmdGmTalkCsReq = 56,
    CmdUnlockAvatarPathCsReq = 89,
    CmdPlayerLoginCsReq = 95,
    CmdAceAntiCheaterScRsp = 8,
    CmdUpdatePsnSettingsInfoScRsp = 41,
    CmdGetLevelRewardTakenListScRsp = 58,
    CmdSetRedPointStatusScNotify = 10,
    CmdRegionStopScNotify = 39,
    CmdGetMultiPathAvatarInfoCsReq = 80,
    CmdFeatureSwitchClosedScNotify = 36,
    CmdSetPlayerInfoCsReq = 98,
    CmdServerAnnounceNotify = 14,
    CmdGetLevelRewardScRsp = 29,
    CmdPlayerGetTokenScRsp = 48,
    CmdPlayerKickOutScNotify = 22,
    CmdPlayerLogoutCsReq = 31,
    CmdSetNicknameCsReq = 33,
    CmdSetGameplayBirthdayCsReq = 54,
    CmdSetPlayerInfoScRsp = 64,
    CmdSetGameplayBirthdayScRsp = 99,
    CmdSetLanguageScRsp = 25,
    CmdExchangeStaminaScRsp = 83,
    CmdPlayerLoginFinishScRsp = 69,
    CmdReserveStaminaExchangeCsReq = 70,
    CmdSetAvatarPathScRsp = 55,
    CmdGetSecretKeyInfoCsReq = 74,
    CmdPlayerHeartBeatCsReq = 68,
    CmdDailyRefreshNotify = 9,
    CmdGetVideoVersionKeyScRsp = 3,
    CmdUpdateFeatureSwitchScNotify = 20,
    CmdUnlockAvatarPathScRsp = 88,
    CmdGetLevelRewardTakenListCsReq = 77,
    CmdSetLanguageCsReq = 93,
    CmdSetGenderCsReq = 57,
    CmdPlayerLogoutScRsp = 40,
    CmdUpdatePlayerSettingCsReq = 44,
    CmdClientObjUploadCsReq = 67,
    CmdQueryProductInfoCsReq = 45,
    CmdGmTalkScNotify = 52,
    CmdClientDownloadDataScNotify = 78,
    CmdClientObjUploadScRsp = 96,
    CmdGetMultiPathAvatarInfoScRsp = 50,
    CmdSetMultipleAvatarPathsScRsp = 5,
    CmdGetGameStateServiceConfigCsReq = 82,
    CmdMonthCardRewardNotify = 35,
    CmdGetAuthkeyScRsp = 2,
    CmdGmTalkScRsp = 72,
    CmdGetSecretKeyInfoScRsp = 90,
}
impl CmdPlayerType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdPlayerTypeNone",
            Self::CmdGetBasicInfoCsReq => "CmdGetBasicInfoCsReq",
            Self::CmdAntiAddictScNotify => "CmdAntiAddictScNotify",
            Self::CmdAvatarPathChangedNotify => "CmdAvatarPathChangedNotify",
            Self::CmdPlayerHeartBeatScRsp => "CmdPlayerHeartBeatScRsp",
            Self::CmdUpdatePsnSettingsInfoCsReq => "CmdUpdatePsnSettingsInfoCsReq",
            Self::CmdExchangeStaminaCsReq => "CmdExchangeStaminaCsReq",
            Self::CmdGetGameStateServiceConfigScRsp => {
                "CmdGetGameStateServiceConfigScRsp"
            }
            Self::CmdGateServerScNotify => "CmdGateServerScNotify",
            Self::CmdQueryProductInfoScRsp => "CmdQueryProductInfoScRsp",
            Self::CmdGetBasicInfoScRsp => "CmdGetBasicInfoScRsp",
            Self::CmdSetAvatarPathCsReq => "CmdSetAvatarPathCsReq",
            Self::CmdReserveStaminaExchangeScRsp => "CmdReserveStaminaExchangeScRsp",
            Self::CmdSetNicknameScRsp => "CmdSetNicknameScRsp",
            Self::CmdRetcodeNotify => "CmdRetcodeNotify",
            Self::CmdClientObjDownloadDataScNotify => "CmdClientObjDownloadDataScNotify",
            Self::CmdUpdatePlayerSettingScRsp => "CmdUpdatePlayerSettingScRsp",
            Self::CmdGetAuthkeyCsReq => "CmdGetAuthkeyCsReq",
            Self::CmdStaminaInfoScNotify => "CmdStaminaInfoScNotify",
            Self::CmdPlayerGetTokenCsReq => "CmdPlayerGetTokenCsReq",
            Self::CmdGetLevelRewardCsReq => "CmdGetLevelRewardCsReq",
            Self::CmdSetGenderScRsp => "CmdSetGenderScRsp",
            Self::CmdAceAntiCheaterCsReq => "CmdAceAntiCheaterCsReq",
            Self::CmdGetVideoVersionKeyCsReq => "CmdGetVideoVersionKeyCsReq",
            Self::CmdPlayerLoginScRsp => "CmdPlayerLoginScRsp",
            Self::CmdSetMultipleAvatarPathsCsReq => "CmdSetMultipleAvatarPathsCsReq",
            Self::CmdPlayerLoginFinishCsReq => "CmdPlayerLoginFinishCsReq",
            Self::CmdGmTalkCsReq => "CmdGmTalkCsReq",
            Self::CmdUnlockAvatarPathCsReq => "CmdUnlockAvatarPathCsReq",
            Self::CmdPlayerLoginCsReq => "CmdPlayerLoginCsReq",
            Self::CmdAceAntiCheaterScRsp => "CmdAceAntiCheaterScRsp",
            Self::CmdUpdatePsnSettingsInfoScRsp => "CmdUpdatePsnSettingsInfoScRsp",
            Self::CmdGetLevelRewardTakenListScRsp => "CmdGetLevelRewardTakenListScRsp",
            Self::CmdSetRedPointStatusScNotify => "CmdSetRedPointStatusScNotify",
            Self::CmdRegionStopScNotify => "CmdRegionStopScNotify",
            Self::CmdGetMultiPathAvatarInfoCsReq => "CmdGetMultiPathAvatarInfoCsReq",
            Self::CmdFeatureSwitchClosedScNotify => "CmdFeatureSwitchClosedScNotify",
            Self::CmdSetPlayerInfoCsReq => "CmdSetPlayerInfoCsReq",
            Self::CmdServerAnnounceNotify => "CmdServerAnnounceNotify",
            Self::CmdGetLevelRewardScRsp => "CmdGetLevelRewardScRsp",
            Self::CmdPlayerGetTokenScRsp => "CmdPlayerGetTokenScRsp",
            Self::CmdPlayerKickOutScNotify => "CmdPlayerKickOutScNotify",
            Self::CmdPlayerLogoutCsReq => "CmdPlayerLogoutCsReq",
            Self::CmdSetNicknameCsReq => "CmdSetNicknameCsReq",
            Self::CmdSetGameplayBirthdayCsReq => "CmdSetGameplayBirthdayCsReq",
            Self::CmdSetPlayerInfoScRsp => "CmdSetPlayerInfoScRsp",
            Self::CmdSetGameplayBirthdayScRsp => "CmdSetGameplayBirthdayScRsp",
            Self::CmdSetLanguageScRsp => "CmdSetLanguageScRsp",
            Self::CmdExchangeStaminaScRsp => "CmdExchangeStaminaScRsp",
            Self::CmdPlayerLoginFinishScRsp => "CmdPlayerLoginFinishScRsp",
            Self::CmdReserveStaminaExchangeCsReq => "CmdReserveStaminaExchangeCsReq",
            Self::CmdSetAvatarPathScRsp => "CmdSetAvatarPathScRsp",
            Self::CmdGetSecretKeyInfoCsReq => "CmdGetSecretKeyInfoCsReq",
            Self::CmdPlayerHeartBeatCsReq => "CmdPlayerHeartBeatCsReq",
            Self::CmdDailyRefreshNotify => "CmdDailyRefreshNotify",
            Self::CmdGetVideoVersionKeyScRsp => "CmdGetVideoVersionKeyScRsp",
            Self::CmdUpdateFeatureSwitchScNotify => "CmdUpdateFeatureSwitchScNotify",
            Self::CmdUnlockAvatarPathScRsp => "CmdUnlockAvatarPathScRsp",
            Self::CmdGetLevelRewardTakenListCsReq => "CmdGetLevelRewardTakenListCsReq",
            Self::CmdSetLanguageCsReq => "CmdSetLanguageCsReq",
            Self::CmdSetGenderCsReq => "CmdSetGenderCsReq",
            Self::CmdPlayerLogoutScRsp => "CmdPlayerLogoutScRsp",
            Self::CmdUpdatePlayerSettingCsReq => "CmdUpdatePlayerSettingCsReq",
            Self::CmdClientObjUploadCsReq => "CmdClientObjUploadCsReq",
            Self::CmdQueryProductInfoCsReq => "CmdQueryProductInfoCsReq",
            Self::CmdGmTalkScNotify => "CmdGmTalkScNotify",
            Self::CmdClientDownloadDataScNotify => "CmdClientDownloadDataScNotify",
            Self::CmdClientObjUploadScRsp => "CmdClientObjUploadScRsp",
            Self::CmdGetMultiPathAvatarInfoScRsp => "CmdGetMultiPathAvatarInfoScRsp",
            Self::CmdSetMultipleAvatarPathsScRsp => "CmdSetMultipleAvatarPathsScRsp",
            Self::CmdGetGameStateServiceConfigCsReq => {
                "CmdGetGameStateServiceConfigCsReq"
            }
            Self::CmdMonthCardRewardNotify => "CmdMonthCardRewardNotify",
            Self::CmdGetAuthkeyScRsp => "CmdGetAuthkeyScRsp",
            Self::CmdGmTalkScRsp => "CmdGmTalkScRsp",
            Self::CmdGetSecretKeyInfoScRsp => "CmdGetSecretKeyInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlayerTypeNone" => Some(Self::None),
            "CmdGetBasicInfoCsReq" => Some(Self::CmdGetBasicInfoCsReq),
            "CmdAntiAddictScNotify" => Some(Self::CmdAntiAddictScNotify),
            "CmdAvatarPathChangedNotify" => Some(Self::CmdAvatarPathChangedNotify),
            "CmdPlayerHeartBeatScRsp" => Some(Self::CmdPlayerHeartBeatScRsp),
            "CmdUpdatePsnSettingsInfoCsReq" => Some(Self::CmdUpdatePsnSettingsInfoCsReq),
            "CmdExchangeStaminaCsReq" => Some(Self::CmdExchangeStaminaCsReq),
            "CmdGetGameStateServiceConfigScRsp" => {
                Some(Self::CmdGetGameStateServiceConfigScRsp)
            }
            "CmdGateServerScNotify" => Some(Self::CmdGateServerScNotify),
            "CmdQueryProductInfoScRsp" => Some(Self::CmdQueryProductInfoScRsp),
            "CmdGetBasicInfoScRsp" => Some(Self::CmdGetBasicInfoScRsp),
            "CmdSetAvatarPathCsReq" => Some(Self::CmdSetAvatarPathCsReq),
            "CmdReserveStaminaExchangeScRsp" => {
                Some(Self::CmdReserveStaminaExchangeScRsp)
            }
            "CmdSetNicknameScRsp" => Some(Self::CmdSetNicknameScRsp),
            "CmdRetcodeNotify" => Some(Self::CmdRetcodeNotify),
            "CmdClientObjDownloadDataScNotify" => {
                Some(Self::CmdClientObjDownloadDataScNotify)
            }
            "CmdUpdatePlayerSettingScRsp" => Some(Self::CmdUpdatePlayerSettingScRsp),
            "CmdGetAuthkeyCsReq" => Some(Self::CmdGetAuthkeyCsReq),
            "CmdStaminaInfoScNotify" => Some(Self::CmdStaminaInfoScNotify),
            "CmdPlayerGetTokenCsReq" => Some(Self::CmdPlayerGetTokenCsReq),
            "CmdGetLevelRewardCsReq" => Some(Self::CmdGetLevelRewardCsReq),
            "CmdSetGenderScRsp" => Some(Self::CmdSetGenderScRsp),
            "CmdAceAntiCheaterCsReq" => Some(Self::CmdAceAntiCheaterCsReq),
            "CmdGetVideoVersionKeyCsReq" => Some(Self::CmdGetVideoVersionKeyCsReq),
            "CmdPlayerLoginScRsp" => Some(Self::CmdPlayerLoginScRsp),
            "CmdSetMultipleAvatarPathsCsReq" => {
                Some(Self::CmdSetMultipleAvatarPathsCsReq)
            }
            "CmdPlayerLoginFinishCsReq" => Some(Self::CmdPlayerLoginFinishCsReq),
            "CmdGmTalkCsReq" => Some(Self::CmdGmTalkCsReq),
            "CmdUnlockAvatarPathCsReq" => Some(Self::CmdUnlockAvatarPathCsReq),
            "CmdPlayerLoginCsReq" => Some(Self::CmdPlayerLoginCsReq),
            "CmdAceAntiCheaterScRsp" => Some(Self::CmdAceAntiCheaterScRsp),
            "CmdUpdatePsnSettingsInfoScRsp" => Some(Self::CmdUpdatePsnSettingsInfoScRsp),
            "CmdGetLevelRewardTakenListScRsp" => {
                Some(Self::CmdGetLevelRewardTakenListScRsp)
            }
            "CmdSetRedPointStatusScNotify" => Some(Self::CmdSetRedPointStatusScNotify),
            "CmdRegionStopScNotify" => Some(Self::CmdRegionStopScNotify),
            "CmdGetMultiPathAvatarInfoCsReq" => {
                Some(Self::CmdGetMultiPathAvatarInfoCsReq)
            }
            "CmdFeatureSwitchClosedScNotify" => {
                Some(Self::CmdFeatureSwitchClosedScNotify)
            }
            "CmdSetPlayerInfoCsReq" => Some(Self::CmdSetPlayerInfoCsReq),
            "CmdServerAnnounceNotify" => Some(Self::CmdServerAnnounceNotify),
            "CmdGetLevelRewardScRsp" => Some(Self::CmdGetLevelRewardScRsp),
            "CmdPlayerGetTokenScRsp" => Some(Self::CmdPlayerGetTokenScRsp),
            "CmdPlayerKickOutScNotify" => Some(Self::CmdPlayerKickOutScNotify),
            "CmdPlayerLogoutCsReq" => Some(Self::CmdPlayerLogoutCsReq),
            "CmdSetNicknameCsReq" => Some(Self::CmdSetNicknameCsReq),
            "CmdSetGameplayBirthdayCsReq" => Some(Self::CmdSetGameplayBirthdayCsReq),
            "CmdSetPlayerInfoScRsp" => Some(Self::CmdSetPlayerInfoScRsp),
            "CmdSetGameplayBirthdayScRsp" => Some(Self::CmdSetGameplayBirthdayScRsp),
            "CmdSetLanguageScRsp" => Some(Self::CmdSetLanguageScRsp),
            "CmdExchangeStaminaScRsp" => Some(Self::CmdExchangeStaminaScRsp),
            "CmdPlayerLoginFinishScRsp" => Some(Self::CmdPlayerLoginFinishScRsp),
            "CmdReserveStaminaExchangeCsReq" => {
                Some(Self::CmdReserveStaminaExchangeCsReq)
            }
            "CmdSetAvatarPathScRsp" => Some(Self::CmdSetAvatarPathScRsp),
            "CmdGetSecretKeyInfoCsReq" => Some(Self::CmdGetSecretKeyInfoCsReq),
            "CmdPlayerHeartBeatCsReq" => Some(Self::CmdPlayerHeartBeatCsReq),
            "CmdDailyRefreshNotify" => Some(Self::CmdDailyRefreshNotify),
            "CmdGetVideoVersionKeyScRsp" => Some(Self::CmdGetVideoVersionKeyScRsp),
            "CmdUpdateFeatureSwitchScNotify" => {
                Some(Self::CmdUpdateFeatureSwitchScNotify)
            }
            "CmdUnlockAvatarPathScRsp" => Some(Self::CmdUnlockAvatarPathScRsp),
            "CmdGetLevelRewardTakenListCsReq" => {
                Some(Self::CmdGetLevelRewardTakenListCsReq)
            }
            "CmdSetLanguageCsReq" => Some(Self::CmdSetLanguageCsReq),
            "CmdSetGenderCsReq" => Some(Self::CmdSetGenderCsReq),
            "CmdPlayerLogoutScRsp" => Some(Self::CmdPlayerLogoutScRsp),
            "CmdUpdatePlayerSettingCsReq" => Some(Self::CmdUpdatePlayerSettingCsReq),
            "CmdClientObjUploadCsReq" => Some(Self::CmdClientObjUploadCsReq),
            "CmdQueryProductInfoCsReq" => Some(Self::CmdQueryProductInfoCsReq),
            "CmdGmTalkScNotify" => Some(Self::CmdGmTalkScNotify),
            "CmdClientDownloadDataScNotify" => Some(Self::CmdClientDownloadDataScNotify),
            "CmdClientObjUploadScRsp" => Some(Self::CmdClientObjUploadScRsp),
            "CmdGetMultiPathAvatarInfoScRsp" => {
                Some(Self::CmdGetMultiPathAvatarInfoScRsp)
            }
            "CmdSetMultipleAvatarPathsScRsp" => {
                Some(Self::CmdSetMultipleAvatarPathsScRsp)
            }
            "CmdGetGameStateServiceConfigCsReq" => {
                Some(Self::CmdGetGameStateServiceConfigCsReq)
            }
            "CmdMonthCardRewardNotify" => Some(Self::CmdMonthCardRewardNotify),
            "CmdGetAuthkeyScRsp" => Some(Self::CmdGetAuthkeyScRsp),
            "CmdGmTalkScRsp" => Some(Self::CmdGmTalkScRsp),
            "CmdGetSecretKeyInfoScRsp" => Some(Self::CmdGetSecretKeyInfoScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ilpmnldgeak {
    AuthkeySignTypeNone = 0,
    AuthkeySignTypeDefault = 1,
    AuthkeySignTypeRsa = 2,
}
impl Ilpmnldgeak {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AuthkeySignTypeNone => "AUTHKEY_SIGN_TYPE_NONE",
            Self::AuthkeySignTypeDefault => "AUTHKEY_SIGN_TYPE_DEFAULT",
            Self::AuthkeySignTypeRsa => "AUTHKEY_SIGN_TYPE_RSA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AUTHKEY_SIGN_TYPE_NONE" => Some(Self::AuthkeySignTypeNone),
            "AUTHKEY_SIGN_TYPE_DEFAULT" => Some(Self::AuthkeySignTypeDefault),
            "AUTHKEY_SIGN_TYPE_RSA" => Some(Self::AuthkeySignTypeRsa),
            _ => None,
        }
    }
}
/// Obf: LEPEOCNCMAD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerBoardType {
    None = 0,
    CmdSetIsDisplayAvatarInfoCsReq = 2871,
    CmdSetPersonalCardScRsp = 2883,
    CmdSetPersonalCardCsReq = 2846,
    CmdSetAssistAvatarCsReq = 2885,
    CmdSetDisplayAvatarCsReq = 2876,
    CmdSetHeadIconScRsp = 2840,
    CmdSetSignatureScRsp = 2872,
    CmdSetIsDisplayAvatarInfoScRsp = 2852,
    CmdSetAssistAvatarScRsp = 2816,
    CmdGetPlayerBoardDataCsReq = 2895,
    CmdGetPlayerBoardDataScRsp = 2832,
    CmdSetDisplayAvatarScRsp = 2848,
    CmdUnlockHeadIconScNotify = 2822,
    CmdSetSignatureCsReq = 2856,
    CmdSetHeadIconCsReq = 2831,
}
impl CmdPlayerBoardType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdPlayerBoardTypeNone",
            Self::CmdSetIsDisplayAvatarInfoCsReq => "CmdSetIsDisplayAvatarInfoCsReq",
            Self::CmdSetPersonalCardScRsp => "CmdSetPersonalCardScRsp",
            Self::CmdSetPersonalCardCsReq => "CmdSetPersonalCardCsReq",
            Self::CmdSetAssistAvatarCsReq => "CmdSetAssistAvatarCsReq",
            Self::CmdSetDisplayAvatarCsReq => "CmdSetDisplayAvatarCsReq",
            Self::CmdSetHeadIconScRsp => "CmdSetHeadIconScRsp",
            Self::CmdSetSignatureScRsp => "CmdSetSignatureScRsp",
            Self::CmdSetIsDisplayAvatarInfoScRsp => "CmdSetIsDisplayAvatarInfoScRsp",
            Self::CmdSetAssistAvatarScRsp => "CmdSetAssistAvatarScRsp",
            Self::CmdGetPlayerBoardDataCsReq => "CmdGetPlayerBoardDataCsReq",
            Self::CmdGetPlayerBoardDataScRsp => "CmdGetPlayerBoardDataScRsp",
            Self::CmdSetDisplayAvatarScRsp => "CmdSetDisplayAvatarScRsp",
            Self::CmdUnlockHeadIconScNotify => "CmdUnlockHeadIconScNotify",
            Self::CmdSetSignatureCsReq => "CmdSetSignatureCsReq",
            Self::CmdSetHeadIconCsReq => "CmdSetHeadIconCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlayerBoardTypeNone" => Some(Self::None),
            "CmdSetIsDisplayAvatarInfoCsReq" => {
                Some(Self::CmdSetIsDisplayAvatarInfoCsReq)
            }
            "CmdSetPersonalCardScRsp" => Some(Self::CmdSetPersonalCardScRsp),
            "CmdSetPersonalCardCsReq" => Some(Self::CmdSetPersonalCardCsReq),
            "CmdSetAssistAvatarCsReq" => Some(Self::CmdSetAssistAvatarCsReq),
            "CmdSetDisplayAvatarCsReq" => Some(Self::CmdSetDisplayAvatarCsReq),
            "CmdSetHeadIconScRsp" => Some(Self::CmdSetHeadIconScRsp),
            "CmdSetSignatureScRsp" => Some(Self::CmdSetSignatureScRsp),
            "CmdSetIsDisplayAvatarInfoScRsp" => {
                Some(Self::CmdSetIsDisplayAvatarInfoScRsp)
            }
            "CmdSetAssistAvatarScRsp" => Some(Self::CmdSetAssistAvatarScRsp),
            "CmdGetPlayerBoardDataCsReq" => Some(Self::CmdGetPlayerBoardDataCsReq),
            "CmdGetPlayerBoardDataScRsp" => Some(Self::CmdGetPlayerBoardDataScRsp),
            "CmdSetDisplayAvatarScRsp" => Some(Self::CmdSetDisplayAvatarScRsp),
            "CmdUnlockHeadIconScNotify" => Some(Self::CmdUnlockHeadIconScNotify),
            "CmdSetSignatureCsReq" => Some(Self::CmdSetSignatureCsReq),
            "CmdSetHeadIconCsReq" => Some(Self::CmdSetHeadIconCsReq),
            _ => None,
        }
    }
}
/// Obf: MPDJCJPDFGJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerReturnType {
    None = 0,
    CmdPlayerReturnTakePointRewardScRsp = 4548,
    CmdPlayerReturnTakeRewardScRsp = 4552,
    CmdPlayerReturnForceFinishScNotify = 4572,
    CmdPlayerReturnTakeRewardCsReq = 4571,
    CmdPlayerReturnInfoQueryCsReq = 4522,
    CmdPlayerReturnTakeRelicCsReq = 4585,
    CmdPlayerReturnSignCsReq = 4532,
    CmdPlayerReturnTakeRelicScRsp = 4516,
    CmdPlayerReturnPointChangeScNotify = 4540,
    CmdPlayerReturnStartScNotify = 4595,
    CmdPlayerReturnTakePointRewardCsReq = 4576,
    CmdPlayerReturnSignScRsp = 4531,
    CmdPlayerReturnInfoQueryScRsp = 4556,
}
impl CmdPlayerReturnType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdPlayerReturnTypeNone",
            Self::CmdPlayerReturnTakePointRewardScRsp => {
                "CmdPlayerReturnTakePointRewardScRsp"
            }
            Self::CmdPlayerReturnTakeRewardScRsp => "CmdPlayerReturnTakeRewardScRsp",
            Self::CmdPlayerReturnForceFinishScNotify => {
                "CmdPlayerReturnForceFinishScNotify"
            }
            Self::CmdPlayerReturnTakeRewardCsReq => "CmdPlayerReturnTakeRewardCsReq",
            Self::CmdPlayerReturnInfoQueryCsReq => "CmdPlayerReturnInfoQueryCsReq",
            Self::CmdPlayerReturnTakeRelicCsReq => "CmdPlayerReturnTakeRelicCsReq",
            Self::CmdPlayerReturnSignCsReq => "CmdPlayerReturnSignCsReq",
            Self::CmdPlayerReturnTakeRelicScRsp => "CmdPlayerReturnTakeRelicScRsp",
            Self::CmdPlayerReturnPointChangeScNotify => {
                "CmdPlayerReturnPointChangeScNotify"
            }
            Self::CmdPlayerReturnStartScNotify => "CmdPlayerReturnStartScNotify",
            Self::CmdPlayerReturnTakePointRewardCsReq => {
                "CmdPlayerReturnTakePointRewardCsReq"
            }
            Self::CmdPlayerReturnSignScRsp => "CmdPlayerReturnSignScRsp",
            Self::CmdPlayerReturnInfoQueryScRsp => "CmdPlayerReturnInfoQueryScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlayerReturnTypeNone" => Some(Self::None),
            "CmdPlayerReturnTakePointRewardScRsp" => {
                Some(Self::CmdPlayerReturnTakePointRewardScRsp)
            }
            "CmdPlayerReturnTakeRewardScRsp" => {
                Some(Self::CmdPlayerReturnTakeRewardScRsp)
            }
            "CmdPlayerReturnForceFinishScNotify" => {
                Some(Self::CmdPlayerReturnForceFinishScNotify)
            }
            "CmdPlayerReturnTakeRewardCsReq" => {
                Some(Self::CmdPlayerReturnTakeRewardCsReq)
            }
            "CmdPlayerReturnInfoQueryCsReq" => Some(Self::CmdPlayerReturnInfoQueryCsReq),
            "CmdPlayerReturnTakeRelicCsReq" => Some(Self::CmdPlayerReturnTakeRelicCsReq),
            "CmdPlayerReturnSignCsReq" => Some(Self::CmdPlayerReturnSignCsReq),
            "CmdPlayerReturnTakeRelicScRsp" => Some(Self::CmdPlayerReturnTakeRelicScRsp),
            "CmdPlayerReturnPointChangeScNotify" => {
                Some(Self::CmdPlayerReturnPointChangeScNotify)
            }
            "CmdPlayerReturnStartScNotify" => Some(Self::CmdPlayerReturnStartScNotify),
            "CmdPlayerReturnTakePointRewardCsReq" => {
                Some(Self::CmdPlayerReturnTakePointRewardCsReq)
            }
            "CmdPlayerReturnSignScRsp" => Some(Self::CmdPlayerReturnSignScRsp),
            "CmdPlayerReturnInfoQueryScRsp" => Some(Self::CmdPlayerReturnInfoQueryScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nobpmmnfenj {
    PlayerReturnNone = 0,
    PlayerReturnProcessing = 1,
    PlayerReturnFinish = 2,
}
impl Nobpmmnfenj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PlayerReturnNone => "PLAYER_RETURN_NONE",
            Self::PlayerReturnProcessing => "PLAYER_RETURN_PROCESSING",
            Self::PlayerReturnFinish => "PLAYER_RETURN_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLAYER_RETURN_NONE" => Some(Self::PlayerReturnNone),
            "PLAYER_RETURN_PROCESSING" => Some(Self::PlayerReturnProcessing),
            "PLAYER_RETURN_FINISH" => Some(Self::PlayerReturnFinish),
            _ => None,
        }
    }
}
/// Obf: NINNNHBFPFO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlotType {
    None = 0,
    CmdFinishPlotCsReq = 1195,
    CmdFinishPlotScRsp = 1132,
}
impl CmdPlotType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdPlotTypeNone",
            Self::CmdFinishPlotCsReq => "CmdFinishPlotCsReq",
            Self::CmdFinishPlotScRsp => "CmdFinishPlotScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlotTypeNone" => Some(Self::None),
            "CmdFinishPlotCsReq" => Some(Self::CmdFinishPlotCsReq),
            "CmdFinishPlotScRsp" => Some(Self::CmdFinishPlotScRsp),
            _ => None,
        }
    }
}
/// Obf: GAMDHCOLEIC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPunkLordType {
    None = 0,
    CmdSharePunkLordMonsterCsReq = 3276,
    CmdPunkLordMonsterInfoScNotify = 3283,
    CmdGetPunkLordMonsterDataCsReq = 3295,
    CmdPunkLordRaidTimeOutScNotify = 3243,
    CmdStartPunkLordRaidCsReq = 3231,
    CmdGetPunkLordBattleRecordScRsp = 3230,
    CmdTakeKilledPunkLordMonsterScoreCsReq = 3225,
    CmdPunkLordMonsterKilledNotify = 3293,
    CmdGetPunkLordMonsterDataScRsp = 3232,
    CmdSummonPunkLordMonsterScRsp = 3252,
    CmdGetPunkLordDataScRsp = 3202,
    CmdSummonPunkLordMonsterCsReq = 3271,
    CmdTakePunkLordPointRewardScRsp = 3246,
    CmdTakePunkLordPointRewardCsReq = 3216,
    CmdPunkLordBattleResultScNotify = 3258,
    CmdGetPunkLordBattleRecordCsReq = 3237,
    CmdGetPunkLordDataCsReq = 3260,
    CmdPunkLordDataChangeNotify = 3284,
    CmdTakeKilledPunkLordMonsterScoreScRsp = 3214,
    CmdGetKilledPunkLordMonsterDataCsReq = 3221,
    CmdSharePunkLordMonsterScRsp = 3248,
    CmdStartPunkLordRaidScRsp = 3240,
    CmdGetKilledPunkLordMonsterDataScRsp = 3229,
}
impl CmdPunkLordType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdPunkLordTypeNone",
            Self::CmdSharePunkLordMonsterCsReq => "CmdSharePunkLordMonsterCsReq",
            Self::CmdPunkLordMonsterInfoScNotify => "CmdPunkLordMonsterInfoScNotify",
            Self::CmdGetPunkLordMonsterDataCsReq => "CmdGetPunkLordMonsterDataCsReq",
            Self::CmdPunkLordRaidTimeOutScNotify => "CmdPunkLordRaidTimeOutScNotify",
            Self::CmdStartPunkLordRaidCsReq => "CmdStartPunkLordRaidCsReq",
            Self::CmdGetPunkLordBattleRecordScRsp => "CmdGetPunkLordBattleRecordScRsp",
            Self::CmdTakeKilledPunkLordMonsterScoreCsReq => {
                "CmdTakeKilledPunkLordMonsterScoreCsReq"
            }
            Self::CmdPunkLordMonsterKilledNotify => "CmdPunkLordMonsterKilledNotify",
            Self::CmdGetPunkLordMonsterDataScRsp => "CmdGetPunkLordMonsterDataScRsp",
            Self::CmdSummonPunkLordMonsterScRsp => "CmdSummonPunkLordMonsterScRsp",
            Self::CmdGetPunkLordDataScRsp => "CmdGetPunkLordDataScRsp",
            Self::CmdSummonPunkLordMonsterCsReq => "CmdSummonPunkLordMonsterCsReq",
            Self::CmdTakePunkLordPointRewardScRsp => "CmdTakePunkLordPointRewardScRsp",
            Self::CmdTakePunkLordPointRewardCsReq => "CmdTakePunkLordPointRewardCsReq",
            Self::CmdPunkLordBattleResultScNotify => "CmdPunkLordBattleResultScNotify",
            Self::CmdGetPunkLordBattleRecordCsReq => "CmdGetPunkLordBattleRecordCsReq",
            Self::CmdGetPunkLordDataCsReq => "CmdGetPunkLordDataCsReq",
            Self::CmdPunkLordDataChangeNotify => "CmdPunkLordDataChangeNotify",
            Self::CmdTakeKilledPunkLordMonsterScoreScRsp => {
                "CmdTakeKilledPunkLordMonsterScoreScRsp"
            }
            Self::CmdGetKilledPunkLordMonsterDataCsReq => {
                "CmdGetKilledPunkLordMonsterDataCsReq"
            }
            Self::CmdSharePunkLordMonsterScRsp => "CmdSharePunkLordMonsterScRsp",
            Self::CmdStartPunkLordRaidScRsp => "CmdStartPunkLordRaidScRsp",
            Self::CmdGetKilledPunkLordMonsterDataScRsp => {
                "CmdGetKilledPunkLordMonsterDataScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPunkLordTypeNone" => Some(Self::None),
            "CmdSharePunkLordMonsterCsReq" => Some(Self::CmdSharePunkLordMonsterCsReq),
            "CmdPunkLordMonsterInfoScNotify" => {
                Some(Self::CmdPunkLordMonsterInfoScNotify)
            }
            "CmdGetPunkLordMonsterDataCsReq" => {
                Some(Self::CmdGetPunkLordMonsterDataCsReq)
            }
            "CmdPunkLordRaidTimeOutScNotify" => {
                Some(Self::CmdPunkLordRaidTimeOutScNotify)
            }
            "CmdStartPunkLordRaidCsReq" => Some(Self::CmdStartPunkLordRaidCsReq),
            "CmdGetPunkLordBattleRecordScRsp" => {
                Some(Self::CmdGetPunkLordBattleRecordScRsp)
            }
            "CmdTakeKilledPunkLordMonsterScoreCsReq" => {
                Some(Self::CmdTakeKilledPunkLordMonsterScoreCsReq)
            }
            "CmdPunkLordMonsterKilledNotify" => {
                Some(Self::CmdPunkLordMonsterKilledNotify)
            }
            "CmdGetPunkLordMonsterDataScRsp" => {
                Some(Self::CmdGetPunkLordMonsterDataScRsp)
            }
            "CmdSummonPunkLordMonsterScRsp" => Some(Self::CmdSummonPunkLordMonsterScRsp),
            "CmdGetPunkLordDataScRsp" => Some(Self::CmdGetPunkLordDataScRsp),
            "CmdSummonPunkLordMonsterCsReq" => Some(Self::CmdSummonPunkLordMonsterCsReq),
            "CmdTakePunkLordPointRewardScRsp" => {
                Some(Self::CmdTakePunkLordPointRewardScRsp)
            }
            "CmdTakePunkLordPointRewardCsReq" => {
                Some(Self::CmdTakePunkLordPointRewardCsReq)
            }
            "CmdPunkLordBattleResultScNotify" => {
                Some(Self::CmdPunkLordBattleResultScNotify)
            }
            "CmdGetPunkLordBattleRecordCsReq" => {
                Some(Self::CmdGetPunkLordBattleRecordCsReq)
            }
            "CmdGetPunkLordDataCsReq" => Some(Self::CmdGetPunkLordDataCsReq),
            "CmdPunkLordDataChangeNotify" => Some(Self::CmdPunkLordDataChangeNotify),
            "CmdTakeKilledPunkLordMonsterScoreScRsp" => {
                Some(Self::CmdTakeKilledPunkLordMonsterScoreScRsp)
            }
            "CmdGetKilledPunkLordMonsterDataCsReq" => {
                Some(Self::CmdGetKilledPunkLordMonsterDataCsReq)
            }
            "CmdSharePunkLordMonsterScRsp" => Some(Self::CmdSharePunkLordMonsterScRsp),
            "CmdStartPunkLordRaidScRsp" => Some(Self::CmdStartPunkLordRaidScRsp),
            "CmdGetKilledPunkLordMonsterDataScRsp" => {
                Some(Self::CmdGetKilledPunkLordMonsterDataScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nlefpbicecn {
    PunkLordOperationNone = 0,
    PunkLordOperationRefresh = 1,
    PunkLordOperationShare = 2,
    PunkLordOperationStartRaid = 3,
    PunkLordOperationGetBattleRecord = 4,
}
impl Nlefpbicecn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PunkLordOperationNone => "PUNK_LORD_OPERATION_NONE",
            Self::PunkLordOperationRefresh => "PUNK_LORD_OPERATION_REFRESH",
            Self::PunkLordOperationShare => "PUNK_LORD_OPERATION_SHARE",
            Self::PunkLordOperationStartRaid => "PUNK_LORD_OPERATION_START_RAID",
            Self::PunkLordOperationGetBattleRecord => {
                "PUNK_LORD_OPERATION_GET_BATTLE_RECORD"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PUNK_LORD_OPERATION_NONE" => Some(Self::PunkLordOperationNone),
            "PUNK_LORD_OPERATION_REFRESH" => Some(Self::PunkLordOperationRefresh),
            "PUNK_LORD_OPERATION_SHARE" => Some(Self::PunkLordOperationShare),
            "PUNK_LORD_OPERATION_START_RAID" => Some(Self::PunkLordOperationStartRaid),
            "PUNK_LORD_OPERATION_GET_BATTLE_RECORD" => {
                Some(Self::PunkLordOperationGetBattleRecord)
            }
            _ => None,
        }
    }
}
/// Obf: HDGLIIEHOLC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdQuestType {
    None = 0,
    CmdTakeQuestOptionalRewardCsReq = 985,
    CmdGetQuestRecordCsReq = 971,
    CmdTakeQuestRewardCsReq = 931,
    CmdTakeQuestOptionalRewardScRsp = 916,
    CmdQuestRecordScNotify = 922,
    CmdTakeQuestRewardScRsp = 940,
    CmdGetQuestDataScRsp = 932,
    CmdGetQuestDataCsReq = 995,
    CmdGetQuestRecordScRsp = 952,
    CmdBatchGetQuestDataCsReq = 983,
    CmdFinishQuestCsReq = 956,
    CmdBatchGetQuestDataScRsp = 960,
    CmdFinishQuestScRsp = 972,
}
impl CmdQuestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdQuestTypeNone",
            Self::CmdTakeQuestOptionalRewardCsReq => "CmdTakeQuestOptionalRewardCsReq",
            Self::CmdGetQuestRecordCsReq => "CmdGetQuestRecordCsReq",
            Self::CmdTakeQuestRewardCsReq => "CmdTakeQuestRewardCsReq",
            Self::CmdTakeQuestOptionalRewardScRsp => "CmdTakeQuestOptionalRewardScRsp",
            Self::CmdQuestRecordScNotify => "CmdQuestRecordScNotify",
            Self::CmdTakeQuestRewardScRsp => "CmdTakeQuestRewardScRsp",
            Self::CmdGetQuestDataScRsp => "CmdGetQuestDataScRsp",
            Self::CmdGetQuestDataCsReq => "CmdGetQuestDataCsReq",
            Self::CmdGetQuestRecordScRsp => "CmdGetQuestRecordScRsp",
            Self::CmdBatchGetQuestDataCsReq => "CmdBatchGetQuestDataCsReq",
            Self::CmdFinishQuestCsReq => "CmdFinishQuestCsReq",
            Self::CmdBatchGetQuestDataScRsp => "CmdBatchGetQuestDataScRsp",
            Self::CmdFinishQuestScRsp => "CmdFinishQuestScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdQuestTypeNone" => Some(Self::None),
            "CmdTakeQuestOptionalRewardCsReq" => {
                Some(Self::CmdTakeQuestOptionalRewardCsReq)
            }
            "CmdGetQuestRecordCsReq" => Some(Self::CmdGetQuestRecordCsReq),
            "CmdTakeQuestRewardCsReq" => Some(Self::CmdTakeQuestRewardCsReq),
            "CmdTakeQuestOptionalRewardScRsp" => {
                Some(Self::CmdTakeQuestOptionalRewardScRsp)
            }
            "CmdQuestRecordScNotify" => Some(Self::CmdQuestRecordScNotify),
            "CmdTakeQuestRewardScRsp" => Some(Self::CmdTakeQuestRewardScRsp),
            "CmdGetQuestDataScRsp" => Some(Self::CmdGetQuestDataScRsp),
            "CmdGetQuestDataCsReq" => Some(Self::CmdGetQuestDataCsReq),
            "CmdGetQuestRecordScRsp" => Some(Self::CmdGetQuestRecordScRsp),
            "CmdBatchGetQuestDataCsReq" => Some(Self::CmdBatchGetQuestDataCsReq),
            "CmdFinishQuestCsReq" => Some(Self::CmdFinishQuestCsReq),
            "CmdBatchGetQuestDataScRsp" => Some(Self::CmdBatchGetQuestDataScRsp),
            "CmdFinishQuestScRsp" => Some(Self::CmdFinishQuestScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum QuestStatus {
    QuestNone = 0,
    QuestDoing = 1,
    QuestFinish = 2,
    QuestClose = 3,
    QuestDelete = 4,
}
impl QuestStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::QuestNone => "QUEST_NONE",
            Self::QuestDoing => "QUEST_DOING",
            Self::QuestFinish => "QUEST_FINISH",
            Self::QuestClose => "QUEST_CLOSE",
            Self::QuestDelete => "QUEST_DELETE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "QUEST_NONE" => Some(Self::QuestNone),
            "QUEST_DOING" => Some(Self::QuestDoing),
            "QUEST_FINISH" => Some(Self::QuestFinish),
            "QUEST_CLOSE" => Some(Self::QuestClose),
            "QUEST_DELETE" => Some(Self::QuestDelete),
            _ => None,
        }
    }
}
/// Obf: CIBIDIGCOGC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRaidType {
    None = 0,
    CmdStartRaidScRsp = 2232,
    CmdRaidInfoNotify = 2276,
    CmdLeaveRaidScRsp = 2240,
    CmdDelSaveRaidScNotify = 2243,
    CmdGetSaveRaidCsReq = 2283,
    CmdGetAllSaveRaidCsReq = 2202,
    CmdStartRaidCsReq = 2295,
    CmdGetSaveRaidScRsp = 2260,
    CmdGetRaidInfoCsReq = 2272,
    CmdTakeChallengeRaidRewardCsReq = 2252,
    CmdGetRaidInfoScRsp = 2285,
    CmdGetChallengeRaidInfoCsReq = 2248,
    CmdSetClientRaidTargetCountCsReq = 2216,
    CmdLeaveRaidCsReq = 2231,
    CmdChallengeRaidNotify = 2256,
    CmdGetAllSaveRaidScRsp = 2239,
    CmdGetChallengeRaidInfoScRsp = 2271,
    CmdTakeChallengeRaidRewardScRsp = 2222,
    CmdRaidKickByServerScNotify = 2233,
    CmdSetClientRaidTargetCountScRsp = 2246,
}
impl CmdRaidType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRaidTypeNone",
            Self::CmdStartRaidScRsp => "CmdStartRaidScRsp",
            Self::CmdRaidInfoNotify => "CmdRaidInfoNotify",
            Self::CmdLeaveRaidScRsp => "CmdLeaveRaidScRsp",
            Self::CmdDelSaveRaidScNotify => "CmdDelSaveRaidScNotify",
            Self::CmdGetSaveRaidCsReq => "CmdGetSaveRaidCsReq",
            Self::CmdGetAllSaveRaidCsReq => "CmdGetAllSaveRaidCsReq",
            Self::CmdStartRaidCsReq => "CmdStartRaidCsReq",
            Self::CmdGetSaveRaidScRsp => "CmdGetSaveRaidScRsp",
            Self::CmdGetRaidInfoCsReq => "CmdGetRaidInfoCsReq",
            Self::CmdTakeChallengeRaidRewardCsReq => "CmdTakeChallengeRaidRewardCsReq",
            Self::CmdGetRaidInfoScRsp => "CmdGetRaidInfoScRsp",
            Self::CmdGetChallengeRaidInfoCsReq => "CmdGetChallengeRaidInfoCsReq",
            Self::CmdSetClientRaidTargetCountCsReq => "CmdSetClientRaidTargetCountCsReq",
            Self::CmdLeaveRaidCsReq => "CmdLeaveRaidCsReq",
            Self::CmdChallengeRaidNotify => "CmdChallengeRaidNotify",
            Self::CmdGetAllSaveRaidScRsp => "CmdGetAllSaveRaidScRsp",
            Self::CmdGetChallengeRaidInfoScRsp => "CmdGetChallengeRaidInfoScRsp",
            Self::CmdTakeChallengeRaidRewardScRsp => "CmdTakeChallengeRaidRewardScRsp",
            Self::CmdRaidKickByServerScNotify => "CmdRaidKickByServerScNotify",
            Self::CmdSetClientRaidTargetCountScRsp => "CmdSetClientRaidTargetCountScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRaidTypeNone" => Some(Self::None),
            "CmdStartRaidScRsp" => Some(Self::CmdStartRaidScRsp),
            "CmdRaidInfoNotify" => Some(Self::CmdRaidInfoNotify),
            "CmdLeaveRaidScRsp" => Some(Self::CmdLeaveRaidScRsp),
            "CmdDelSaveRaidScNotify" => Some(Self::CmdDelSaveRaidScNotify),
            "CmdGetSaveRaidCsReq" => Some(Self::CmdGetSaveRaidCsReq),
            "CmdGetAllSaveRaidCsReq" => Some(Self::CmdGetAllSaveRaidCsReq),
            "CmdStartRaidCsReq" => Some(Self::CmdStartRaidCsReq),
            "CmdGetSaveRaidScRsp" => Some(Self::CmdGetSaveRaidScRsp),
            "CmdGetRaidInfoCsReq" => Some(Self::CmdGetRaidInfoCsReq),
            "CmdTakeChallengeRaidRewardCsReq" => {
                Some(Self::CmdTakeChallengeRaidRewardCsReq)
            }
            "CmdGetRaidInfoScRsp" => Some(Self::CmdGetRaidInfoScRsp),
            "CmdGetChallengeRaidInfoCsReq" => Some(Self::CmdGetChallengeRaidInfoCsReq),
            "CmdSetClientRaidTargetCountCsReq" => {
                Some(Self::CmdSetClientRaidTargetCountCsReq)
            }
            "CmdLeaveRaidCsReq" => Some(Self::CmdLeaveRaidCsReq),
            "CmdChallengeRaidNotify" => Some(Self::CmdChallengeRaidNotify),
            "CmdGetAllSaveRaidScRsp" => Some(Self::CmdGetAllSaveRaidScRsp),
            "CmdGetChallengeRaidInfoScRsp" => Some(Self::CmdGetChallengeRaidInfoScRsp),
            "CmdTakeChallengeRaidRewardScRsp" => {
                Some(Self::CmdTakeChallengeRaidRewardScRsp)
            }
            "CmdRaidKickByServerScNotify" => Some(Self::CmdRaidKickByServerScNotify),
            "CmdSetClientRaidTargetCountScRsp" => {
                Some(Self::CmdSetClientRaidTargetCountScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jldfakdkmjj {
    RaidStatusNone = 0,
    RaidStatusDoing = 1,
    RaidStatusFinish = 2,
    RaidStatusFailed = 3,
}
impl Jldfakdkmjj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RaidStatusNone => "RAID_STATUS_NONE",
            Self::RaidStatusDoing => "RAID_STATUS_DOING",
            Self::RaidStatusFinish => "RAID_STATUS_FINISH",
            Self::RaidStatusFailed => "RAID_STATUS_FAILED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RAID_STATUS_NONE" => Some(Self::RaidStatusNone),
            "RAID_STATUS_DOING" => Some(Self::RaidStatusDoing),
            "RAID_STATUS_FINISH" => Some(Self::RaidStatusFinish),
            "RAID_STATUS_FAILED" => Some(Self::RaidStatusFailed),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fochdfjanpc {
    RaidTargetStatusNone = 0,
    RaidTargetStatusDoing = 1,
    RaidTargetStatusFinish = 2,
}
impl Fochdfjanpc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RaidTargetStatusNone => "RAID_TARGET_STATUS_NONE",
            Self::RaidTargetStatusDoing => "RAID_TARGET_STATUS_DOING",
            Self::RaidTargetStatusFinish => "RAID_TARGET_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RAID_TARGET_STATUS_NONE" => Some(Self::RaidTargetStatusNone),
            "RAID_TARGET_STATUS_DOING" => Some(Self::RaidTargetStatusDoing),
            "RAID_TARGET_STATUS_FINISH" => Some(Self::RaidTargetStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Egkfndoopnn {
    RaidKickReasonNone = 0,
    RaidKickReasonActivityScheduleFinish = 1,
}
impl Egkfndoopnn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RaidKickReasonNone => "RAID_KICK_REASON_NONE",
            Self::RaidKickReasonActivityScheduleFinish => {
                "RAID_KICK_REASON_ACTIVITY_SCHEDULE_FINISH"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RAID_KICK_REASON_NONE" => Some(Self::RaidKickReasonNone),
            "RAID_KICK_REASON_ACTIVITY_SCHEDULE_FINISH" => {
                Some(Self::RaidKickReasonActivityScheduleFinish)
            }
            _ => None,
        }
    }
}
/// Obf: BDBDGHIEELN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRaidCollectionType {
    None = 0,
    CmdRaidCollectionDataCsReq = 6954,
    CmdRaidCollectionDataScNotify = 6948,
    CmdRaidCollectionDataScRsp = 6953,
    CmdRaidCollectionEnterNextRaidCsReq = 6950,
    CmdRaidCollectionEnterNextRaidScRsp = 6944,
}
impl CmdRaidCollectionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRaidCollectionTypeNone",
            Self::CmdRaidCollectionDataCsReq => "CmdRaidCollectionDataCsReq",
            Self::CmdRaidCollectionDataScNotify => "CmdRaidCollectionDataScNotify",
            Self::CmdRaidCollectionDataScRsp => "CmdRaidCollectionDataScRsp",
            Self::CmdRaidCollectionEnterNextRaidCsReq => {
                "CmdRaidCollectionEnterNextRaidCsReq"
            }
            Self::CmdRaidCollectionEnterNextRaidScRsp => {
                "CmdRaidCollectionEnterNextRaidScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRaidCollectionTypeNone" => Some(Self::None),
            "CmdRaidCollectionDataCsReq" => Some(Self::CmdRaidCollectionDataCsReq),
            "CmdRaidCollectionDataScNotify" => Some(Self::CmdRaidCollectionDataScNotify),
            "CmdRaidCollectionDataScRsp" => Some(Self::CmdRaidCollectionDataScRsp),
            "CmdRaidCollectionEnterNextRaidCsReq" => {
                Some(Self::CmdRaidCollectionEnterNextRaidCsReq)
            }
            "CmdRaidCollectionEnterNextRaidScRsp" => {
                Some(Self::CmdRaidCollectionEnterNextRaidScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: DDFIMPLEMME
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRechargeGiftType {
    None = 0,
    CmdGetRechargeGiftInfoCsReq = 8374,
    CmdGetRechargeGiftInfoScRsp = 8373,
    CmdGetRechargeBenefitInfoCsReq = 8364,
    CmdTakeRechargeGiftRewardCsReq = 8368,
    CmdTakeRechargeBenefitRewardCsReq = 8369,
    CmdSyncRechargeBenefitInfoScNotify = 8380,
    CmdTakeRechargeGiftRewardScRsp = 8370,
    CmdTakeRechargeBenefitRewardScRsp = 8367,
    CmdGetRechargeBenefitInfoScRsp = 8362,
}
impl CmdRechargeGiftType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRechargeGiftTypeNone",
            Self::CmdGetRechargeGiftInfoCsReq => "CmdGetRechargeGiftInfoCsReq",
            Self::CmdGetRechargeGiftInfoScRsp => "CmdGetRechargeGiftInfoScRsp",
            Self::CmdGetRechargeBenefitInfoCsReq => "CmdGetRechargeBenefitInfoCsReq",
            Self::CmdTakeRechargeGiftRewardCsReq => "CmdTakeRechargeGiftRewardCsReq",
            Self::CmdTakeRechargeBenefitRewardCsReq => {
                "CmdTakeRechargeBenefitRewardCsReq"
            }
            Self::CmdSyncRechargeBenefitInfoScNotify => {
                "CmdSyncRechargeBenefitInfoScNotify"
            }
            Self::CmdTakeRechargeGiftRewardScRsp => "CmdTakeRechargeGiftRewardScRsp",
            Self::CmdTakeRechargeBenefitRewardScRsp => {
                "CmdTakeRechargeBenefitRewardScRsp"
            }
            Self::CmdGetRechargeBenefitInfoScRsp => "CmdGetRechargeBenefitInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRechargeGiftTypeNone" => Some(Self::None),
            "CmdGetRechargeGiftInfoCsReq" => Some(Self::CmdGetRechargeGiftInfoCsReq),
            "CmdGetRechargeGiftInfoScRsp" => Some(Self::CmdGetRechargeGiftInfoScRsp),
            "CmdGetRechargeBenefitInfoCsReq" => {
                Some(Self::CmdGetRechargeBenefitInfoCsReq)
            }
            "CmdTakeRechargeGiftRewardCsReq" => {
                Some(Self::CmdTakeRechargeGiftRewardCsReq)
            }
            "CmdTakeRechargeBenefitRewardCsReq" => {
                Some(Self::CmdTakeRechargeBenefitRewardCsReq)
            }
            "CmdSyncRechargeBenefitInfoScNotify" => {
                Some(Self::CmdSyncRechargeBenefitInfoScNotify)
            }
            "CmdTakeRechargeGiftRewardScRsp" => {
                Some(Self::CmdTakeRechargeGiftRewardScRsp)
            }
            "CmdTakeRechargeBenefitRewardScRsp" => {
                Some(Self::CmdTakeRechargeBenefitRewardScRsp)
            }
            "CmdGetRechargeBenefitInfoScRsp" => {
                Some(Self::CmdGetRechargeBenefitInfoScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: GJNKIPJFKJN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRecommendType {
    None = 0,
    CmdGetBigDataAllRecommendScRsp = 2409,
    CmdGetChallengeRecommendLineupListScRsp = 2417,
    CmdGetBigDataRecommendScRsp = 2415,
    CmdGetBigDataAllRecommendCsReq = 2443,
    CmdGetBigDataRecommendCsReq = 2427,
    CmdGetChallengeRecommendLineupListCsReq = 2436,
}
impl CmdRecommendType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CMD_RECOMMEND_TYPE_NONE",
            Self::CmdGetBigDataAllRecommendScRsp => "CmdGetBigDataAllRecommendScRsp",
            Self::CmdGetChallengeRecommendLineupListScRsp => {
                "CmdGetChallengeRecommendLineupListScRsp"
            }
            Self::CmdGetBigDataRecommendScRsp => "CmdGetBigDataRecommendScRsp",
            Self::CmdGetBigDataAllRecommendCsReq => "CmdGetBigDataAllRecommendCsReq",
            Self::CmdGetBigDataRecommendCsReq => "CmdGetBigDataRecommendCsReq",
            Self::CmdGetChallengeRecommendLineupListCsReq => {
                "CmdGetChallengeRecommendLineupListCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CMD_RECOMMEND_TYPE_NONE" => Some(Self::None),
            "CmdGetBigDataAllRecommendScRsp" => {
                Some(Self::CmdGetBigDataAllRecommendScRsp)
            }
            "CmdGetChallengeRecommendLineupListScRsp" => {
                Some(Self::CmdGetChallengeRecommendLineupListScRsp)
            }
            "CmdGetBigDataRecommendScRsp" => Some(Self::CmdGetBigDataRecommendScRsp),
            "CmdGetBigDataAllRecommendCsReq" => {
                Some(Self::CmdGetBigDataAllRecommendCsReq)
            }
            "CmdGetBigDataRecommendCsReq" => Some(Self::CmdGetBigDataRecommendCsReq),
            "CmdGetChallengeRecommendLineupListCsReq" => {
                Some(Self::CmdGetChallengeRecommendLineupListCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BigDataRecommendType {
    None = 0,
    Equipment = 1,
    RelicSuit = 2,
    RelicAvatar = 3,
    AvatarRelic = 4,
    LocalLegend = 5,
}
impl BigDataRecommendType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "BIG_DATA_RECOMMEND_TYPE_NONE",
            Self::Equipment => "BIG_DATA_RECOMMEND_TYPE_EQUIPMENT",
            Self::RelicSuit => "BIG_DATA_RECOMMEND_TYPE_RELIC_SUIT",
            Self::RelicAvatar => "BIG_DATA_RECOMMEND_TYPE_RELIC_AVATAR",
            Self::AvatarRelic => "BIG_DATA_RECOMMEND_TYPE_AVATAR_RELIC",
            Self::LocalLegend => "BIG_DATA_RECOMMEND_TYPE_LOCAL_LEGEND",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BIG_DATA_RECOMMEND_TYPE_NONE" => Some(Self::None),
            "BIG_DATA_RECOMMEND_TYPE_EQUIPMENT" => Some(Self::Equipment),
            "BIG_DATA_RECOMMEND_TYPE_RELIC_SUIT" => Some(Self::RelicSuit),
            "BIG_DATA_RECOMMEND_TYPE_RELIC_AVATAR" => Some(Self::RelicAvatar),
            "BIG_DATA_RECOMMEND_TYPE_AVATAR_RELIC" => Some(Self::AvatarRelic),
            "BIG_DATA_RECOMMEND_TYPE_LOCAL_LEGEND" => Some(Self::LocalLegend),
            _ => None,
        }
    }
}
/// Obf: HGJDCBDLEGP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRedDotType {
    None = 0,
    CmdGetSingleRedDotParamGroupCsReq = 5976,
    CmdUpdateRedDotDataScRsp = 5940,
    CmdGetSingleRedDotParamGroupScRsp = 5948,
    CmdGetAllRedDotDataScRsp = 5932,
    CmdUpdateRedDotDataCsReq = 5931,
    CmdGetAllRedDotDataCsReq = 5995,
}
impl CmdRedDotType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRedDotTypeNone",
            Self::CmdGetSingleRedDotParamGroupCsReq => {
                "CmdGetSingleRedDotParamGroupCsReq"
            }
            Self::CmdUpdateRedDotDataScRsp => "CmdUpdateRedDotDataScRsp",
            Self::CmdGetSingleRedDotParamGroupScRsp => {
                "CmdGetSingleRedDotParamGroupScRsp"
            }
            Self::CmdGetAllRedDotDataScRsp => "CmdGetAllRedDotDataScRsp",
            Self::CmdUpdateRedDotDataCsReq => "CmdUpdateRedDotDataCsReq",
            Self::CmdGetAllRedDotDataCsReq => "CmdGetAllRedDotDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRedDotTypeNone" => Some(Self::None),
            "CmdGetSingleRedDotParamGroupCsReq" => {
                Some(Self::CmdGetSingleRedDotParamGroupCsReq)
            }
            "CmdUpdateRedDotDataScRsp" => Some(Self::CmdUpdateRedDotDataScRsp),
            "CmdGetSingleRedDotParamGroupScRsp" => {
                Some(Self::CmdGetSingleRedDotParamGroupScRsp)
            }
            "CmdGetAllRedDotDataScRsp" => Some(Self::CmdGetAllRedDotDataScRsp),
            "CmdUpdateRedDotDataCsReq" => Some(Self::CmdUpdateRedDotDataCsReq),
            "CmdGetAllRedDotDataCsReq" => Some(Self::CmdGetAllRedDotDataCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ojljhfnfdkp {
    UpdateReddotNone = 0,
    UpdateReddotAdd = 1,
    UpdateReddotReplace = 2,
}
impl Ojljhfnfdkp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::UpdateReddotNone => "UPDATE_REDDOT_NONE",
            Self::UpdateReddotAdd => "UPDATE_REDDOT_ADD",
            Self::UpdateReddotReplace => "UPDATE_REDDOT_REPLACE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "UPDATE_REDDOT_NONE" => Some(Self::UpdateReddotNone),
            "UPDATE_REDDOT_ADD" => Some(Self::UpdateReddotAdd),
            "UPDATE_REDDOT_REPLACE" => Some(Self::UpdateReddotReplace),
            _ => None,
        }
    }
}
/// Obf: EDPAMOGOONP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRelicSmartWearType {
    None = 0,
    CmdRelicSmartWearUpdatePlanCsReq = 8254,
    CmdRelicSmartWearPinRelicScRsp = 8253,
    CmdRelicSmartWearGetPlanScRsp = 8263,
    CmdRelicSmartWearUpdatePlanScRsp = 8252,
    CmdRelicSmartWearAddPlanCsReq = 8258,
    CmdRelicSmartWearUpdatePinRelicScNotify = 8261,
    CmdRelicSmartWearPinRelicCsReq = 8257,
    CmdRelicSmartWearDeletePlanCsReq = 8270,
    CmdRelicSmartWearGetPinRelicCsReq = 8255,
    CmdRelicSmartWearDeletePlanScRsp = 8259,
    CmdRelicSmartWearAddPlanScRsp = 8260,
    CmdRelicSmartWearGetPlanCsReq = 8264,
    CmdRelicSmartWearGetPinRelicScRsp = 8251,
}
impl CmdRelicSmartWearType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRelicSmartWearTypeNone",
            Self::CmdRelicSmartWearUpdatePlanCsReq => "CmdRelicSmartWearUpdatePlanCsReq",
            Self::CmdRelicSmartWearPinRelicScRsp => "CmdRelicSmartWearPinRelicScRsp",
            Self::CmdRelicSmartWearGetPlanScRsp => "CmdRelicSmartWearGetPlanScRsp",
            Self::CmdRelicSmartWearUpdatePlanScRsp => "CmdRelicSmartWearUpdatePlanScRsp",
            Self::CmdRelicSmartWearAddPlanCsReq => "CmdRelicSmartWearAddPlanCsReq",
            Self::CmdRelicSmartWearUpdatePinRelicScNotify => {
                "CmdRelicSmartWearUpdatePinRelicScNotify"
            }
            Self::CmdRelicSmartWearPinRelicCsReq => "CmdRelicSmartWearPinRelicCsReq",
            Self::CmdRelicSmartWearDeletePlanCsReq => "CmdRelicSmartWearDeletePlanCsReq",
            Self::CmdRelicSmartWearGetPinRelicCsReq => {
                "CmdRelicSmartWearGetPinRelicCsReq"
            }
            Self::CmdRelicSmartWearDeletePlanScRsp => "CmdRelicSmartWearDeletePlanScRsp",
            Self::CmdRelicSmartWearAddPlanScRsp => "CmdRelicSmartWearAddPlanScRsp",
            Self::CmdRelicSmartWearGetPlanCsReq => "CmdRelicSmartWearGetPlanCsReq",
            Self::CmdRelicSmartWearGetPinRelicScRsp => {
                "CmdRelicSmartWearGetPinRelicScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRelicSmartWearTypeNone" => Some(Self::None),
            "CmdRelicSmartWearUpdatePlanCsReq" => {
                Some(Self::CmdRelicSmartWearUpdatePlanCsReq)
            }
            "CmdRelicSmartWearPinRelicScRsp" => {
                Some(Self::CmdRelicSmartWearPinRelicScRsp)
            }
            "CmdRelicSmartWearGetPlanScRsp" => Some(Self::CmdRelicSmartWearGetPlanScRsp),
            "CmdRelicSmartWearUpdatePlanScRsp" => {
                Some(Self::CmdRelicSmartWearUpdatePlanScRsp)
            }
            "CmdRelicSmartWearAddPlanCsReq" => Some(Self::CmdRelicSmartWearAddPlanCsReq),
            "CmdRelicSmartWearUpdatePinRelicScNotify" => {
                Some(Self::CmdRelicSmartWearUpdatePinRelicScNotify)
            }
            "CmdRelicSmartWearPinRelicCsReq" => {
                Some(Self::CmdRelicSmartWearPinRelicCsReq)
            }
            "CmdRelicSmartWearDeletePlanCsReq" => {
                Some(Self::CmdRelicSmartWearDeletePlanCsReq)
            }
            "CmdRelicSmartWearGetPinRelicCsReq" => {
                Some(Self::CmdRelicSmartWearGetPinRelicCsReq)
            }
            "CmdRelicSmartWearDeletePlanScRsp" => {
                Some(Self::CmdRelicSmartWearDeletePlanScRsp)
            }
            "CmdRelicSmartWearAddPlanScRsp" => Some(Self::CmdRelicSmartWearAddPlanScRsp),
            "CmdRelicSmartWearGetPlanCsReq" => Some(Self::CmdRelicSmartWearGetPlanCsReq),
            "CmdRelicSmartWearGetPinRelicScRsp" => {
                Some(Self::CmdRelicSmartWearGetPinRelicScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: BOBKJOCALEM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdReplayType {
    None = 0,
    CmdGetReplayTokenCsReq = 3595,
    CmdGetPlayerReplayInfoScRsp = 3540,
    CmdGetReplayTokenScRsp = 3532,
    CmdGetPlayerReplayInfoCsReq = 3531,
}
impl CmdReplayType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdReplayTypeNone",
            Self::CmdGetReplayTokenCsReq => "CmdGetReplayTokenCsReq",
            Self::CmdGetPlayerReplayInfoScRsp => "CmdGetPlayerReplayInfoScRsp",
            Self::CmdGetReplayTokenScRsp => "CmdGetReplayTokenScRsp",
            Self::CmdGetPlayerReplayInfoCsReq => "CmdGetPlayerReplayInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdReplayTypeNone" => Some(Self::None),
            "CmdGetReplayTokenCsReq" => Some(Self::CmdGetReplayTokenCsReq),
            "CmdGetPlayerReplayInfoScRsp" => Some(Self::CmdGetPlayerReplayInfoScRsp),
            "CmdGetReplayTokenScRsp" => Some(Self::CmdGetReplayTokenScRsp),
            "CmdGetPlayerReplayInfoCsReq" => Some(Self::CmdGetPlayerReplayInfoCsReq),
            _ => None,
        }
    }
}
/// Obf: NMIPDKFMKDM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRndOptionType {
    None = 0,
    CmdDailyFirstMeetPamScRsp = 3440,
    CmdDailyFirstMeetPamCsReq = 3431,
    CmdGetRndOptionCsReq = 3495,
    CmdGetRndOptionScRsp = 3432,
}
impl CmdRndOptionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRndOptionTypeNone",
            Self::CmdDailyFirstMeetPamScRsp => "CmdDailyFirstMeetPamScRsp",
            Self::CmdDailyFirstMeetPamCsReq => "CmdDailyFirstMeetPamCsReq",
            Self::CmdGetRndOptionCsReq => "CmdGetRndOptionCsReq",
            Self::CmdGetRndOptionScRsp => "CmdGetRndOptionScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRndOptionTypeNone" => Some(Self::None),
            "CmdDailyFirstMeetPamScRsp" => Some(Self::CmdDailyFirstMeetPamScRsp),
            "CmdDailyFirstMeetPamCsReq" => Some(Self::CmdDailyFirstMeetPamCsReq),
            "CmdGetRndOptionCsReq" => Some(Self::CmdGetRndOptionCsReq),
            "CmdGetRndOptionScRsp" => Some(Self::CmdGetRndOptionScRsp),
            _ => None,
        }
    }
}
/// Obf: BEMCJMPACCP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueType {
    None = 0,
    CmdEnableRogueTalentScRsp = 1805,
    CmdFinishAeonDialogueGroupScRsp = 1819,
    CmdQuitRogueCsReq = 1837,
    CmdExchangeRogueRewardKeyCsReq = 1868,
    CmdTakeRogueScoreRewardScRsp = 1877,
    CmdEnterRogueCsReq = 1876,
    CmdGetRogueInitialScoreCsReq = 1864,
    CmdGetRogueTalentInfoScRsp = 1888,
    CmdSyncRogueRewardInfoScNotify = 1866,
    CmdEnterRogueScRsp = 1848,
    CmdSyncRogueMapRoomScNotify = 1845,
    CmdFinishAeonDialogueGroupCsReq = 1850,
    CmdGetRogueInfoCsReq = 1895,
    CmdGetRogueAeonInfoCsReq = 1855,
    CmdReviveRogueAvatarScRsp = 1833,
    CmdStartRogueCsReq = 1831,
    CmdEnhanceRogueBuffScRsp = 1863,
    CmdSyncRogueVirtualItemInfoScNotify = 1865,
    CmdLeaveRogueCsReq = 1871,
    CmdOpenRogueChestScRsp = 1834,
    CmdSyncRogueAreaUnlockScNotify = 1810,
    CmdSyncRogueStatusScNotify = 1881,
    CmdReviveRogueAvatarCsReq = 1843,
    CmdGetRogueTalentInfoCsReq = 1889,
    CmdTakeRogueScoreRewardCsReq = 1842,
    CmdPickRogueAvatarScRsp = 1802,
    CmdGetRogueBuffEnhanceInfoScRsp = 1821,
    CmdEnterRogueMapRoomScRsp = 1898,
    CmdSyncRogueReviveInfoScNotify = 1884,
    CmdSyncRogueExploreWinScNotify = 1851,
    CmdSyncRogueFinishScNotify = 1883,
    CmdSyncRoguePickAvatarInfoScNotify = 1861,
    CmdTakeRogueAeonLevelRewardScRsp = 1870,
    CmdQuitRogueScRsp = 1830,
    CmdStartRogueScRsp = 1840,
    CmdLeaveRogueScRsp = 1852,
    CmdTakeRogueAeonLevelRewardCsReq = 1879,
    CmdExchangeRogueRewardKeyScRsp = 1801,
    CmdGetRogueScoreRewardInfoCsReq = 1873,
    CmdGetRogueAeonInfoScRsp = 1880,
    CmdSyncRogueAeonScNotify = 1803,
    CmdGetRogueInfoScRsp = 1832,
    CmdGetRogueBuffEnhanceInfoCsReq = 1858,
    CmdSyncRogueSeasonFinishScNotify = 1891,
    CmdOpenRogueChestCsReq = 1835,
    CmdSyncRogueGetItemScNotify = 1897,
    CmdGetRogueInitialScoreScRsp = 1806,
    CmdEnhanceRogueBuffCsReq = 1829,
    CmdPickRogueAvatarCsReq = 1860,
    CmdEnableRogueTalentCsReq = 1838,
    CmdGetRogueScoreRewardInfoScRsp = 1867,
    CmdEnterRogueMapRoomCsReq = 1807,
    CmdSyncRogueAeonLevelUpRewardScNotify = 1826,
}
impl CmdRogueType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRogueTypeNone",
            Self::CmdEnableRogueTalentScRsp => "CmdEnableRogueTalentScRsp",
            Self::CmdFinishAeonDialogueGroupScRsp => "CmdFinishAeonDialogueGroupScRsp",
            Self::CmdQuitRogueCsReq => "CmdQuitRogueCsReq",
            Self::CmdExchangeRogueRewardKeyCsReq => "CmdExchangeRogueRewardKeyCsReq",
            Self::CmdTakeRogueScoreRewardScRsp => "CmdTakeRogueScoreRewardScRsp",
            Self::CmdEnterRogueCsReq => "CmdEnterRogueCsReq",
            Self::CmdGetRogueInitialScoreCsReq => "CmdGetRogueInitialScoreCsReq",
            Self::CmdGetRogueTalentInfoScRsp => "CmdGetRogueTalentInfoScRsp",
            Self::CmdSyncRogueRewardInfoScNotify => "CmdSyncRogueRewardInfoScNotify",
            Self::CmdEnterRogueScRsp => "CmdEnterRogueScRsp",
            Self::CmdSyncRogueMapRoomScNotify => "CmdSyncRogueMapRoomScNotify",
            Self::CmdFinishAeonDialogueGroupCsReq => "CmdFinishAeonDialogueGroupCsReq",
            Self::CmdGetRogueInfoCsReq => "CmdGetRogueInfoCsReq",
            Self::CmdGetRogueAeonInfoCsReq => "CmdGetRogueAeonInfoCsReq",
            Self::CmdReviveRogueAvatarScRsp => "CmdReviveRogueAvatarScRsp",
            Self::CmdStartRogueCsReq => "CmdStartRogueCsReq",
            Self::CmdEnhanceRogueBuffScRsp => "CmdEnhanceRogueBuffScRsp",
            Self::CmdSyncRogueVirtualItemInfoScNotify => {
                "CmdSyncRogueVirtualItemInfoScNotify"
            }
            Self::CmdLeaveRogueCsReq => "CmdLeaveRogueCsReq",
            Self::CmdOpenRogueChestScRsp => "CmdOpenRogueChestScRsp",
            Self::CmdSyncRogueAreaUnlockScNotify => "CmdSyncRogueAreaUnlockScNotify",
            Self::CmdSyncRogueStatusScNotify => "CmdSyncRogueStatusScNotify",
            Self::CmdReviveRogueAvatarCsReq => "CmdReviveRogueAvatarCsReq",
            Self::CmdGetRogueTalentInfoCsReq => "CmdGetRogueTalentInfoCsReq",
            Self::CmdTakeRogueScoreRewardCsReq => "CmdTakeRogueScoreRewardCsReq",
            Self::CmdPickRogueAvatarScRsp => "CmdPickRogueAvatarScRsp",
            Self::CmdGetRogueBuffEnhanceInfoScRsp => "CmdGetRogueBuffEnhanceInfoScRsp",
            Self::CmdEnterRogueMapRoomScRsp => "CmdEnterRogueMapRoomScRsp",
            Self::CmdSyncRogueReviveInfoScNotify => "CmdSyncRogueReviveInfoScNotify",
            Self::CmdSyncRogueExploreWinScNotify => "CmdSyncRogueExploreWinScNotify",
            Self::CmdSyncRogueFinishScNotify => "CmdSyncRogueFinishScNotify",
            Self::CmdSyncRoguePickAvatarInfoScNotify => {
                "CmdSyncRoguePickAvatarInfoScNotify"
            }
            Self::CmdTakeRogueAeonLevelRewardScRsp => "CmdTakeRogueAeonLevelRewardScRsp",
            Self::CmdQuitRogueScRsp => "CmdQuitRogueScRsp",
            Self::CmdStartRogueScRsp => "CmdStartRogueScRsp",
            Self::CmdLeaveRogueScRsp => "CmdLeaveRogueScRsp",
            Self::CmdTakeRogueAeonLevelRewardCsReq => "CmdTakeRogueAeonLevelRewardCsReq",
            Self::CmdExchangeRogueRewardKeyScRsp => "CmdExchangeRogueRewardKeyScRsp",
            Self::CmdGetRogueScoreRewardInfoCsReq => "CmdGetRogueScoreRewardInfoCsReq",
            Self::CmdGetRogueAeonInfoScRsp => "CmdGetRogueAeonInfoScRsp",
            Self::CmdSyncRogueAeonScNotify => "CmdSyncRogueAeonScNotify",
            Self::CmdGetRogueInfoScRsp => "CmdGetRogueInfoScRsp",
            Self::CmdGetRogueBuffEnhanceInfoCsReq => "CmdGetRogueBuffEnhanceInfoCsReq",
            Self::CmdSyncRogueSeasonFinishScNotify => "CmdSyncRogueSeasonFinishScNotify",
            Self::CmdOpenRogueChestCsReq => "CmdOpenRogueChestCsReq",
            Self::CmdSyncRogueGetItemScNotify => "CmdSyncRogueGetItemScNotify",
            Self::CmdGetRogueInitialScoreScRsp => "CmdGetRogueInitialScoreScRsp",
            Self::CmdEnhanceRogueBuffCsReq => "CmdEnhanceRogueBuffCsReq",
            Self::CmdPickRogueAvatarCsReq => "CmdPickRogueAvatarCsReq",
            Self::CmdEnableRogueTalentCsReq => "CmdEnableRogueTalentCsReq",
            Self::CmdGetRogueScoreRewardInfoScRsp => "CmdGetRogueScoreRewardInfoScRsp",
            Self::CmdEnterRogueMapRoomCsReq => "CmdEnterRogueMapRoomCsReq",
            Self::CmdSyncRogueAeonLevelUpRewardScNotify => {
                "CmdSyncRogueAeonLevelUpRewardScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueTypeNone" => Some(Self::None),
            "CmdEnableRogueTalentScRsp" => Some(Self::CmdEnableRogueTalentScRsp),
            "CmdFinishAeonDialogueGroupScRsp" => {
                Some(Self::CmdFinishAeonDialogueGroupScRsp)
            }
            "CmdQuitRogueCsReq" => Some(Self::CmdQuitRogueCsReq),
            "CmdExchangeRogueRewardKeyCsReq" => {
                Some(Self::CmdExchangeRogueRewardKeyCsReq)
            }
            "CmdTakeRogueScoreRewardScRsp" => Some(Self::CmdTakeRogueScoreRewardScRsp),
            "CmdEnterRogueCsReq" => Some(Self::CmdEnterRogueCsReq),
            "CmdGetRogueInitialScoreCsReq" => Some(Self::CmdGetRogueInitialScoreCsReq),
            "CmdGetRogueTalentInfoScRsp" => Some(Self::CmdGetRogueTalentInfoScRsp),
            "CmdSyncRogueRewardInfoScNotify" => {
                Some(Self::CmdSyncRogueRewardInfoScNotify)
            }
            "CmdEnterRogueScRsp" => Some(Self::CmdEnterRogueScRsp),
            "CmdSyncRogueMapRoomScNotify" => Some(Self::CmdSyncRogueMapRoomScNotify),
            "CmdFinishAeonDialogueGroupCsReq" => {
                Some(Self::CmdFinishAeonDialogueGroupCsReq)
            }
            "CmdGetRogueInfoCsReq" => Some(Self::CmdGetRogueInfoCsReq),
            "CmdGetRogueAeonInfoCsReq" => Some(Self::CmdGetRogueAeonInfoCsReq),
            "CmdReviveRogueAvatarScRsp" => Some(Self::CmdReviveRogueAvatarScRsp),
            "CmdStartRogueCsReq" => Some(Self::CmdStartRogueCsReq),
            "CmdEnhanceRogueBuffScRsp" => Some(Self::CmdEnhanceRogueBuffScRsp),
            "CmdSyncRogueVirtualItemInfoScNotify" => {
                Some(Self::CmdSyncRogueVirtualItemInfoScNotify)
            }
            "CmdLeaveRogueCsReq" => Some(Self::CmdLeaveRogueCsReq),
            "CmdOpenRogueChestScRsp" => Some(Self::CmdOpenRogueChestScRsp),
            "CmdSyncRogueAreaUnlockScNotify" => {
                Some(Self::CmdSyncRogueAreaUnlockScNotify)
            }
            "CmdSyncRogueStatusScNotify" => Some(Self::CmdSyncRogueStatusScNotify),
            "CmdReviveRogueAvatarCsReq" => Some(Self::CmdReviveRogueAvatarCsReq),
            "CmdGetRogueTalentInfoCsReq" => Some(Self::CmdGetRogueTalentInfoCsReq),
            "CmdTakeRogueScoreRewardCsReq" => Some(Self::CmdTakeRogueScoreRewardCsReq),
            "CmdPickRogueAvatarScRsp" => Some(Self::CmdPickRogueAvatarScRsp),
            "CmdGetRogueBuffEnhanceInfoScRsp" => {
                Some(Self::CmdGetRogueBuffEnhanceInfoScRsp)
            }
            "CmdEnterRogueMapRoomScRsp" => Some(Self::CmdEnterRogueMapRoomScRsp),
            "CmdSyncRogueReviveInfoScNotify" => {
                Some(Self::CmdSyncRogueReviveInfoScNotify)
            }
            "CmdSyncRogueExploreWinScNotify" => {
                Some(Self::CmdSyncRogueExploreWinScNotify)
            }
            "CmdSyncRogueFinishScNotify" => Some(Self::CmdSyncRogueFinishScNotify),
            "CmdSyncRoguePickAvatarInfoScNotify" => {
                Some(Self::CmdSyncRoguePickAvatarInfoScNotify)
            }
            "CmdTakeRogueAeonLevelRewardScRsp" => {
                Some(Self::CmdTakeRogueAeonLevelRewardScRsp)
            }
            "CmdQuitRogueScRsp" => Some(Self::CmdQuitRogueScRsp),
            "CmdStartRogueScRsp" => Some(Self::CmdStartRogueScRsp),
            "CmdLeaveRogueScRsp" => Some(Self::CmdLeaveRogueScRsp),
            "CmdTakeRogueAeonLevelRewardCsReq" => {
                Some(Self::CmdTakeRogueAeonLevelRewardCsReq)
            }
            "CmdExchangeRogueRewardKeyScRsp" => {
                Some(Self::CmdExchangeRogueRewardKeyScRsp)
            }
            "CmdGetRogueScoreRewardInfoCsReq" => {
                Some(Self::CmdGetRogueScoreRewardInfoCsReq)
            }
            "CmdGetRogueAeonInfoScRsp" => Some(Self::CmdGetRogueAeonInfoScRsp),
            "CmdSyncRogueAeonScNotify" => Some(Self::CmdSyncRogueAeonScNotify),
            "CmdGetRogueInfoScRsp" => Some(Self::CmdGetRogueInfoScRsp),
            "CmdGetRogueBuffEnhanceInfoCsReq" => {
                Some(Self::CmdGetRogueBuffEnhanceInfoCsReq)
            }
            "CmdSyncRogueSeasonFinishScNotify" => {
                Some(Self::CmdSyncRogueSeasonFinishScNotify)
            }
            "CmdOpenRogueChestCsReq" => Some(Self::CmdOpenRogueChestCsReq),
            "CmdSyncRogueGetItemScNotify" => Some(Self::CmdSyncRogueGetItemScNotify),
            "CmdGetRogueInitialScoreScRsp" => Some(Self::CmdGetRogueInitialScoreScRsp),
            "CmdEnhanceRogueBuffCsReq" => Some(Self::CmdEnhanceRogueBuffCsReq),
            "CmdPickRogueAvatarCsReq" => Some(Self::CmdPickRogueAvatarCsReq),
            "CmdEnableRogueTalentCsReq" => Some(Self::CmdEnableRogueTalentCsReq),
            "CmdGetRogueScoreRewardInfoScRsp" => {
                Some(Self::CmdGetRogueScoreRewardInfoScRsp)
            }
            "CmdEnterRogueMapRoomCsReq" => Some(Self::CmdEnterRogueMapRoomCsReq),
            "CmdSyncRogueAeonLevelUpRewardScNotify" => {
                Some(Self::CmdSyncRogueAeonLevelUpRewardScNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Egpimdadfdi {
    RogueStatusNone = 0,
    RogueStatusDoing = 1,
    RogueStatusPending = 2,
    RogueStatusEndless = 3,
    RogueStatusFinish = 4,
}
impl Egpimdadfdi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueStatusNone => "ROGUE_STATUS_NONE",
            Self::RogueStatusDoing => "ROGUE_STATUS_DOING",
            Self::RogueStatusPending => "ROGUE_STATUS_PENDING",
            Self::RogueStatusEndless => "ROGUE_STATUS_ENDLESS",
            Self::RogueStatusFinish => "ROGUE_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_STATUS_NONE" => Some(Self::RogueStatusNone),
            "ROGUE_STATUS_DOING" => Some(Self::RogueStatusDoing),
            "ROGUE_STATUS_PENDING" => Some(Self::RogueStatusPending),
            "ROGUE_STATUS_ENDLESS" => Some(Self::RogueStatusEndless),
            "ROGUE_STATUS_FINISH" => Some(Self::RogueStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ilnpbecoepl {
    RogueRoomStatusNone = 0,
    RogueRoomStatusLock = 1,
    RogueRoomStatusUnlock = 2,
    RogueRoomStatusPlay = 3,
    RogueRoomStatusFinish = 4,
}
impl Ilnpbecoepl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueRoomStatusNone => "ROGUE_ROOM_STATUS_NONE",
            Self::RogueRoomStatusLock => "ROGUE_ROOM_STATUS_LOCK",
            Self::RogueRoomStatusUnlock => "ROGUE_ROOM_STATUS_UNLOCK",
            Self::RogueRoomStatusPlay => "ROGUE_ROOM_STATUS_PLAY",
            Self::RogueRoomStatusFinish => "ROGUE_ROOM_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_ROOM_STATUS_NONE" => Some(Self::RogueRoomStatusNone),
            "ROGUE_ROOM_STATUS_LOCK" => Some(Self::RogueRoomStatusLock),
            "ROGUE_ROOM_STATUS_UNLOCK" => Some(Self::RogueRoomStatusUnlock),
            "ROGUE_ROOM_STATUS_PLAY" => Some(Self::RogueRoomStatusPlay),
            "ROGUE_ROOM_STATUS_FINISH" => Some(Self::RogueRoomStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jdakamigkhf {
    RogueAreaStatusLock = 0,
    RogueAreaStatusUnlock = 1,
    RogueAreaStatusFirstPass = 2,
    RogueAreaStatusClose = 3,
}
impl Jdakamigkhf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueAreaStatusLock => "ROGUE_AREA_STATUS_LOCK",
            Self::RogueAreaStatusUnlock => "ROGUE_AREA_STATUS_UNLOCK",
            Self::RogueAreaStatusFirstPass => "ROGUE_AREA_STATUS_FIRST_PASS",
            Self::RogueAreaStatusClose => "ROGUE_AREA_STATUS_CLOSE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_AREA_STATUS_LOCK" => Some(Self::RogueAreaStatusLock),
            "ROGUE_AREA_STATUS_UNLOCK" => Some(Self::RogueAreaStatusUnlock),
            "ROGUE_AREA_STATUS_FIRST_PASS" => Some(Self::RogueAreaStatusFirstPass),
            "ROGUE_AREA_STATUS_CLOSE" => Some(Self::RogueAreaStatusClose),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jjeikcobdlp {
    RogueBuffSourceTypeNone = 0,
    RogueBuffSourceTypeSelect = 1,
    RogueBuffSourceTypeEnhance = 2,
    RogueBuffSourceTypeMiracle = 3,
    RogueBuffSourceTypeDialogue = 4,
    RogueBuffSourceTypeBonus = 5,
    RogueBuffSourceTypeMazeSkill = 6,
    RogueBuffSourceTypeShop = 7,
    RogueBuffSourceTypeLevelMechanism = 8,
    RogueBuffSourceTypeEndlessLevelStart = 9,
}
impl Jjeikcobdlp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueBuffSourceTypeNone => "ROGUE_BUFF_SOURCE_TYPE_NONE",
            Self::RogueBuffSourceTypeSelect => "ROGUE_BUFF_SOURCE_TYPE_SELECT",
            Self::RogueBuffSourceTypeEnhance => "ROGUE_BUFF_SOURCE_TYPE_ENHANCE",
            Self::RogueBuffSourceTypeMiracle => "ROGUE_BUFF_SOURCE_TYPE_MIRACLE",
            Self::RogueBuffSourceTypeDialogue => "ROGUE_BUFF_SOURCE_TYPE_DIALOGUE",
            Self::RogueBuffSourceTypeBonus => "ROGUE_BUFF_SOURCE_TYPE_BONUS",
            Self::RogueBuffSourceTypeMazeSkill => "ROGUE_BUFF_SOURCE_TYPE_MAZE_SKILL",
            Self::RogueBuffSourceTypeShop => "ROGUE_BUFF_SOURCE_TYPE_SHOP",
            Self::RogueBuffSourceTypeLevelMechanism => {
                "ROGUE_BUFF_SOURCE_TYPE_LEVEL_MECHANISM"
            }
            Self::RogueBuffSourceTypeEndlessLevelStart => {
                "ROGUE_BUFF_SOURCE_TYPE_ENDLESS_LEVEL_START"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_BUFF_SOURCE_TYPE_NONE" => Some(Self::RogueBuffSourceTypeNone),
            "ROGUE_BUFF_SOURCE_TYPE_SELECT" => Some(Self::RogueBuffSourceTypeSelect),
            "ROGUE_BUFF_SOURCE_TYPE_ENHANCE" => Some(Self::RogueBuffSourceTypeEnhance),
            "ROGUE_BUFF_SOURCE_TYPE_MIRACLE" => Some(Self::RogueBuffSourceTypeMiracle),
            "ROGUE_BUFF_SOURCE_TYPE_DIALOGUE" => Some(Self::RogueBuffSourceTypeDialogue),
            "ROGUE_BUFF_SOURCE_TYPE_BONUS" => Some(Self::RogueBuffSourceTypeBonus),
            "ROGUE_BUFF_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::RogueBuffSourceTypeMazeSkill)
            }
            "ROGUE_BUFF_SOURCE_TYPE_SHOP" => Some(Self::RogueBuffSourceTypeShop),
            "ROGUE_BUFF_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueBuffSourceTypeLevelMechanism)
            }
            "ROGUE_BUFF_SOURCE_TYPE_ENDLESS_LEVEL_START" => {
                Some(Self::RogueBuffSourceTypeEndlessLevelStart)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Eohhhddahkl {
    RogueMiracleSourceTypeNone = 0,
    RogueMiracleSourceTypeSelect = 1,
    RogueMiracleSourceTypeDialogue = 2,
    RogueMiracleSourceTypeBonus = 3,
    RogueMiracleSourceTypeUse = 4,
    RogueMiracleSourceTypeReset = 5,
    RogueMiracleSourceTypeReplace = 6,
    RogueMiracleSourceTypeTrade = 7,
    RogueMiracleSourceTypeGet = 8,
    RogueMiracleSourceTypeShop = 9,
    RogueMiracleSourceTypeMazeSkill = 10,
    RogueMiracleSourceTypeLevelMechanism = 11,
    RogueMiracleSourceTypeEndlessLevelStart = 12,
}
impl Eohhhddahkl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueMiracleSourceTypeNone => "ROGUE_MIRACLE_SOURCE_TYPE_NONE",
            Self::RogueMiracleSourceTypeSelect => "ROGUE_MIRACLE_SOURCE_TYPE_SELECT",
            Self::RogueMiracleSourceTypeDialogue => "ROGUE_MIRACLE_SOURCE_TYPE_DIALOGUE",
            Self::RogueMiracleSourceTypeBonus => "ROGUE_MIRACLE_SOURCE_TYPE_BONUS",
            Self::RogueMiracleSourceTypeUse => "ROGUE_MIRACLE_SOURCE_TYPE_USE",
            Self::RogueMiracleSourceTypeReset => "ROGUE_MIRACLE_SOURCE_TYPE_RESET",
            Self::RogueMiracleSourceTypeReplace => "ROGUE_MIRACLE_SOURCE_TYPE_REPLACE",
            Self::RogueMiracleSourceTypeTrade => "ROGUE_MIRACLE_SOURCE_TYPE_TRADE",
            Self::RogueMiracleSourceTypeGet => "ROGUE_MIRACLE_SOURCE_TYPE_GET",
            Self::RogueMiracleSourceTypeShop => "ROGUE_MIRACLE_SOURCE_TYPE_SHOP",
            Self::RogueMiracleSourceTypeMazeSkill => {
                "ROGUE_MIRACLE_SOURCE_TYPE_MAZE_SKILL"
            }
            Self::RogueMiracleSourceTypeLevelMechanism => {
                "ROGUE_MIRACLE_SOURCE_TYPE_LEVEL_MECHANISM"
            }
            Self::RogueMiracleSourceTypeEndlessLevelStart => {
                "ROGUE_MIRACLE_SOURCE_TYPE_ENDLESS_LEVEL_START"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MIRACLE_SOURCE_TYPE_NONE" => Some(Self::RogueMiracleSourceTypeNone),
            "ROGUE_MIRACLE_SOURCE_TYPE_SELECT" => {
                Some(Self::RogueMiracleSourceTypeSelect)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::RogueMiracleSourceTypeDialogue)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_BONUS" => Some(Self::RogueMiracleSourceTypeBonus),
            "ROGUE_MIRACLE_SOURCE_TYPE_USE" => Some(Self::RogueMiracleSourceTypeUse),
            "ROGUE_MIRACLE_SOURCE_TYPE_RESET" => Some(Self::RogueMiracleSourceTypeReset),
            "ROGUE_MIRACLE_SOURCE_TYPE_REPLACE" => {
                Some(Self::RogueMiracleSourceTypeReplace)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_TRADE" => Some(Self::RogueMiracleSourceTypeTrade),
            "ROGUE_MIRACLE_SOURCE_TYPE_GET" => Some(Self::RogueMiracleSourceTypeGet),
            "ROGUE_MIRACLE_SOURCE_TYPE_SHOP" => Some(Self::RogueMiracleSourceTypeShop),
            "ROGUE_MIRACLE_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::RogueMiracleSourceTypeMazeSkill)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueMiracleSourceTypeLevelMechanism)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_ENDLESS_LEVEL_START" => {
                Some(Self::RogueMiracleSourceTypeEndlessLevelStart)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ffnedmegpjd {
    RogueDialogueResultSucc = 0,
    RogueDialogueResultFail = 1,
}
impl Ffnedmegpjd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueDialogueResultSucc => "ROGUE_DIALOGUE_RESULT_SUCC",
            Self::RogueDialogueResultFail => "ROGUE_DIALOGUE_RESULT_FAIL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_DIALOGUE_RESULT_SUCC" => Some(Self::RogueDialogueResultSucc),
            "ROGUE_DIALOGUE_RESULT_FAIL" => Some(Self::RogueDialogueResultFail),
            _ => None,
        }
    }
}
/// Obf: EMFMBIEIDDL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueArcadeType {
    None = 0,
    CmdRogueArcadeLeaveScRsp = 7687,
    CmdRogueArcadeRestartCsReq = 7686,
    CmdRogueArcadeGetInfoScRsp = 7665,
    CmdRogueArcadeStartCsReq = 7654,
    CmdRogueArcadeGetInfoCsReq = 7677,
    CmdRogueArcadeLeaveCsReq = 7652,
    CmdRogueArcadeRestartScRsp = 7667,
    CmdRogueArcadeStartScRsp = 7696,
}
impl CmdRogueArcadeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRogueArcadeTypeNone",
            Self::CmdRogueArcadeLeaveScRsp => "CmdRogueArcadeLeaveScRsp",
            Self::CmdRogueArcadeRestartCsReq => "CmdRogueArcadeRestartCsReq",
            Self::CmdRogueArcadeGetInfoScRsp => "CmdRogueArcadeGetInfoScRsp",
            Self::CmdRogueArcadeStartCsReq => "CmdRogueArcadeStartCsReq",
            Self::CmdRogueArcadeGetInfoCsReq => "CmdRogueArcadeGetInfoCsReq",
            Self::CmdRogueArcadeLeaveCsReq => "CmdRogueArcadeLeaveCsReq",
            Self::CmdRogueArcadeRestartScRsp => "CmdRogueArcadeRestartScRsp",
            Self::CmdRogueArcadeStartScRsp => "CmdRogueArcadeStartScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueArcadeTypeNone" => Some(Self::None),
            "CmdRogueArcadeLeaveScRsp" => Some(Self::CmdRogueArcadeLeaveScRsp),
            "CmdRogueArcadeRestartCsReq" => Some(Self::CmdRogueArcadeRestartCsReq),
            "CmdRogueArcadeGetInfoScRsp" => Some(Self::CmdRogueArcadeGetInfoScRsp),
            "CmdRogueArcadeStartCsReq" => Some(Self::CmdRogueArcadeStartCsReq),
            "CmdRogueArcadeGetInfoCsReq" => Some(Self::CmdRogueArcadeGetInfoCsReq),
            "CmdRogueArcadeLeaveCsReq" => Some(Self::CmdRogueArcadeLeaveCsReq),
            "CmdRogueArcadeRestartScRsp" => Some(Self::CmdRogueArcadeRestartScRsp),
            "CmdRogueArcadeStartScRsp" => Some(Self::CmdRogueArcadeStartScRsp),
            _ => None,
        }
    }
}
/// Obf: LKELJBKNBCJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueCommonType {
    None = 0,
    CmdGetRogueHandbookDataScRsp = 5657,
    CmdHandleRogueCommonPendingActionScRsp = 5608,
    CmdCommonRogueQueryScRsp = 5634,
    CmdRogueShopBeginBattleScRsp = 5623,
    CmdFinishRogueCommonDialogueScRsp = 5674,
    CmdGetRogueCommonDialogueDataCsReq = 5601,
    CmdGetRogueShopMiracleInfoCsReq = 5640,
    CmdBuyRogueShopFormulaCsReq = 5682,
    CmdRogueGetGambleInfoScRsp = 5615,
    CmdEnhanceCommonRogueBuffScRsp = 5621,
    CmdTakeRogueMiracleHandbookRewardScRsp = 5664,
    CmdRogueWorkbenchHandleFuncScRsp = 5697,
    CmdSetRogueCollectionScRsp = 5618,
    CmdUpdateRogueAdventureRoomScoreCsReq = 5620,
    CmdGetRogueShopFormulaInfoScRsp = 5605,
    CmdHandleRogueCommonPendingActionCsReq = 5687,
    CmdRogueDoGambleScRsp = 5680,
    CmdSelectRogueCommonDialogueOptionScRsp = 5694,
    CmdRogueDoGambleCsReq = 5655,
    CmdSetRogueExhibitionCsReq = 5673,
    CmdGetRogueHandbookDataCsReq = 5624,
    CmdCommonRogueUpdateScNotify = 5668,
    CmdSyncRogueHandbookDataUpdateScNotify = 5607,
    CmdRogueWorkbenchGetInfoScRsp = 5603,
    CmdFinishRogueCommonDialogueCsReq = 5627,
    CmdStopRogueAdventureRoomCsReq = 5629,
    CmdBuyRogueShopMiracleScRsp = 5622,
    CmdBuyRogueShopBuffCsReq = 5656,
    CmdPrepareRogueAdventureRoomScRsp = 5631,
    CmdPrepareRogueAdventureRoomCsReq = 5632,
    CmdRogueWorkbenchGetInfoCsReq = 5649,
    CmdGetRogueShopFormulaInfoCsReq = 5638,
    CmdTakeRogueEventHandbookRewardScRsp = 5645,
    CmdGetRogueExhibitionScRsp = 5626,
    CmdRogueWorkbenchHandleFuncCsReq = 5610,
    CmdBuyRogueShopMiracleCsReq = 5652,
    CmdCommonRogueQueryCsReq = 5635,
    CmdSetRogueExhibitionScRsp = 5667,
    CmdSyncRogueCommonDialogueDataScNotify = 5690,
    CmdSyncRogueCommonVirtualItemInfoScNotify = 5700,
    CmdGetRogueCollectionCsReq = 5679,
    CmdRogueNpcDisappearScRsp = 5616,
    CmdUpdateRogueAdventureRoomScoreScRsp = 5686,
    CmdBuyRogueShopFormulaScRsp = 5647,
    CmdRogueGetGambleInfoCsReq = 5628,
    CmdSyncRogueAdventureRoomInfoScNotify = 5695,
    CmdRogueDebugReplaySaveScNotify = 5688,
    CmdSyncRogueCommonDialogueOptionFinishScNotify = 5617,
    CmdGetRogueShopBuffInfoScRsp = 5671,
    CmdSetRogueCollectionCsReq = 5604,
    CmdStopRogueAdventureRoomScRsp = 5663,
    CmdEnhanceCommonRogueBuffCsReq = 5658,
    CmdTakeRogueEventHandbookRewardCsReq = 5606,
    CmdGetRogueAdventureRoomInfoScRsp = 5683,
    CmdSyncRogueCommonActionResultScNotify = 5613,
    CmdGetRogueShopMiracleInfoScRsp = 5676,
    CmdTakeRogueMiracleHandbookRewardCsReq = 5698,
    CmdSelectRogueCommonDialogueOptionCsReq = 5636,
    CmdGetEnhanceCommonRogueBuffInfoCsReq = 5642,
    CmdRogueShopBeginBattleCsReq = 5692,
    CmdRogueNpcDisappearCsReq = 5685,
    CmdSyncRogueCommonPendingActionScNotify = 5678,
    CmdGetRogueCollectionScRsp = 5670,
    CmdGetEnhanceCommonRogueBuffInfoScRsp = 5677,
    CmdGetRogueAdventureRoomInfoCsReq = 5646,
    CmdGetRogueShopBuffInfoCsReq = 5648,
    CmdGetRogueCommonDialogueDataScRsp = 5653,
    CmdBuyRogueShopBuffScRsp = 5672,
    CmdGetRogueExhibitionCsReq = 5644,
}
impl CmdRogueCommonType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRogueCommonTypeNone",
            Self::CmdGetRogueHandbookDataScRsp => "CmdGetRogueHandbookDataScRsp",
            Self::CmdHandleRogueCommonPendingActionScRsp => {
                "CmdHandleRogueCommonPendingActionScRsp"
            }
            Self::CmdCommonRogueQueryScRsp => "CmdCommonRogueQueryScRsp",
            Self::CmdRogueShopBeginBattleScRsp => "CmdRogueShopBeginBattleScRsp",
            Self::CmdFinishRogueCommonDialogueScRsp => {
                "CmdFinishRogueCommonDialogueScRsp"
            }
            Self::CmdGetRogueCommonDialogueDataCsReq => {
                "CmdGetRogueCommonDialogueDataCsReq"
            }
            Self::CmdGetRogueShopMiracleInfoCsReq => "CmdGetRogueShopMiracleInfoCsReq",
            Self::CmdBuyRogueShopFormulaCsReq => "CmdBuyRogueShopFormulaCsReq",
            Self::CmdRogueGetGambleInfoScRsp => "CmdRogueGetGambleInfoScRsp",
            Self::CmdEnhanceCommonRogueBuffScRsp => "CmdEnhanceCommonRogueBuffScRsp",
            Self::CmdTakeRogueMiracleHandbookRewardScRsp => {
                "CmdTakeRogueMiracleHandbookRewardScRsp"
            }
            Self::CmdRogueWorkbenchHandleFuncScRsp => "CmdRogueWorkbenchHandleFuncScRsp",
            Self::CmdSetRogueCollectionScRsp => "CmdSetRogueCollectionScRsp",
            Self::CmdUpdateRogueAdventureRoomScoreCsReq => {
                "CmdUpdateRogueAdventureRoomScoreCsReq"
            }
            Self::CmdGetRogueShopFormulaInfoScRsp => "CmdGetRogueShopFormulaInfoScRsp",
            Self::CmdHandleRogueCommonPendingActionCsReq => {
                "CmdHandleRogueCommonPendingActionCsReq"
            }
            Self::CmdRogueDoGambleScRsp => "CmdRogueDoGambleScRsp",
            Self::CmdSelectRogueCommonDialogueOptionScRsp => {
                "CmdSelectRogueCommonDialogueOptionScRsp"
            }
            Self::CmdRogueDoGambleCsReq => "CmdRogueDoGambleCsReq",
            Self::CmdSetRogueExhibitionCsReq => "CmdSetRogueExhibitionCsReq",
            Self::CmdGetRogueHandbookDataCsReq => "CmdGetRogueHandbookDataCsReq",
            Self::CmdCommonRogueUpdateScNotify => "CmdCommonRogueUpdateScNotify",
            Self::CmdSyncRogueHandbookDataUpdateScNotify => {
                "CmdSyncRogueHandbookDataUpdateScNotify"
            }
            Self::CmdRogueWorkbenchGetInfoScRsp => "CmdRogueWorkbenchGetInfoScRsp",
            Self::CmdFinishRogueCommonDialogueCsReq => {
                "CmdFinishRogueCommonDialogueCsReq"
            }
            Self::CmdStopRogueAdventureRoomCsReq => "CmdStopRogueAdventureRoomCsReq",
            Self::CmdBuyRogueShopMiracleScRsp => "CmdBuyRogueShopMiracleScRsp",
            Self::CmdBuyRogueShopBuffCsReq => "CmdBuyRogueShopBuffCsReq",
            Self::CmdPrepareRogueAdventureRoomScRsp => {
                "CmdPrepareRogueAdventureRoomScRsp"
            }
            Self::CmdPrepareRogueAdventureRoomCsReq => {
                "CmdPrepareRogueAdventureRoomCsReq"
            }
            Self::CmdRogueWorkbenchGetInfoCsReq => "CmdRogueWorkbenchGetInfoCsReq",
            Self::CmdGetRogueShopFormulaInfoCsReq => "CmdGetRogueShopFormulaInfoCsReq",
            Self::CmdTakeRogueEventHandbookRewardScRsp => {
                "CmdTakeRogueEventHandbookRewardScRsp"
            }
            Self::CmdGetRogueExhibitionScRsp => "CmdGetRogueExhibitionScRsp",
            Self::CmdRogueWorkbenchHandleFuncCsReq => "CmdRogueWorkbenchHandleFuncCsReq",
            Self::CmdBuyRogueShopMiracleCsReq => "CmdBuyRogueShopMiracleCsReq",
            Self::CmdCommonRogueQueryCsReq => "CmdCommonRogueQueryCsReq",
            Self::CmdSetRogueExhibitionScRsp => "CmdSetRogueExhibitionScRsp",
            Self::CmdSyncRogueCommonDialogueDataScNotify => {
                "CmdSyncRogueCommonDialogueDataScNotify"
            }
            Self::CmdSyncRogueCommonVirtualItemInfoScNotify => {
                "CmdSyncRogueCommonVirtualItemInfoScNotify"
            }
            Self::CmdGetRogueCollectionCsReq => "CmdGetRogueCollectionCsReq",
            Self::CmdRogueNpcDisappearScRsp => "CmdRogueNpcDisappearScRsp",
            Self::CmdUpdateRogueAdventureRoomScoreScRsp => {
                "CmdUpdateRogueAdventureRoomScoreScRsp"
            }
            Self::CmdBuyRogueShopFormulaScRsp => "CmdBuyRogueShopFormulaScRsp",
            Self::CmdRogueGetGambleInfoCsReq => "CmdRogueGetGambleInfoCsReq",
            Self::CmdSyncRogueAdventureRoomInfoScNotify => {
                "CmdSyncRogueAdventureRoomInfoScNotify"
            }
            Self::CmdRogueDebugReplaySaveScNotify => "CmdRogueDebugReplaySaveScNotify",
            Self::CmdSyncRogueCommonDialogueOptionFinishScNotify => {
                "CmdSyncRogueCommonDialogueOptionFinishScNotify"
            }
            Self::CmdGetRogueShopBuffInfoScRsp => "CmdGetRogueShopBuffInfoScRsp",
            Self::CmdSetRogueCollectionCsReq => "CmdSetRogueCollectionCsReq",
            Self::CmdStopRogueAdventureRoomScRsp => "CmdStopRogueAdventureRoomScRsp",
            Self::CmdEnhanceCommonRogueBuffCsReq => "CmdEnhanceCommonRogueBuffCsReq",
            Self::CmdTakeRogueEventHandbookRewardCsReq => {
                "CmdTakeRogueEventHandbookRewardCsReq"
            }
            Self::CmdGetRogueAdventureRoomInfoScRsp => {
                "CmdGetRogueAdventureRoomInfoScRsp"
            }
            Self::CmdSyncRogueCommonActionResultScNotify => {
                "CmdSyncRogueCommonActionResultScNotify"
            }
            Self::CmdGetRogueShopMiracleInfoScRsp => "CmdGetRogueShopMiracleInfoScRsp",
            Self::CmdTakeRogueMiracleHandbookRewardCsReq => {
                "CmdTakeRogueMiracleHandbookRewardCsReq"
            }
            Self::CmdSelectRogueCommonDialogueOptionCsReq => {
                "CmdSelectRogueCommonDialogueOptionCsReq"
            }
            Self::CmdGetEnhanceCommonRogueBuffInfoCsReq => {
                "CmdGetEnhanceCommonRogueBuffInfoCsReq"
            }
            Self::CmdRogueShopBeginBattleCsReq => "CmdRogueShopBeginBattleCsReq",
            Self::CmdRogueNpcDisappearCsReq => "CmdRogueNpcDisappearCsReq",
            Self::CmdSyncRogueCommonPendingActionScNotify => {
                "CmdSyncRogueCommonPendingActionScNotify"
            }
            Self::CmdGetRogueCollectionScRsp => "CmdGetRogueCollectionScRsp",
            Self::CmdGetEnhanceCommonRogueBuffInfoScRsp => {
                "CmdGetEnhanceCommonRogueBuffInfoScRsp"
            }
            Self::CmdGetRogueAdventureRoomInfoCsReq => {
                "CmdGetRogueAdventureRoomInfoCsReq"
            }
            Self::CmdGetRogueShopBuffInfoCsReq => "CmdGetRogueShopBuffInfoCsReq",
            Self::CmdGetRogueCommonDialogueDataScRsp => {
                "CmdGetRogueCommonDialogueDataScRsp"
            }
            Self::CmdBuyRogueShopBuffScRsp => "CmdBuyRogueShopBuffScRsp",
            Self::CmdGetRogueExhibitionCsReq => "CmdGetRogueExhibitionCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueCommonTypeNone" => Some(Self::None),
            "CmdGetRogueHandbookDataScRsp" => Some(Self::CmdGetRogueHandbookDataScRsp),
            "CmdHandleRogueCommonPendingActionScRsp" => {
                Some(Self::CmdHandleRogueCommonPendingActionScRsp)
            }
            "CmdCommonRogueQueryScRsp" => Some(Self::CmdCommonRogueQueryScRsp),
            "CmdRogueShopBeginBattleScRsp" => Some(Self::CmdRogueShopBeginBattleScRsp),
            "CmdFinishRogueCommonDialogueScRsp" => {
                Some(Self::CmdFinishRogueCommonDialogueScRsp)
            }
            "CmdGetRogueCommonDialogueDataCsReq" => {
                Some(Self::CmdGetRogueCommonDialogueDataCsReq)
            }
            "CmdGetRogueShopMiracleInfoCsReq" => {
                Some(Self::CmdGetRogueShopMiracleInfoCsReq)
            }
            "CmdBuyRogueShopFormulaCsReq" => Some(Self::CmdBuyRogueShopFormulaCsReq),
            "CmdRogueGetGambleInfoScRsp" => Some(Self::CmdRogueGetGambleInfoScRsp),
            "CmdEnhanceCommonRogueBuffScRsp" => {
                Some(Self::CmdEnhanceCommonRogueBuffScRsp)
            }
            "CmdTakeRogueMiracleHandbookRewardScRsp" => {
                Some(Self::CmdTakeRogueMiracleHandbookRewardScRsp)
            }
            "CmdRogueWorkbenchHandleFuncScRsp" => {
                Some(Self::CmdRogueWorkbenchHandleFuncScRsp)
            }
            "CmdSetRogueCollectionScRsp" => Some(Self::CmdSetRogueCollectionScRsp),
            "CmdUpdateRogueAdventureRoomScoreCsReq" => {
                Some(Self::CmdUpdateRogueAdventureRoomScoreCsReq)
            }
            "CmdGetRogueShopFormulaInfoScRsp" => {
                Some(Self::CmdGetRogueShopFormulaInfoScRsp)
            }
            "CmdHandleRogueCommonPendingActionCsReq" => {
                Some(Self::CmdHandleRogueCommonPendingActionCsReq)
            }
            "CmdRogueDoGambleScRsp" => Some(Self::CmdRogueDoGambleScRsp),
            "CmdSelectRogueCommonDialogueOptionScRsp" => {
                Some(Self::CmdSelectRogueCommonDialogueOptionScRsp)
            }
            "CmdRogueDoGambleCsReq" => Some(Self::CmdRogueDoGambleCsReq),
            "CmdSetRogueExhibitionCsReq" => Some(Self::CmdSetRogueExhibitionCsReq),
            "CmdGetRogueHandbookDataCsReq" => Some(Self::CmdGetRogueHandbookDataCsReq),
            "CmdCommonRogueUpdateScNotify" => Some(Self::CmdCommonRogueUpdateScNotify),
            "CmdSyncRogueHandbookDataUpdateScNotify" => {
                Some(Self::CmdSyncRogueHandbookDataUpdateScNotify)
            }
            "CmdRogueWorkbenchGetInfoScRsp" => Some(Self::CmdRogueWorkbenchGetInfoScRsp),
            "CmdFinishRogueCommonDialogueCsReq" => {
                Some(Self::CmdFinishRogueCommonDialogueCsReq)
            }
            "CmdStopRogueAdventureRoomCsReq" => {
                Some(Self::CmdStopRogueAdventureRoomCsReq)
            }
            "CmdBuyRogueShopMiracleScRsp" => Some(Self::CmdBuyRogueShopMiracleScRsp),
            "CmdBuyRogueShopBuffCsReq" => Some(Self::CmdBuyRogueShopBuffCsReq),
            "CmdPrepareRogueAdventureRoomScRsp" => {
                Some(Self::CmdPrepareRogueAdventureRoomScRsp)
            }
            "CmdPrepareRogueAdventureRoomCsReq" => {
                Some(Self::CmdPrepareRogueAdventureRoomCsReq)
            }
            "CmdRogueWorkbenchGetInfoCsReq" => Some(Self::CmdRogueWorkbenchGetInfoCsReq),
            "CmdGetRogueShopFormulaInfoCsReq" => {
                Some(Self::CmdGetRogueShopFormulaInfoCsReq)
            }
            "CmdTakeRogueEventHandbookRewardScRsp" => {
                Some(Self::CmdTakeRogueEventHandbookRewardScRsp)
            }
            "CmdGetRogueExhibitionScRsp" => Some(Self::CmdGetRogueExhibitionScRsp),
            "CmdRogueWorkbenchHandleFuncCsReq" => {
                Some(Self::CmdRogueWorkbenchHandleFuncCsReq)
            }
            "CmdBuyRogueShopMiracleCsReq" => Some(Self::CmdBuyRogueShopMiracleCsReq),
            "CmdCommonRogueQueryCsReq" => Some(Self::CmdCommonRogueQueryCsReq),
            "CmdSetRogueExhibitionScRsp" => Some(Self::CmdSetRogueExhibitionScRsp),
            "CmdSyncRogueCommonDialogueDataScNotify" => {
                Some(Self::CmdSyncRogueCommonDialogueDataScNotify)
            }
            "CmdSyncRogueCommonVirtualItemInfoScNotify" => {
                Some(Self::CmdSyncRogueCommonVirtualItemInfoScNotify)
            }
            "CmdGetRogueCollectionCsReq" => Some(Self::CmdGetRogueCollectionCsReq),
            "CmdRogueNpcDisappearScRsp" => Some(Self::CmdRogueNpcDisappearScRsp),
            "CmdUpdateRogueAdventureRoomScoreScRsp" => {
                Some(Self::CmdUpdateRogueAdventureRoomScoreScRsp)
            }
            "CmdBuyRogueShopFormulaScRsp" => Some(Self::CmdBuyRogueShopFormulaScRsp),
            "CmdRogueGetGambleInfoCsReq" => Some(Self::CmdRogueGetGambleInfoCsReq),
            "CmdSyncRogueAdventureRoomInfoScNotify" => {
                Some(Self::CmdSyncRogueAdventureRoomInfoScNotify)
            }
            "CmdRogueDebugReplaySaveScNotify" => {
                Some(Self::CmdRogueDebugReplaySaveScNotify)
            }
            "CmdSyncRogueCommonDialogueOptionFinishScNotify" => {
                Some(Self::CmdSyncRogueCommonDialogueOptionFinishScNotify)
            }
            "CmdGetRogueShopBuffInfoScRsp" => Some(Self::CmdGetRogueShopBuffInfoScRsp),
            "CmdSetRogueCollectionCsReq" => Some(Self::CmdSetRogueCollectionCsReq),
            "CmdStopRogueAdventureRoomScRsp" => {
                Some(Self::CmdStopRogueAdventureRoomScRsp)
            }
            "CmdEnhanceCommonRogueBuffCsReq" => {
                Some(Self::CmdEnhanceCommonRogueBuffCsReq)
            }
            "CmdTakeRogueEventHandbookRewardCsReq" => {
                Some(Self::CmdTakeRogueEventHandbookRewardCsReq)
            }
            "CmdGetRogueAdventureRoomInfoScRsp" => {
                Some(Self::CmdGetRogueAdventureRoomInfoScRsp)
            }
            "CmdSyncRogueCommonActionResultScNotify" => {
                Some(Self::CmdSyncRogueCommonActionResultScNotify)
            }
            "CmdGetRogueShopMiracleInfoScRsp" => {
                Some(Self::CmdGetRogueShopMiracleInfoScRsp)
            }
            "CmdTakeRogueMiracleHandbookRewardCsReq" => {
                Some(Self::CmdTakeRogueMiracleHandbookRewardCsReq)
            }
            "CmdSelectRogueCommonDialogueOptionCsReq" => {
                Some(Self::CmdSelectRogueCommonDialogueOptionCsReq)
            }
            "CmdGetEnhanceCommonRogueBuffInfoCsReq" => {
                Some(Self::CmdGetEnhanceCommonRogueBuffInfoCsReq)
            }
            "CmdRogueShopBeginBattleCsReq" => Some(Self::CmdRogueShopBeginBattleCsReq),
            "CmdRogueNpcDisappearCsReq" => Some(Self::CmdRogueNpcDisappearCsReq),
            "CmdSyncRogueCommonPendingActionScNotify" => {
                Some(Self::CmdSyncRogueCommonPendingActionScNotify)
            }
            "CmdGetRogueCollectionScRsp" => Some(Self::CmdGetRogueCollectionScRsp),
            "CmdGetEnhanceCommonRogueBuffInfoScRsp" => {
                Some(Self::CmdGetEnhanceCommonRogueBuffInfoScRsp)
            }
            "CmdGetRogueAdventureRoomInfoCsReq" => {
                Some(Self::CmdGetRogueAdventureRoomInfoCsReq)
            }
            "CmdGetRogueShopBuffInfoCsReq" => Some(Self::CmdGetRogueShopBuffInfoCsReq),
            "CmdGetRogueCommonDialogueDataScRsp" => {
                Some(Self::CmdGetRogueCommonDialogueDataScRsp)
            }
            "CmdBuyRogueShopBuffScRsp" => Some(Self::CmdBuyRogueShopBuffScRsp),
            "CmdGetRogueExhibitionCsReq" => Some(Self::CmdGetRogueExhibitionCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jaocjomenin {
    RogueAdventureRoomStatusNone = 0,
    RogueAdventureRoomStatusPrepare = 1,
    RogueAdventureRoomStatusStarted = 2,
    RogueAdventureRoomStatusStopped = 3,
}
impl Jaocjomenin {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueAdventureRoomStatusNone => "ROGUE_ADVENTURE_ROOM_STATUS_NONE",
            Self::RogueAdventureRoomStatusPrepare => {
                "ROGUE_ADVENTURE_ROOM_STATUS_PREPARE"
            }
            Self::RogueAdventureRoomStatusStarted => {
                "ROGUE_ADVENTURE_ROOM_STATUS_STARTED"
            }
            Self::RogueAdventureRoomStatusStopped => {
                "ROGUE_ADVENTURE_ROOM_STATUS_STOPPED"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_ADVENTURE_ROOM_STATUS_NONE" => {
                Some(Self::RogueAdventureRoomStatusNone)
            }
            "ROGUE_ADVENTURE_ROOM_STATUS_PREPARE" => {
                Some(Self::RogueAdventureRoomStatusPrepare)
            }
            "ROGUE_ADVENTURE_ROOM_STATUS_STARTED" => {
                Some(Self::RogueAdventureRoomStatusStarted)
            }
            "ROGUE_ADVENTURE_ROOM_STATUS_STOPPED" => {
                Some(Self::RogueAdventureRoomStatusStopped)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nniohhmjghg {
    RogueCommonBuffSelectSourceTypeNone = 0,
    RogueCommonBuffSelectSourceTypeDiceRoll = 1,
    RogueCommonBuffSelectSourceTypeAeon = 2,
    RogueCommonBuffSelectSourceTypeBoardEvent = 3,
    RogueCommonBuffSelectSourceTypeLevelMechanism = 4,
}
impl Nniohhmjghg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueCommonBuffSelectSourceTypeNone => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_NONE"
            }
            Self::RogueCommonBuffSelectSourceTypeDiceRoll => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_DICE_ROLL"
            }
            Self::RogueCommonBuffSelectSourceTypeAeon => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_AEON"
            }
            Self::RogueCommonBuffSelectSourceTypeBoardEvent => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_BOARD_EVENT"
            }
            Self::RogueCommonBuffSelectSourceTypeLevelMechanism => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_LEVEL_MECHANISM"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_NONE" => {
                Some(Self::RogueCommonBuffSelectSourceTypeNone)
            }
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_DICE_ROLL" => {
                Some(Self::RogueCommonBuffSelectSourceTypeDiceRoll)
            }
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_AEON" => {
                Some(Self::RogueCommonBuffSelectSourceTypeAeon)
            }
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_BOARD_EVENT" => {
                Some(Self::RogueCommonBuffSelectSourceTypeBoardEvent)
            }
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueCommonBuffSelectSourceTypeLevelMechanism)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Odopdkelaeb {
    RogueUnlockFunctionTypeMiracle = 0,
    RogueUnlockFunctionTypeShowHint = 1,
    RogueUnlockFunctionTypeCosmosBanAeon = 2,
    RogueUnlockFuntionTypeExhibition = 3,
    RogueUnlockFuntionTypeCollection = 4,
    RogueUnlockFuntionTypeTournGodMode = 5,
}
impl Odopdkelaeb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueUnlockFunctionTypeMiracle => "ROGUE_UNLOCK_FUNCTION_TYPE_MIRACLE",
            Self::RogueUnlockFunctionTypeShowHint => {
                "ROGUE_UNLOCK_FUNCTION_TYPE_SHOW_HINT"
            }
            Self::RogueUnlockFunctionTypeCosmosBanAeon => {
                "ROGUE_UNLOCK_FUNCTION_TYPE_COSMOS_BAN_AEON"
            }
            Self::RogueUnlockFuntionTypeExhibition => {
                "ROGUE_UNLOCK_FUNTION_TYPE_EXHIBITION"
            }
            Self::RogueUnlockFuntionTypeCollection => {
                "ROGUE_UNLOCK_FUNTION_TYPE_COLLECTION"
            }
            Self::RogueUnlockFuntionTypeTournGodMode => {
                "ROGUE_UNLOCK_FUNTION_TYPE_TOURN_GOD_MODE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_UNLOCK_FUNCTION_TYPE_MIRACLE" => {
                Some(Self::RogueUnlockFunctionTypeMiracle)
            }
            "ROGUE_UNLOCK_FUNCTION_TYPE_SHOW_HINT" => {
                Some(Self::RogueUnlockFunctionTypeShowHint)
            }
            "ROGUE_UNLOCK_FUNCTION_TYPE_COSMOS_BAN_AEON" => {
                Some(Self::RogueUnlockFunctionTypeCosmosBanAeon)
            }
            "ROGUE_UNLOCK_FUNTION_TYPE_EXHIBITION" => {
                Some(Self::RogueUnlockFuntionTypeExhibition)
            }
            "ROGUE_UNLOCK_FUNTION_TYPE_COLLECTION" => {
                Some(Self::RogueUnlockFuntionTypeCollection)
            }
            "ROGUE_UNLOCK_FUNTION_TYPE_TOURN_GOD_MODE" => {
                Some(Self::RogueUnlockFuntionTypeTournGodMode)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pmpcbalmneo {
    RogueCommonMiracleSelectSourceTypeNone = 0,
    RogueCommonMiracleSelectSourceTypeDiceRoll = 1,
    RogueCommonMiracleSelectSourceTypeAeon = 2,
    RogueCommonMiracleSelectSourceTypeBoardEvent = 3,
    RogueCommonMiracleSelectSourceTypeLevelMechanism = 4,
}
impl Pmpcbalmneo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueCommonMiracleSelectSourceTypeNone => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_NONE"
            }
            Self::RogueCommonMiracleSelectSourceTypeDiceRoll => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_DICE_ROLL"
            }
            Self::RogueCommonMiracleSelectSourceTypeAeon => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_AEON"
            }
            Self::RogueCommonMiracleSelectSourceTypeBoardEvent => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_BOARD_EVENT"
            }
            Self::RogueCommonMiracleSelectSourceTypeLevelMechanism => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_LEVEL_MECHANISM"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_NONE" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeNone)
            }
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_DICE_ROLL" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeDiceRoll)
            }
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_AEON" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeAeon)
            }
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_BOARD_EVENT" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeBoardEvent)
            }
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeLevelMechanism)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ojeigiekjeh {
    RogueCommonBuffDisplayTypeNone = 0,
    RogueCommonBuffDisplayTypeAdd = 1,
    RogueCommonBuffDisplayTypeRemove = 2,
}
impl Ojeigiekjeh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueCommonBuffDisplayTypeNone => "ROGUE_COMMON_BUFF_DISPLAY_TYPE_NONE",
            Self::RogueCommonBuffDisplayTypeAdd => "ROGUE_COMMON_BUFF_DISPLAY_TYPE_ADD",
            Self::RogueCommonBuffDisplayTypeRemove => {
                "ROGUE_COMMON_BUFF_DISPLAY_TYPE_REMOVE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_BUFF_DISPLAY_TYPE_NONE" => {
                Some(Self::RogueCommonBuffDisplayTypeNone)
            }
            "ROGUE_COMMON_BUFF_DISPLAY_TYPE_ADD" => {
                Some(Self::RogueCommonBuffDisplayTypeAdd)
            }
            "ROGUE_COMMON_BUFF_DISPLAY_TYPE_REMOVE" => {
                Some(Self::RogueCommonBuffDisplayTypeRemove)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Laiapkndbph {
    RogueCommonMiracleDisplayTypeNone = 0,
    RogueCommonMiracleDisplayTypeAdd = 1,
    RogueCommonMiracleDisplayTypeRemove = 2,
    RogueCommonMiracleDisplayTypeRepair = 3,
}
impl Laiapkndbph {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueCommonMiracleDisplayTypeNone => {
                "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_NONE"
            }
            Self::RogueCommonMiracleDisplayTypeAdd => {
                "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_ADD"
            }
            Self::RogueCommonMiracleDisplayTypeRemove => {
                "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_REMOVE"
            }
            Self::RogueCommonMiracleDisplayTypeRepair => {
                "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_REPAIR"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_NONE" => {
                Some(Self::RogueCommonMiracleDisplayTypeNone)
            }
            "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_ADD" => {
                Some(Self::RogueCommonMiracleDisplayTypeAdd)
            }
            "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_REMOVE" => {
                Some(Self::RogueCommonMiracleDisplayTypeRemove)
            }
            "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_REPAIR" => {
                Some(Self::RogueCommonMiracleDisplayTypeRepair)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Paickpmogdg {
    RogueCommonItemDisplayTypeNone = 0,
    RogueCommonItemDisplayTypeAdd = 1,
    RogueCommonItemDisplayTypeRemove = 2,
}
impl Paickpmogdg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueCommonItemDisplayTypeNone => "ROGUE_COMMON_ITEM_DISPLAY_TYPE_NONE",
            Self::RogueCommonItemDisplayTypeAdd => "ROGUE_COMMON_ITEM_DISPLAY_TYPE_ADD",
            Self::RogueCommonItemDisplayTypeRemove => {
                "ROGUE_COMMON_ITEM_DISPLAY_TYPE_REMOVE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_ITEM_DISPLAY_TYPE_NONE" => {
                Some(Self::RogueCommonItemDisplayTypeNone)
            }
            "ROGUE_COMMON_ITEM_DISPLAY_TYPE_ADD" => {
                Some(Self::RogueCommonItemDisplayTypeAdd)
            }
            "ROGUE_COMMON_ITEM_DISPLAY_TYPE_REMOVE" => {
                Some(Self::RogueCommonItemDisplayTypeRemove)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nemklkdbeap {
    RogueCommonActionResultDisplayTypeNone = 0,
    RogueCommonActionResultDisplayTypeSingle = 1,
    RogueCommonActionResultDisplayTypeMulti = 2,
}
impl Nemklkdbeap {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueCommonActionResultDisplayTypeNone => {
                "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_NONE"
            }
            Self::RogueCommonActionResultDisplayTypeSingle => {
                "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_SINGLE"
            }
            Self::RogueCommonActionResultDisplayTypeMulti => {
                "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_MULTI"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_NONE" => {
                Some(Self::RogueCommonActionResultDisplayTypeNone)
            }
            "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_SINGLE" => {
                Some(Self::RogueCommonActionResultDisplayTypeSingle)
            }
            "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_MULTI" => {
                Some(Self::RogueCommonActionResultDisplayTypeMulti)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cfjgpifiool {
    RogueCommonActionResultSourceTypeNone = 0,
    RogueCommonActionResultSourceTypeSelect = 1,
    RogueCommonActionResultSourceTypeEnhance = 2,
    RogueCommonActionResultSourceTypeMiracle = 3,
    RogueCommonActionResultSourceTypeDialogue = 4,
    RogueCommonActionResultSourceTypeBonus = 5,
    RogueCommonActionResultSourceTypeShop = 6,
    RogueCommonActionResultSourceTypeDice = 7,
    RogueCommonActionResultSourceTypeAeon = 8,
    RogueCommonActionResultSourceTypeBoardEvent = 9,
    RogueCommonActionResultSourceTypeMazeSkill = 10,
    RogueCommonActionResultSourceTypeLevelMechanism = 11,
    RogueCommonActionResultSourceTypeBuff = 12,
    RogueCommonActionResultSourceTypeReforge = 13,
    RogueCommonActionResultSourceTypeMagicUnitCompose = 14,
    RogueCommonActionResultSourceTypeMagicUnitReforge = 15,
}
impl Cfjgpifiool {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueCommonActionResultSourceTypeNone => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_NONE"
            }
            Self::RogueCommonActionResultSourceTypeSelect => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_SELECT"
            }
            Self::RogueCommonActionResultSourceTypeEnhance => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_ENHANCE"
            }
            Self::RogueCommonActionResultSourceTypeMiracle => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MIRACLE"
            }
            Self::RogueCommonActionResultSourceTypeDialogue => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_DIALOGUE"
            }
            Self::RogueCommonActionResultSourceTypeBonus => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BONUS"
            }
            Self::RogueCommonActionResultSourceTypeShop => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_SHOP"
            }
            Self::RogueCommonActionResultSourceTypeDice => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_DICE"
            }
            Self::RogueCommonActionResultSourceTypeAeon => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_AEON"
            }
            Self::RogueCommonActionResultSourceTypeBoardEvent => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BOARD_EVENT"
            }
            Self::RogueCommonActionResultSourceTypeMazeSkill => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAZE_SKILL"
            }
            Self::RogueCommonActionResultSourceTypeLevelMechanism => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_LEVEL_MECHANISM"
            }
            Self::RogueCommonActionResultSourceTypeBuff => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BUFF"
            }
            Self::RogueCommonActionResultSourceTypeReforge => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_REFORGE"
            }
            Self::RogueCommonActionResultSourceTypeMagicUnitCompose => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAGIC_UNIT_COMPOSE"
            }
            Self::RogueCommonActionResultSourceTypeMagicUnitReforge => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAGIC_UNIT_REFORGE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_NONE" => {
                Some(Self::RogueCommonActionResultSourceTypeNone)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_SELECT" => {
                Some(Self::RogueCommonActionResultSourceTypeSelect)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_ENHANCE" => {
                Some(Self::RogueCommonActionResultSourceTypeEnhance)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MIRACLE" => {
                Some(Self::RogueCommonActionResultSourceTypeMiracle)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::RogueCommonActionResultSourceTypeDialogue)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BONUS" => {
                Some(Self::RogueCommonActionResultSourceTypeBonus)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_SHOP" => {
                Some(Self::RogueCommonActionResultSourceTypeShop)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_DICE" => {
                Some(Self::RogueCommonActionResultSourceTypeDice)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_AEON" => {
                Some(Self::RogueCommonActionResultSourceTypeAeon)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BOARD_EVENT" => {
                Some(Self::RogueCommonActionResultSourceTypeBoardEvent)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::RogueCommonActionResultSourceTypeMazeSkill)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueCommonActionResultSourceTypeLevelMechanism)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BUFF" => {
                Some(Self::RogueCommonActionResultSourceTypeBuff)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_REFORGE" => {
                Some(Self::RogueCommonActionResultSourceTypeReforge)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAGIC_UNIT_COMPOSE" => {
                Some(Self::RogueCommonActionResultSourceTypeMagicUnitCompose)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAGIC_UNIT_REFORGE" => {
                Some(Self::RogueCommonActionResultSourceTypeMagicUnitReforge)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ndkljjiimgm {
    KTitanBlessSelectNone = 0,
    KSelectTitanBlessType = 1,
    KSelectTitanBlessEnhance = 2,
}
impl Ndkljjiimgm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::KTitanBlessSelectNone => "kTitanBlessSelectNone",
            Self::KSelectTitanBlessType => "kSelectTitanBlessType",
            Self::KSelectTitanBlessEnhance => "kSelectTitanBlessEnhance",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "kTitanBlessSelectNone" => Some(Self::KTitanBlessSelectNone),
            "kSelectTitanBlessType" => Some(Self::KSelectTitanBlessType),
            "kSelectTitanBlessEnhance" => Some(Self::KSelectTitanBlessEnhance),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kpabffanjbk {
    RogueTalentStatusLock = 0,
    RogueTalentStatusUnlock = 1,
    RogueTalentStatusEnable = 2,
}
impl Kpabffanjbk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueTalentStatusLock => "ROGUE_TALENT_STATUS_LOCK",
            Self::RogueTalentStatusUnlock => "ROGUE_TALENT_STATUS_UNLOCK",
            Self::RogueTalentStatusEnable => "ROGUE_TALENT_STATUS_ENABLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TALENT_STATUS_LOCK" => Some(Self::RogueTalentStatusLock),
            "ROGUE_TALENT_STATUS_UNLOCK" => Some(Self::RogueTalentStatusUnlock),
            "ROGUE_TALENT_STATUS_ENABLE" => Some(Self::RogueTalentStatusEnable),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mhkmpgabbpl {
    RogueCollectionOperateNone = 0,
    RogueCollectionOperateSet = 1,
    RogueCollectionOperateUnset = 2,
}
impl Mhkmpgabbpl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueCollectionOperateNone => "ROGUE_COLLECTION_OPERATE_NONE",
            Self::RogueCollectionOperateSet => "ROGUE_COLLECTION_OPERATE_SET",
            Self::RogueCollectionOperateUnset => "ROGUE_COLLECTION_OPERATE_UNSET",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COLLECTION_OPERATE_NONE" => Some(Self::RogueCollectionOperateNone),
            "ROGUE_COLLECTION_OPERATE_SET" => Some(Self::RogueCollectionOperateSet),
            "ROGUE_COLLECTION_OPERATE_UNSET" => Some(Self::RogueCollectionOperateUnset),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hhiclpljnco {
    RogueBoothNone = 0,
    RogueBoothEmpty = 1,
    RogueBoothDisplay = 2,
}
impl Hhiclpljnco {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueBoothNone => "ROGUE_BOOTH_NONE",
            Self::RogueBoothEmpty => "ROGUE_BOOTH_EMPTY",
            Self::RogueBoothDisplay => "ROGUE_BOOTH_DISPLAY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_BOOTH_NONE" => Some(Self::RogueBoothNone),
            "ROGUE_BOOTH_EMPTY" => Some(Self::RogueBoothEmpty),
            "ROGUE_BOOTH_DISPLAY" => Some(Self::RogueBoothDisplay),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hgpokmdgknn {
    RogueCollectionNone = 0,
    RogueCollectionUnlocked = 1,
    RogueCollectionDisplay = 2,
}
impl Hgpokmdgknn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueCollectionNone => "ROGUE_COLLECTION_NONE",
            Self::RogueCollectionUnlocked => "ROGUE_COLLECTION_UNLOCKED",
            Self::RogueCollectionDisplay => "ROGUE_COLLECTION_DISPLAY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COLLECTION_NONE" => Some(Self::RogueCollectionNone),
            "ROGUE_COLLECTION_UNLOCKED" => Some(Self::RogueCollectionUnlocked),
            "ROGUE_COLLECTION_DISPLAY" => Some(Self::RogueCollectionDisplay),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ehcobodeeje {
    RogueExhibitionNone = 0,
    RogueExhibitionUnlocked = 1,
    RogueExhibitionDisplay = 2,
}
impl Ehcobodeeje {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueExhibitionNone => "ROGUE_EXHIBITION_NONE",
            Self::RogueExhibitionUnlocked => "ROGUE_EXHIBITION_UNLOCKED",
            Self::RogueExhibitionDisplay => "ROGUE_EXHIBITION_DISPLAY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_EXHIBITION_NONE" => Some(Self::RogueExhibitionNone),
            "ROGUE_EXHIBITION_UNLOCKED" => Some(Self::RogueExhibitionUnlocked),
            "ROGUE_EXHIBITION_DISPLAY" => Some(Self::RogueExhibitionDisplay),
            _ => None,
        }
    }
}
/// Obf: JEBNNIFNKCA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueEndless {
    None = 0,
    CmdTakeRogueEndlessActivityAllBonusRewardScRsp = 6010,
    CmdGetRogueEndlessActivityDataCsReq = 6002,
    CmdTakeRogueEndlessActivityPointRewardScRsp = 6006,
    CmdEnterRogueEndlessActivityStageCsReq = 6004,
    CmdGetRogueEndlessActivityDataScRsp = 6005,
    ActivityBattleEndScNotify = 6001,
    CmdTakeRogueEndlessActivityAllBonusRewardCsReq = 6003,
    CmdTakeRogueEndlessActivityPointRewardCsReq = 6009,
    CmdEnterRogueEndlessActivityStageScRsp = 6007,
}
impl CmdRogueEndless {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRogueEndlessNone",
            Self::CmdTakeRogueEndlessActivityAllBonusRewardScRsp => {
                "CmdTakeRogueEndlessActivityAllBonusRewardScRsp"
            }
            Self::CmdGetRogueEndlessActivityDataCsReq => {
                "CmdGetRogueEndlessActivityDataCsReq"
            }
            Self::CmdTakeRogueEndlessActivityPointRewardScRsp => {
                "CmdTakeRogueEndlessActivityPointRewardScRsp"
            }
            Self::CmdEnterRogueEndlessActivityStageCsReq => {
                "CmdEnterRogueEndlessActivityStageCsReq"
            }
            Self::CmdGetRogueEndlessActivityDataScRsp => {
                "CmdGetRogueEndlessActivityDataScRsp"
            }
            Self::ActivityBattleEndScNotify => "CmdRogueEndlessActivityBattleEndScNotify",
            Self::CmdTakeRogueEndlessActivityAllBonusRewardCsReq => {
                "CmdTakeRogueEndlessActivityAllBonusRewardCsReq"
            }
            Self::CmdTakeRogueEndlessActivityPointRewardCsReq => {
                "CmdTakeRogueEndlessActivityPointRewardCsReq"
            }
            Self::CmdEnterRogueEndlessActivityStageScRsp => {
                "CmdEnterRogueEndlessActivityStageScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueEndlessNone" => Some(Self::None),
            "CmdTakeRogueEndlessActivityAllBonusRewardScRsp" => {
                Some(Self::CmdTakeRogueEndlessActivityAllBonusRewardScRsp)
            }
            "CmdGetRogueEndlessActivityDataCsReq" => {
                Some(Self::CmdGetRogueEndlessActivityDataCsReq)
            }
            "CmdTakeRogueEndlessActivityPointRewardScRsp" => {
                Some(Self::CmdTakeRogueEndlessActivityPointRewardScRsp)
            }
            "CmdEnterRogueEndlessActivityStageCsReq" => {
                Some(Self::CmdEnterRogueEndlessActivityStageCsReq)
            }
            "CmdGetRogueEndlessActivityDataScRsp" => {
                Some(Self::CmdGetRogueEndlessActivityDataScRsp)
            }
            "CmdRogueEndlessActivityBattleEndScNotify" => {
                Some(Self::ActivityBattleEndScNotify)
            }
            "CmdTakeRogueEndlessActivityAllBonusRewardCsReq" => {
                Some(Self::CmdTakeRogueEndlessActivityAllBonusRewardCsReq)
            }
            "CmdTakeRogueEndlessActivityPointRewardCsReq" => {
                Some(Self::CmdTakeRogueEndlessActivityPointRewardCsReq)
            }
            "CmdEnterRogueEndlessActivityStageScRsp" => {
                Some(Self::CmdEnterRogueEndlessActivityStageScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: HBDODAGAFMP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueMagic {
    None = 0,
    SetAutoDressInMagicUnitCsReq = 7724,
    ScepterTakeOffUnitCsReq = 7711,
    StartCsReq = 7795,
    EnterCsReq = 7731,
    ScepterDressInUnitScRsp = 7763,
    AutoDressInMagicUnitChangeScNotify = 7713,
    EnterScRsp = 7740,
    ScepterDressInUnitCsReq = 7729,
    EnterRoomCsReq = 7722,
    QueryScRsp = 7758,
    EnterLayerCsReq = 7772,
    ReviveCostUpdateScNotify = 7743,
    LevelInfoUpdateScNotify = 7716,
    SettleScRsp = 7752,
    SettleCsReq = 7771,
    ScepterTakeOffUnitScRsp = 7793,
    StartScRsp = 7732,
    EnterRoomScRsp = 7756,
    EnableTalentCsReq = 7751,
    ReviveAvatarCsReq = 7733,
    SetAutoDressInMagicUnitScRsp = 7757,
    GetMiscRealTimeDataScRsp = 7798,
    AreaUpdateScNotify = 7746,
    EnterLayerScRsp = 7785,
    UnitComposeScRsp = 7714,
    LeaveCsReq = 7776,
    AutoDressInUnitScRsp = 7706,
    AutoDressInUnitCsReq = 7764,
    ReviveAvatarScRsp = 7742,
    BattleFailSettleInfoScNotify = 7739,
    LeaveScRsp = 7748,
    UnitReforgeCsReq = 7784,
    QueryCsReq = 7777,
    UnitReforgeScRsp = 7737,
    GetTalentInfoCsReq = 7730,
    StoryInfoUpdateScNotify = 7745,
    GetTalentInfoScRsp = 7775,
    UnitComposeCsReq = 7725,
    GetMiscRealTimeDataCsReq = 7707,
    EnableTalentScRsp = 7791,
}
impl CmdRogueMagic {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRogueMagicNone",
            Self::SetAutoDressInMagicUnitCsReq => {
                "CmdRogueMagicSetAutoDressInMagicUnitCsReq"
            }
            Self::ScepterTakeOffUnitCsReq => "CmdRogueMagicScepterTakeOffUnitCsReq",
            Self::StartCsReq => "CmdRogueMagicStartCsReq",
            Self::EnterCsReq => "CmdRogueMagicEnterCsReq",
            Self::ScepterDressInUnitScRsp => "CmdRogueMagicScepterDressInUnitScRsp",
            Self::AutoDressInMagicUnitChangeScNotify => {
                "CmdRogueMagicAutoDressInMagicUnitChangeScNotify"
            }
            Self::EnterScRsp => "CmdRogueMagicEnterScRsp",
            Self::ScepterDressInUnitCsReq => "CmdRogueMagicScepterDressInUnitCsReq",
            Self::EnterRoomCsReq => "CmdRogueMagicEnterRoomCsReq",
            Self::QueryScRsp => "CmdRogueMagicQueryScRsp",
            Self::EnterLayerCsReq => "CmdRogueMagicEnterLayerCsReq",
            Self::ReviveCostUpdateScNotify => "CmdRogueMagicReviveCostUpdateScNotify",
            Self::LevelInfoUpdateScNotify => "CmdRogueMagicLevelInfoUpdateScNotify",
            Self::SettleScRsp => "CmdRogueMagicSettleScRsp",
            Self::SettleCsReq => "CmdRogueMagicSettleCsReq",
            Self::ScepterTakeOffUnitScRsp => "CmdRogueMagicScepterTakeOffUnitScRsp",
            Self::StartScRsp => "CmdRogueMagicStartScRsp",
            Self::EnterRoomScRsp => "CmdRogueMagicEnterRoomScRsp",
            Self::EnableTalentCsReq => "CmdRogueMagicEnableTalentCsReq",
            Self::ReviveAvatarCsReq => "CmdRogueMagicReviveAvatarCsReq",
            Self::SetAutoDressInMagicUnitScRsp => {
                "CmdRogueMagicSetAutoDressInMagicUnitScRsp"
            }
            Self::GetMiscRealTimeDataScRsp => "CmdRogueMagicGetMiscRealTimeDataScRsp",
            Self::AreaUpdateScNotify => "CmdRogueMagicAreaUpdateScNotify",
            Self::EnterLayerScRsp => "CmdRogueMagicEnterLayerScRsp",
            Self::UnitComposeScRsp => "CmdRogueMagicUnitComposeScRsp",
            Self::LeaveCsReq => "CmdRogueMagicLeaveCsReq",
            Self::AutoDressInUnitScRsp => "CmdRogueMagicAutoDressInUnitScRsp",
            Self::AutoDressInUnitCsReq => "CmdRogueMagicAutoDressInUnitCsReq",
            Self::ReviveAvatarScRsp => "CmdRogueMagicReviveAvatarScRsp",
            Self::BattleFailSettleInfoScNotify => {
                "CmdRogueMagicBattleFailSettleInfoScNotify"
            }
            Self::LeaveScRsp => "CmdRogueMagicLeaveScRsp",
            Self::UnitReforgeCsReq => "CmdRogueMagicUnitReforgeCsReq",
            Self::QueryCsReq => "CmdRogueMagicQueryCsReq",
            Self::UnitReforgeScRsp => "CmdRogueMagicUnitReforgeScRsp",
            Self::GetTalentInfoCsReq => "CmdRogueMagicGetTalentInfoCsReq",
            Self::StoryInfoUpdateScNotify => "CmdRogueMagicStoryInfoUpdateScNotify",
            Self::GetTalentInfoScRsp => "CmdRogueMagicGetTalentInfoScRsp",
            Self::UnitComposeCsReq => "CmdRogueMagicUnitComposeCsReq",
            Self::GetMiscRealTimeDataCsReq => "CmdRogueMagicGetMiscRealTimeDataCsReq",
            Self::EnableTalentScRsp => "CmdRogueMagicEnableTalentScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueMagicNone" => Some(Self::None),
            "CmdRogueMagicSetAutoDressInMagicUnitCsReq" => {
                Some(Self::SetAutoDressInMagicUnitCsReq)
            }
            "CmdRogueMagicScepterTakeOffUnitCsReq" => Some(Self::ScepterTakeOffUnitCsReq),
            "CmdRogueMagicStartCsReq" => Some(Self::StartCsReq),
            "CmdRogueMagicEnterCsReq" => Some(Self::EnterCsReq),
            "CmdRogueMagicScepterDressInUnitScRsp" => Some(Self::ScepterDressInUnitScRsp),
            "CmdRogueMagicAutoDressInMagicUnitChangeScNotify" => {
                Some(Self::AutoDressInMagicUnitChangeScNotify)
            }
            "CmdRogueMagicEnterScRsp" => Some(Self::EnterScRsp),
            "CmdRogueMagicScepterDressInUnitCsReq" => Some(Self::ScepterDressInUnitCsReq),
            "CmdRogueMagicEnterRoomCsReq" => Some(Self::EnterRoomCsReq),
            "CmdRogueMagicQueryScRsp" => Some(Self::QueryScRsp),
            "CmdRogueMagicEnterLayerCsReq" => Some(Self::EnterLayerCsReq),
            "CmdRogueMagicReviveCostUpdateScNotify" => {
                Some(Self::ReviveCostUpdateScNotify)
            }
            "CmdRogueMagicLevelInfoUpdateScNotify" => Some(Self::LevelInfoUpdateScNotify),
            "CmdRogueMagicSettleScRsp" => Some(Self::SettleScRsp),
            "CmdRogueMagicSettleCsReq" => Some(Self::SettleCsReq),
            "CmdRogueMagicScepterTakeOffUnitScRsp" => Some(Self::ScepterTakeOffUnitScRsp),
            "CmdRogueMagicStartScRsp" => Some(Self::StartScRsp),
            "CmdRogueMagicEnterRoomScRsp" => Some(Self::EnterRoomScRsp),
            "CmdRogueMagicEnableTalentCsReq" => Some(Self::EnableTalentCsReq),
            "CmdRogueMagicReviveAvatarCsReq" => Some(Self::ReviveAvatarCsReq),
            "CmdRogueMagicSetAutoDressInMagicUnitScRsp" => {
                Some(Self::SetAutoDressInMagicUnitScRsp)
            }
            "CmdRogueMagicGetMiscRealTimeDataScRsp" => {
                Some(Self::GetMiscRealTimeDataScRsp)
            }
            "CmdRogueMagicAreaUpdateScNotify" => Some(Self::AreaUpdateScNotify),
            "CmdRogueMagicEnterLayerScRsp" => Some(Self::EnterLayerScRsp),
            "CmdRogueMagicUnitComposeScRsp" => Some(Self::UnitComposeScRsp),
            "CmdRogueMagicLeaveCsReq" => Some(Self::LeaveCsReq),
            "CmdRogueMagicAutoDressInUnitScRsp" => Some(Self::AutoDressInUnitScRsp),
            "CmdRogueMagicAutoDressInUnitCsReq" => Some(Self::AutoDressInUnitCsReq),
            "CmdRogueMagicReviveAvatarScRsp" => Some(Self::ReviveAvatarScRsp),
            "CmdRogueMagicBattleFailSettleInfoScNotify" => {
                Some(Self::BattleFailSettleInfoScNotify)
            }
            "CmdRogueMagicLeaveScRsp" => Some(Self::LeaveScRsp),
            "CmdRogueMagicUnitReforgeCsReq" => Some(Self::UnitReforgeCsReq),
            "CmdRogueMagicQueryCsReq" => Some(Self::QueryCsReq),
            "CmdRogueMagicUnitReforgeScRsp" => Some(Self::UnitReforgeScRsp),
            "CmdRogueMagicGetTalentInfoCsReq" => Some(Self::GetTalentInfoCsReq),
            "CmdRogueMagicStoryInfoUpdateScNotify" => Some(Self::StoryInfoUpdateScNotify),
            "CmdRogueMagicGetTalentInfoScRsp" => Some(Self::GetTalentInfoScRsp),
            "CmdRogueMagicUnitComposeCsReq" => Some(Self::UnitComposeCsReq),
            "CmdRogueMagicGetMiscRealTimeDataCsReq" => {
                Some(Self::GetMiscRealTimeDataCsReq)
            }
            "CmdRogueMagicEnableTalentScRsp" => Some(Self::EnableTalentScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Behfnmkdomk {
    RogueMagicLevelStatusNone = 0,
    RogueMagicLevelStatusProcessing = 1,
    RogueMagicLevelStatusFinished = 2,
    RogueMagicLevelStatusSettled = 3,
}
impl Behfnmkdomk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueMagicLevelStatusNone => "ROGUE_MAGIC_LEVEL_STATUS_NONE",
            Self::RogueMagicLevelStatusProcessing => {
                "ROGUE_MAGIC_LEVEL_STATUS_PROCESSING"
            }
            Self::RogueMagicLevelStatusFinished => "ROGUE_MAGIC_LEVEL_STATUS_FINISHED",
            Self::RogueMagicLevelStatusSettled => "ROGUE_MAGIC_LEVEL_STATUS_SETTLED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MAGIC_LEVEL_STATUS_NONE" => Some(Self::RogueMagicLevelStatusNone),
            "ROGUE_MAGIC_LEVEL_STATUS_PROCESSING" => {
                Some(Self::RogueMagicLevelStatusProcessing)
            }
            "ROGUE_MAGIC_LEVEL_STATUS_FINISHED" => {
                Some(Self::RogueMagicLevelStatusFinished)
            }
            "ROGUE_MAGIC_LEVEL_STATUS_SETTLED" => {
                Some(Self::RogueMagicLevelStatusSettled)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jlcbbkkgoej {
    RogueMagicLayerStatusNone = 0,
    RogueMagicLayerStatusProcessing = 1,
    RogueMagicLayerStatusFinish = 2,
}
impl Jlcbbkkgoej {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueMagicLayerStatusNone => "ROGUE_MAGIC_LAYER_STATUS_NONE",
            Self::RogueMagicLayerStatusProcessing => {
                "ROGUE_MAGIC_LAYER_STATUS_PROCESSING"
            }
            Self::RogueMagicLayerStatusFinish => "ROGUE_MAGIC_LAYER_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MAGIC_LAYER_STATUS_NONE" => Some(Self::RogueMagicLayerStatusNone),
            "ROGUE_MAGIC_LAYER_STATUS_PROCESSING" => {
                Some(Self::RogueMagicLayerStatusProcessing)
            }
            "ROGUE_MAGIC_LAYER_STATUS_FINISH" => Some(Self::RogueMagicLayerStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jiokhlhgeod {
    RogueMagicRoomStatusNone = 0,
    RogueMagicRoomStatusInited = 1,
    RogueMagicRoomStatusProcessing = 2,
    RogueMagicRoomStatusFinish = 3,
}
impl Jiokhlhgeod {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueMagicRoomStatusNone => "ROGUE_MAGIC_ROOM_STATUS_NONE",
            Self::RogueMagicRoomStatusInited => "ROGUE_MAGIC_ROOM_STATUS_INITED",
            Self::RogueMagicRoomStatusProcessing => "ROGUE_MAGIC_ROOM_STATUS_PROCESSING",
            Self::RogueMagicRoomStatusFinish => "ROGUE_MAGIC_ROOM_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MAGIC_ROOM_STATUS_NONE" => Some(Self::RogueMagicRoomStatusNone),
            "ROGUE_MAGIC_ROOM_STATUS_INITED" => Some(Self::RogueMagicRoomStatusInited),
            "ROGUE_MAGIC_ROOM_STATUS_PROCESSING" => {
                Some(Self::RogueMagicRoomStatusProcessing)
            }
            "ROGUE_MAGIC_ROOM_STATUS_FINISH" => Some(Self::RogueMagicRoomStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jmpphgigffi {
    RogueMagicSettleReasonNone = 0,
    RogueMagicSettleReasonWin = 1,
    RogueMagicSettleReasonFail = 2,
    RogueMagicSettleReasonInterrupt = 3,
}
impl Jmpphgigffi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueMagicSettleReasonNone => "ROGUE_MAGIC_SETTLE_REASON_NONE",
            Self::RogueMagicSettleReasonWin => "ROGUE_MAGIC_SETTLE_REASON_WIN",
            Self::RogueMagicSettleReasonFail => "ROGUE_MAGIC_SETTLE_REASON_FAIL",
            Self::RogueMagicSettleReasonInterrupt => {
                "ROGUE_MAGIC_SETTLE_REASON_INTERRUPT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MAGIC_SETTLE_REASON_NONE" => Some(Self::RogueMagicSettleReasonNone),
            "ROGUE_MAGIC_SETTLE_REASON_WIN" => Some(Self::RogueMagicSettleReasonWin),
            "ROGUE_MAGIC_SETTLE_REASON_FAIL" => Some(Self::RogueMagicSettleReasonFail),
            "ROGUE_MAGIC_SETTLE_REASON_INTERRUPT" => {
                Some(Self::RogueMagicSettleReasonInterrupt)
            }
            _ => None,
        }
    }
}
/// Obf: LCNMLGCGDJC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueModifierType {
    None = 0,
    CmdRogueModifierSelectCellScRsp = 5376,
    CmdRogueModifierDelNotify = 5322,
    CmdRogueModifierUpdateNotify = 5352,
    CmdRogueModifierStageStartNotify = 5356,
    CmdRogueModifierAddNotify = 5331,
    CmdRogueModifierSelectCellCsReq = 5340,
}
impl CmdRogueModifierType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRogueModifierTypeNone",
            Self::CmdRogueModifierSelectCellScRsp => "CmdRogueModifierSelectCellScRsp",
            Self::CmdRogueModifierDelNotify => "CmdRogueModifierDelNotify",
            Self::CmdRogueModifierUpdateNotify => "CmdRogueModifierUpdateNotify",
            Self::CmdRogueModifierStageStartNotify => "CmdRogueModifierStageStartNotify",
            Self::CmdRogueModifierAddNotify => "CmdRogueModifierAddNotify",
            Self::CmdRogueModifierSelectCellCsReq => "CmdRogueModifierSelectCellCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueModifierTypeNone" => Some(Self::None),
            "CmdRogueModifierSelectCellScRsp" => {
                Some(Self::CmdRogueModifierSelectCellScRsp)
            }
            "CmdRogueModifierDelNotify" => Some(Self::CmdRogueModifierDelNotify),
            "CmdRogueModifierUpdateNotify" => Some(Self::CmdRogueModifierUpdateNotify),
            "CmdRogueModifierStageStartNotify" => {
                Some(Self::CmdRogueModifierStageStartNotify)
            }
            "CmdRogueModifierAddNotify" => Some(Self::CmdRogueModifierAddNotify),
            "CmdRogueModifierSelectCellCsReq" => {
                Some(Self::CmdRogueModifierSelectCellCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lgmdbcffjof {
    RogueModifierSourceNone = 0,
    RogueModifierSourceDiceRoll = 1,
    RogueModifierSourceAeon = 2,
    RogueModifierSourceBoardEvent = 3,
    RogueModifierSourceDialogEvent = 4,
    RogueModifierSourceMiracle = 5,
    RogueModifierSourceCellMark = 6,
    RogueModifierSourceAeonTalent = 7,
    RogueModifierSourceBossDecay = 8,
    RogueModifierSourceDiceBranch = 9,
}
impl Lgmdbcffjof {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueModifierSourceNone => "ROGUE_MODIFIER_SOURCE_NONE",
            Self::RogueModifierSourceDiceRoll => "ROGUE_MODIFIER_SOURCE_DICE_ROLL",
            Self::RogueModifierSourceAeon => "ROGUE_MODIFIER_SOURCE_AEON",
            Self::RogueModifierSourceBoardEvent => "ROGUE_MODIFIER_SOURCE_BOARD_EVENT",
            Self::RogueModifierSourceDialogEvent => "ROGUE_MODIFIER_SOURCE_DIALOG_EVENT",
            Self::RogueModifierSourceMiracle => "ROGUE_MODIFIER_SOURCE_MIRACLE",
            Self::RogueModifierSourceCellMark => "ROGUE_MODIFIER_SOURCE_CELL_MARK",
            Self::RogueModifierSourceAeonTalent => "ROGUE_MODIFIER_SOURCE_AEON_TALENT",
            Self::RogueModifierSourceBossDecay => "ROGUE_MODIFIER_SOURCE_BOSS_DECAY",
            Self::RogueModifierSourceDiceBranch => "ROGUE_MODIFIER_SOURCE_DICE_BRANCH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MODIFIER_SOURCE_NONE" => Some(Self::RogueModifierSourceNone),
            "ROGUE_MODIFIER_SOURCE_DICE_ROLL" => Some(Self::RogueModifierSourceDiceRoll),
            "ROGUE_MODIFIER_SOURCE_AEON" => Some(Self::RogueModifierSourceAeon),
            "ROGUE_MODIFIER_SOURCE_BOARD_EVENT" => {
                Some(Self::RogueModifierSourceBoardEvent)
            }
            "ROGUE_MODIFIER_SOURCE_DIALOG_EVENT" => {
                Some(Self::RogueModifierSourceDialogEvent)
            }
            "ROGUE_MODIFIER_SOURCE_MIRACLE" => Some(Self::RogueModifierSourceMiracle),
            "ROGUE_MODIFIER_SOURCE_CELL_MARK" => Some(Self::RogueModifierSourceCellMark),
            "ROGUE_MODIFIER_SOURCE_AEON_TALENT" => {
                Some(Self::RogueModifierSourceAeonTalent)
            }
            "ROGUE_MODIFIER_SOURCE_BOSS_DECAY" => {
                Some(Self::RogueModifierSourceBossDecay)
            }
            "ROGUE_MODIFIER_SOURCE_DICE_BRANCH" => {
                Some(Self::RogueModifierSourceDiceBranch)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Njchljfiodm {
    RogueModifierContentDefinite = 0,
    RogueModifierContentRandom = 1,
}
impl Njchljfiodm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueModifierContentDefinite => "ROGUE_MODIFIER_CONTENT_DEFINITE",
            Self::RogueModifierContentRandom => "ROGUE_MODIFIER_CONTENT_RANDOM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MODIFIER_CONTENT_DEFINITE" => Some(Self::RogueModifierContentDefinite),
            "ROGUE_MODIFIER_CONTENT_RANDOM" => Some(Self::RogueModifierContentRandom),
            _ => None,
        }
    }
}
/// Obf: FCENFMADHJG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueTournType {
    None = 0,
    CmdRogueTournGetArchiveRepositoryCsReq = 6074,
    CmdRogueTournAreaUpdateScNotify = 6040,
    CmdRogueTournLeaveCsReq = 6026,
    CmdRogueTournGetMiscRealTimeDataCsReq = 6045,
    CmdRogueTournConfirmSettleCsReq = 6088,
    CmdRogueTournDeleteArchiveCsReq = 6043,
    CmdRogueTournDeleteBuildRefScRsp = 6083,
    CmdRogueTournGetCurRogueCocoonInfoCsReq = 6055,
    CmdRogueTournRenameArchiveCsReq = 6024,
    CmdRogueTournReEnterRogueCocoonStageCsReq = 6027,
    CmdRogueTournStartCsReq = 6032,
    CmdRogueTournEnterLayerScRsp = 6073,
    CmdRogueTournEnablePermanentTalentScRsp = 6058,
    CmdRogueTournQueryCsReq = 6095,
    CmdRogueTournRenameArchiveScRsp = 6093,
    CmdRogueTournSaveBuildRefScRsp = 6020,
    CmdRogueTournTakeExpRewardScRsp = 6094,
    CmdRogueTournGetCurRogueCocoonInfoScRsp = 6063,
    CmdRogueTournConfirmSettleScRsp = 6090,
    CmdRogueTournReEnterRogueCocoonStageScRsp = 6016,
    CmdRogueTournExpNotify = 6030,
    CmdRogueTournEnterCsReq = 6064,
    CmdRogueTournStartScRsp = 6078,
    CmdRogueTournQueryScRsp = 6052,
    CmdRogueTournRenameBuildRefScRsp = 6028,
    CmdRogueTournEnableSeasonTalentScRsp = 6041,
    CmdRogueTournLeaveScRsp = 6042,
    CmdRogueTournTitanUpdateTitanBlessProgressScNotify = 6053,
    CmdRogueTournWeekChallengeUpdateScNotify = 6018,
    CmdRogueTournEnterLayerCsReq = 6081,
    CmdRogueTournEnableSeasonTalentCsReq = 6019,
    CmdRogueTournGetAllBuildRefCsReq = 6035,
    CmdRogueTournSaveBuildRefCsReq = 6012,
    CmdRogueTournTakeExpRewardCsReq = 6039,
    CmdRogueTournClearArchiveNameScNotify = 6082,
    CmdRogueTournDeleteArchiveScRsp = 6049,
    CmdRogueTournGetSeasonTalentInfoCsReq = 6079,
    CmdRogueTournEnterRogueCocoonSceneScRsp = 6062,
    CmdRogueTournGetAllBuildRefScRsp = 6046,
    CmdRogueTournReviveAvatarCsReq = 6098,
    CmdRogueTournBattleFailSettleInfoScNotify = 6037,
    CmdRogueTournGetSeasonTalentInfoScRsp = 6097,
    CmdRogueTournEnablePermanentTalentCsReq = 6013,
    CmdRogueTournEnterRoomScRsp = 6061,
    CmdRogueTournLevelInfoUpdateScNotify = 6087,
    CmdRogueTournReviveAvatarScRsp = 6047,
    CmdRogueTournResetPermanentTalentScRsp = 6089,
    CmdRogueTournSettleCsReq = 6080,
    CmdRogueTournEnterScRsp = 6070,
    CmdRogueTournDeleteBuildRefCsReq = 6085,
    CmdRogueTournReviveCostUpdateScNotify = 6086,
    CmdRogueTournGetPermanentTalentInfoCsReq = 6099,
    CmdRogueTournSettleScRsp = 6056,
    CmdRogueTournResetPermanentTalentCsReq = 6031,
    CmdRogueTournDifficultyCompNotify = 6050,
    CmdRogueTournGetPermanentTalentInfoScRsp = 6067,
    CmdRogueTournEnterRogueCocoonSceneCsReq = 6034,
    CmdRogueTournLeaveRogueCocoonSceneScRsp = 6066,
    CmdRogueTournEnterRoomCsReq = 6084,
    CmdRogueTournGetSettleInfoCsReq = 6068,
    CmdRogueTournLeaveRogueCocoonSceneCsReq = 6017,
    CmdRogueTournGetSettleInfoScRsp = 6059,
    CmdRogueTournGetAllArchiveCsReq = 6021,
    CmdRogueTournGetAllArchiveScRsp = 6100,
    CmdRogueTournGetArchiveRepositoryScRsp = 6011,
    CmdRogueTournRenameBuildRefCsReq = 6014,
    CmdRogueTournHandBookNotify = 6023,
    CmdRogueTournGetMiscRealTimeDataScRsp = 6044,
}
impl CmdRogueTournType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRogueTournTypeNone",
            Self::CmdRogueTournGetArchiveRepositoryCsReq => {
                "CmdRogueTournGetArchiveRepositoryCsReq"
            }
            Self::CmdRogueTournAreaUpdateScNotify => "CmdRogueTournAreaUpdateScNotify",
            Self::CmdRogueTournLeaveCsReq => "CmdRogueTournLeaveCsReq",
            Self::CmdRogueTournGetMiscRealTimeDataCsReq => {
                "CmdRogueTournGetMiscRealTimeDataCsReq"
            }
            Self::CmdRogueTournConfirmSettleCsReq => "CmdRogueTournConfirmSettleCsReq",
            Self::CmdRogueTournDeleteArchiveCsReq => "CmdRogueTournDeleteArchiveCsReq",
            Self::CmdRogueTournDeleteBuildRefScRsp => "CmdRogueTournDeleteBuildRefScRsp",
            Self::CmdRogueTournGetCurRogueCocoonInfoCsReq => {
                "CmdRogueTournGetCurRogueCocoonInfoCsReq"
            }
            Self::CmdRogueTournRenameArchiveCsReq => "CmdRogueTournRenameArchiveCsReq",
            Self::CmdRogueTournReEnterRogueCocoonStageCsReq => {
                "CmdRogueTournReEnterRogueCocoonStageCsReq"
            }
            Self::CmdRogueTournStartCsReq => "CmdRogueTournStartCsReq",
            Self::CmdRogueTournEnterLayerScRsp => "CmdRogueTournEnterLayerScRsp",
            Self::CmdRogueTournEnablePermanentTalentScRsp => {
                "CmdRogueTournEnablePermanentTalentScRsp"
            }
            Self::CmdRogueTournQueryCsReq => "CmdRogueTournQueryCsReq",
            Self::CmdRogueTournRenameArchiveScRsp => "CmdRogueTournRenameArchiveScRsp",
            Self::CmdRogueTournSaveBuildRefScRsp => "CmdRogueTournSaveBuildRefScRsp",
            Self::CmdRogueTournTakeExpRewardScRsp => "CmdRogueTournTakeExpRewardScRsp",
            Self::CmdRogueTournGetCurRogueCocoonInfoScRsp => {
                "CmdRogueTournGetCurRogueCocoonInfoScRsp"
            }
            Self::CmdRogueTournConfirmSettleScRsp => "CmdRogueTournConfirmSettleScRsp",
            Self::CmdRogueTournReEnterRogueCocoonStageScRsp => {
                "CmdRogueTournReEnterRogueCocoonStageScRsp"
            }
            Self::CmdRogueTournExpNotify => "CmdRogueTournExpNotify",
            Self::CmdRogueTournEnterCsReq => "CmdRogueTournEnterCsReq",
            Self::CmdRogueTournStartScRsp => "CmdRogueTournStartScRsp",
            Self::CmdRogueTournQueryScRsp => "CmdRogueTournQueryScRsp",
            Self::CmdRogueTournRenameBuildRefScRsp => "CmdRogueTournRenameBuildRefScRsp",
            Self::CmdRogueTournEnableSeasonTalentScRsp => {
                "CmdRogueTournEnableSeasonTalentScRsp"
            }
            Self::CmdRogueTournLeaveScRsp => "CmdRogueTournLeaveScRsp",
            Self::CmdRogueTournTitanUpdateTitanBlessProgressScNotify => {
                "CmdRogueTournTitanUpdateTitanBlessProgressScNotify"
            }
            Self::CmdRogueTournWeekChallengeUpdateScNotify => {
                "CmdRogueTournWeekChallengeUpdateScNotify"
            }
            Self::CmdRogueTournEnterLayerCsReq => "CmdRogueTournEnterLayerCsReq",
            Self::CmdRogueTournEnableSeasonTalentCsReq => {
                "CmdRogueTournEnableSeasonTalentCsReq"
            }
            Self::CmdRogueTournGetAllBuildRefCsReq => "CmdRogueTournGetAllBuildRefCsReq",
            Self::CmdRogueTournSaveBuildRefCsReq => "CmdRogueTournSaveBuildRefCsReq",
            Self::CmdRogueTournTakeExpRewardCsReq => "CmdRogueTournTakeExpRewardCsReq",
            Self::CmdRogueTournClearArchiveNameScNotify => {
                "CmdRogueTournClearArchiveNameScNotify"
            }
            Self::CmdRogueTournDeleteArchiveScRsp => "CmdRogueTournDeleteArchiveScRsp",
            Self::CmdRogueTournGetSeasonTalentInfoCsReq => {
                "CmdRogueTournGetSeasonTalentInfoCsReq"
            }
            Self::CmdRogueTournEnterRogueCocoonSceneScRsp => {
                "CmdRogueTournEnterRogueCocoonSceneScRsp"
            }
            Self::CmdRogueTournGetAllBuildRefScRsp => "CmdRogueTournGetAllBuildRefScRsp",
            Self::CmdRogueTournReviveAvatarCsReq => "CmdRogueTournReviveAvatarCsReq",
            Self::CmdRogueTournBattleFailSettleInfoScNotify => {
                "CmdRogueTournBattleFailSettleInfoScNotify"
            }
            Self::CmdRogueTournGetSeasonTalentInfoScRsp => {
                "CmdRogueTournGetSeasonTalentInfoScRsp"
            }
            Self::CmdRogueTournEnablePermanentTalentCsReq => {
                "CmdRogueTournEnablePermanentTalentCsReq"
            }
            Self::CmdRogueTournEnterRoomScRsp => "CmdRogueTournEnterRoomScRsp",
            Self::CmdRogueTournLevelInfoUpdateScNotify => {
                "CmdRogueTournLevelInfoUpdateScNotify"
            }
            Self::CmdRogueTournReviveAvatarScRsp => "CmdRogueTournReviveAvatarScRsp",
            Self::CmdRogueTournResetPermanentTalentScRsp => {
                "CmdRogueTournResetPermanentTalentScRsp"
            }
            Self::CmdRogueTournSettleCsReq => "CmdRogueTournSettleCsReq",
            Self::CmdRogueTournEnterScRsp => "CmdRogueTournEnterScRsp",
            Self::CmdRogueTournDeleteBuildRefCsReq => "CmdRogueTournDeleteBuildRefCsReq",
            Self::CmdRogueTournReviveCostUpdateScNotify => {
                "CmdRogueTournReviveCostUpdateScNotify"
            }
            Self::CmdRogueTournGetPermanentTalentInfoCsReq => {
                "CmdRogueTournGetPermanentTalentInfoCsReq"
            }
            Self::CmdRogueTournSettleScRsp => "CmdRogueTournSettleScRsp",
            Self::CmdRogueTournResetPermanentTalentCsReq => {
                "CmdRogueTournResetPermanentTalentCsReq"
            }
            Self::CmdRogueTournDifficultyCompNotify => {
                "CmdRogueTournDifficultyCompNotify"
            }
            Self::CmdRogueTournGetPermanentTalentInfoScRsp => {
                "CmdRogueTournGetPermanentTalentInfoScRsp"
            }
            Self::CmdRogueTournEnterRogueCocoonSceneCsReq => {
                "CmdRogueTournEnterRogueCocoonSceneCsReq"
            }
            Self::CmdRogueTournLeaveRogueCocoonSceneScRsp => {
                "CmdRogueTournLeaveRogueCocoonSceneScRsp"
            }
            Self::CmdRogueTournEnterRoomCsReq => "CmdRogueTournEnterRoomCsReq",
            Self::CmdRogueTournGetSettleInfoCsReq => "CmdRogueTournGetSettleInfoCsReq",
            Self::CmdRogueTournLeaveRogueCocoonSceneCsReq => {
                "CmdRogueTournLeaveRogueCocoonSceneCsReq"
            }
            Self::CmdRogueTournGetSettleInfoScRsp => "CmdRogueTournGetSettleInfoScRsp",
            Self::CmdRogueTournGetAllArchiveCsReq => "CmdRogueTournGetAllArchiveCsReq",
            Self::CmdRogueTournGetAllArchiveScRsp => "CmdRogueTournGetAllArchiveScRsp",
            Self::CmdRogueTournGetArchiveRepositoryScRsp => {
                "CmdRogueTournGetArchiveRepositoryScRsp"
            }
            Self::CmdRogueTournRenameBuildRefCsReq => "CmdRogueTournRenameBuildRefCsReq",
            Self::CmdRogueTournHandBookNotify => "CmdRogueTournHandBookNotify",
            Self::CmdRogueTournGetMiscRealTimeDataScRsp => {
                "CmdRogueTournGetMiscRealTimeDataScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueTournTypeNone" => Some(Self::None),
            "CmdRogueTournGetArchiveRepositoryCsReq" => {
                Some(Self::CmdRogueTournGetArchiveRepositoryCsReq)
            }
            "CmdRogueTournAreaUpdateScNotify" => {
                Some(Self::CmdRogueTournAreaUpdateScNotify)
            }
            "CmdRogueTournLeaveCsReq" => Some(Self::CmdRogueTournLeaveCsReq),
            "CmdRogueTournGetMiscRealTimeDataCsReq" => {
                Some(Self::CmdRogueTournGetMiscRealTimeDataCsReq)
            }
            "CmdRogueTournConfirmSettleCsReq" => {
                Some(Self::CmdRogueTournConfirmSettleCsReq)
            }
            "CmdRogueTournDeleteArchiveCsReq" => {
                Some(Self::CmdRogueTournDeleteArchiveCsReq)
            }
            "CmdRogueTournDeleteBuildRefScRsp" => {
                Some(Self::CmdRogueTournDeleteBuildRefScRsp)
            }
            "CmdRogueTournGetCurRogueCocoonInfoCsReq" => {
                Some(Self::CmdRogueTournGetCurRogueCocoonInfoCsReq)
            }
            "CmdRogueTournRenameArchiveCsReq" => {
                Some(Self::CmdRogueTournRenameArchiveCsReq)
            }
            "CmdRogueTournReEnterRogueCocoonStageCsReq" => {
                Some(Self::CmdRogueTournReEnterRogueCocoonStageCsReq)
            }
            "CmdRogueTournStartCsReq" => Some(Self::CmdRogueTournStartCsReq),
            "CmdRogueTournEnterLayerScRsp" => Some(Self::CmdRogueTournEnterLayerScRsp),
            "CmdRogueTournEnablePermanentTalentScRsp" => {
                Some(Self::CmdRogueTournEnablePermanentTalentScRsp)
            }
            "CmdRogueTournQueryCsReq" => Some(Self::CmdRogueTournQueryCsReq),
            "CmdRogueTournRenameArchiveScRsp" => {
                Some(Self::CmdRogueTournRenameArchiveScRsp)
            }
            "CmdRogueTournSaveBuildRefScRsp" => {
                Some(Self::CmdRogueTournSaveBuildRefScRsp)
            }
            "CmdRogueTournTakeExpRewardScRsp" => {
                Some(Self::CmdRogueTournTakeExpRewardScRsp)
            }
            "CmdRogueTournGetCurRogueCocoonInfoScRsp" => {
                Some(Self::CmdRogueTournGetCurRogueCocoonInfoScRsp)
            }
            "CmdRogueTournConfirmSettleScRsp" => {
                Some(Self::CmdRogueTournConfirmSettleScRsp)
            }
            "CmdRogueTournReEnterRogueCocoonStageScRsp" => {
                Some(Self::CmdRogueTournReEnterRogueCocoonStageScRsp)
            }
            "CmdRogueTournExpNotify" => Some(Self::CmdRogueTournExpNotify),
            "CmdRogueTournEnterCsReq" => Some(Self::CmdRogueTournEnterCsReq),
            "CmdRogueTournStartScRsp" => Some(Self::CmdRogueTournStartScRsp),
            "CmdRogueTournQueryScRsp" => Some(Self::CmdRogueTournQueryScRsp),
            "CmdRogueTournRenameBuildRefScRsp" => {
                Some(Self::CmdRogueTournRenameBuildRefScRsp)
            }
            "CmdRogueTournEnableSeasonTalentScRsp" => {
                Some(Self::CmdRogueTournEnableSeasonTalentScRsp)
            }
            "CmdRogueTournLeaveScRsp" => Some(Self::CmdRogueTournLeaveScRsp),
            "CmdRogueTournTitanUpdateTitanBlessProgressScNotify" => {
                Some(Self::CmdRogueTournTitanUpdateTitanBlessProgressScNotify)
            }
            "CmdRogueTournWeekChallengeUpdateScNotify" => {
                Some(Self::CmdRogueTournWeekChallengeUpdateScNotify)
            }
            "CmdRogueTournEnterLayerCsReq" => Some(Self::CmdRogueTournEnterLayerCsReq),
            "CmdRogueTournEnableSeasonTalentCsReq" => {
                Some(Self::CmdRogueTournEnableSeasonTalentCsReq)
            }
            "CmdRogueTournGetAllBuildRefCsReq" => {
                Some(Self::CmdRogueTournGetAllBuildRefCsReq)
            }
            "CmdRogueTournSaveBuildRefCsReq" => {
                Some(Self::CmdRogueTournSaveBuildRefCsReq)
            }
            "CmdRogueTournTakeExpRewardCsReq" => {
                Some(Self::CmdRogueTournTakeExpRewardCsReq)
            }
            "CmdRogueTournClearArchiveNameScNotify" => {
                Some(Self::CmdRogueTournClearArchiveNameScNotify)
            }
            "CmdRogueTournDeleteArchiveScRsp" => {
                Some(Self::CmdRogueTournDeleteArchiveScRsp)
            }
            "CmdRogueTournGetSeasonTalentInfoCsReq" => {
                Some(Self::CmdRogueTournGetSeasonTalentInfoCsReq)
            }
            "CmdRogueTournEnterRogueCocoonSceneScRsp" => {
                Some(Self::CmdRogueTournEnterRogueCocoonSceneScRsp)
            }
            "CmdRogueTournGetAllBuildRefScRsp" => {
                Some(Self::CmdRogueTournGetAllBuildRefScRsp)
            }
            "CmdRogueTournReviveAvatarCsReq" => {
                Some(Self::CmdRogueTournReviveAvatarCsReq)
            }
            "CmdRogueTournBattleFailSettleInfoScNotify" => {
                Some(Self::CmdRogueTournBattleFailSettleInfoScNotify)
            }
            "CmdRogueTournGetSeasonTalentInfoScRsp" => {
                Some(Self::CmdRogueTournGetSeasonTalentInfoScRsp)
            }
            "CmdRogueTournEnablePermanentTalentCsReq" => {
                Some(Self::CmdRogueTournEnablePermanentTalentCsReq)
            }
            "CmdRogueTournEnterRoomScRsp" => Some(Self::CmdRogueTournEnterRoomScRsp),
            "CmdRogueTournLevelInfoUpdateScNotify" => {
                Some(Self::CmdRogueTournLevelInfoUpdateScNotify)
            }
            "CmdRogueTournReviveAvatarScRsp" => {
                Some(Self::CmdRogueTournReviveAvatarScRsp)
            }
            "CmdRogueTournResetPermanentTalentScRsp" => {
                Some(Self::CmdRogueTournResetPermanentTalentScRsp)
            }
            "CmdRogueTournSettleCsReq" => Some(Self::CmdRogueTournSettleCsReq),
            "CmdRogueTournEnterScRsp" => Some(Self::CmdRogueTournEnterScRsp),
            "CmdRogueTournDeleteBuildRefCsReq" => {
                Some(Self::CmdRogueTournDeleteBuildRefCsReq)
            }
            "CmdRogueTournReviveCostUpdateScNotify" => {
                Some(Self::CmdRogueTournReviveCostUpdateScNotify)
            }
            "CmdRogueTournGetPermanentTalentInfoCsReq" => {
                Some(Self::CmdRogueTournGetPermanentTalentInfoCsReq)
            }
            "CmdRogueTournSettleScRsp" => Some(Self::CmdRogueTournSettleScRsp),
            "CmdRogueTournResetPermanentTalentCsReq" => {
                Some(Self::CmdRogueTournResetPermanentTalentCsReq)
            }
            "CmdRogueTournDifficultyCompNotify" => {
                Some(Self::CmdRogueTournDifficultyCompNotify)
            }
            "CmdRogueTournGetPermanentTalentInfoScRsp" => {
                Some(Self::CmdRogueTournGetPermanentTalentInfoScRsp)
            }
            "CmdRogueTournEnterRogueCocoonSceneCsReq" => {
                Some(Self::CmdRogueTournEnterRogueCocoonSceneCsReq)
            }
            "CmdRogueTournLeaveRogueCocoonSceneScRsp" => {
                Some(Self::CmdRogueTournLeaveRogueCocoonSceneScRsp)
            }
            "CmdRogueTournEnterRoomCsReq" => Some(Self::CmdRogueTournEnterRoomCsReq),
            "CmdRogueTournGetSettleInfoCsReq" => {
                Some(Self::CmdRogueTournGetSettleInfoCsReq)
            }
            "CmdRogueTournLeaveRogueCocoonSceneCsReq" => {
                Some(Self::CmdRogueTournLeaveRogueCocoonSceneCsReq)
            }
            "CmdRogueTournGetSettleInfoScRsp" => {
                Some(Self::CmdRogueTournGetSettleInfoScRsp)
            }
            "CmdRogueTournGetAllArchiveCsReq" => {
                Some(Self::CmdRogueTournGetAllArchiveCsReq)
            }
            "CmdRogueTournGetAllArchiveScRsp" => {
                Some(Self::CmdRogueTournGetAllArchiveScRsp)
            }
            "CmdRogueTournGetArchiveRepositoryScRsp" => {
                Some(Self::CmdRogueTournGetArchiveRepositoryScRsp)
            }
            "CmdRogueTournRenameBuildRefCsReq" => {
                Some(Self::CmdRogueTournRenameBuildRefCsReq)
            }
            "CmdRogueTournHandBookNotify" => Some(Self::CmdRogueTournHandBookNotify),
            "CmdRogueTournGetMiscRealTimeDataScRsp" => {
                Some(Self::CmdRogueTournGetMiscRealTimeDataScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ogadimmljhn {
    RogueTournLevelStatusNone = 0,
    RogueTournLevelStatusProcessing = 1,
    RogueTournLevelStatusFinished = 2,
    RogueTournLevelStatusSettled = 3,
}
impl Ogadimmljhn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueTournLevelStatusNone => "ROGUE_TOURN_LEVEL_STATUS_NONE",
            Self::RogueTournLevelStatusProcessing => {
                "ROGUE_TOURN_LEVEL_STATUS_PROCESSING"
            }
            Self::RogueTournLevelStatusFinished => "ROGUE_TOURN_LEVEL_STATUS_FINISHED",
            Self::RogueTournLevelStatusSettled => "ROGUE_TOURN_LEVEL_STATUS_SETTLED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_LEVEL_STATUS_NONE" => Some(Self::RogueTournLevelStatusNone),
            "ROGUE_TOURN_LEVEL_STATUS_PROCESSING" => {
                Some(Self::RogueTournLevelStatusProcessing)
            }
            "ROGUE_TOURN_LEVEL_STATUS_FINISHED" => {
                Some(Self::RogueTournLevelStatusFinished)
            }
            "ROGUE_TOURN_LEVEL_STATUS_SETTLED" => {
                Some(Self::RogueTournLevelStatusSettled)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Odbnigdlncf {
    RogueTournLayerStatusNone = 0,
    RogueTournLayerStatusProcessing = 1,
    RogueTournLayerStatusFinish = 2,
}
impl Odbnigdlncf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueTournLayerStatusNone => "ROGUE_TOURN_LAYER_STATUS_NONE",
            Self::RogueTournLayerStatusProcessing => {
                "ROGUE_TOURN_LAYER_STATUS_PROCESSING"
            }
            Self::RogueTournLayerStatusFinish => "ROGUE_TOURN_LAYER_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_LAYER_STATUS_NONE" => Some(Self::RogueTournLayerStatusNone),
            "ROGUE_TOURN_LAYER_STATUS_PROCESSING" => {
                Some(Self::RogueTournLayerStatusProcessing)
            }
            "ROGUE_TOURN_LAYER_STATUS_FINISH" => Some(Self::RogueTournLayerStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lmiknfdlffo {
    RogueTournRoomStatusNone = 0,
    RogueTournRoomStatusInited = 1,
    RogueTournRoomStatusProcessing = 2,
    RogueTournRoomStatusFinish = 3,
}
impl Lmiknfdlffo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueTournRoomStatusNone => "ROGUE_TOURN_ROOM_STATUS_NONE",
            Self::RogueTournRoomStatusInited => "ROGUE_TOURN_ROOM_STATUS_INITED",
            Self::RogueTournRoomStatusProcessing => "ROGUE_TOURN_ROOM_STATUS_PROCESSING",
            Self::RogueTournRoomStatusFinish => "ROGUE_TOURN_ROOM_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_ROOM_STATUS_NONE" => Some(Self::RogueTournRoomStatusNone),
            "ROGUE_TOURN_ROOM_STATUS_INITED" => Some(Self::RogueTournRoomStatusInited),
            "ROGUE_TOURN_ROOM_STATUS_PROCESSING" => {
                Some(Self::RogueTournRoomStatusProcessing)
            }
            "ROGUE_TOURN_ROOM_STATUS_FINISH" => Some(Self::RogueTournRoomStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Akkhkmecafl {
    RogueTournSettleReasonNone = 0,
    RogueTournSettleReasonWin = 1,
    RogueTournSettleReasonFail = 2,
    RogueTournSettleReasonInterrupt = 3,
}
impl Akkhkmecafl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueTournSettleReasonNone => "ROGUE_TOURN_SETTLE_REASON_NONE",
            Self::RogueTournSettleReasonWin => "ROGUE_TOURN_SETTLE_REASON_WIN",
            Self::RogueTournSettleReasonFail => "ROGUE_TOURN_SETTLE_REASON_FAIL",
            Self::RogueTournSettleReasonInterrupt => {
                "ROGUE_TOURN_SETTLE_REASON_INTERRUPT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_SETTLE_REASON_NONE" => Some(Self::RogueTournSettleReasonNone),
            "ROGUE_TOURN_SETTLE_REASON_WIN" => Some(Self::RogueTournSettleReasonWin),
            "ROGUE_TOURN_SETTLE_REASON_FAIL" => Some(Self::RogueTournSettleReasonFail),
            "ROGUE_TOURN_SETTLE_REASON_INTERRUPT" => {
                Some(Self::RogueTournSettleReasonInterrupt)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ollchpfkhaa {
    RogueTournHandbookNone = 0,
    RogueTournHandbookSimpleMiracle = 1,
    RogueTournHandbookHexMiracle = 2,
    RogueTournHandbookBuff = 3,
    RogueTournHandbookEvent = 4,
    RogueTournHandbookFormula = 5,
    RogueTournHandbookTitanBless = 6,
}
impl Ollchpfkhaa {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::RogueTournHandbookNone => "ROGUE_TOURN_HANDBOOK_NONE",
            Self::RogueTournHandbookSimpleMiracle => {
                "ROGUE_TOURN_HANDBOOK_SIMPLE_MIRACLE"
            }
            Self::RogueTournHandbookHexMiracle => "ROGUE_TOURN_HANDBOOK_HEX_MIRACLE",
            Self::RogueTournHandbookBuff => "ROGUE_TOURN_HANDBOOK_BUFF",
            Self::RogueTournHandbookEvent => "ROGUE_TOURN_HANDBOOK_EVENT",
            Self::RogueTournHandbookFormula => "ROGUE_TOURN_HANDBOOK_FORMULA",
            Self::RogueTournHandbookTitanBless => "ROGUE_TOURN_HANDBOOK_TITAN_BLESS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_HANDBOOK_NONE" => Some(Self::RogueTournHandbookNone),
            "ROGUE_TOURN_HANDBOOK_SIMPLE_MIRACLE" => {
                Some(Self::RogueTournHandbookSimpleMiracle)
            }
            "ROGUE_TOURN_HANDBOOK_HEX_MIRACLE" => {
                Some(Self::RogueTournHandbookHexMiracle)
            }
            "ROGUE_TOURN_HANDBOOK_BUFF" => Some(Self::RogueTournHandbookBuff),
            "ROGUE_TOURN_HANDBOOK_EVENT" => Some(Self::RogueTournHandbookEvent),
            "ROGUE_TOURN_HANDBOOK_FORMULA" => Some(Self::RogueTournHandbookFormula),
            "ROGUE_TOURN_HANDBOOK_TITAN_BLESS" => {
                Some(Self::RogueTournHandbookTitanBless)
            }
            _ => None,
        }
    }
}
/// Obf: FHAAABCILAM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRollShopType {
    None = 0,
    CmdDoGachaInRollShopScRsp = 6910,
    CmdTakeRollShopRewardScRsp = 6902,
    CmdGetRollShopInfoCsReq = 6914,
    CmdTakeRollShopRewardCsReq = 6904,
    CmdGetRollShopInfoScRsp = 6913,
    CmdDoGachaInRollShopCsReq = 6908,
}
impl CmdRollShopType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdRollShopTypeNone",
            Self::CmdDoGachaInRollShopScRsp => "CmdDoGachaInRollShopScRsp",
            Self::CmdTakeRollShopRewardScRsp => "CmdTakeRollShopRewardScRsp",
            Self::CmdGetRollShopInfoCsReq => "CmdGetRollShopInfoCsReq",
            Self::CmdTakeRollShopRewardCsReq => "CmdTakeRollShopRewardCsReq",
            Self::CmdGetRollShopInfoScRsp => "CmdGetRollShopInfoScRsp",
            Self::CmdDoGachaInRollShopCsReq => "CmdDoGachaInRollShopCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRollShopTypeNone" => Some(Self::None),
            "CmdDoGachaInRollShopScRsp" => Some(Self::CmdDoGachaInRollShopScRsp),
            "CmdTakeRollShopRewardScRsp" => Some(Self::CmdTakeRollShopRewardScRsp),
            "CmdGetRollShopInfoCsReq" => Some(Self::CmdGetRollShopInfoCsReq),
            "CmdTakeRollShopRewardCsReq" => Some(Self::CmdTakeRollShopRewardCsReq),
            "CmdGetRollShopInfoScRsp" => Some(Self::CmdGetRollShopInfoScRsp),
            "CmdDoGachaInRollShopCsReq" => Some(Self::CmdDoGachaInRollShopCsReq),
            _ => None,
        }
    }
}
/// Obf: MOIHHHKOJLG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSceneType {
    None = 0,
    CmdUpdateMechanismBarScNotify = 1468,
    CmdSpringRefreshScRsp = 1443,
    CmdSceneCastSkillCostMpScRsp = 1483,
    CmdSceneEnterStageScRsp = 1421,
    CmdSceneReviveAfterRebattleScRsp = 1463,
    CmdGetUnlockTeleportScRsp = 1418,
    CmdDeactivateFarmElementCsReq = 1445,
    CmdSceneCastSkillScRsp = 1448,
    CmdUnlockTeleportNotify = 1466,
    CmdReturnLastTownScRsp = 1477,
    CmdActivateFarmElementScRsp = 1420,
    CmdUpdateGroupPropertyCsReq = 1461,
    CmdSceneGroupRefreshScNotify = 1412,
    CmdGroupStateChangeCsReq = 1428,
    CmdRecoverAllLineupScRsp = 1475,
    CmdStartCocoonStageCsReq = 1491,
    CmdEntityBindPropCsReq = 1457,
    CmdEnterSectionCsReq = 1411,
    CmdInteractPropCsReq = 1431,
    CmdSetClientPausedCsReq = 1498,
    CmdSetGroupCustomSaveDataScRsp = 1453,
    CmdReturnLastTownCsReq = 1442,
    CmdRefreshTriggerByClientScRsp = 1488,
    CmdSceneEntityTeleportCsReq = 1490,
    CmdStartCocoonStageScRsp = 1424,
    CmdUpdateGroupPropertyScRsp = 1459,
    CmdGameplayCounterRecoverCsReq = 1441,
    CmdReEnterLastElementStageCsReq = 1427,
    CmdSceneEnterStageCsReq = 1458,
    CmdGetCurSceneInfoScRsp = 1452,
    CmdSceneUpdatePositionVersionNotify = 1485,
    CmdSetCurInteractEntityCsReq = 1484,
    CmdSetClientPausedScRsp = 1464,
    CmdSyncEntityBuffChangeListScNotify = 1416,
    CmdEnterSceneCsReq = 1469,
    CmdGroupStateChangeScRsp = 1415,
    CmdSetCurInteractEntityScRsp = 1437,
    CmdEnteredSceneChangeScNotify = 1419,
    CmdGetEnteredSceneScRsp = 1450,
    CmdDeleteSummonUnitCsReq = 1405,
    CmdSpringRefreshCsReq = 1439,
    CmdGameplayCounterCountDownScRsp = 1467,
    CmdDeactivateFarmElementScRsp = 1413,
    CmdOpenChestScNotify = 1444,
    CmdDeleteSummonUnitScRsp = 1482,
    CmdSyncServerSceneChangeNotify = 1470,
    CmdLastSpringRefreshTimeNotify = 1433,
    CmdSceneEntityMoveScRsp = 1432,
    CmdRefreshTriggerByClientScNotify = 1438,
    CmdGameplayCounterCountDownCsReq = 1473,
    CmdTrainWorldIdChangeScNotify = 1492,
    CmdRecoverAllLineupCsReq = 1430,
    CmdSceneCastSkillCostMpCsReq = 1446,
    CmdEnterSceneScRsp = 1449,
    CmdGameplayCounterRecoverScRsp = 1462,
    CmdSceneReviveAfterRebattleCsReq = 1429,
    CmdUnlockedAreaMapScNotify = 1447,
    CmdChangePropTimelineInfoCsReq = 1422,
    CmdGetSceneMapInfoScRsp = 1479,
    CmdSavePointsInfoNotify = 1451,
    CmdGetUnlockTeleportCsReq = 1404,
    CmdUpdateFloorSavedValueNotify = 1426,
    CmdGetSceneMapInfoCsReq = 1497,
    CmdEnterSceneByServerScNotify = 1403,
    CmdReEnterLastElementStageScRsp = 1474,
    CmdEnterSectionScRsp = 1493,
    CmdGroupStateChangeScNotify = 1455,
    CmdSetGroupCustomSaveDataCsReq = 1401,
    CmdSceneCastSkillMpUpdateScNotify = 1460,
    CmdChangePropTimelineInfoScRsp = 1456,
    CmdGameplayCounterUpdateScNotify = 1496,
    CmdSceneCastSkillCsReq = 1476,
    CmdInteractPropScRsp = 1440,
    CmdGetEnteredSceneCsReq = 1480,
    CmdSceneEntityMoveCsReq = 1495,
    CmdGetCurSceneInfoCsReq = 1471,
    CmdSceneEntityTeleportScRsp = 1417,
    CmdSceneEntityMoveScNotify = 1472,
    CmdActivateFarmElementCsReq = 1478,
    CmdRefreshTriggerByClientCsReq = 1489,
    CmdScenePlaneEventScNotify = 1410,
    CmdEntityBindPropScRsp = 1407,
}
impl CmdSceneType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdSceneTypeNone",
            Self::CmdUpdateMechanismBarScNotify => "CmdUpdateMechanismBarScNotify",
            Self::CmdSpringRefreshScRsp => "CmdSpringRefreshScRsp",
            Self::CmdSceneCastSkillCostMpScRsp => "CmdSceneCastSkillCostMpScRsp",
            Self::CmdSceneEnterStageScRsp => "CmdSceneEnterStageScRsp",
            Self::CmdSceneReviveAfterRebattleScRsp => "CmdSceneReviveAfterRebattleScRsp",
            Self::CmdGetUnlockTeleportScRsp => "CmdGetUnlockTeleportScRsp",
            Self::CmdDeactivateFarmElementCsReq => "CmdDeactivateFarmElementCsReq",
            Self::CmdSceneCastSkillScRsp => "CmdSceneCastSkillScRsp",
            Self::CmdUnlockTeleportNotify => "CmdUnlockTeleportNotify",
            Self::CmdReturnLastTownScRsp => "CmdReturnLastTownScRsp",
            Self::CmdActivateFarmElementScRsp => "CmdActivateFarmElementScRsp",
            Self::CmdUpdateGroupPropertyCsReq => "CmdUpdateGroupPropertyCsReq",
            Self::CmdSceneGroupRefreshScNotify => "CmdSceneGroupRefreshScNotify",
            Self::CmdGroupStateChangeCsReq => "CmdGroupStateChangeCsReq",
            Self::CmdRecoverAllLineupScRsp => "CmdRecoverAllLineupScRsp",
            Self::CmdStartCocoonStageCsReq => "CmdStartCocoonStageCsReq",
            Self::CmdEntityBindPropCsReq => "CmdEntityBindPropCsReq",
            Self::CmdEnterSectionCsReq => "CmdEnterSectionCsReq",
            Self::CmdInteractPropCsReq => "CmdInteractPropCsReq",
            Self::CmdSetClientPausedCsReq => "CmdSetClientPausedCsReq",
            Self::CmdSetGroupCustomSaveDataScRsp => "CmdSetGroupCustomSaveDataScRsp",
            Self::CmdReturnLastTownCsReq => "CmdReturnLastTownCsReq",
            Self::CmdRefreshTriggerByClientScRsp => "CmdRefreshTriggerByClientScRsp",
            Self::CmdSceneEntityTeleportCsReq => "CmdSceneEntityTeleportCsReq",
            Self::CmdStartCocoonStageScRsp => "CmdStartCocoonStageScRsp",
            Self::CmdUpdateGroupPropertyScRsp => "CmdUpdateGroupPropertyScRsp",
            Self::CmdGameplayCounterRecoverCsReq => "CmdGameplayCounterRecoverCsReq",
            Self::CmdReEnterLastElementStageCsReq => "CmdReEnterLastElementStageCsReq",
            Self::CmdSceneEnterStageCsReq => "CmdSceneEnterStageCsReq",
            Self::CmdGetCurSceneInfoScRsp => "CmdGetCurSceneInfoScRsp",
            Self::CmdSceneUpdatePositionVersionNotify => {
                "CmdSceneUpdatePositionVersionNotify"
            }
            Self::CmdSetCurInteractEntityCsReq => "CmdSetCurInteractEntityCsReq",
            Self::CmdSetClientPausedScRsp => "CmdSetClientPausedScRsp",
            Self::CmdSyncEntityBuffChangeListScNotify => {
                "CmdSyncEntityBuffChangeListScNotify"
            }
            Self::CmdEnterSceneCsReq => "CmdEnterSceneCsReq",
            Self::CmdGroupStateChangeScRsp => "CmdGroupStateChangeScRsp",
            Self::CmdSetCurInteractEntityScRsp => "CmdSetCurInteractEntityScRsp",
            Self::CmdEnteredSceneChangeScNotify => "CmdEnteredSceneChangeScNotify",
            Self::CmdGetEnteredSceneScRsp => "CmdGetEnteredSceneScRsp",
            Self::CmdDeleteSummonUnitCsReq => "CmdDeleteSummonUnitCsReq",
            Self::CmdSpringRefreshCsReq => "CmdSpringRefreshCsReq",
            Self::CmdGameplayCounterCountDownScRsp => "CmdGameplayCounterCountDownScRsp",
            Self::CmdDeactivateFarmElementScRsp => "CmdDeactivateFarmElementScRsp",
            Self::CmdOpenChestScNotify => "CmdOpenChestScNotify",
            Self::CmdDeleteSummonUnitScRsp => "CmdDeleteSummonUnitScRsp",
            Self::CmdSyncServerSceneChangeNotify => "CmdSyncServerSceneChangeNotify",
            Self::CmdLastSpringRefreshTimeNotify => "CmdLastSpringRefreshTimeNotify",
            Self::CmdSceneEntityMoveScRsp => "CmdSceneEntityMoveScRsp",
            Self::CmdRefreshTriggerByClientScNotify => {
                "CmdRefreshTriggerByClientScNotify"
            }
            Self::CmdGameplayCounterCountDownCsReq => "CmdGameplayCounterCountDownCsReq",
            Self::CmdTrainWorldIdChangeScNotify => "CmdTrainWorldIdChangeScNotify",
            Self::CmdRecoverAllLineupCsReq => "CmdRecoverAllLineupCsReq",
            Self::CmdSceneCastSkillCostMpCsReq => "CmdSceneCastSkillCostMpCsReq",
            Self::CmdEnterSceneScRsp => "CmdEnterSceneScRsp",
            Self::CmdGameplayCounterRecoverScRsp => "CmdGameplayCounterRecoverScRsp",
            Self::CmdSceneReviveAfterRebattleCsReq => "CmdSceneReviveAfterRebattleCsReq",
            Self::CmdUnlockedAreaMapScNotify => "CmdUnlockedAreaMapScNotify",
            Self::CmdChangePropTimelineInfoCsReq => "CmdChangePropTimelineInfoCsReq",
            Self::CmdGetSceneMapInfoScRsp => "CmdGetSceneMapInfoScRsp",
            Self::CmdSavePointsInfoNotify => "CmdSavePointsInfoNotify",
            Self::CmdGetUnlockTeleportCsReq => "CmdGetUnlockTeleportCsReq",
            Self::CmdUpdateFloorSavedValueNotify => "CmdUpdateFloorSavedValueNotify",
            Self::CmdGetSceneMapInfoCsReq => "CmdGetSceneMapInfoCsReq",
            Self::CmdEnterSceneByServerScNotify => "CmdEnterSceneByServerScNotify",
            Self::CmdReEnterLastElementStageScRsp => "CmdReEnterLastElementStageScRsp",
            Self::CmdEnterSectionScRsp => "CmdEnterSectionScRsp",
            Self::CmdGroupStateChangeScNotify => "CmdGroupStateChangeScNotify",
            Self::CmdSetGroupCustomSaveDataCsReq => "CmdSetGroupCustomSaveDataCsReq",
            Self::CmdSceneCastSkillMpUpdateScNotify => {
                "CmdSceneCastSkillMpUpdateScNotify"
            }
            Self::CmdChangePropTimelineInfoScRsp => "CmdChangePropTimelineInfoScRsp",
            Self::CmdGameplayCounterUpdateScNotify => "CmdGameplayCounterUpdateScNotify",
            Self::CmdSceneCastSkillCsReq => "CmdSceneCastSkillCsReq",
            Self::CmdInteractPropScRsp => "CmdInteractPropScRsp",
            Self::CmdGetEnteredSceneCsReq => "CmdGetEnteredSceneCsReq",
            Self::CmdSceneEntityMoveCsReq => "CmdSceneEntityMoveCsReq",
            Self::CmdGetCurSceneInfoCsReq => "CmdGetCurSceneInfoCsReq",
            Self::CmdSceneEntityTeleportScRsp => "CmdSceneEntityTeleportScRsp",
            Self::CmdSceneEntityMoveScNotify => "CmdSceneEntityMoveScNotify",
            Self::CmdActivateFarmElementCsReq => "CmdActivateFarmElementCsReq",
            Self::CmdRefreshTriggerByClientCsReq => "CmdRefreshTriggerByClientCsReq",
            Self::CmdScenePlaneEventScNotify => "CmdScenePlaneEventScNotify",
            Self::CmdEntityBindPropScRsp => "CmdEntityBindPropScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdSceneTypeNone" => Some(Self::None),
            "CmdUpdateMechanismBarScNotify" => Some(Self::CmdUpdateMechanismBarScNotify),
            "CmdSpringRefreshScRsp" => Some(Self::CmdSpringRefreshScRsp),
            "CmdSceneCastSkillCostMpScRsp" => Some(Self::CmdSceneCastSkillCostMpScRsp),
            "CmdSceneEnterStageScRsp" => Some(Self::CmdSceneEnterStageScRsp),
            "CmdSceneReviveAfterRebattleScRsp" => {
                Some(Self::CmdSceneReviveAfterRebattleScRsp)
            }
            "CmdGetUnlockTeleportScRsp" => Some(Self::CmdGetUnlockTeleportScRsp),
            "CmdDeactivateFarmElementCsReq" => Some(Self::CmdDeactivateFarmElementCsReq),
            "CmdSceneCastSkillScRsp" => Some(Self::CmdSceneCastSkillScRsp),
            "CmdUnlockTeleportNotify" => Some(Self::CmdUnlockTeleportNotify),
            "CmdReturnLastTownScRsp" => Some(Self::CmdReturnLastTownScRsp),
            "CmdActivateFarmElementScRsp" => Some(Self::CmdActivateFarmElementScRsp),
            "CmdUpdateGroupPropertyCsReq" => Some(Self::CmdUpdateGroupPropertyCsReq),
            "CmdSceneGroupRefreshScNotify" => Some(Self::CmdSceneGroupRefreshScNotify),
            "CmdGroupStateChangeCsReq" => Some(Self::CmdGroupStateChangeCsReq),
            "CmdRecoverAllLineupScRsp" => Some(Self::CmdRecoverAllLineupScRsp),
            "CmdStartCocoonStageCsReq" => Some(Self::CmdStartCocoonStageCsReq),
            "CmdEntityBindPropCsReq" => Some(Self::CmdEntityBindPropCsReq),
            "CmdEnterSectionCsReq" => Some(Self::CmdEnterSectionCsReq),
            "CmdInteractPropCsReq" => Some(Self::CmdInteractPropCsReq),
            "CmdSetClientPausedCsReq" => Some(Self::CmdSetClientPausedCsReq),
            "CmdSetGroupCustomSaveDataScRsp" => {
                Some(Self::CmdSetGroupCustomSaveDataScRsp)
            }
            "CmdReturnLastTownCsReq" => Some(Self::CmdReturnLastTownCsReq),
            "CmdRefreshTriggerByClientScRsp" => {
                Some(Self::CmdRefreshTriggerByClientScRsp)
            }
            "CmdSceneEntityTeleportCsReq" => Some(Self::CmdSceneEntityTeleportCsReq),
            "CmdStartCocoonStageScRsp" => Some(Self::CmdStartCocoonStageScRsp),
            "CmdUpdateGroupPropertyScRsp" => Some(Self::CmdUpdateGroupPropertyScRsp),
            "CmdGameplayCounterRecoverCsReq" => {
                Some(Self::CmdGameplayCounterRecoverCsReq)
            }
            "CmdReEnterLastElementStageCsReq" => {
                Some(Self::CmdReEnterLastElementStageCsReq)
            }
            "CmdSceneEnterStageCsReq" => Some(Self::CmdSceneEnterStageCsReq),
            "CmdGetCurSceneInfoScRsp" => Some(Self::CmdGetCurSceneInfoScRsp),
            "CmdSceneUpdatePositionVersionNotify" => {
                Some(Self::CmdSceneUpdatePositionVersionNotify)
            }
            "CmdSetCurInteractEntityCsReq" => Some(Self::CmdSetCurInteractEntityCsReq),
            "CmdSetClientPausedScRsp" => Some(Self::CmdSetClientPausedScRsp),
            "CmdSyncEntityBuffChangeListScNotify" => {
                Some(Self::CmdSyncEntityBuffChangeListScNotify)
            }
            "CmdEnterSceneCsReq" => Some(Self::CmdEnterSceneCsReq),
            "CmdGroupStateChangeScRsp" => Some(Self::CmdGroupStateChangeScRsp),
            "CmdSetCurInteractEntityScRsp" => Some(Self::CmdSetCurInteractEntityScRsp),
            "CmdEnteredSceneChangeScNotify" => Some(Self::CmdEnteredSceneChangeScNotify),
            "CmdGetEnteredSceneScRsp" => Some(Self::CmdGetEnteredSceneScRsp),
            "CmdDeleteSummonUnitCsReq" => Some(Self::CmdDeleteSummonUnitCsReq),
            "CmdSpringRefreshCsReq" => Some(Self::CmdSpringRefreshCsReq),
            "CmdGameplayCounterCountDownScRsp" => {
                Some(Self::CmdGameplayCounterCountDownScRsp)
            }
            "CmdDeactivateFarmElementScRsp" => Some(Self::CmdDeactivateFarmElementScRsp),
            "CmdOpenChestScNotify" => Some(Self::CmdOpenChestScNotify),
            "CmdDeleteSummonUnitScRsp" => Some(Self::CmdDeleteSummonUnitScRsp),
            "CmdSyncServerSceneChangeNotify" => {
                Some(Self::CmdSyncServerSceneChangeNotify)
            }
            "CmdLastSpringRefreshTimeNotify" => {
                Some(Self::CmdLastSpringRefreshTimeNotify)
            }
            "CmdSceneEntityMoveScRsp" => Some(Self::CmdSceneEntityMoveScRsp),
            "CmdRefreshTriggerByClientScNotify" => {
                Some(Self::CmdRefreshTriggerByClientScNotify)
            }
            "CmdGameplayCounterCountDownCsReq" => {
                Some(Self::CmdGameplayCounterCountDownCsReq)
            }
            "CmdTrainWorldIdChangeScNotify" => Some(Self::CmdTrainWorldIdChangeScNotify),
            "CmdRecoverAllLineupCsReq" => Some(Self::CmdRecoverAllLineupCsReq),
            "CmdSceneCastSkillCostMpCsReq" => Some(Self::CmdSceneCastSkillCostMpCsReq),
            "CmdEnterSceneScRsp" => Some(Self::CmdEnterSceneScRsp),
            "CmdGameplayCounterRecoverScRsp" => {
                Some(Self::CmdGameplayCounterRecoverScRsp)
            }
            "CmdSceneReviveAfterRebattleCsReq" => {
                Some(Self::CmdSceneReviveAfterRebattleCsReq)
            }
            "CmdUnlockedAreaMapScNotify" => Some(Self::CmdUnlockedAreaMapScNotify),
            "CmdChangePropTimelineInfoCsReq" => {
                Some(Self::CmdChangePropTimelineInfoCsReq)
            }
            "CmdGetSceneMapInfoScRsp" => Some(Self::CmdGetSceneMapInfoScRsp),
            "CmdSavePointsInfoNotify" => Some(Self::CmdSavePointsInfoNotify),
            "CmdGetUnlockTeleportCsReq" => Some(Self::CmdGetUnlockTeleportCsReq),
            "CmdUpdateFloorSavedValueNotify" => {
                Some(Self::CmdUpdateFloorSavedValueNotify)
            }
            "CmdGetSceneMapInfoCsReq" => Some(Self::CmdGetSceneMapInfoCsReq),
            "CmdEnterSceneByServerScNotify" => Some(Self::CmdEnterSceneByServerScNotify),
            "CmdReEnterLastElementStageScRsp" => {
                Some(Self::CmdReEnterLastElementStageScRsp)
            }
            "CmdEnterSectionScRsp" => Some(Self::CmdEnterSectionScRsp),
            "CmdGroupStateChangeScNotify" => Some(Self::CmdGroupStateChangeScNotify),
            "CmdSetGroupCustomSaveDataCsReq" => {
                Some(Self::CmdSetGroupCustomSaveDataCsReq)
            }
            "CmdSceneCastSkillMpUpdateScNotify" => {
                Some(Self::CmdSceneCastSkillMpUpdateScNotify)
            }
            "CmdChangePropTimelineInfoScRsp" => {
                Some(Self::CmdChangePropTimelineInfoScRsp)
            }
            "CmdGameplayCounterUpdateScNotify" => {
                Some(Self::CmdGameplayCounterUpdateScNotify)
            }
            "CmdSceneCastSkillCsReq" => Some(Self::CmdSceneCastSkillCsReq),
            "CmdInteractPropScRsp" => Some(Self::CmdInteractPropScRsp),
            "CmdGetEnteredSceneCsReq" => Some(Self::CmdGetEnteredSceneCsReq),
            "CmdSceneEntityMoveCsReq" => Some(Self::CmdSceneEntityMoveCsReq),
            "CmdGetCurSceneInfoCsReq" => Some(Self::CmdGetCurSceneInfoCsReq),
            "CmdSceneEntityTeleportScRsp" => Some(Self::CmdSceneEntityTeleportScRsp),
            "CmdSceneEntityMoveScNotify" => Some(Self::CmdSceneEntityMoveScNotify),
            "CmdActivateFarmElementCsReq" => Some(Self::CmdActivateFarmElementCsReq),
            "CmdRefreshTriggerByClientCsReq" => {
                Some(Self::CmdRefreshTriggerByClientCsReq)
            }
            "CmdScenePlaneEventScNotify" => Some(Self::CmdScenePlaneEventScNotify),
            "CmdEntityBindPropScRsp" => Some(Self::CmdEntityBindPropScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SceneCastSkillType {
    SceneCastSkillNone = 0,
    SceneCastSkillProjectileHit = 1,
    SceneCastSkillProjectileLifetimeFinish = 2,
}
impl SceneCastSkillType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::SceneCastSkillNone => "SCENE_CAST_SKILL_NONE",
            Self::SceneCastSkillProjectileHit => "SCENE_CAST_SKILL_PROJECTILE_HIT",
            Self::SceneCastSkillProjectileLifetimeFinish => {
                "SCENE_CAST_SKILL_PROJECTILE_LIFETIME_FINISH"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SCENE_CAST_SKILL_NONE" => Some(Self::SceneCastSkillNone),
            "SCENE_CAST_SKILL_PROJECTILE_HIT" => Some(Self::SceneCastSkillProjectileHit),
            "SCENE_CAST_SKILL_PROJECTILE_LIFETIME_FINISH" => {
                Some(Self::SceneCastSkillProjectileLifetimeFinish)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MonsterBattleType {
    None = 0,
    TriggerBattle = 1,
    DirectDieSimulateBattle = 2,
    DirectDieSkipBattle = 3,
    NoBattle = 4,
}
impl MonsterBattleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "MONSTER_BATTLE_TYPE_NONE",
            Self::TriggerBattle => "MONSTER_BATTLE_TYPE_TRIGGER_BATTLE",
            Self::DirectDieSimulateBattle => {
                "MONSTER_BATTLE_TYPE_DIRECT_DIE_SIMULATE_BATTLE"
            }
            Self::DirectDieSkipBattle => "MONSTER_BATTLE_TYPE_DIRECT_DIE_SKIP_BATTLE",
            Self::NoBattle => "MONSTER_BATTLE_TYPE_NO_BATTLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MONSTER_BATTLE_TYPE_NONE" => Some(Self::None),
            "MONSTER_BATTLE_TYPE_TRIGGER_BATTLE" => Some(Self::TriggerBattle),
            "MONSTER_BATTLE_TYPE_DIRECT_DIE_SIMULATE_BATTLE" => {
                Some(Self::DirectDieSimulateBattle)
            }
            "MONSTER_BATTLE_TYPE_DIRECT_DIE_SKIP_BATTLE" => {
                Some(Self::DirectDieSkipBattle)
            }
            "MONSTER_BATTLE_TYPE_NO_BATTLE" => Some(Self::NoBattle),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EntityBuffChangeType {
    SceneEntityBuffChangeTypeDefault = 0,
    SceneEntityBuffChangeTypeAddMazebuff = 1,
    SceneEntityBuffChangeTypeAddAdvModifier = 2,
}
impl EntityBuffChangeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::SceneEntityBuffChangeTypeDefault => {
                "SCENE_ENTITY_BUFF_CHANGE_TYPE_DEFAULT"
            }
            Self::SceneEntityBuffChangeTypeAddMazebuff => {
                "SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_MAZEBUFF"
            }
            Self::SceneEntityBuffChangeTypeAddAdvModifier => {
                "SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_ADV_MODIFIER"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SCENE_ENTITY_BUFF_CHANGE_TYPE_DEFAULT" => {
                Some(Self::SceneEntityBuffChangeTypeDefault)
            }
            "SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_MAZEBUFF" => {
                Some(Self::SceneEntityBuffChangeTypeAddMazebuff)
            }
            "SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_ADV_MODIFIER" => {
                Some(Self::SceneEntityBuffChangeTypeAddAdvModifier)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EnterSceneReason {
    None = 0,
    ChallengeTimeout = 1,
    RogueTimeout = 2,
    ChangeStoryline = 3,
    DimensionMerge = 4,
}
impl EnterSceneReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "ENTER_SCENE_REASON_NONE",
            Self::ChallengeTimeout => "ENTER_SCENE_REASON_CHALLENGE_TIMEOUT",
            Self::RogueTimeout => "ENTER_SCENE_REASON_ROGUE_TIMEOUT",
            Self::ChangeStoryline => "ENTER_SCENE_REASON_CHANGE_STORYLINE",
            Self::DimensionMerge => "ENTER_SCENE_REASON_DIMENSION_MERGE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ENTER_SCENE_REASON_NONE" => Some(Self::None),
            "ENTER_SCENE_REASON_CHALLENGE_TIMEOUT" => Some(Self::ChallengeTimeout),
            "ENTER_SCENE_REASON_ROGUE_TIMEOUT" => Some(Self::RogueTimeout),
            "ENTER_SCENE_REASON_CHANGE_STORYLINE" => Some(Self::ChangeStoryline),
            "ENTER_SCENE_REASON_DIMENSION_MERGE" => Some(Self::DimensionMerge),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MapInfoChestType {
    None = 0,
    Normal = 101,
    Challenge = 102,
    Puzzle = 104,
}
impl MapInfoChestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "MAP_INFO_CHEST_TYPE_NONE",
            Self::Normal => "MAP_INFO_CHEST_TYPE_NORMAL",
            Self::Challenge => "MAP_INFO_CHEST_TYPE_CHALLENGE",
            Self::Puzzle => "MAP_INFO_CHEST_TYPE_PUZZLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAP_INFO_CHEST_TYPE_NONE" => Some(Self::None),
            "MAP_INFO_CHEST_TYPE_NORMAL" => Some(Self::Normal),
            "MAP_INFO_CHEST_TYPE_CHALLENGE" => Some(Self::Challenge),
            "MAP_INFO_CHEST_TYPE_PUZZLE" => Some(Self::Puzzle),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cnppaammffd {
    GameplayCounterUpdateReasonNone = 0,
    GameplayCounterUpdateReasonActivate = 1,
    GameplayCounterUpdateReasonDeactivate = 2,
    GameplayCounterUpdateReasonChange = 3,
}
impl Cnppaammffd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::GameplayCounterUpdateReasonNone => {
                "GAMEPLAY_COUNTER_UPDATE_REASON_NONE"
            }
            Self::GameplayCounterUpdateReasonActivate => {
                "GAMEPLAY_COUNTER_UPDATE_REASON_ACTIVATE"
            }
            Self::GameplayCounterUpdateReasonDeactivate => {
                "GAMEPLAY_COUNTER_UPDATE_REASON_DEACTIVATE"
            }
            Self::GameplayCounterUpdateReasonChange => {
                "GAMEPLAY_COUNTER_UPDATE_REASON_CHANGE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GAMEPLAY_COUNTER_UPDATE_REASON_NONE" => {
                Some(Self::GameplayCounterUpdateReasonNone)
            }
            "GAMEPLAY_COUNTER_UPDATE_REASON_ACTIVATE" => {
                Some(Self::GameplayCounterUpdateReasonActivate)
            }
            "GAMEPLAY_COUNTER_UPDATE_REASON_DEACTIVATE" => {
                Some(Self::GameplayCounterUpdateReasonDeactivate)
            }
            "GAMEPLAY_COUNTER_UPDATE_REASON_CHANGE" => {
                Some(Self::GameplayCounterUpdateReasonChange)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SceneGroupRefreshType {
    None = 0,
    Loaded = 1,
    Unload = 2,
}
impl SceneGroupRefreshType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "SCENE_GROUP_REFRESH_TYPE_NONE",
            Self::Loaded => "SCENE_GROUP_REFRESH_TYPE_LOADED",
            Self::Unload => "SCENE_GROUP_REFRESH_TYPE_UNLOAD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SCENE_GROUP_REFRESH_TYPE_NONE" => Some(Self::None),
            "SCENE_GROUP_REFRESH_TYPE_LOADED" => Some(Self::Loaded),
            "SCENE_GROUP_REFRESH_TYPE_UNLOAD" => Some(Self::Unload),
            _ => None,
        }
    }
}
/// Obf: JKNIDMLKEON
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdServerPrefsType {
    None = 0,
    CmdUpdateServerPrefsDataCsReq = 6176,
    CmdGetAllServerPrefsDataCsReq = 6195,
    CmdUpdateServerPrefsDataScRsp = 6148,
    CmdGetServerPrefsDataCsReq = 6131,
    CmdGetAllServerPrefsDataScRsp = 6132,
    CmdGetServerPrefsDataScRsp = 6140,
}
impl CmdServerPrefsType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdServerPrefsTypeNone",
            Self::CmdUpdateServerPrefsDataCsReq => "CmdUpdateServerPrefsDataCsReq",
            Self::CmdGetAllServerPrefsDataCsReq => "CmdGetAllServerPrefsDataCsReq",
            Self::CmdUpdateServerPrefsDataScRsp => "CmdUpdateServerPrefsDataScRsp",
            Self::CmdGetServerPrefsDataCsReq => "CmdGetServerPrefsDataCsReq",
            Self::CmdGetAllServerPrefsDataScRsp => "CmdGetAllServerPrefsDataScRsp",
            Self::CmdGetServerPrefsDataScRsp => "CmdGetServerPrefsDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdServerPrefsTypeNone" => Some(Self::None),
            "CmdUpdateServerPrefsDataCsReq" => Some(Self::CmdUpdateServerPrefsDataCsReq),
            "CmdGetAllServerPrefsDataCsReq" => Some(Self::CmdGetAllServerPrefsDataCsReq),
            "CmdUpdateServerPrefsDataScRsp" => Some(Self::CmdUpdateServerPrefsDataScRsp),
            "CmdGetServerPrefsDataCsReq" => Some(Self::CmdGetServerPrefsDataCsReq),
            "CmdGetAllServerPrefsDataScRsp" => Some(Self::CmdGetAllServerPrefsDataScRsp),
            "CmdGetServerPrefsDataScRsp" => Some(Self::CmdGetServerPrefsDataScRsp),
            _ => None,
        }
    }
}
/// Obf: ANDPHHBFPNA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdShopType {
    None = 0,
    CmdBuyGoodsCsReq = 1531,
    CmdGetShopListCsReq = 1595,
    CmdBuyGoodsScRsp = 1540,
    CmdTakeCityShopRewardScRsp = 1548,
    CmdTakeCityShopRewardCsReq = 1576,
    CmdCityShopInfoScNotify = 1571,
    CmdGetShopListScRsp = 1532,
}
impl CmdShopType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdShopTypeNone",
            Self::CmdBuyGoodsCsReq => "CmdBuyGoodsCsReq",
            Self::CmdGetShopListCsReq => "CmdGetShopListCsReq",
            Self::CmdBuyGoodsScRsp => "CmdBuyGoodsScRsp",
            Self::CmdTakeCityShopRewardScRsp => "CmdTakeCityShopRewardScRsp",
            Self::CmdTakeCityShopRewardCsReq => "CmdTakeCityShopRewardCsReq",
            Self::CmdCityShopInfoScNotify => "CmdCityShopInfoScNotify",
            Self::CmdGetShopListScRsp => "CmdGetShopListScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdShopTypeNone" => Some(Self::None),
            "CmdBuyGoodsCsReq" => Some(Self::CmdBuyGoodsCsReq),
            "CmdGetShopListCsReq" => Some(Self::CmdGetShopListCsReq),
            "CmdBuyGoodsScRsp" => Some(Self::CmdBuyGoodsScRsp),
            "CmdTakeCityShopRewardScRsp" => Some(Self::CmdTakeCityShopRewardScRsp),
            "CmdTakeCityShopRewardCsReq" => Some(Self::CmdTakeCityShopRewardCsReq),
            "CmdCityShopInfoScNotify" => Some(Self::CmdCityShopInfoScNotify),
            "CmdGetShopListScRsp" => Some(Self::CmdGetShopListScRsp),
            _ => None,
        }
    }
}
/// Obf: CFPFPILADFI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSpaceZooType {
    None = 0,
    CmdSpaceZooBornScRsp = 6740,
    CmdSpaceZooDataScRsp = 6732,
    CmdSpaceZooDataCsReq = 6795,
    CmdSpaceZooMutateCsReq = 6776,
    CmdSpaceZooBornCsReq = 6731,
    CmdSpaceZooExchangeItemCsReq = 6785,
    CmdSpaceZooOpCatteryScRsp = 6752,
    CmdSpaceZooCatUpdateNotify = 6772,
    CmdSpaceZooExchangeItemScRsp = 6716,
    CmdSpaceZooOpCatteryCsReq = 6771,
    CmdSpaceZooTakeCsReq = 6746,
    CmdSpaceZooDeleteCatScRsp = 6756,
    CmdSpaceZooTakeScRsp = 6783,
    CmdSpaceZooMutateScRsp = 6748,
    CmdSpaceZooDeleteCatCsReq = 6722,
}
impl CmdSpaceZooType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdSpaceZooTypeNone",
            Self::CmdSpaceZooBornScRsp => "CmdSpaceZooBornScRsp",
            Self::CmdSpaceZooDataScRsp => "CmdSpaceZooDataScRsp",
            Self::CmdSpaceZooDataCsReq => "CmdSpaceZooDataCsReq",
            Self::CmdSpaceZooMutateCsReq => "CmdSpaceZooMutateCsReq",
            Self::CmdSpaceZooBornCsReq => "CmdSpaceZooBornCsReq",
            Self::CmdSpaceZooExchangeItemCsReq => "CmdSpaceZooExchangeItemCsReq",
            Self::CmdSpaceZooOpCatteryScRsp => "CmdSpaceZooOpCatteryScRsp",
            Self::CmdSpaceZooCatUpdateNotify => "CmdSpaceZooCatUpdateNotify",
            Self::CmdSpaceZooExchangeItemScRsp => "CmdSpaceZooExchangeItemScRsp",
            Self::CmdSpaceZooOpCatteryCsReq => "CmdSpaceZooOpCatteryCsReq",
            Self::CmdSpaceZooTakeCsReq => "CmdSpaceZooTakeCsReq",
            Self::CmdSpaceZooDeleteCatScRsp => "CmdSpaceZooDeleteCatScRsp",
            Self::CmdSpaceZooTakeScRsp => "CmdSpaceZooTakeScRsp",
            Self::CmdSpaceZooMutateScRsp => "CmdSpaceZooMutateScRsp",
            Self::CmdSpaceZooDeleteCatCsReq => "CmdSpaceZooDeleteCatCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdSpaceZooTypeNone" => Some(Self::None),
            "CmdSpaceZooBornScRsp" => Some(Self::CmdSpaceZooBornScRsp),
            "CmdSpaceZooDataScRsp" => Some(Self::CmdSpaceZooDataScRsp),
            "CmdSpaceZooDataCsReq" => Some(Self::CmdSpaceZooDataCsReq),
            "CmdSpaceZooMutateCsReq" => Some(Self::CmdSpaceZooMutateCsReq),
            "CmdSpaceZooBornCsReq" => Some(Self::CmdSpaceZooBornCsReq),
            "CmdSpaceZooExchangeItemCsReq" => Some(Self::CmdSpaceZooExchangeItemCsReq),
            "CmdSpaceZooOpCatteryScRsp" => Some(Self::CmdSpaceZooOpCatteryScRsp),
            "CmdSpaceZooCatUpdateNotify" => Some(Self::CmdSpaceZooCatUpdateNotify),
            "CmdSpaceZooExchangeItemScRsp" => Some(Self::CmdSpaceZooExchangeItemScRsp),
            "CmdSpaceZooOpCatteryCsReq" => Some(Self::CmdSpaceZooOpCatteryCsReq),
            "CmdSpaceZooTakeCsReq" => Some(Self::CmdSpaceZooTakeCsReq),
            "CmdSpaceZooDeleteCatScRsp" => Some(Self::CmdSpaceZooDeleteCatScRsp),
            "CmdSpaceZooTakeScRsp" => Some(Self::CmdSpaceZooTakeScRsp),
            "CmdSpaceZooMutateScRsp" => Some(Self::CmdSpaceZooMutateScRsp),
            "CmdSpaceZooDeleteCatCsReq" => Some(Self::CmdSpaceZooDeleteCatCsReq),
            _ => None,
        }
    }
}
/// Obf: GAEDEIFBKEO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStarFightType {
    None = 0,
    CmdGetStarFightDataCsReq = 7162,
    CmdGetStarFightDataScRsp = 7165,
    CmdStartStarFightLevelScRsp = 7167,
    CmdStartStarFightLevelCsReq = 7164,
    CmdStarFightDataChangeNotify = 7161,
}
impl CmdStarFightType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdStarFightTypeNone",
            Self::CmdGetStarFightDataCsReq => "CmdGetStarFightDataCsReq",
            Self::CmdGetStarFightDataScRsp => "CmdGetStarFightDataScRsp",
            Self::CmdStartStarFightLevelScRsp => "CmdStartStarFightLevelScRsp",
            Self::CmdStartStarFightLevelCsReq => "CmdStartStarFightLevelCsReq",
            Self::CmdStarFightDataChangeNotify => "CmdStarFightDataChangeNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdStarFightTypeNone" => Some(Self::None),
            "CmdGetStarFightDataCsReq" => Some(Self::CmdGetStarFightDataCsReq),
            "CmdGetStarFightDataScRsp" => Some(Self::CmdGetStarFightDataScRsp),
            "CmdStartStarFightLevelScRsp" => Some(Self::CmdStartStarFightLevelScRsp),
            "CmdStartStarFightLevelCsReq" => Some(Self::CmdStartStarFightLevelCsReq),
            "CmdStarFightDataChangeNotify" => Some(Self::CmdStarFightDataChangeNotify),
            _ => None,
        }
    }
}
/// Obf: FDCIAAKMGEC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStoryLineType {
    None = 0,
    CmdChangeStoryLineFinishScNotify = 6248,
    CmdGetStoryLineInfoCsReq = 6295,
    CmdStoryLineTrialAvatarChangeScNotify = 6271,
    CmdStoryLineInfoScNotify = 6231,
    CmdGetStoryLineInfoScRsp = 6232,
}
impl CmdStoryLineType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdStoryLineTypeNone",
            Self::CmdChangeStoryLineFinishScNotify => "CmdChangeStoryLineFinishScNotify",
            Self::CmdGetStoryLineInfoCsReq => "CmdGetStoryLineInfoCsReq",
            Self::CmdStoryLineTrialAvatarChangeScNotify => {
                "CmdStoryLineTrialAvatarChangeScNotify"
            }
            Self::CmdStoryLineInfoScNotify => "CmdStoryLineInfoScNotify",
            Self::CmdGetStoryLineInfoScRsp => "CmdGetStoryLineInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdStoryLineTypeNone" => Some(Self::None),
            "CmdChangeStoryLineFinishScNotify" => {
                Some(Self::CmdChangeStoryLineFinishScNotify)
            }
            "CmdGetStoryLineInfoCsReq" => Some(Self::CmdGetStoryLineInfoCsReq),
            "CmdStoryLineTrialAvatarChangeScNotify" => {
                Some(Self::CmdStoryLineTrialAvatarChangeScNotify)
            }
            "CmdStoryLineInfoScNotify" => Some(Self::CmdStoryLineInfoScNotify),
            "CmdGetStoryLineInfoScRsp" => Some(Self::CmdGetStoryLineInfoScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Amjocdiaphf {
    ChangeStoryLineActionNone = 0,
    ChangeStoryLineActionFinishAction = 1,
    ChangeStoryLineActionClient = 2,
    ChangeStoryLineActionCustomOp = 3,
    ChangeStoryLineActionRaid = 4,
}
impl Amjocdiaphf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ChangeStoryLineActionNone => "ChangeStoryLineAction_None",
            Self::ChangeStoryLineActionFinishAction => {
                "ChangeStoryLineAction_FinishAction"
            }
            Self::ChangeStoryLineActionClient => "ChangeStoryLineAction_Client",
            Self::ChangeStoryLineActionCustomOp => "ChangeStoryLineAction_CustomOP",
            Self::ChangeStoryLineActionRaid => "ChangeStoryLineAction_Raid",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ChangeStoryLineAction_None" => Some(Self::ChangeStoryLineActionNone),
            "ChangeStoryLineAction_FinishAction" => {
                Some(Self::ChangeStoryLineActionFinishAction)
            }
            "ChangeStoryLineAction_Client" => Some(Self::ChangeStoryLineActionClient),
            "ChangeStoryLineAction_CustomOP" => Some(Self::ChangeStoryLineActionCustomOp),
            "ChangeStoryLineAction_Raid" => Some(Self::ChangeStoryLineActionRaid),
            _ => None,
        }
    }
}
/// Obf: ODBCOBHBAKL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStrongChallengeActivityType {
    None = 0,
    CmdEnterStrongChallengeActivityStageCsReq = 6631,
    CmdStrongChallengeActivityBattleEndScNotify = 6676,
    CmdEnterStrongChallengeActivityStageScRsp = 6640,
    CmdGetStrongChallengeActivityDataCsReq = 6695,
    CmdGetStrongChallengeActivityDataScRsp = 6632,
}
impl CmdStrongChallengeActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdStrongChallengeActivityTypeNone",
            Self::CmdEnterStrongChallengeActivityStageCsReq => {
                "CmdEnterStrongChallengeActivityStageCsReq"
            }
            Self::CmdStrongChallengeActivityBattleEndScNotify => {
                "CmdStrongChallengeActivityBattleEndScNotify"
            }
            Self::CmdEnterStrongChallengeActivityStageScRsp => {
                "CmdEnterStrongChallengeActivityStageScRsp"
            }
            Self::CmdGetStrongChallengeActivityDataCsReq => {
                "CmdGetStrongChallengeActivityDataCsReq"
            }
            Self::CmdGetStrongChallengeActivityDataScRsp => {
                "CmdGetStrongChallengeActivityDataScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdStrongChallengeActivityTypeNone" => Some(Self::None),
            "CmdEnterStrongChallengeActivityStageCsReq" => {
                Some(Self::CmdEnterStrongChallengeActivityStageCsReq)
            }
            "CmdStrongChallengeActivityBattleEndScNotify" => {
                Some(Self::CmdStrongChallengeActivityBattleEndScNotify)
            }
            "CmdEnterStrongChallengeActivityStageScRsp" => {
                Some(Self::CmdEnterStrongChallengeActivityStageScRsp)
            }
            "CmdGetStrongChallengeActivityDataCsReq" => {
                Some(Self::CmdGetStrongChallengeActivityDataCsReq)
            }
            "CmdGetStrongChallengeActivityDataScRsp" => {
                Some(Self::CmdGetStrongChallengeActivityDataScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: HCAOPLMAKDA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSummonActivityType {
    None = 0,
    CmdEnterSummonActivityStageCsReq = 7564,
    CmdGetSummonActivityDataScRsp = 7565,
    CmdEnterSummonActivityStageScRsp = 7567,
    CmdGetSummonActivityDataCsReq = 7562,
    CmdSummonActivityBattleEndScNotify = 7561,
}
impl CmdSummonActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdSummonActivityTypeNone",
            Self::CmdEnterSummonActivityStageCsReq => "CmdEnterSummonActivityStageCsReq",
            Self::CmdGetSummonActivityDataScRsp => "CmdGetSummonActivityDataScRsp",
            Self::CmdEnterSummonActivityStageScRsp => "CmdEnterSummonActivityStageScRsp",
            Self::CmdGetSummonActivityDataCsReq => "CmdGetSummonActivityDataCsReq",
            Self::CmdSummonActivityBattleEndScNotify => {
                "CmdSummonActivityBattleEndScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdSummonActivityTypeNone" => Some(Self::None),
            "CmdEnterSummonActivityStageCsReq" => {
                Some(Self::CmdEnterSummonActivityStageCsReq)
            }
            "CmdGetSummonActivityDataScRsp" => Some(Self::CmdGetSummonActivityDataScRsp),
            "CmdEnterSummonActivityStageScRsp" => {
                Some(Self::CmdEnterSummonActivityStageScRsp)
            }
            "CmdGetSummonActivityDataCsReq" => Some(Self::CmdGetSummonActivityDataCsReq),
            "CmdSummonActivityBattleEndScNotify" => {
                Some(Self::CmdSummonActivityBattleEndScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: KIKAIPIJPJH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSwitchHandType {
    None = 0,
    CmdSwitchHandDataScRsp = 8113,
    CmdSwitchHandStartScRsp = 8110,
    CmdSwitchHandCoinUpdateCsReq = 8107,
    CmdSwitchHandUpdateCsReq = 8120,
    CmdSwitchHandResetHandPosScRsp = 8101,
    CmdSwitchHandCoinUpdateScRsp = 8103,
    CmdSwitchHandStartCsReq = 8108,
    CmdSwitchHandUpdateScRsp = 8109,
    CmdSwitchHandResetGameScRsp = 8119,
    CmdSwitchHandResetHandPosCsReq = 8105,
    CmdSwitchHandFinishScRsp = 8102,
    CmdSwitchHandFinishCsReq = 8104,
    CmdSwitchHandDataCsReq = 8114,
    CmdSwitchHandResetGameCsReq = 8111,
}
impl CmdSwitchHandType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdSwitchHandTypeNone",
            Self::CmdSwitchHandDataScRsp => "CmdSwitchHandDataScRsp",
            Self::CmdSwitchHandStartScRsp => "CmdSwitchHandStartScRsp",
            Self::CmdSwitchHandCoinUpdateCsReq => "CmdSwitchHandCoinUpdateCsReq",
            Self::CmdSwitchHandUpdateCsReq => "CmdSwitchHandUpdateCsReq",
            Self::CmdSwitchHandResetHandPosScRsp => "CmdSwitchHandResetHandPosScRsp",
            Self::CmdSwitchHandCoinUpdateScRsp => "CmdSwitchHandCoinUpdateScRsp",
            Self::CmdSwitchHandStartCsReq => "CmdSwitchHandStartCsReq",
            Self::CmdSwitchHandUpdateScRsp => "CmdSwitchHandUpdateScRsp",
            Self::CmdSwitchHandResetGameScRsp => "CmdSwitchHandResetGameScRsp",
            Self::CmdSwitchHandResetHandPosCsReq => "CmdSwitchHandResetHandPosCsReq",
            Self::CmdSwitchHandFinishScRsp => "CmdSwitchHandFinishScRsp",
            Self::CmdSwitchHandFinishCsReq => "CmdSwitchHandFinishCsReq",
            Self::CmdSwitchHandDataCsReq => "CmdSwitchHandDataCsReq",
            Self::CmdSwitchHandResetGameCsReq => "CmdSwitchHandResetGameCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdSwitchHandTypeNone" => Some(Self::None),
            "CmdSwitchHandDataScRsp" => Some(Self::CmdSwitchHandDataScRsp),
            "CmdSwitchHandStartScRsp" => Some(Self::CmdSwitchHandStartScRsp),
            "CmdSwitchHandCoinUpdateCsReq" => Some(Self::CmdSwitchHandCoinUpdateCsReq),
            "CmdSwitchHandUpdateCsReq" => Some(Self::CmdSwitchHandUpdateCsReq),
            "CmdSwitchHandResetHandPosScRsp" => {
                Some(Self::CmdSwitchHandResetHandPosScRsp)
            }
            "CmdSwitchHandCoinUpdateScRsp" => Some(Self::CmdSwitchHandCoinUpdateScRsp),
            "CmdSwitchHandStartCsReq" => Some(Self::CmdSwitchHandStartCsReq),
            "CmdSwitchHandUpdateScRsp" => Some(Self::CmdSwitchHandUpdateScRsp),
            "CmdSwitchHandResetGameScRsp" => Some(Self::CmdSwitchHandResetGameScRsp),
            "CmdSwitchHandResetHandPosCsReq" => {
                Some(Self::CmdSwitchHandResetHandPosCsReq)
            }
            "CmdSwitchHandFinishScRsp" => Some(Self::CmdSwitchHandFinishScRsp),
            "CmdSwitchHandFinishCsReq" => Some(Self::CmdSwitchHandFinishCsReq),
            "CmdSwitchHandDataCsReq" => Some(Self::CmdSwitchHandDataCsReq),
            "CmdSwitchHandResetGameCsReq" => Some(Self::CmdSwitchHandResetGameCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Leglgdjopkc {
    SwitchHandOpPropTypeNone = 0,
    SwitchHandOpPropTypeCatch = 1,
    SwitchHandOpPropTypeLift = 2,
}
impl Leglgdjopkc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::SwitchHandOpPropTypeNone => "SWITCH_HAND_OP_PROP_TYPE_NONE",
            Self::SwitchHandOpPropTypeCatch => "SWITCH_HAND_OP_PROP_TYPE_CATCH",
            Self::SwitchHandOpPropTypeLift => "SWITCH_HAND_OP_PROP_TYPE_LIFT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SWITCH_HAND_OP_PROP_TYPE_NONE" => Some(Self::SwitchHandOpPropTypeNone),
            "SWITCH_HAND_OP_PROP_TYPE_CATCH" => Some(Self::SwitchHandOpPropTypeCatch),
            "SWITCH_HAND_OP_PROP_TYPE_LIFT" => Some(Self::SwitchHandOpPropTypeLift),
            _ => None,
        }
    }
}
/// Obf: BCOJADMPNJF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSwordTrainingType {
    None = 0,
    CmdSwordTrainingGiveUpGameCsReq = 7492,
    CmdSwordTrainingDialogueSelectOptionScRsp = 7493,
    CmdSwordTrainingResumeGameCsReq = 7453,
    CmdSwordTrainingGameSettleScNotify = 7468,
    CmdSwordTrainingDailyPhaseConfirmCsReq = 7467,
    CmdSwordTrainingResumeGameScRsp = 7497,
    CmdSwordTrainingGiveUpGameScRsp = 7479,
    CmdSwordTrainingStoryBattleScRsp = 7469,
    CmdEnterSwordTrainingExamScRsp = 7470,
    CmdSwordTrainingStartGameCsReq = 7473,
    CmdSwordTrainingSetSkillTraceScRsp = 7491,
    CmdGetSwordTrainingDataCsReq = 7496,
    CmdSwordTrainingGameSyncChangeScNotify = 7454,
    CmdSwordTrainingStartGameScRsp = 7476,
    CmdSwordTrainingSetSkillTraceCsReq = 7498,
    CmdSwordTrainingDailyPhaseConfirmScRsp = 7477,
    CmdSwordTrainingLearnSkillCsReq = 7494,
    CmdSwordTrainingRestoreGameCsReq = 7456,
    CmdSwordTrainingMarkEndingViewedCsReq = 7483,
    CmdSwordTrainingLearnSkillScRsp = 7482,
    CmdSwordTrainingUnlockSyncScNotify = 7451,
    CmdSwordTrainingTurnActionScRsp = 7486,
    CmdSwordTrainingSelectEndingCsReq = 7489,
    CmdGetSwordTrainingDataScRsp = 7452,
    CmdEnterSwordTrainingExamCsReq = 7490,
    CmdSwordTrainingTurnActionCsReq = 7487,
    CmdSwordTrainingStoryBattleCsReq = 7460,
    CmdSwordTrainingStoryConfirmScRsp = 7466,
    CmdSwordTrainingMarkEndingViewedScRsp = 7481,
    CmdSwordTrainingRestoreGameScRsp = 7471,
    CmdSwordTrainingActionTurnSettleScNotify = 7499,
    CmdSwordTrainingExamResultConfirmCsReq = 7464,
    CmdSwordTrainingStoryConfirmCsReq = 7472,
    CmdSwordTrainingExamResultConfirmScRsp = 7458,
    CmdSwordTrainingDialogueSelectOptionCsReq = 7465,
    CmdSwordTrainingSelectEndingScRsp = 7461,
}
impl CmdSwordTrainingType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdSwordTrainingTypeNone",
            Self::CmdSwordTrainingGiveUpGameCsReq => "CmdSwordTrainingGiveUpGameCsReq",
            Self::CmdSwordTrainingDialogueSelectOptionScRsp => {
                "CmdSwordTrainingDialogueSelectOptionScRsp"
            }
            Self::CmdSwordTrainingResumeGameCsReq => "CmdSwordTrainingResumeGameCsReq",
            Self::CmdSwordTrainingGameSettleScNotify => {
                "CmdSwordTrainingGameSettleScNotify"
            }
            Self::CmdSwordTrainingDailyPhaseConfirmCsReq => {
                "CmdSwordTrainingDailyPhaseConfirmCsReq"
            }
            Self::CmdSwordTrainingResumeGameScRsp => "CmdSwordTrainingResumeGameScRsp",
            Self::CmdSwordTrainingGiveUpGameScRsp => "CmdSwordTrainingGiveUpGameScRsp",
            Self::CmdSwordTrainingStoryBattleScRsp => "CmdSwordTrainingStoryBattleScRsp",
            Self::CmdEnterSwordTrainingExamScRsp => "CmdEnterSwordTrainingExamScRsp",
            Self::CmdSwordTrainingStartGameCsReq => "CmdSwordTrainingStartGameCsReq",
            Self::CmdSwordTrainingSetSkillTraceScRsp => {
                "CmdSwordTrainingSetSkillTraceScRsp"
            }
            Self::CmdGetSwordTrainingDataCsReq => "CmdGetSwordTrainingDataCsReq",
            Self::CmdSwordTrainingGameSyncChangeScNotify => {
                "CmdSwordTrainingGameSyncChangeScNotify"
            }
            Self::CmdSwordTrainingStartGameScRsp => "CmdSwordTrainingStartGameScRsp",
            Self::CmdSwordTrainingSetSkillTraceCsReq => {
                "CmdSwordTrainingSetSkillTraceCsReq"
            }
            Self::CmdSwordTrainingDailyPhaseConfirmScRsp => {
                "CmdSwordTrainingDailyPhaseConfirmScRsp"
            }
            Self::CmdSwordTrainingLearnSkillCsReq => "CmdSwordTrainingLearnSkillCsReq",
            Self::CmdSwordTrainingRestoreGameCsReq => "CmdSwordTrainingRestoreGameCsReq",
            Self::CmdSwordTrainingMarkEndingViewedCsReq => {
                "CmdSwordTrainingMarkEndingViewedCsReq"
            }
            Self::CmdSwordTrainingLearnSkillScRsp => "CmdSwordTrainingLearnSkillScRsp",
            Self::CmdSwordTrainingUnlockSyncScNotify => {
                "CmdSwordTrainingUnlockSyncScNotify"
            }
            Self::CmdSwordTrainingTurnActionScRsp => "CmdSwordTrainingTurnActionScRsp",
            Self::CmdSwordTrainingSelectEndingCsReq => {
                "CmdSwordTrainingSelectEndingCsReq"
            }
            Self::CmdGetSwordTrainingDataScRsp => "CmdGetSwordTrainingDataScRsp",
            Self::CmdEnterSwordTrainingExamCsReq => "CmdEnterSwordTrainingExamCsReq",
            Self::CmdSwordTrainingTurnActionCsReq => "CmdSwordTrainingTurnActionCsReq",
            Self::CmdSwordTrainingStoryBattleCsReq => "CmdSwordTrainingStoryBattleCsReq",
            Self::CmdSwordTrainingStoryConfirmScRsp => {
                "CmdSwordTrainingStoryConfirmScRsp"
            }
            Self::CmdSwordTrainingMarkEndingViewedScRsp => {
                "CmdSwordTrainingMarkEndingViewedScRsp"
            }
            Self::CmdSwordTrainingRestoreGameScRsp => "CmdSwordTrainingRestoreGameScRsp",
            Self::CmdSwordTrainingActionTurnSettleScNotify => {
                "CmdSwordTrainingActionTurnSettleScNotify"
            }
            Self::CmdSwordTrainingExamResultConfirmCsReq => {
                "CmdSwordTrainingExamResultConfirmCsReq"
            }
            Self::CmdSwordTrainingStoryConfirmCsReq => {
                "CmdSwordTrainingStoryConfirmCsReq"
            }
            Self::CmdSwordTrainingExamResultConfirmScRsp => {
                "CmdSwordTrainingExamResultConfirmScRsp"
            }
            Self::CmdSwordTrainingDialogueSelectOptionCsReq => {
                "CmdSwordTrainingDialogueSelectOptionCsReq"
            }
            Self::CmdSwordTrainingSelectEndingScRsp => {
                "CmdSwordTrainingSelectEndingScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdSwordTrainingTypeNone" => Some(Self::None),
            "CmdSwordTrainingGiveUpGameCsReq" => {
                Some(Self::CmdSwordTrainingGiveUpGameCsReq)
            }
            "CmdSwordTrainingDialogueSelectOptionScRsp" => {
                Some(Self::CmdSwordTrainingDialogueSelectOptionScRsp)
            }
            "CmdSwordTrainingResumeGameCsReq" => {
                Some(Self::CmdSwordTrainingResumeGameCsReq)
            }
            "CmdSwordTrainingGameSettleScNotify" => {
                Some(Self::CmdSwordTrainingGameSettleScNotify)
            }
            "CmdSwordTrainingDailyPhaseConfirmCsReq" => {
                Some(Self::CmdSwordTrainingDailyPhaseConfirmCsReq)
            }
            "CmdSwordTrainingResumeGameScRsp" => {
                Some(Self::CmdSwordTrainingResumeGameScRsp)
            }
            "CmdSwordTrainingGiveUpGameScRsp" => {
                Some(Self::CmdSwordTrainingGiveUpGameScRsp)
            }
            "CmdSwordTrainingStoryBattleScRsp" => {
                Some(Self::CmdSwordTrainingStoryBattleScRsp)
            }
            "CmdEnterSwordTrainingExamScRsp" => {
                Some(Self::CmdEnterSwordTrainingExamScRsp)
            }
            "CmdSwordTrainingStartGameCsReq" => {
                Some(Self::CmdSwordTrainingStartGameCsReq)
            }
            "CmdSwordTrainingSetSkillTraceScRsp" => {
                Some(Self::CmdSwordTrainingSetSkillTraceScRsp)
            }
            "CmdGetSwordTrainingDataCsReq" => Some(Self::CmdGetSwordTrainingDataCsReq),
            "CmdSwordTrainingGameSyncChangeScNotify" => {
                Some(Self::CmdSwordTrainingGameSyncChangeScNotify)
            }
            "CmdSwordTrainingStartGameScRsp" => {
                Some(Self::CmdSwordTrainingStartGameScRsp)
            }
            "CmdSwordTrainingSetSkillTraceCsReq" => {
                Some(Self::CmdSwordTrainingSetSkillTraceCsReq)
            }
            "CmdSwordTrainingDailyPhaseConfirmScRsp" => {
                Some(Self::CmdSwordTrainingDailyPhaseConfirmScRsp)
            }
            "CmdSwordTrainingLearnSkillCsReq" => {
                Some(Self::CmdSwordTrainingLearnSkillCsReq)
            }
            "CmdSwordTrainingRestoreGameCsReq" => {
                Some(Self::CmdSwordTrainingRestoreGameCsReq)
            }
            "CmdSwordTrainingMarkEndingViewedCsReq" => {
                Some(Self::CmdSwordTrainingMarkEndingViewedCsReq)
            }
            "CmdSwordTrainingLearnSkillScRsp" => {
                Some(Self::CmdSwordTrainingLearnSkillScRsp)
            }
            "CmdSwordTrainingUnlockSyncScNotify" => {
                Some(Self::CmdSwordTrainingUnlockSyncScNotify)
            }
            "CmdSwordTrainingTurnActionScRsp" => {
                Some(Self::CmdSwordTrainingTurnActionScRsp)
            }
            "CmdSwordTrainingSelectEndingCsReq" => {
                Some(Self::CmdSwordTrainingSelectEndingCsReq)
            }
            "CmdGetSwordTrainingDataScRsp" => Some(Self::CmdGetSwordTrainingDataScRsp),
            "CmdEnterSwordTrainingExamCsReq" => {
                Some(Self::CmdEnterSwordTrainingExamCsReq)
            }
            "CmdSwordTrainingTurnActionCsReq" => {
                Some(Self::CmdSwordTrainingTurnActionCsReq)
            }
            "CmdSwordTrainingStoryBattleCsReq" => {
                Some(Self::CmdSwordTrainingStoryBattleCsReq)
            }
            "CmdSwordTrainingStoryConfirmScRsp" => {
                Some(Self::CmdSwordTrainingStoryConfirmScRsp)
            }
            "CmdSwordTrainingMarkEndingViewedScRsp" => {
                Some(Self::CmdSwordTrainingMarkEndingViewedScRsp)
            }
            "CmdSwordTrainingRestoreGameScRsp" => {
                Some(Self::CmdSwordTrainingRestoreGameScRsp)
            }
            "CmdSwordTrainingActionTurnSettleScNotify" => {
                Some(Self::CmdSwordTrainingActionTurnSettleScNotify)
            }
            "CmdSwordTrainingExamResultConfirmCsReq" => {
                Some(Self::CmdSwordTrainingExamResultConfirmCsReq)
            }
            "CmdSwordTrainingStoryConfirmCsReq" => {
                Some(Self::CmdSwordTrainingStoryConfirmCsReq)
            }
            "CmdSwordTrainingExamResultConfirmScRsp" => {
                Some(Self::CmdSwordTrainingExamResultConfirmScRsp)
            }
            "CmdSwordTrainingDialogueSelectOptionCsReq" => {
                Some(Self::CmdSwordTrainingDialogueSelectOptionCsReq)
            }
            "CmdSwordTrainingSelectEndingScRsp" => {
                Some(Self::CmdSwordTrainingSelectEndingScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pkhjbpmibba {
    SwordTrainGameSourceTypeNone = 0,
    SwordTrainGameSourceTypeTurnSettle = 1,
    SwordTrainGameSourceTypeStatusUpgrade = 2,
    SwordTrainGameSourceTypeAction = 3,
    SwordTrainGameSourceTypeActionHint = 4,
    SwordTrainGameSourceTypeStory = 5,
    SwordTrainGameSourceTypeExamBonus = 6,
    SwordTrainGameSourceTypeDialogue = 7,
}
impl Pkhjbpmibba {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::SwordTrainGameSourceTypeNone => "SWORD_TRAIN_GAME_SOURCE_TYPE_NONE",
            Self::SwordTrainGameSourceTypeTurnSettle => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_TURN_SETTLE"
            }
            Self::SwordTrainGameSourceTypeStatusUpgrade => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_STATUS_UPGRADE"
            }
            Self::SwordTrainGameSourceTypeAction => "SWORD_TRAIN_GAME_SOURCE_TYPE_ACTION",
            Self::SwordTrainGameSourceTypeActionHint => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_ACTION_HINT"
            }
            Self::SwordTrainGameSourceTypeStory => "SWORD_TRAIN_GAME_SOURCE_TYPE_STORY",
            Self::SwordTrainGameSourceTypeExamBonus => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_EXAM_BONUS"
            }
            Self::SwordTrainGameSourceTypeDialogue => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_DIALOGUE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SWORD_TRAIN_GAME_SOURCE_TYPE_NONE" => {
                Some(Self::SwordTrainGameSourceTypeNone)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_TURN_SETTLE" => {
                Some(Self::SwordTrainGameSourceTypeTurnSettle)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_STATUS_UPGRADE" => {
                Some(Self::SwordTrainGameSourceTypeStatusUpgrade)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_ACTION" => {
                Some(Self::SwordTrainGameSourceTypeAction)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_ACTION_HINT" => {
                Some(Self::SwordTrainGameSourceTypeActionHint)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_STORY" => {
                Some(Self::SwordTrainGameSourceTypeStory)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_EXAM_BONUS" => {
                Some(Self::SwordTrainGameSourceTypeExamBonus)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::SwordTrainGameSourceTypeDialogue)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bjncdefeeji {
    SwordTrainingDailyPhaseTypeNone = 0,
    SwordTrainingDailyPhaseTypeMorning = 1,
    SwordTrainingDailyPhaseTypeNoon = 2,
    SwordTrainingDailyPhaseTypeAfternoon = 3,
    SwordTrainingDailyPhaseTypeEvening = 4,
}
impl Bjncdefeeji {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::SwordTrainingDailyPhaseTypeNone => {
                "SWORD_TRAINING_DAILY_PHASE_TYPE_NONE"
            }
            Self::SwordTrainingDailyPhaseTypeMorning => {
                "SWORD_TRAINING_DAILY_PHASE_TYPE_MORNING"
            }
            Self::SwordTrainingDailyPhaseTypeNoon => {
                "SWORD_TRAINING_DAILY_PHASE_TYPE_NOON"
            }
            Self::SwordTrainingDailyPhaseTypeAfternoon => {
                "SWORD_TRAINING_DAILY_PHASE_TYPE_AFTERNOON"
            }
            Self::SwordTrainingDailyPhaseTypeEvening => {
                "SWORD_TRAINING_DAILY_PHASE_TYPE_EVENING"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SWORD_TRAINING_DAILY_PHASE_TYPE_NONE" => {
                Some(Self::SwordTrainingDailyPhaseTypeNone)
            }
            "SWORD_TRAINING_DAILY_PHASE_TYPE_MORNING" => {
                Some(Self::SwordTrainingDailyPhaseTypeMorning)
            }
            "SWORD_TRAINING_DAILY_PHASE_TYPE_NOON" => {
                Some(Self::SwordTrainingDailyPhaseTypeNoon)
            }
            "SWORD_TRAINING_DAILY_PHASE_TYPE_AFTERNOON" => {
                Some(Self::SwordTrainingDailyPhaseTypeAfternoon)
            }
            "SWORD_TRAINING_DAILY_PHASE_TYPE_EVENING" => {
                Some(Self::SwordTrainingDailyPhaseTypeEvening)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hdijjmdpile {
    SwordTrainingStatusTypeNone = 0,
    SwordTrainingStatusTypePower = 1,
    SwordTrainingStatusTypeAgility = 2,
    SwordTrainingStatusTypeToughness = 3,
    SwordTrainingStatusTypePerception = 4,
    SwordTrainingStatusTypeMax = 5,
}
impl Hdijjmdpile {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::SwordTrainingStatusTypeNone => "SWORD_TRAINING_STATUS_TYPE_NONE",
            Self::SwordTrainingStatusTypePower => "SWORD_TRAINING_STATUS_TYPE_POWER",
            Self::SwordTrainingStatusTypeAgility => "SWORD_TRAINING_STATUS_TYPE_AGILITY",
            Self::SwordTrainingStatusTypeToughness => {
                "SWORD_TRAINING_STATUS_TYPE_TOUGHNESS"
            }
            Self::SwordTrainingStatusTypePerception => {
                "SWORD_TRAINING_STATUS_TYPE_PERCEPTION"
            }
            Self::SwordTrainingStatusTypeMax => "_SWORD_TRAINING_STATUS_TYPE_MAX",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SWORD_TRAINING_STATUS_TYPE_NONE" => Some(Self::SwordTrainingStatusTypeNone),
            "SWORD_TRAINING_STATUS_TYPE_POWER" => {
                Some(Self::SwordTrainingStatusTypePower)
            }
            "SWORD_TRAINING_STATUS_TYPE_AGILITY" => {
                Some(Self::SwordTrainingStatusTypeAgility)
            }
            "SWORD_TRAINING_STATUS_TYPE_TOUGHNESS" => {
                Some(Self::SwordTrainingStatusTypeToughness)
            }
            "SWORD_TRAINING_STATUS_TYPE_PERCEPTION" => {
                Some(Self::SwordTrainingStatusTypePerception)
            }
            "_SWORD_TRAINING_STATUS_TYPE_MAX" => Some(Self::SwordTrainingStatusTypeMax),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hdmkphalalg {
    SwordTrainingGameSettleNone = 0,
    SwordTrainingGameSettleFinish = 1,
    SwordTrainingGameSettleGiveUp = 2,
    SwordTrainingGameSettleBattleFailed = 3,
    SwordTrainingGameSettleForce = 4,
    SwordTrainingGameSettleByRestore = 5,
}
impl Hdmkphalalg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::SwordTrainingGameSettleNone => "SWORD_TRAINING_GAME_SETTLE_NONE",
            Self::SwordTrainingGameSettleFinish => "SWORD_TRAINING_GAME_SETTLE_FINISH",
            Self::SwordTrainingGameSettleGiveUp => "SWORD_TRAINING_GAME_SETTLE_GIVE_UP",
            Self::SwordTrainingGameSettleBattleFailed => {
                "SWORD_TRAINING_GAME_SETTLE_BATTLE_FAILED"
            }
            Self::SwordTrainingGameSettleForce => "SWORD_TRAINING_GAME_SETTLE_FORCE",
            Self::SwordTrainingGameSettleByRestore => {
                "SWORD_TRAINING_GAME_SETTLE_BY_RESTORE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SWORD_TRAINING_GAME_SETTLE_NONE" => Some(Self::SwordTrainingGameSettleNone),
            "SWORD_TRAINING_GAME_SETTLE_FINISH" => {
                Some(Self::SwordTrainingGameSettleFinish)
            }
            "SWORD_TRAINING_GAME_SETTLE_GIVE_UP" => {
                Some(Self::SwordTrainingGameSettleGiveUp)
            }
            "SWORD_TRAINING_GAME_SETTLE_BATTLE_FAILED" => {
                Some(Self::SwordTrainingGameSettleBattleFailed)
            }
            "SWORD_TRAINING_GAME_SETTLE_FORCE" => {
                Some(Self::SwordTrainingGameSettleForce)
            }
            "SWORD_TRAINING_GAME_SETTLE_BY_RESTORE" => {
                Some(Self::SwordTrainingGameSettleByRestore)
            }
            _ => None,
        }
    }
}
/// Obf: HEOOONFIPAF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerSync {
    None = 0,
    ScNotify = 695,
}
impl CmdPlayerSync {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdPlayerSyncNone",
            Self::ScNotify => "CmdPlayerSyncScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlayerSyncNone" => Some(Self::None),
            "CmdPlayerSyncScNotify" => Some(Self::ScNotify),
            _ => None,
        }
    }
}
/// Obf: DFHNNKHAEJJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTalkRewardType {
    None = 0,
    CmdTakeTalkRewardCsReq = 2131,
    CmdFinishFirstTalkByPerformanceNpcCsReq = 2116,
    CmdGetFirstTalkNpcScRsp = 2148,
    CmdGetFirstTalkByPerformanceNpcCsReq = 2172,
    CmdFinishFirstTalkNpcScRsp = 2152,
    CmdGetNpcTakenRewardScRsp = 2132,
    CmdSelectInclinationTextScRsp = 2156,
    CmdTakeTalkRewardScRsp = 2140,
    CmdSelectInclinationTextCsReq = 2122,
    CmdFinishFirstTalkNpcCsReq = 2171,
    CmdGetFirstTalkByPerformanceNpcScRsp = 2185,
    CmdGetFirstTalkNpcCsReq = 2176,
    CmdGetNpcTakenRewardCsReq = 2195,
    CmdFinishFirstTalkByPerformanceNpcScRsp = 2146,
}
impl CmdTalkRewardType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdTalkRewardTypeNone",
            Self::CmdTakeTalkRewardCsReq => "CmdTakeTalkRewardCsReq",
            Self::CmdFinishFirstTalkByPerformanceNpcCsReq => {
                "CmdFinishFirstTalkByPerformanceNpcCsReq"
            }
            Self::CmdGetFirstTalkNpcScRsp => "CmdGetFirstTalkNpcScRsp",
            Self::CmdGetFirstTalkByPerformanceNpcCsReq => {
                "CmdGetFirstTalkByPerformanceNpcCsReq"
            }
            Self::CmdFinishFirstTalkNpcScRsp => "CmdFinishFirstTalkNpcScRsp",
            Self::CmdGetNpcTakenRewardScRsp => "CmdGetNpcTakenRewardScRsp",
            Self::CmdSelectInclinationTextScRsp => "CmdSelectInclinationTextScRsp",
            Self::CmdTakeTalkRewardScRsp => "CmdTakeTalkRewardScRsp",
            Self::CmdSelectInclinationTextCsReq => "CmdSelectInclinationTextCsReq",
            Self::CmdFinishFirstTalkNpcCsReq => "CmdFinishFirstTalkNpcCsReq",
            Self::CmdGetFirstTalkByPerformanceNpcScRsp => {
                "CmdGetFirstTalkByPerformanceNpcScRsp"
            }
            Self::CmdGetFirstTalkNpcCsReq => "CmdGetFirstTalkNpcCsReq",
            Self::CmdGetNpcTakenRewardCsReq => "CmdGetNpcTakenRewardCsReq",
            Self::CmdFinishFirstTalkByPerformanceNpcScRsp => {
                "CmdFinishFirstTalkByPerformanceNpcScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTalkRewardTypeNone" => Some(Self::None),
            "CmdTakeTalkRewardCsReq" => Some(Self::CmdTakeTalkRewardCsReq),
            "CmdFinishFirstTalkByPerformanceNpcCsReq" => {
                Some(Self::CmdFinishFirstTalkByPerformanceNpcCsReq)
            }
            "CmdGetFirstTalkNpcScRsp" => Some(Self::CmdGetFirstTalkNpcScRsp),
            "CmdGetFirstTalkByPerformanceNpcCsReq" => {
                Some(Self::CmdGetFirstTalkByPerformanceNpcCsReq)
            }
            "CmdFinishFirstTalkNpcScRsp" => Some(Self::CmdFinishFirstTalkNpcScRsp),
            "CmdGetNpcTakenRewardScRsp" => Some(Self::CmdGetNpcTakenRewardScRsp),
            "CmdSelectInclinationTextScRsp" => Some(Self::CmdSelectInclinationTextScRsp),
            "CmdTakeTalkRewardScRsp" => Some(Self::CmdTakeTalkRewardScRsp),
            "CmdSelectInclinationTextCsReq" => Some(Self::CmdSelectInclinationTextCsReq),
            "CmdFinishFirstTalkNpcCsReq" => Some(Self::CmdFinishFirstTalkNpcCsReq),
            "CmdGetFirstTalkByPerformanceNpcScRsp" => {
                Some(Self::CmdGetFirstTalkByPerformanceNpcScRsp)
            }
            "CmdGetFirstTalkNpcCsReq" => Some(Self::CmdGetFirstTalkNpcCsReq),
            "CmdGetNpcTakenRewardCsReq" => Some(Self::CmdGetNpcTakenRewardCsReq),
            "CmdFinishFirstTalkByPerformanceNpcScRsp" => {
                Some(Self::CmdFinishFirstTalkByPerformanceNpcScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: EMKDDECEIAP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTarotBookType {
    None = 0,
    CmdTarotBookFinishStoryCsReq = 8160,
    CmdTarotBookFinishInteractionCsReq = 8143,
    CmdTarotBookGetDataCsReq = 8154,
    CmdTarotBookFinishStoryScRsp = 8149,
    CmdTarotBookUnlockStoryScRsp = 8142,
    CmdTarotBookModifyEnergyScNotify = 8147,
    CmdTarotBookFinishInteractionScRsp = 8145,
    CmdTarotBookOpenPackScRsp = 8150,
    CmdTarotBookGetDataScRsp = 8153,
    CmdTarotBookUnlockStoryCsReq = 8144,
    CmdTarotBookOpenPackCsReq = 8148,
}
impl CmdTarotBookType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdTarotBookTypeNone",
            Self::CmdTarotBookFinishStoryCsReq => "CmdTarotBookFinishStoryCsReq",
            Self::CmdTarotBookFinishInteractionCsReq => {
                "CmdTarotBookFinishInteractionCsReq"
            }
            Self::CmdTarotBookGetDataCsReq => "CmdTarotBookGetDataCsReq",
            Self::CmdTarotBookFinishStoryScRsp => "CmdTarotBookFinishStoryScRsp",
            Self::CmdTarotBookUnlockStoryScRsp => "CmdTarotBookUnlockStoryScRsp",
            Self::CmdTarotBookModifyEnergyScNotify => "CmdTarotBookModifyEnergyScNotify",
            Self::CmdTarotBookFinishInteractionScRsp => {
                "CmdTarotBookFinishInteractionScRsp"
            }
            Self::CmdTarotBookOpenPackScRsp => "CmdTarotBookOpenPackScRsp",
            Self::CmdTarotBookGetDataScRsp => "CmdTarotBookGetDataScRsp",
            Self::CmdTarotBookUnlockStoryCsReq => "CmdTarotBookUnlockStoryCsReq",
            Self::CmdTarotBookOpenPackCsReq => "CmdTarotBookOpenPackCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTarotBookTypeNone" => Some(Self::None),
            "CmdTarotBookFinishStoryCsReq" => Some(Self::CmdTarotBookFinishStoryCsReq),
            "CmdTarotBookFinishInteractionCsReq" => {
                Some(Self::CmdTarotBookFinishInteractionCsReq)
            }
            "CmdTarotBookGetDataCsReq" => Some(Self::CmdTarotBookGetDataCsReq),
            "CmdTarotBookFinishStoryScRsp" => Some(Self::CmdTarotBookFinishStoryScRsp),
            "CmdTarotBookUnlockStoryScRsp" => Some(Self::CmdTarotBookUnlockStoryScRsp),
            "CmdTarotBookModifyEnergyScNotify" => {
                Some(Self::CmdTarotBookModifyEnergyScNotify)
            }
            "CmdTarotBookFinishInteractionScRsp" => {
                Some(Self::CmdTarotBookFinishInteractionScRsp)
            }
            "CmdTarotBookOpenPackScRsp" => Some(Self::CmdTarotBookOpenPackScRsp),
            "CmdTarotBookGetDataScRsp" => Some(Self::CmdTarotBookGetDataScRsp),
            "CmdTarotBookUnlockStoryCsReq" => Some(Self::CmdTarotBookUnlockStoryCsReq),
            "CmdTarotBookOpenPackCsReq" => Some(Self::CmdTarotBookOpenPackCsReq),
            _ => None,
        }
    }
}
/// Obf: KPGHFGNNBHG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTelevisionActivityType {
    None = 0,
    CmdTelevisionActivityDataChangeScNotify = 6968,
    CmdEnterTelevisionActivityStageScRsp = 6964,
    CmdTelevisionActivityBattleEndScNotify = 6962,
    CmdGetTelevisionActivityDataScRsp = 6973,
    CmdGetTelevisionActivityDataCsReq = 6974,
    CmdEnterTelevisionActivityStageCsReq = 6970,
}
impl CmdTelevisionActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdTelevisionActivityTypeNone",
            Self::CmdTelevisionActivityDataChangeScNotify => {
                "CmdTelevisionActivityDataChangeScNotify"
            }
            Self::CmdEnterTelevisionActivityStageScRsp => {
                "CmdEnterTelevisionActivityStageScRsp"
            }
            Self::CmdTelevisionActivityBattleEndScNotify => {
                "CmdTelevisionActivityBattleEndScNotify"
            }
            Self::CmdGetTelevisionActivityDataScRsp => {
                "CmdGetTelevisionActivityDataScRsp"
            }
            Self::CmdGetTelevisionActivityDataCsReq => {
                "CmdGetTelevisionActivityDataCsReq"
            }
            Self::CmdEnterTelevisionActivityStageCsReq => {
                "CmdEnterTelevisionActivityStageCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTelevisionActivityTypeNone" => Some(Self::None),
            "CmdTelevisionActivityDataChangeScNotify" => {
                Some(Self::CmdTelevisionActivityDataChangeScNotify)
            }
            "CmdEnterTelevisionActivityStageScRsp" => {
                Some(Self::CmdEnterTelevisionActivityStageScRsp)
            }
            "CmdTelevisionActivityBattleEndScNotify" => {
                Some(Self::CmdTelevisionActivityBattleEndScNotify)
            }
            "CmdGetTelevisionActivityDataScRsp" => {
                Some(Self::CmdGetTelevisionActivityDataScRsp)
            }
            "CmdGetTelevisionActivityDataCsReq" => {
                Some(Self::CmdGetTelevisionActivityDataCsReq)
            }
            "CmdEnterTelevisionActivityStageCsReq" => {
                Some(Self::CmdEnterTelevisionActivityStageCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: KGIHCDABHLC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTextJoinType {
    None = 0,
    CmdTextJoinSaveCsReq = 3895,
    CmdTextJoinSaveScRsp = 3832,
    CmdTextJoinQueryScRsp = 3840,
    CmdTextJoinBatchSaveScRsp = 3848,
    CmdTextJoinBatchSaveCsReq = 3876,
    CmdTextJoinQueryCsReq = 3831,
}
impl CmdTextJoinType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdTextJoinTypeNone",
            Self::CmdTextJoinSaveCsReq => "CmdTextJoinSaveCsReq",
            Self::CmdTextJoinSaveScRsp => "CmdTextJoinSaveScRsp",
            Self::CmdTextJoinQueryScRsp => "CmdTextJoinQueryScRsp",
            Self::CmdTextJoinBatchSaveScRsp => "CmdTextJoinBatchSaveScRsp",
            Self::CmdTextJoinBatchSaveCsReq => "CmdTextJoinBatchSaveCsReq",
            Self::CmdTextJoinQueryCsReq => "CmdTextJoinQueryCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTextJoinTypeNone" => Some(Self::None),
            "CmdTextJoinSaveCsReq" => Some(Self::CmdTextJoinSaveCsReq),
            "CmdTextJoinSaveScRsp" => Some(Self::CmdTextJoinSaveScRsp),
            "CmdTextJoinQueryScRsp" => Some(Self::CmdTextJoinQueryScRsp),
            "CmdTextJoinBatchSaveScRsp" => Some(Self::CmdTextJoinBatchSaveScRsp),
            "CmdTextJoinBatchSaveCsReq" => Some(Self::CmdTextJoinBatchSaveCsReq),
            "CmdTextJoinQueryCsReq" => Some(Self::CmdTextJoinQueryCsReq),
            _ => None,
        }
    }
}
/// Obf: EEHBBCBGCGH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrackPhotoActivityType {
    None = 0,
    CmdStartTrackPhotoStageScRsp = 7559,
    CmdQuitTrackPhotoStageScRsp = 7553,
    CmdGetTrackPhotoActivityDataCsReq = 7552,
    CmdGetTrackPhotoActivityDataScRsp = 7555,
    CmdQuitTrackPhotoStageCsReq = 7556,
    CmdSettleTrackPhotoStageCsReq = 7554,
    CmdStartTrackPhotoStageCsReq = 7551,
    CmdSettleTrackPhotoStageScRsp = 7557,
}
impl CmdTrackPhotoActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdTrackPhotoActivityTypeNone",
            Self::CmdStartTrackPhotoStageScRsp => "CmdStartTrackPhotoStageScRsp",
            Self::CmdQuitTrackPhotoStageScRsp => "CmdQuitTrackPhotoStageScRsp",
            Self::CmdGetTrackPhotoActivityDataCsReq => {
                "CmdGetTrackPhotoActivityDataCsReq"
            }
            Self::CmdGetTrackPhotoActivityDataScRsp => {
                "CmdGetTrackPhotoActivityDataScRsp"
            }
            Self::CmdQuitTrackPhotoStageCsReq => "CmdQuitTrackPhotoStageCsReq",
            Self::CmdSettleTrackPhotoStageCsReq => "CmdSettleTrackPhotoStageCsReq",
            Self::CmdStartTrackPhotoStageCsReq => "CmdStartTrackPhotoStageCsReq",
            Self::CmdSettleTrackPhotoStageScRsp => "CmdSettleTrackPhotoStageScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTrackPhotoActivityTypeNone" => Some(Self::None),
            "CmdStartTrackPhotoStageScRsp" => Some(Self::CmdStartTrackPhotoStageScRsp),
            "CmdQuitTrackPhotoStageScRsp" => Some(Self::CmdQuitTrackPhotoStageScRsp),
            "CmdGetTrackPhotoActivityDataCsReq" => {
                Some(Self::CmdGetTrackPhotoActivityDataCsReq)
            }
            "CmdGetTrackPhotoActivityDataScRsp" => {
                Some(Self::CmdGetTrackPhotoActivityDataScRsp)
            }
            "CmdQuitTrackPhotoStageCsReq" => Some(Self::CmdQuitTrackPhotoStageCsReq),
            "CmdSettleTrackPhotoStageCsReq" => Some(Self::CmdSettleTrackPhotoStageCsReq),
            "CmdStartTrackPhotoStageCsReq" => Some(Self::CmdStartTrackPhotoStageCsReq),
            "CmdSettleTrackPhotoStageScRsp" => Some(Self::CmdSettleTrackPhotoStageScRsp),
            _ => None,
        }
    }
}
/// Obf: MHIAKDMOFAO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrainPartyType {
    None = 0,
    CmdTrainPartyAddBuildDynamicBuffScRsp = 8091,
    CmdTrainPartyBuildStartStepScRsp = 8046,
    CmdTrainPartyUseCardScRsp = 8040,
    CmdTrainPartyTakeBuildLevelAwardScRsp = 8075,
    CmdTrainPartyTakeBuildLevelAwardCsReq = 8030,
    CmdTrainPartyHandlePendingActionCsReq = 8072,
    CmdTrainPartyLeaveCsReq = 8042,
    CmdTrainPartyBuildDiyScRsp = 8060,
    CmdTrainPartyGamePlayStartScRsp = 8093,
    CmdTrainPartySyncUpdateScNotify = 8022,
    CmdTrainPartyEnterScRsp = 8033,
    CmdTrainPartyBuildDiyCsReq = 8083,
    CmdTrainPartyAddBuildDynamicBuffCsReq = 8051,
    CmdTrainPartyBuildStartStepCsReq = 8016,
    CmdTrainPartyGamePlaySettleNotify = 8025,
    CmdTrainPartyBuildingUpdateNotify = 8002,
    CmdTrainPartyGetDataScRsp = 8032,
    CmdTrainPartyMoveScNotify = 8076,
    CmdTrainPartyLeaveScRsp = 8077,
    CmdTrainPartyUpdatePosEnvCsReq = 8084,
    CmdTrainPartyGetDataCsReq = 8095,
    CmdTrainPartyUseCardCsReq = 8031,
    CmdTrainPartySettleNotify = 8071,
    CmdTrainPartyUpdatePosEnvScRsp = 8037,
    CmdTrainPartyGamePlayStartCsReq = 8011,
    CmdTrainPartyEnterCsReq = 8043,
    CmdTrainPartyHandlePendingActionScRsp = 8085,
}
impl CmdTrainPartyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdTrainPartyTypeNone",
            Self::CmdTrainPartyAddBuildDynamicBuffScRsp => {
                "CmdTrainPartyAddBuildDynamicBuffScRsp"
            }
            Self::CmdTrainPartyBuildStartStepScRsp => "CmdTrainPartyBuildStartStepScRsp",
            Self::CmdTrainPartyUseCardScRsp => "CmdTrainPartyUseCardScRsp",
            Self::CmdTrainPartyTakeBuildLevelAwardScRsp => {
                "CmdTrainPartyTakeBuildLevelAwardScRsp"
            }
            Self::CmdTrainPartyTakeBuildLevelAwardCsReq => {
                "CmdTrainPartyTakeBuildLevelAwardCsReq"
            }
            Self::CmdTrainPartyHandlePendingActionCsReq => {
                "CmdTrainPartyHandlePendingActionCsReq"
            }
            Self::CmdTrainPartyLeaveCsReq => "CmdTrainPartyLeaveCsReq",
            Self::CmdTrainPartyBuildDiyScRsp => "CmdTrainPartyBuildDiyScRsp",
            Self::CmdTrainPartyGamePlayStartScRsp => "CmdTrainPartyGamePlayStartScRsp",
            Self::CmdTrainPartySyncUpdateScNotify => "CmdTrainPartySyncUpdateScNotify",
            Self::CmdTrainPartyEnterScRsp => "CmdTrainPartyEnterScRsp",
            Self::CmdTrainPartyBuildDiyCsReq => "CmdTrainPartyBuildDiyCsReq",
            Self::CmdTrainPartyAddBuildDynamicBuffCsReq => {
                "CmdTrainPartyAddBuildDynamicBuffCsReq"
            }
            Self::CmdTrainPartyBuildStartStepCsReq => "CmdTrainPartyBuildStartStepCsReq",
            Self::CmdTrainPartyGamePlaySettleNotify => {
                "CmdTrainPartyGamePlaySettleNotify"
            }
            Self::CmdTrainPartyBuildingUpdateNotify => {
                "CmdTrainPartyBuildingUpdateNotify"
            }
            Self::CmdTrainPartyGetDataScRsp => "CmdTrainPartyGetDataScRsp",
            Self::CmdTrainPartyMoveScNotify => "CmdTrainPartyMoveScNotify",
            Self::CmdTrainPartyLeaveScRsp => "CmdTrainPartyLeaveScRsp",
            Self::CmdTrainPartyUpdatePosEnvCsReq => "CmdTrainPartyUpdatePosEnvCsReq",
            Self::CmdTrainPartyGetDataCsReq => "CmdTrainPartyGetDataCsReq",
            Self::CmdTrainPartyUseCardCsReq => "CmdTrainPartyUseCardCsReq",
            Self::CmdTrainPartySettleNotify => "CmdTrainPartySettleNotify",
            Self::CmdTrainPartyUpdatePosEnvScRsp => "CmdTrainPartyUpdatePosEnvScRsp",
            Self::CmdTrainPartyGamePlayStartCsReq => "CmdTrainPartyGamePlayStartCsReq",
            Self::CmdTrainPartyEnterCsReq => "CmdTrainPartyEnterCsReq",
            Self::CmdTrainPartyHandlePendingActionScRsp => {
                "CmdTrainPartyHandlePendingActionScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTrainPartyTypeNone" => Some(Self::None),
            "CmdTrainPartyAddBuildDynamicBuffScRsp" => {
                Some(Self::CmdTrainPartyAddBuildDynamicBuffScRsp)
            }
            "CmdTrainPartyBuildStartStepScRsp" => {
                Some(Self::CmdTrainPartyBuildStartStepScRsp)
            }
            "CmdTrainPartyUseCardScRsp" => Some(Self::CmdTrainPartyUseCardScRsp),
            "CmdTrainPartyTakeBuildLevelAwardScRsp" => {
                Some(Self::CmdTrainPartyTakeBuildLevelAwardScRsp)
            }
            "CmdTrainPartyTakeBuildLevelAwardCsReq" => {
                Some(Self::CmdTrainPartyTakeBuildLevelAwardCsReq)
            }
            "CmdTrainPartyHandlePendingActionCsReq" => {
                Some(Self::CmdTrainPartyHandlePendingActionCsReq)
            }
            "CmdTrainPartyLeaveCsReq" => Some(Self::CmdTrainPartyLeaveCsReq),
            "CmdTrainPartyBuildDiyScRsp" => Some(Self::CmdTrainPartyBuildDiyScRsp),
            "CmdTrainPartyGamePlayStartScRsp" => {
                Some(Self::CmdTrainPartyGamePlayStartScRsp)
            }
            "CmdTrainPartySyncUpdateScNotify" => {
                Some(Self::CmdTrainPartySyncUpdateScNotify)
            }
            "CmdTrainPartyEnterScRsp" => Some(Self::CmdTrainPartyEnterScRsp),
            "CmdTrainPartyBuildDiyCsReq" => Some(Self::CmdTrainPartyBuildDiyCsReq),
            "CmdTrainPartyAddBuildDynamicBuffCsReq" => {
                Some(Self::CmdTrainPartyAddBuildDynamicBuffCsReq)
            }
            "CmdTrainPartyBuildStartStepCsReq" => {
                Some(Self::CmdTrainPartyBuildStartStepCsReq)
            }
            "CmdTrainPartyGamePlaySettleNotify" => {
                Some(Self::CmdTrainPartyGamePlaySettleNotify)
            }
            "CmdTrainPartyBuildingUpdateNotify" => {
                Some(Self::CmdTrainPartyBuildingUpdateNotify)
            }
            "CmdTrainPartyGetDataScRsp" => Some(Self::CmdTrainPartyGetDataScRsp),
            "CmdTrainPartyMoveScNotify" => Some(Self::CmdTrainPartyMoveScNotify),
            "CmdTrainPartyLeaveScRsp" => Some(Self::CmdTrainPartyLeaveScRsp),
            "CmdTrainPartyUpdatePosEnvCsReq" => {
                Some(Self::CmdTrainPartyUpdatePosEnvCsReq)
            }
            "CmdTrainPartyGetDataCsReq" => Some(Self::CmdTrainPartyGetDataCsReq),
            "CmdTrainPartyUseCardCsReq" => Some(Self::CmdTrainPartyUseCardCsReq),
            "CmdTrainPartySettleNotify" => Some(Self::CmdTrainPartySettleNotify),
            "CmdTrainPartyUpdatePosEnvScRsp" => {
                Some(Self::CmdTrainPartyUpdatePosEnvScRsp)
            }
            "CmdTrainPartyGamePlayStartCsReq" => {
                Some(Self::CmdTrainPartyGamePlayStartCsReq)
            }
            "CmdTrainPartyEnterCsReq" => Some(Self::CmdTrainPartyEnterCsReq),
            "CmdTrainPartyHandlePendingActionScRsp" => {
                Some(Self::CmdTrainPartyHandlePendingActionScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainPartyBuildStatus {
    BuildGoalStepNone = 0,
    BuildGoalStepIdle = 1,
    BuildGoalStepStart = 2,
    BuildGoalStepFinish = 3,
}
impl TrainPartyBuildStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BuildGoalStepNone => "BuildGoalStepNone",
            Self::BuildGoalStepIdle => "BuildGoalStepIdle",
            Self::BuildGoalStepStart => "BuildGoalStepStart",
            Self::BuildGoalStepFinish => "BuildGoalStepFinish",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BuildGoalStepNone" => Some(Self::BuildGoalStepNone),
            "BuildGoalStepIdle" => Some(Self::BuildGoalStepIdle),
            "BuildGoalStepStart" => Some(Self::BuildGoalStepStart),
            "BuildGoalStepFinish" => Some(Self::BuildGoalStepFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainPartyUpdateSrc {
    KTrainPartySrcNone = 0,
    KTrainPartySrcCard = 1,
    KTrainPartySrcGrid = 2,
    KTrainPartySrcPam = 3,
    KTrainPartySrcPassenger = 4,
    KTrainPartySrcBuilding = 5,
}
impl TrainPartyUpdateSrc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::KTrainPartySrcNone => "kTrainPartySrcNone",
            Self::KTrainPartySrcCard => "kTrainPartySrcCard",
            Self::KTrainPartySrcGrid => "kTrainPartySrcGrid",
            Self::KTrainPartySrcPam => "kTrainPartySrcPam",
            Self::KTrainPartySrcPassenger => "kTrainPartySrcPassenger",
            Self::KTrainPartySrcBuilding => "kTrainPartySrcBuilding",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "kTrainPartySrcNone" => Some(Self::KTrainPartySrcNone),
            "kTrainPartySrcCard" => Some(Self::KTrainPartySrcCard),
            "kTrainPartySrcGrid" => Some(Self::KTrainPartySrcGrid),
            "kTrainPartySrcPam" => Some(Self::KTrainPartySrcPam),
            "kTrainPartySrcPassenger" => Some(Self::KTrainPartySrcPassenger),
            "kTrainPartySrcBuilding" => Some(Self::KTrainPartySrcBuilding),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ijdnojemian {
    KDialogueEventNone = 0,
    KGamePlayStartDialogueEvent = 1,
    KGridDialogueEvent = 2,
    KAfterMeetingDialogueEvent = 3,
}
impl Ijdnojemian {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::KDialogueEventNone => "kDialogueEventNone",
            Self::KGamePlayStartDialogueEvent => "kGamePlayStartDialogueEvent",
            Self::KGridDialogueEvent => "kGridDialogueEvent",
            Self::KAfterMeetingDialogueEvent => "kAfterMeetingDialogueEvent",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "kDialogueEventNone" => Some(Self::KDialogueEventNone),
            "kGamePlayStartDialogueEvent" => Some(Self::KGamePlayStartDialogueEvent),
            "kGridDialogueEvent" => Some(Self::KGridDialogueEvent),
            "kAfterMeetingDialogueEvent" => Some(Self::KAfterMeetingDialogueEvent),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lcdemgacekd {
    KMtSkillNone = 0,
    KMtSkillModifyBase = 1,
    KMtSkillModifyRatio = 2,
    KMtSkillMultiplyRatio = 3,
    KMtSkillSelfDestroy = 4,
}
impl Lcdemgacekd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::KMtSkillNone => "kMtSkillNone",
            Self::KMtSkillModifyBase => "kMtSkillModifyBase",
            Self::KMtSkillModifyRatio => "kMtSkillModifyRatio",
            Self::KMtSkillMultiplyRatio => "kMtSkillMultiplyRatio",
            Self::KMtSkillSelfDestroy => "kMtSkillSelfDestroy",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "kMtSkillNone" => Some(Self::KMtSkillNone),
            "kMtSkillModifyBase" => Some(Self::KMtSkillModifyBase),
            "kMtSkillModifyRatio" => Some(Self::KMtSkillModifyRatio),
            "kMtSkillMultiplyRatio" => Some(Self::KMtSkillMultiplyRatio),
            "kMtSkillSelfDestroy" => Some(Self::KMtSkillSelfDestroy),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainPartyMtSkillType {
    TrainPartyMtCategoryNone = 0,
    TrainPartyMtCategoryS = 1,
    TrainPartyMtCategoryA = 2,
    TrainPartyMtCategoryB = 3,
    TrainPartyMtCategoryC = 4,
    TrainPartyMtCategoryD = 5,
    TrainPartyMtCategoryE = 6,
    TrainPartyMtCategoryF = 7,
    TrainPartyMtCategoryG = 8,
}
impl TrainPartyMtSkillType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::TrainPartyMtCategoryNone => "TRAIN_PARTY_MT_CATEGORY_NONE",
            Self::TrainPartyMtCategoryS => "TRAIN_PARTY_MT_CATEGORY_S",
            Self::TrainPartyMtCategoryA => "TRAIN_PARTY_MT_CATEGORY_A",
            Self::TrainPartyMtCategoryB => "TRAIN_PARTY_MT_CATEGORY_B",
            Self::TrainPartyMtCategoryC => "TRAIN_PARTY_MT_CATEGORY_C",
            Self::TrainPartyMtCategoryD => "TRAIN_PARTY_MT_CATEGORY_D",
            Self::TrainPartyMtCategoryE => "TRAIN_PARTY_MT_CATEGORY_E",
            Self::TrainPartyMtCategoryF => "TRAIN_PARTY_MT_CATEGORY_F",
            Self::TrainPartyMtCategoryG => "TRAIN_PARTY_MT_CATEGORY_G",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRAIN_PARTY_MT_CATEGORY_NONE" => Some(Self::TrainPartyMtCategoryNone),
            "TRAIN_PARTY_MT_CATEGORY_S" => Some(Self::TrainPartyMtCategoryS),
            "TRAIN_PARTY_MT_CATEGORY_A" => Some(Self::TrainPartyMtCategoryA),
            "TRAIN_PARTY_MT_CATEGORY_B" => Some(Self::TrainPartyMtCategoryB),
            "TRAIN_PARTY_MT_CATEGORY_C" => Some(Self::TrainPartyMtCategoryC),
            "TRAIN_PARTY_MT_CATEGORY_D" => Some(Self::TrainPartyMtCategoryD),
            "TRAIN_PARTY_MT_CATEGORY_E" => Some(Self::TrainPartyMtCategoryE),
            "TRAIN_PARTY_MT_CATEGORY_F" => Some(Self::TrainPartyMtCategoryF),
            "TRAIN_PARTY_MT_CATEGORY_G" => Some(Self::TrainPartyMtCategoryG),
            _ => None,
        }
    }
}
/// Obf: OIAGEBFDEKH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrainVisitorType {
    None = 0,
    CmdShowNewSupplementVisitorCsReq = 3772,
    CmdTrainVisitorRewardSendNotify = 3748,
    CmdGetTrainVisitorRegisterCsReq = 3771,
    CmdShowNewSupplementVisitorScRsp = 3785,
    CmdTakeTrainVisitorUntakenBehaviorRewardCsReq = 3722,
    CmdGetTrainVisitorBehaviorScRsp = 3740,
    CmdTrainVisitorBehaviorFinishScRsp = 3732,
    CmdGetTrainVisitorBehaviorCsReq = 3731,
    CmdTakeTrainVisitorUntakenBehaviorRewardScRsp = 3756,
    CmdGetTrainVisitorRegisterScRsp = 3752,
    CmdTrainVisitorBehaviorFinishCsReq = 3795,
    CmdTrainRefreshTimeNotify = 3776,
}
impl CmdTrainVisitorType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdTrainVisitorTypeNone",
            Self::CmdShowNewSupplementVisitorCsReq => "CmdShowNewSupplementVisitorCsReq",
            Self::CmdTrainVisitorRewardSendNotify => "CmdTrainVisitorRewardSendNotify",
            Self::CmdGetTrainVisitorRegisterCsReq => "CmdGetTrainVisitorRegisterCsReq",
            Self::CmdShowNewSupplementVisitorScRsp => "CmdShowNewSupplementVisitorScRsp",
            Self::CmdTakeTrainVisitorUntakenBehaviorRewardCsReq => {
                "CmdTakeTrainVisitorUntakenBehaviorRewardCsReq"
            }
            Self::CmdGetTrainVisitorBehaviorScRsp => "CmdGetTrainVisitorBehaviorScRsp",
            Self::CmdTrainVisitorBehaviorFinishScRsp => {
                "CmdTrainVisitorBehaviorFinishScRsp"
            }
            Self::CmdGetTrainVisitorBehaviorCsReq => "CmdGetTrainVisitorBehaviorCsReq",
            Self::CmdTakeTrainVisitorUntakenBehaviorRewardScRsp => {
                "CmdTakeTrainVisitorUntakenBehaviorRewardScRsp"
            }
            Self::CmdGetTrainVisitorRegisterScRsp => "CmdGetTrainVisitorRegisterScRsp",
            Self::CmdTrainVisitorBehaviorFinishCsReq => {
                "CmdTrainVisitorBehaviorFinishCsReq"
            }
            Self::CmdTrainRefreshTimeNotify => "CmdTrainRefreshTimeNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTrainVisitorTypeNone" => Some(Self::None),
            "CmdShowNewSupplementVisitorCsReq" => {
                Some(Self::CmdShowNewSupplementVisitorCsReq)
            }
            "CmdTrainVisitorRewardSendNotify" => {
                Some(Self::CmdTrainVisitorRewardSendNotify)
            }
            "CmdGetTrainVisitorRegisterCsReq" => {
                Some(Self::CmdGetTrainVisitorRegisterCsReq)
            }
            "CmdShowNewSupplementVisitorScRsp" => {
                Some(Self::CmdShowNewSupplementVisitorScRsp)
            }
            "CmdTakeTrainVisitorUntakenBehaviorRewardCsReq" => {
                Some(Self::CmdTakeTrainVisitorUntakenBehaviorRewardCsReq)
            }
            "CmdGetTrainVisitorBehaviorScRsp" => {
                Some(Self::CmdGetTrainVisitorBehaviorScRsp)
            }
            "CmdTrainVisitorBehaviorFinishScRsp" => {
                Some(Self::CmdTrainVisitorBehaviorFinishScRsp)
            }
            "CmdGetTrainVisitorBehaviorCsReq" => {
                Some(Self::CmdGetTrainVisitorBehaviorCsReq)
            }
            "CmdTakeTrainVisitorUntakenBehaviorRewardScRsp" => {
                Some(Self::CmdTakeTrainVisitorUntakenBehaviorRewardScRsp)
            }
            "CmdGetTrainVisitorRegisterScRsp" => {
                Some(Self::CmdGetTrainVisitorRegisterScRsp)
            }
            "CmdTrainVisitorBehaviorFinishCsReq" => {
                Some(Self::CmdTrainVisitorBehaviorFinishCsReq)
            }
            "CmdTrainRefreshTimeNotify" => Some(Self::CmdTrainRefreshTimeNotify),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iippjkhmpch {
    TrainVisitorRewardSendNone = 0,
    TrainVisitorRewardSendRegister = 1,
    TrainVisitorRewardSendMission = 2,
}
impl Iippjkhmpch {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::TrainVisitorRewardSendNone => "TRAIN_VISITOR_REWARD_SEND_NONE",
            Self::TrainVisitorRewardSendRegister => "TRAIN_VISITOR_REWARD_SEND_REGISTER",
            Self::TrainVisitorRewardSendMission => "TRAIN_VISITOR_REWARD_SEND_MISSION",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRAIN_VISITOR_REWARD_SEND_NONE" => Some(Self::TrainVisitorRewardSendNone),
            "TRAIN_VISITOR_REWARD_SEND_REGISTER" => {
                Some(Self::TrainVisitorRewardSendRegister)
            }
            "TRAIN_VISITOR_REWARD_SEND_MISSION" => {
                Some(Self::TrainVisitorRewardSendMission)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Llmibdpfjnd {
    TrainVisitorStatusNone = 0,
    TrainVisitorStatusInit = 1,
    TrainVisitorStatusGetOn = 2,
    TrainVisitorStatusGetOff = 3,
    TrainVisitorStatusBeTrainMember = 4,
}
impl Llmibdpfjnd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::TrainVisitorStatusNone => "TRAIN_VISITOR_STATUS_NONE",
            Self::TrainVisitorStatusInit => "TRAIN_VISITOR_STATUS_INIT",
            Self::TrainVisitorStatusGetOn => "TRAIN_VISITOR_STATUS_GET_ON",
            Self::TrainVisitorStatusGetOff => "TRAIN_VISITOR_STATUS_GET_OFF",
            Self::TrainVisitorStatusBeTrainMember => {
                "TRAIN_VISITOR_STATUS_BE_TRAIN_MEMBER"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRAIN_VISITOR_STATUS_NONE" => Some(Self::TrainVisitorStatusNone),
            "TRAIN_VISITOR_STATUS_INIT" => Some(Self::TrainVisitorStatusInit),
            "TRAIN_VISITOR_STATUS_GET_ON" => Some(Self::TrainVisitorStatusGetOn),
            "TRAIN_VISITOR_STATUS_GET_OFF" => Some(Self::TrainVisitorStatusGetOff),
            "TRAIN_VISITOR_STATUS_BE_TRAIN_MEMBER" => {
                Some(Self::TrainVisitorStatusBeTrainMember)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jfjjfgaeoab {
    TrainVisitorRegisterGetTypeNone = 0,
    TrainVisitorRegisterGetTypeAuto = 1,
    TrainVisitorRegisterGetTypeManual = 2,
}
impl Jfjjfgaeoab {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::TrainVisitorRegisterGetTypeNone => {
                "TRAIN_VISITOR_REGISTER_GET_TYPE_NONE"
            }
            Self::TrainVisitorRegisterGetTypeAuto => {
                "TRAIN_VISITOR_REGISTER_GET_TYPE_AUTO"
            }
            Self::TrainVisitorRegisterGetTypeManual => {
                "TRAIN_VISITOR_REGISTER_GET_TYPE_MANUAL"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRAIN_VISITOR_REGISTER_GET_TYPE_NONE" => {
                Some(Self::TrainVisitorRegisterGetTypeNone)
            }
            "TRAIN_VISITOR_REGISTER_GET_TYPE_AUTO" => {
                Some(Self::TrainVisitorRegisterGetTypeAuto)
            }
            "TRAIN_VISITOR_REGISTER_GET_TYPE_MANUAL" => {
                Some(Self::TrainVisitorRegisterGetTypeManual)
            }
            _ => None,
        }
    }
}
/// Obf: JOABLEACIAD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTravelBrochure {
    None = 0,
    SelectMessageCsReq = 6476,
    PageResetCsReq = 6443,
    RemovePasterCsReq = 6422,
    RemovePasterScRsp = 6456,
    GetDataScRsp = 6432,
    GetPasterScNotify = 6416,
    ApplyPasterCsReq = 6471,
    ApplyPasterListCsReq = 6442,
    SetCustomValueCsReq = 6483,
    UpdatePasterPosCsReq = 6472,
    GetDataCsReq = 6495,
    SetPageDescStatusScRsp = 6439,
    ApplyPasterListScRsp = 6477,
    PageResetScRsp = 6433,
    UpdatePasterPosScRsp = 6485,
    SetCustomValueScRsp = 6460,
    SelectMessageScRsp = 6448,
    PageUnlockScNotify = 6431,
    ApplyPasterScRsp = 6452,
    SetPageDescStatusCsReq = 6402,
}
impl CmdTravelBrochure {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdTravelBrochureNone",
            Self::SelectMessageCsReq => "CmdTravelBrochureSelectMessageCsReq",
            Self::PageResetCsReq => "CmdTravelBrochurePageResetCsReq",
            Self::RemovePasterCsReq => "CmdTravelBrochureRemovePasterCsReq",
            Self::RemovePasterScRsp => "CmdTravelBrochureRemovePasterScRsp",
            Self::GetDataScRsp => "CmdTravelBrochureGetDataScRsp",
            Self::GetPasterScNotify => "CmdTravelBrochureGetPasterScNotify",
            Self::ApplyPasterCsReq => "CmdTravelBrochureApplyPasterCsReq",
            Self::ApplyPasterListCsReq => "CmdTravelBrochureApplyPasterListCsReq",
            Self::SetCustomValueCsReq => "CmdTravelBrochureSetCustomValueCsReq",
            Self::UpdatePasterPosCsReq => "CmdTravelBrochureUpdatePasterPosCsReq",
            Self::GetDataCsReq => "CmdTravelBrochureGetDataCsReq",
            Self::SetPageDescStatusScRsp => "CmdTravelBrochureSetPageDescStatusScRsp",
            Self::ApplyPasterListScRsp => "CmdTravelBrochureApplyPasterListScRsp",
            Self::PageResetScRsp => "CmdTravelBrochurePageResetScRsp",
            Self::UpdatePasterPosScRsp => "CmdTravelBrochureUpdatePasterPosScRsp",
            Self::SetCustomValueScRsp => "CmdTravelBrochureSetCustomValueScRsp",
            Self::SelectMessageScRsp => "CmdTravelBrochureSelectMessageScRsp",
            Self::PageUnlockScNotify => "CmdTravelBrochurePageUnlockScNotify",
            Self::ApplyPasterScRsp => "CmdTravelBrochureApplyPasterScRsp",
            Self::SetPageDescStatusCsReq => "CmdTravelBrochureSetPageDescStatusCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTravelBrochureNone" => Some(Self::None),
            "CmdTravelBrochureSelectMessageCsReq" => Some(Self::SelectMessageCsReq),
            "CmdTravelBrochurePageResetCsReq" => Some(Self::PageResetCsReq),
            "CmdTravelBrochureRemovePasterCsReq" => Some(Self::RemovePasterCsReq),
            "CmdTravelBrochureRemovePasterScRsp" => Some(Self::RemovePasterScRsp),
            "CmdTravelBrochureGetDataScRsp" => Some(Self::GetDataScRsp),
            "CmdTravelBrochureGetPasterScNotify" => Some(Self::GetPasterScNotify),
            "CmdTravelBrochureApplyPasterCsReq" => Some(Self::ApplyPasterCsReq),
            "CmdTravelBrochureApplyPasterListCsReq" => Some(Self::ApplyPasterListCsReq),
            "CmdTravelBrochureSetCustomValueCsReq" => Some(Self::SetCustomValueCsReq),
            "CmdTravelBrochureUpdatePasterPosCsReq" => Some(Self::UpdatePasterPosCsReq),
            "CmdTravelBrochureGetDataCsReq" => Some(Self::GetDataCsReq),
            "CmdTravelBrochureSetPageDescStatusScRsp" => {
                Some(Self::SetPageDescStatusScRsp)
            }
            "CmdTravelBrochureApplyPasterListScRsp" => Some(Self::ApplyPasterListScRsp),
            "CmdTravelBrochurePageResetScRsp" => Some(Self::PageResetScRsp),
            "CmdTravelBrochureUpdatePasterPosScRsp" => Some(Self::UpdatePasterPosScRsp),
            "CmdTravelBrochureSetCustomValueScRsp" => Some(Self::SetCustomValueScRsp),
            "CmdTravelBrochureSelectMessageScRsp" => Some(Self::SelectMessageScRsp),
            "CmdTravelBrochurePageUnlockScNotify" => Some(Self::PageUnlockScNotify),
            "CmdTravelBrochureApplyPasterScRsp" => Some(Self::ApplyPasterScRsp),
            "CmdTravelBrochureSetPageDescStatusCsReq" => {
                Some(Self::SetPageDescStatusCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hgkkppljboi {
    PageNone = 0,
    PageUnlocked = 1,
    PageInteracted = 2,
}
impl Hgkkppljboi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PageNone => "PAGE_NONE",
            Self::PageUnlocked => "PAGE_UNLOCKED",
            Self::PageInteracted => "PAGE_INTERACTED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PAGE_NONE" => Some(Self::PageNone),
            "PAGE_UNLOCKED" => Some(Self::PageUnlocked),
            "PAGE_INTERACTED" => Some(Self::PageInteracted),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dcjaopdinoi {
    PageDescNone = 0,
    PageDescShowDetail = 1,
    PageDescCollapse = 2,
}
impl Dcjaopdinoi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PageDescNone => "PAGE_DESC_NONE",
            Self::PageDescShowDetail => "PAGE_DESC_SHOW_DETAIL",
            Self::PageDescCollapse => "PAGE_DESC_COLLAPSE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PAGE_DESC_NONE" => Some(Self::PageDescNone),
            "PAGE_DESC_SHOW_DETAIL" => Some(Self::PageDescShowDetail),
            "PAGE_DESC_COLLAPSE" => Some(Self::PageDescCollapse),
            _ => None,
        }
    }
}
/// Obf: MCPHEHAOLOJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTreasureDungeonType {
    None = 0,
    CmdTreasureDungeonDataScNotify = 4495,
    CmdQuitTreasureDungeonCsReq = 4458,
    CmdUseTreasureDungeonItemCsReq = 4442,
    CmdOpenTreasureDungeonGridScRsp = 4460,
    CmdOpenTreasureDungeonGridCsReq = 4483,
    CmdTreasureDungeonFinishScNotify = 4432,
    CmdUseTreasureDungeonItemScRsp = 4477,
    CmdInteractTreasureDungeonGridCsReq = 4443,
    CmdGetTreasureDungeonActivityDataCsReq = 4472,
    CmdGetTreasureDungeonActivityDataScRsp = 4485,
    CmdEnterTreasureDungeonScRsp = 4446,
    CmdEnterTreasureDungeonCsReq = 4416,
    CmdInteractTreasureDungeonGridScRsp = 4433,
    CmdFightTreasureDungeonMonsterCsReq = 4402,
    CmdFightTreasureDungeonMonsterScRsp = 4439,
    CmdQuitTreasureDungeonScRsp = 4421,
}
impl CmdTreasureDungeonType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdTreasureDungeonTypeNone",
            Self::CmdTreasureDungeonDataScNotify => "CmdTreasureDungeonDataScNotify",
            Self::CmdQuitTreasureDungeonCsReq => "CmdQuitTreasureDungeonCsReq",
            Self::CmdUseTreasureDungeonItemCsReq => "CmdUseTreasureDungeonItemCsReq",
            Self::CmdOpenTreasureDungeonGridScRsp => "CmdOpenTreasureDungeonGridScRsp",
            Self::CmdOpenTreasureDungeonGridCsReq => "CmdOpenTreasureDungeonGridCsReq",
            Self::CmdTreasureDungeonFinishScNotify => "CmdTreasureDungeonFinishScNotify",
            Self::CmdUseTreasureDungeonItemScRsp => "CmdUseTreasureDungeonItemScRsp",
            Self::CmdInteractTreasureDungeonGridCsReq => {
                "CmdInteractTreasureDungeonGridCsReq"
            }
            Self::CmdGetTreasureDungeonActivityDataCsReq => {
                "CmdGetTreasureDungeonActivityDataCsReq"
            }
            Self::CmdGetTreasureDungeonActivityDataScRsp => {
                "CmdGetTreasureDungeonActivityDataScRsp"
            }
            Self::CmdEnterTreasureDungeonScRsp => "CmdEnterTreasureDungeonScRsp",
            Self::CmdEnterTreasureDungeonCsReq => "CmdEnterTreasureDungeonCsReq",
            Self::CmdInteractTreasureDungeonGridScRsp => {
                "CmdInteractTreasureDungeonGridScRsp"
            }
            Self::CmdFightTreasureDungeonMonsterCsReq => {
                "CmdFightTreasureDungeonMonsterCsReq"
            }
            Self::CmdFightTreasureDungeonMonsterScRsp => {
                "CmdFightTreasureDungeonMonsterScRsp"
            }
            Self::CmdQuitTreasureDungeonScRsp => "CmdQuitTreasureDungeonScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTreasureDungeonTypeNone" => Some(Self::None),
            "CmdTreasureDungeonDataScNotify" => {
                Some(Self::CmdTreasureDungeonDataScNotify)
            }
            "CmdQuitTreasureDungeonCsReq" => Some(Self::CmdQuitTreasureDungeonCsReq),
            "CmdUseTreasureDungeonItemCsReq" => {
                Some(Self::CmdUseTreasureDungeonItemCsReq)
            }
            "CmdOpenTreasureDungeonGridScRsp" => {
                Some(Self::CmdOpenTreasureDungeonGridScRsp)
            }
            "CmdOpenTreasureDungeonGridCsReq" => {
                Some(Self::CmdOpenTreasureDungeonGridCsReq)
            }
            "CmdTreasureDungeonFinishScNotify" => {
                Some(Self::CmdTreasureDungeonFinishScNotify)
            }
            "CmdUseTreasureDungeonItemScRsp" => {
                Some(Self::CmdUseTreasureDungeonItemScRsp)
            }
            "CmdInteractTreasureDungeonGridCsReq" => {
                Some(Self::CmdInteractTreasureDungeonGridCsReq)
            }
            "CmdGetTreasureDungeonActivityDataCsReq" => {
                Some(Self::CmdGetTreasureDungeonActivityDataCsReq)
            }
            "CmdGetTreasureDungeonActivityDataScRsp" => {
                Some(Self::CmdGetTreasureDungeonActivityDataScRsp)
            }
            "CmdEnterTreasureDungeonScRsp" => Some(Self::CmdEnterTreasureDungeonScRsp),
            "CmdEnterTreasureDungeonCsReq" => Some(Self::CmdEnterTreasureDungeonCsReq),
            "CmdInteractTreasureDungeonGridScRsp" => {
                Some(Self::CmdInteractTreasureDungeonGridScRsp)
            }
            "CmdFightTreasureDungeonMonsterCsReq" => {
                Some(Self::CmdFightTreasureDungeonMonsterCsReq)
            }
            "CmdFightTreasureDungeonMonsterScRsp" => {
                Some(Self::CmdFightTreasureDungeonMonsterScRsp)
            }
            "CmdQuitTreasureDungeonScRsp" => Some(Self::CmdQuitTreasureDungeonScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Imknbjcoiop {
    TreasureDungeonRecordNone = 0,
    TreasureDungeonRecordAddHp = 1,
    TreasureDungeonRecordSubHp = 2,
    TreasureDungeonRecordSubHpNoExplore = 3,
    TreasureDungeonRecordAddAttack = 5,
    TreasureDungeonRecordAddDefence = 6,
    TreasureDungeonRecordAddExplore = 9,
    TreasureDungeonRecordSubExplore = 10,
    TreasureDungeonRecordAddExploreOverflow = 11,
    TreasureDungeonRecordSummon = 15,
    TreasureDungeonRecordKill = 16,
    TreasureDungeonRecordAddTrialAvatar = 20,
    TreasureDungeonRecordAddBuff = 24,
    TreasureDungeonRecordUnlockDoor = 25,
    TreasureDungeonRecordEnemyEnhance = 27,
    TreasureDungeonRecordEnemyWeaken = 28,
    TreasureDungeonRecordEnemyAuraRemove = 29,
    TreasureDungeonRecordSpecialMonsterRun = 30,
    TreasureDungeonRecordSpecialMonsterKill = 31,
    TreasureDungeonRecordBattleBuffTriggerSuccess = 33,
    TreasureDungeonRecordBattleBuffTriggerFail = 34,
    TreasureDungeonRecordBattleBuffAddExplore = 35,
    TreasureDungeonRecordBattleBuffOpenGrid = 36,
    TreasureDungeonRecordBattleBuffAddItem = 37,
    TreasureDungeonRecordAvatarDead = 40,
    TreasureDungeonRecordTrialAvatarDead = 41,
    TreasureDungeonRecordAllAvatarDead = 42,
    TreasureDungeonRecordOpenItemChest = 43,
}
impl Imknbjcoiop {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::TreasureDungeonRecordNone => "TREASURE_DUNGEON_RECORD_NONE",
            Self::TreasureDungeonRecordAddHp => "TREASURE_DUNGEON_RECORD_ADD_HP",
            Self::TreasureDungeonRecordSubHp => "TREASURE_DUNGEON_RECORD_SUB_HP",
            Self::TreasureDungeonRecordSubHpNoExplore => {
                "TREASURE_DUNGEON_RECORD_SUB_HP_NO_EXPLORE"
            }
            Self::TreasureDungeonRecordAddAttack => "TREASURE_DUNGEON_RECORD_ADD_ATTACK",
            Self::TreasureDungeonRecordAddDefence => {
                "TREASURE_DUNGEON_RECORD_ADD_DEFENCE"
            }
            Self::TreasureDungeonRecordAddExplore => {
                "TREASURE_DUNGEON_RECORD_ADD_EXPLORE"
            }
            Self::TreasureDungeonRecordSubExplore => {
                "TREASURE_DUNGEON_RECORD_SUB_EXPLORE"
            }
            Self::TreasureDungeonRecordAddExploreOverflow => {
                "TREASURE_DUNGEON_RECORD_ADD_EXPLORE_OVERFLOW"
            }
            Self::TreasureDungeonRecordSummon => "TREASURE_DUNGEON_RECORD_SUMMON",
            Self::TreasureDungeonRecordKill => "TREASURE_DUNGEON_RECORD_KILL",
            Self::TreasureDungeonRecordAddTrialAvatar => {
                "TREASURE_DUNGEON_RECORD_ADD_TRIAL_AVATAR"
            }
            Self::TreasureDungeonRecordAddBuff => "TREASURE_DUNGEON_RECORD_ADD_BUFF",
            Self::TreasureDungeonRecordUnlockDoor => {
                "TREASURE_DUNGEON_RECORD_UNLOCK_DOOR"
            }
            Self::TreasureDungeonRecordEnemyEnhance => {
                "TREASURE_DUNGEON_RECORD_ENEMY_ENHANCE"
            }
            Self::TreasureDungeonRecordEnemyWeaken => {
                "TREASURE_DUNGEON_RECORD_ENEMY_WEAKEN"
            }
            Self::TreasureDungeonRecordEnemyAuraRemove => {
                "TREASURE_DUNGEON_RECORD_ENEMY_AURA_REMOVE"
            }
            Self::TreasureDungeonRecordSpecialMonsterRun => {
                "TREASURE_DUNGEON_RECORD_SPECIAL_MONSTER_RUN"
            }
            Self::TreasureDungeonRecordSpecialMonsterKill => {
                "TREASURE_DUNGEON_RECORD_SPECIAL_MONSTER_KILL"
            }
            Self::TreasureDungeonRecordBattleBuffTriggerSuccess => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_TRIGGER_SUCCESS"
            }
            Self::TreasureDungeonRecordBattleBuffTriggerFail => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_TRIGGER_FAIL"
            }
            Self::TreasureDungeonRecordBattleBuffAddExplore => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_ADD_EXPLORE"
            }
            Self::TreasureDungeonRecordBattleBuffOpenGrid => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_OPEN_GRID"
            }
            Self::TreasureDungeonRecordBattleBuffAddItem => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_ADD_ITEM"
            }
            Self::TreasureDungeonRecordAvatarDead => {
                "TREASURE_DUNGEON_RECORD_AVATAR_DEAD"
            }
            Self::TreasureDungeonRecordTrialAvatarDead => {
                "TREASURE_DUNGEON_RECORD_TRIAL_AVATAR_DEAD"
            }
            Self::TreasureDungeonRecordAllAvatarDead => {
                "TREASURE_DUNGEON_RECORD_ALL_AVATAR_DEAD"
            }
            Self::TreasureDungeonRecordOpenItemChest => {
                "TREASURE_DUNGEON_RECORD_OPEN_ITEM_CHEST"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TREASURE_DUNGEON_RECORD_NONE" => Some(Self::TreasureDungeonRecordNone),
            "TREASURE_DUNGEON_RECORD_ADD_HP" => Some(Self::TreasureDungeonRecordAddHp),
            "TREASURE_DUNGEON_RECORD_SUB_HP" => Some(Self::TreasureDungeonRecordSubHp),
            "TREASURE_DUNGEON_RECORD_SUB_HP_NO_EXPLORE" => {
                Some(Self::TreasureDungeonRecordSubHpNoExplore)
            }
            "TREASURE_DUNGEON_RECORD_ADD_ATTACK" => {
                Some(Self::TreasureDungeonRecordAddAttack)
            }
            "TREASURE_DUNGEON_RECORD_ADD_DEFENCE" => {
                Some(Self::TreasureDungeonRecordAddDefence)
            }
            "TREASURE_DUNGEON_RECORD_ADD_EXPLORE" => {
                Some(Self::TreasureDungeonRecordAddExplore)
            }
            "TREASURE_DUNGEON_RECORD_SUB_EXPLORE" => {
                Some(Self::TreasureDungeonRecordSubExplore)
            }
            "TREASURE_DUNGEON_RECORD_ADD_EXPLORE_OVERFLOW" => {
                Some(Self::TreasureDungeonRecordAddExploreOverflow)
            }
            "TREASURE_DUNGEON_RECORD_SUMMON" => Some(Self::TreasureDungeonRecordSummon),
            "TREASURE_DUNGEON_RECORD_KILL" => Some(Self::TreasureDungeonRecordKill),
            "TREASURE_DUNGEON_RECORD_ADD_TRIAL_AVATAR" => {
                Some(Self::TreasureDungeonRecordAddTrialAvatar)
            }
            "TREASURE_DUNGEON_RECORD_ADD_BUFF" => {
                Some(Self::TreasureDungeonRecordAddBuff)
            }
            "TREASURE_DUNGEON_RECORD_UNLOCK_DOOR" => {
                Some(Self::TreasureDungeonRecordUnlockDoor)
            }
            "TREASURE_DUNGEON_RECORD_ENEMY_ENHANCE" => {
                Some(Self::TreasureDungeonRecordEnemyEnhance)
            }
            "TREASURE_DUNGEON_RECORD_ENEMY_WEAKEN" => {
                Some(Self::TreasureDungeonRecordEnemyWeaken)
            }
            "TREASURE_DUNGEON_RECORD_ENEMY_AURA_REMOVE" => {
                Some(Self::TreasureDungeonRecordEnemyAuraRemove)
            }
            "TREASURE_DUNGEON_RECORD_SPECIAL_MONSTER_RUN" => {
                Some(Self::TreasureDungeonRecordSpecialMonsterRun)
            }
            "TREASURE_DUNGEON_RECORD_SPECIAL_MONSTER_KILL" => {
                Some(Self::TreasureDungeonRecordSpecialMonsterKill)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_TRIGGER_SUCCESS" => {
                Some(Self::TreasureDungeonRecordBattleBuffTriggerSuccess)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_TRIGGER_FAIL" => {
                Some(Self::TreasureDungeonRecordBattleBuffTriggerFail)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_ADD_EXPLORE" => {
                Some(Self::TreasureDungeonRecordBattleBuffAddExplore)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_OPEN_GRID" => {
                Some(Self::TreasureDungeonRecordBattleBuffOpenGrid)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_ADD_ITEM" => {
                Some(Self::TreasureDungeonRecordBattleBuffAddItem)
            }
            "TREASURE_DUNGEON_RECORD_AVATAR_DEAD" => {
                Some(Self::TreasureDungeonRecordAvatarDead)
            }
            "TREASURE_DUNGEON_RECORD_TRIAL_AVATAR_DEAD" => {
                Some(Self::TreasureDungeonRecordTrialAvatarDead)
            }
            "TREASURE_DUNGEON_RECORD_ALL_AVATAR_DEAD" => {
                Some(Self::TreasureDungeonRecordAllAvatarDead)
            }
            "TREASURE_DUNGEON_RECORD_OPEN_ITEM_CHEST" => {
                Some(Self::TreasureDungeonRecordOpenItemChest)
            }
            _ => None,
        }
    }
}
/// Obf: PEPFOMECOON
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTutorialType {
    None = 0,
    CmdFinishTutorialGuideCsReq = 1672,
    CmdFinishTutorialScRsp = 1656,
    CmdGetTutorialGuideScRsp = 1640,
    CmdUnlockTutorialCsReq = 1676,
    CmdFinishTutorialCsReq = 1622,
    CmdGetTutorialCsReq = 1695,
    CmdGetTutorialGuideCsReq = 1631,
    CmdGetTutorialScRsp = 1632,
    CmdFinishTutorialGuideScRsp = 1685,
    CmdUnlockTutorialGuideScRsp = 1652,
    CmdUnlockTutorialScRsp = 1648,
    CmdUnlockTutorialGuideCsReq = 1671,
}
impl CmdTutorialType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdTutorialTypeNone",
            Self::CmdFinishTutorialGuideCsReq => "CmdFinishTutorialGuideCsReq",
            Self::CmdFinishTutorialScRsp => "CmdFinishTutorialScRsp",
            Self::CmdGetTutorialGuideScRsp => "CmdGetTutorialGuideScRsp",
            Self::CmdUnlockTutorialCsReq => "CmdUnlockTutorialCsReq",
            Self::CmdFinishTutorialCsReq => "CmdFinishTutorialCsReq",
            Self::CmdGetTutorialCsReq => "CmdGetTutorialCsReq",
            Self::CmdGetTutorialGuideCsReq => "CmdGetTutorialGuideCsReq",
            Self::CmdGetTutorialScRsp => "CmdGetTutorialScRsp",
            Self::CmdFinishTutorialGuideScRsp => "CmdFinishTutorialGuideScRsp",
            Self::CmdUnlockTutorialGuideScRsp => "CmdUnlockTutorialGuideScRsp",
            Self::CmdUnlockTutorialScRsp => "CmdUnlockTutorialScRsp",
            Self::CmdUnlockTutorialGuideCsReq => "CmdUnlockTutorialGuideCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTutorialTypeNone" => Some(Self::None),
            "CmdFinishTutorialGuideCsReq" => Some(Self::CmdFinishTutorialGuideCsReq),
            "CmdFinishTutorialScRsp" => Some(Self::CmdFinishTutorialScRsp),
            "CmdGetTutorialGuideScRsp" => Some(Self::CmdGetTutorialGuideScRsp),
            "CmdUnlockTutorialCsReq" => Some(Self::CmdUnlockTutorialCsReq),
            "CmdFinishTutorialCsReq" => Some(Self::CmdFinishTutorialCsReq),
            "CmdGetTutorialCsReq" => Some(Self::CmdGetTutorialCsReq),
            "CmdGetTutorialGuideCsReq" => Some(Self::CmdGetTutorialGuideCsReq),
            "CmdGetTutorialScRsp" => Some(Self::CmdGetTutorialScRsp),
            "CmdFinishTutorialGuideScRsp" => Some(Self::CmdFinishTutorialGuideScRsp),
            "CmdUnlockTutorialGuideScRsp" => Some(Self::CmdUnlockTutorialGuideScRsp),
            "CmdUnlockTutorialScRsp" => Some(Self::CmdUnlockTutorialScRsp),
            "CmdUnlockTutorialGuideCsReq" => Some(Self::CmdUnlockTutorialGuideCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TutorialStatus {
    TutorialNone = 0,
    TutorialUnlock = 1,
    TutorialFinish = 2,
}
impl TutorialStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::TutorialNone => "TUTORIAL_NONE",
            Self::TutorialUnlock => "TUTORIAL_UNLOCK",
            Self::TutorialFinish => "TUTORIAL_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TUTORIAL_NONE" => Some(Self::TutorialNone),
            "TUTORIAL_UNLOCK" => Some(Self::TutorialUnlock),
            "TUTORIAL_FINISH" => Some(Self::TutorialFinish),
            _ => None,
        }
    }
}
/// Obf: JEJBKHGLNCE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWaypointType {
    None = 0,
    CmdSetCurWaypointScRsp = 440,
    CmdGetWaypointScRsp = 432,
    CmdGetWaypointCsReq = 495,
    CmdTakeChapterRewardScRsp = 422,
    CmdSetCurWaypointCsReq = 431,
    CmdGetChapterScRsp = 448,
    CmdWaypointShowNewCsNotify = 471,
    CmdGetChapterCsReq = 476,
    CmdTakeChapterRewardCsReq = 452,
}
impl CmdWaypointType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdWaypointTypeNone",
            Self::CmdSetCurWaypointScRsp => "CmdSetCurWaypointScRsp",
            Self::CmdGetWaypointScRsp => "CmdGetWaypointScRsp",
            Self::CmdGetWaypointCsReq => "CmdGetWaypointCsReq",
            Self::CmdTakeChapterRewardScRsp => "CmdTakeChapterRewardScRsp",
            Self::CmdSetCurWaypointCsReq => "CmdSetCurWaypointCsReq",
            Self::CmdGetChapterScRsp => "CmdGetChapterScRsp",
            Self::CmdWaypointShowNewCsNotify => "CmdWaypointShowNewCsNotify",
            Self::CmdGetChapterCsReq => "CmdGetChapterCsReq",
            Self::CmdTakeChapterRewardCsReq => "CmdTakeChapterRewardCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdWaypointTypeNone" => Some(Self::None),
            "CmdSetCurWaypointScRsp" => Some(Self::CmdSetCurWaypointScRsp),
            "CmdGetWaypointScRsp" => Some(Self::CmdGetWaypointScRsp),
            "CmdGetWaypointCsReq" => Some(Self::CmdGetWaypointCsReq),
            "CmdTakeChapterRewardScRsp" => Some(Self::CmdTakeChapterRewardScRsp),
            "CmdSetCurWaypointCsReq" => Some(Self::CmdSetCurWaypointCsReq),
            "CmdGetChapterScRsp" => Some(Self::CmdGetChapterScRsp),
            "CmdWaypointShowNewCsNotify" => Some(Self::CmdWaypointShowNewCsNotify),
            "CmdGetChapterCsReq" => Some(Self::CmdGetChapterCsReq),
            "CmdTakeChapterRewardCsReq" => Some(Self::CmdTakeChapterRewardCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mhhljfejgnm {
    WaypointTypeNone = 0,
    WaypointTypeStage = 1,
    WaypointTypePlot = 2,
}
impl Mhhljfejgnm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::WaypointTypeNone => "WAYPOINT_TYPE_NONE",
            Self::WaypointTypeStage => "WAYPOINT_TYPE_STAGE",
            Self::WaypointTypePlot => "WAYPOINT_TYPE_PLOT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "WAYPOINT_TYPE_NONE" => Some(Self::WaypointTypeNone),
            "WAYPOINT_TYPE_STAGE" => Some(Self::WaypointTypeStage),
            "WAYPOINT_TYPE_PLOT" => Some(Self::WaypointTypePlot),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Obfaicfogmp {
    WaypointUnlockNone = 0,
    WaypointUnlockPre = 1,
    WaypointUnlockLevel = 2,
}
impl Obfaicfogmp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::WaypointUnlockNone => "WAYPOINT_UNLOCK_NONE",
            Self::WaypointUnlockPre => "WAYPOINT_UNLOCK_PRE",
            Self::WaypointUnlockLevel => "WAYPOINT_UNLOCK_LEVEL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "WAYPOINT_UNLOCK_NONE" => Some(Self::WaypointUnlockNone),
            "WAYPOINT_UNLOCK_PRE" => Some(Self::WaypointUnlockPre),
            "WAYPOINT_UNLOCK_LEVEL" => Some(Self::WaypointUnlockLevel),
            _ => None,
        }
    }
}
/// Obf: MGKCKDFFAOI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWolfBroType {
    None = 0,
    CmdGetWolfBroGameDataCsReq = 6543,
    CmdWolfBroGameExplodeMonsterScRsp = 6526,
    CmdArchiveWolfBroGameScRsp = 6537,
    CmdArchiveWolfBroGameCsReq = 6502,
    CmdWolfBroGameActivateBulletCsReq = 6544,
    CmdGetWolfBroGameDataScRsp = 6509,
    CmdRestoreWolfBroGameArchiveCsReq = 6536,
    CmdWolfBroGameActivateBulletScRsp = 6532,
    CmdQuitWolfBroGameScRsp = 6515,
    CmdWolfBroGameExplodeMonsterCsReq = 6523,
    CmdWolfBroGameDataChangeScNotify = 6545,
    CmdWolfBroGameUseBulletCsReq = 6507,
    CmdQuitWolfBroGameCsReq = 6527,
    CmdWolfBroGamePickupBulletScRsp = 6520,
    CmdWolfBroGamePickupBulletCsReq = 6540,
    CmdRestoreWolfBroGameArchiveScRsp = 6517,
    CmdStartWolfBroGameScRsp = 6546,
    CmdStartWolfBroGameCsReq = 6504,
    CmdWolfBroGameUseBulletScRsp = 6550,
}
impl CmdWolfBroType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdWolfBroTypeNone",
            Self::CmdGetWolfBroGameDataCsReq => "CmdGetWolfBroGameDataCsReq",
            Self::CmdWolfBroGameExplodeMonsterScRsp => {
                "CmdWolfBroGameExplodeMonsterScRsp"
            }
            Self::CmdArchiveWolfBroGameScRsp => "CmdArchiveWolfBroGameScRsp",
            Self::CmdArchiveWolfBroGameCsReq => "CmdArchiveWolfBroGameCsReq",
            Self::CmdWolfBroGameActivateBulletCsReq => {
                "CmdWolfBroGameActivateBulletCsReq"
            }
            Self::CmdGetWolfBroGameDataScRsp => "CmdGetWolfBroGameDataScRsp",
            Self::CmdRestoreWolfBroGameArchiveCsReq => {
                "CmdRestoreWolfBroGameArchiveCsReq"
            }
            Self::CmdWolfBroGameActivateBulletScRsp => {
                "CmdWolfBroGameActivateBulletScRsp"
            }
            Self::CmdQuitWolfBroGameScRsp => "CmdQuitWolfBroGameScRsp",
            Self::CmdWolfBroGameExplodeMonsterCsReq => {
                "CmdWolfBroGameExplodeMonsterCsReq"
            }
            Self::CmdWolfBroGameDataChangeScNotify => "CmdWolfBroGameDataChangeScNotify",
            Self::CmdWolfBroGameUseBulletCsReq => "CmdWolfBroGameUseBulletCsReq",
            Self::CmdQuitWolfBroGameCsReq => "CmdQuitWolfBroGameCsReq",
            Self::CmdWolfBroGamePickupBulletScRsp => "CmdWolfBroGamePickupBulletScRsp",
            Self::CmdWolfBroGamePickupBulletCsReq => "CmdWolfBroGamePickupBulletCsReq",
            Self::CmdRestoreWolfBroGameArchiveScRsp => {
                "CmdRestoreWolfBroGameArchiveScRsp"
            }
            Self::CmdStartWolfBroGameScRsp => "CmdStartWolfBroGameScRsp",
            Self::CmdStartWolfBroGameCsReq => "CmdStartWolfBroGameCsReq",
            Self::CmdWolfBroGameUseBulletScRsp => "CmdWolfBroGameUseBulletScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdWolfBroTypeNone" => Some(Self::None),
            "CmdGetWolfBroGameDataCsReq" => Some(Self::CmdGetWolfBroGameDataCsReq),
            "CmdWolfBroGameExplodeMonsterScRsp" => {
                Some(Self::CmdWolfBroGameExplodeMonsterScRsp)
            }
            "CmdArchiveWolfBroGameScRsp" => Some(Self::CmdArchiveWolfBroGameScRsp),
            "CmdArchiveWolfBroGameCsReq" => Some(Self::CmdArchiveWolfBroGameCsReq),
            "CmdWolfBroGameActivateBulletCsReq" => {
                Some(Self::CmdWolfBroGameActivateBulletCsReq)
            }
            "CmdGetWolfBroGameDataScRsp" => Some(Self::CmdGetWolfBroGameDataScRsp),
            "CmdRestoreWolfBroGameArchiveCsReq" => {
                Some(Self::CmdRestoreWolfBroGameArchiveCsReq)
            }
            "CmdWolfBroGameActivateBulletScRsp" => {
                Some(Self::CmdWolfBroGameActivateBulletScRsp)
            }
            "CmdQuitWolfBroGameScRsp" => Some(Self::CmdQuitWolfBroGameScRsp),
            "CmdWolfBroGameExplodeMonsterCsReq" => {
                Some(Self::CmdWolfBroGameExplodeMonsterCsReq)
            }
            "CmdWolfBroGameDataChangeScNotify" => {
                Some(Self::CmdWolfBroGameDataChangeScNotify)
            }
            "CmdWolfBroGameUseBulletCsReq" => Some(Self::CmdWolfBroGameUseBulletCsReq),
            "CmdQuitWolfBroGameCsReq" => Some(Self::CmdQuitWolfBroGameCsReq),
            "CmdWolfBroGamePickupBulletScRsp" => {
                Some(Self::CmdWolfBroGamePickupBulletScRsp)
            }
            "CmdWolfBroGamePickupBulletCsReq" => {
                Some(Self::CmdWolfBroGamePickupBulletCsReq)
            }
            "CmdRestoreWolfBroGameArchiveScRsp" => {
                Some(Self::CmdRestoreWolfBroGameArchiveScRsp)
            }
            "CmdStartWolfBroGameScRsp" => Some(Self::CmdStartWolfBroGameScRsp),
            "CmdStartWolfBroGameCsReq" => Some(Self::CmdStartWolfBroGameCsReq),
            "CmdWolfBroGameUseBulletScRsp" => Some(Self::CmdWolfBroGameUseBulletScRsp),
            _ => None,
        }
    }
}
/// Obf: OGEIDPAMDKL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWorldUnlockType {
    None = 0,
    CmdWorldUnlockScRsp = 7627,
    CmdWorldUnlockCsReq = 7626,
}
impl CmdWorldUnlockType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered 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 => "CmdWorldUnlockTypeNone",
            Self::CmdWorldUnlockScRsp => "CmdWorldUnlockScRsp",
            Self::CmdWorldUnlockCsReq => "CmdWorldUnlockCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdWorldUnlockTypeNone" => Some(Self::None),
            "CmdWorldUnlockScRsp" => Some(Self::CmdWorldUnlockScRsp),
            "CmdWorldUnlockCsReq" => Some(Self::CmdWorldUnlockCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Djebimhnpbm {
    DispatchTypeNone = 0,
    DispatchTypeByAddr = 1,
    DispatchTypeByMod = 2,
    DispatchTypeByRand = 3,
    DispatchTypeByChash = 4,
    DispatchTypeByStickySession = 5,
    DispatchTypeByObject = 6,
}
impl Djebimhnpbm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::DispatchTypeNone => "DISPATCH_TYPE_NONE",
            Self::DispatchTypeByAddr => "DISPATCH_TYPE_BY_ADDR",
            Self::DispatchTypeByMod => "DISPATCH_TYPE_BY_MOD",
            Self::DispatchTypeByRand => "DISPATCH_TYPE_BY_RAND",
            Self::DispatchTypeByChash => "DISPATCH_TYPE_BY_CHASH",
            Self::DispatchTypeByStickySession => "DISPATCH_TYPE_BY_STICKY_SESSION",
            Self::DispatchTypeByObject => "DISPATCH_TYPE_BY_OBJECT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DISPATCH_TYPE_NONE" => Some(Self::DispatchTypeNone),
            "DISPATCH_TYPE_BY_ADDR" => Some(Self::DispatchTypeByAddr),
            "DISPATCH_TYPE_BY_MOD" => Some(Self::DispatchTypeByMod),
            "DISPATCH_TYPE_BY_RAND" => Some(Self::DispatchTypeByRand),
            "DISPATCH_TYPE_BY_CHASH" => Some(Self::DispatchTypeByChash),
            "DISPATCH_TYPE_BY_STICKY_SESSION" => Some(Self::DispatchTypeByStickySession),
            "DISPATCH_TYPE_BY_OBJECT" => Some(Self::DispatchTypeByObject),
            _ => None,
        }
    }
}